@rexeus/typeweaver 0.2.1 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +30 -10
  2. package/dist/{acorn-CJ4HNU11.js → acorn-TNAGPKCR.js} +1076 -998
  3. package/dist/acorn-ZFAHQIG7.js +3131 -0
  4. package/dist/angular-3KXBV3WD.js +3030 -0
  5. package/dist/angular-WMVKTHFF.js +3031 -0
  6. package/dist/babel-5QZSVJOE.js +7297 -0
  7. package/dist/babel-V7SGJWS6.js +7296 -0
  8. package/dist/chunk-4ST7XK4F.js +34641 -0
  9. package/dist/chunk-K3NQKI34.js +10 -0
  10. package/dist/chunk-MLKGABMK.js +9 -0
  11. package/dist/cli-GOSMI5D3.js +34642 -0
  12. package/dist/cli.cjs +116222 -0
  13. package/dist/cli.d.cts +2 -0
  14. package/dist/cli.d.ts +2 -0
  15. package/dist/cli.js +2 -0
  16. package/dist/entry.js +31 -0
  17. package/dist/estree-QSPT5I7I.js +4612 -0
  18. package/dist/estree-Y36AM62I.js +4613 -0
  19. package/dist/flow-7LH7X5GA.js +27547 -0
  20. package/dist/flow-WHVBWPDR.js +27546 -0
  21. package/dist/{glimmer-DiXjs4DB.js → glimmer-BHRIPYOK.js} +1317 -1051
  22. package/dist/glimmer-CBYXJR5M.js +2895 -0
  23. package/dist/{graphql-DLJHmbDb.js → graphql-7EJJJFHU.js} +343 -307
  24. package/dist/graphql-KKVSZXX7.js +1267 -0
  25. package/dist/html-M3WOAMIJ.js +2927 -0
  26. package/dist/html-YM5TKPVB.js +2926 -0
  27. package/dist/index.cjs +116228 -0
  28. package/dist/index.d.cts +2 -0
  29. package/dist/index.d.ts +1 -1
  30. package/dist/index.js +2 -16
  31. package/dist/markdown-FIK6SNTF.js +3551 -0
  32. package/dist/markdown-X6DQGEVV.js +3552 -0
  33. package/dist/meriyah-FBUICA5T.js +2684 -0
  34. package/dist/meriyah-GWPOVAHY.js +2685 -0
  35. package/dist/postcss-N2W7KQ6Q.js +5081 -0
  36. package/dist/{postcss-DUOVol6C.js → postcss-ODV7XV5T.js} +1779 -1641
  37. package/dist/tsx-loader-3QUDYASH.js +4 -0
  38. package/dist/typescript-BG63TNYD.js +13203 -0
  39. package/dist/typescript-IYJMK2NE.js +13204 -0
  40. package/dist/yaml-5FEMTYXO.js +4225 -0
  41. package/dist/{yaml-Bd8DkW_K.js → yaml-DV3ZI4ZT.js} +1140 -1058
  42. package/package.json +33 -33
  43. package/dist/angular-wXs0C_R2.js +0 -2626
  44. package/dist/babel-DNmSIBHM.js +0 -7201
  45. package/dist/cli-D5DHO8r6.js +0 -20691
  46. package/dist/estree-BfVT8G2n.js +0 -4301
  47. package/dist/flow-DgzFy9Js.js +0 -27138
  48. package/dist/html-BwjSBi_v.js +0 -2677
  49. package/dist/markdown-DWIPYE8e.js +0 -3363
  50. package/dist/meriyah-CbAY3E55.js +0 -2603
  51. package/dist/run-cli-with-tsx.js +0 -18
  52. package/dist/typescript-DDNbhgng.js +0 -12972
@@ -1,48 +1,74 @@
1
- var zs = Object.defineProperty;
2
- var _r = (e5) => {
3
- throw TypeError(e5);
1
+ import "./chunk-MLKGABMK.js";
2
+
3
+ // ../../node_modules/.pnpm/prettier@3.7.4/node_modules/prettier/plugins/glimmer.mjs
4
+ var Un = Object.defineProperty;
5
+ var Oe = (e5, t) => {
6
+ for (var r in t) Un(e5, r, { get: t[r], enumerable: true });
4
7
  };
5
- var Ve = (e5, t) => {
6
- for (var r in t) zs(e5, r, { get: t[r], enumerable: true });
8
+ var Bn = {};
9
+ Oe(Bn, { languages: () => Ln, parsers: () => yr, printers: () => Ai });
10
+ var Jt = (e5, t) => (r, s, ...n) => r | 1 && s == null ? void 0 : (t.call(s) ?? s[e5]).apply(s, n);
11
+ var Mn = String.prototype.replaceAll ?? function(e5, t) {
12
+ return e5.global ? this.replace(e5, t) : this.split(e5).join(t);
7
13
  };
8
- var Or = (e5, t, r) => t.has(e5) || _r("Cannot " + r);
9
- var I = (e5, t, r) => (Or(e5, t, "read from private field"), t.get(e5)), Lt = (e5, t, r) => t.has(e5) ? _r("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e5) : t.set(e5, r), Y = (e5, t, r, s) => (Or(e5, t, "write to private field"), t.set(e5, r), r);
10
- var xr = {};
11
- Ve(xr, { languages: () => hs, parsers: () => Cr, printers: () => vi });
12
- var Ys = (e5, t, r, s) => {
13
- if (!(e5 && t == null)) return t.replaceAll ? t.replaceAll(r, s) : r.global ? t.replace(r, s) : t.split(r).join(s);
14
- }, He = Ys;
15
- var Dt = "string", Gt = "array", Kt = "cursor", _t = "indent", Ot = "align", Wt = "trim", Bt = "group", It = "fill", bt = "if-break", jt = "indent-if-break", Qt = "line-suffix", Jt = "line-suffix-boundary", j = "line", $t = "label", Rt = "break-parent", fe = /* @__PURE__ */ new Set([Kt, _t, Ot, Wt, Bt, It, bt, jt, Qt, Jt, j, $t, Rt]);
16
- var Gs = (e5, t, r) => {
17
- if (!(e5 && t == null)) return Array.isArray(t) || typeof t == "string" ? t[r < 0 ? t.length + r : r] : t.at(r);
18
- }, G = Gs;
19
- function Ks(e5) {
20
- if (typeof e5 == "string") return Dt;
21
- if (Array.isArray(e5)) return Gt;
14
+ var zn = Jt("replaceAll", function() {
15
+ if (typeof this == "string") return Mn;
16
+ });
17
+ var St = zn;
18
+ function Yn(e5) {
19
+ return this[e5 < 0 ? this.length + e5 : e5];
20
+ }
21
+ var Gn = Jt("at", function() {
22
+ if (Array.isArray(this) || typeof this == "string") return Yn;
23
+ });
24
+ var V = Gn;
25
+ var Kn = () => {
26
+ };
27
+ var Dt = Kn;
28
+ var Ot = "string";
29
+ var It = "array";
30
+ var $t = "cursor";
31
+ var kt = "indent";
32
+ var Et = "align";
33
+ var Xt = "trim";
34
+ var vt = "group";
35
+ var wt = "fill";
36
+ var Tt = "if-break";
37
+ var Zt = "indent-if-break";
38
+ var te = "line-suffix";
39
+ var ee = "line-suffix-boundary";
40
+ var Q = "line";
41
+ var re = "label";
42
+ var xt = "break-parent";
43
+ var ne = /* @__PURE__ */ new Set([$t, kt, Et, Xt, vt, wt, Tt, Zt, te, ee, Q, re, xt]);
44
+ function Wn(e5) {
45
+ if (typeof e5 == "string") return Ot;
46
+ if (Array.isArray(e5)) return It;
22
47
  if (!e5) return;
23
48
  let { type: t } = e5;
24
- if (fe.has(t)) return t;
49
+ if (ne.has(t)) return t;
25
50
  }
26
- var qt = Ks;
27
- var Ws = (e5) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(e5);
28
- function js(e5) {
51
+ var se = Wn;
52
+ var jn = (e5) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(e5);
53
+ function Qn(e5) {
29
54
  let t = e5 === null ? "null" : typeof e5;
30
55
  if (t !== "string" && t !== "object") return `Unexpected doc '${t}',
31
56
  Expected it to be 'string' or 'object'.`;
32
- if (qt(e5)) throw new Error("doc is valid.");
57
+ if (se(e5)) throw new Error("doc is valid.");
33
58
  let r = Object.prototype.toString.call(e5);
34
59
  if (r !== "[object Object]") return `Unexpected doc '${r}'.`;
35
- let s = Ws([...fe].map((n) => `'${n}'`));
60
+ let s = jn([...ne].map((n) => `'${n}'`));
36
61
  return `Unexpected doc.type '${e5.type}'.
37
62
  Expected it to be ${s}.`;
38
63
  }
39
- var Fe = class extends Error {
64
+ var Ie = class extends Error {
40
65
  name = "InvalidDocError";
41
66
  constructor(t) {
42
- super(js(t)), this.doc = t;
67
+ super(Qn(t)), this.doc = t;
43
68
  }
44
- }, Ue = Fe;
45
- function Js(e5, t) {
69
+ };
70
+ var _r = Ie;
71
+ function Jn(e5, t) {
46
72
  if (typeof e5 == "string") return t(e5);
47
73
  let r = /* @__PURE__ */ new Map();
48
74
  return s(e5);
@@ -52,89 +78,103 @@ function Js(e5, t) {
52
78
  return r.set(i, a), a;
53
79
  }
54
80
  function n(i) {
55
- switch (qt(i)) {
56
- case Gt:
57
- return t(i.map(s));
81
+ switch (se(i)) {
58
82
  case It:
83
+ return t(i.map(s));
84
+ case wt:
59
85
  return t({ ...i, parts: i.parts.map(s) });
60
- case bt:
86
+ case Tt:
61
87
  return t({ ...i, breakContents: s(i.breakContents), flatContents: s(i.flatContents) });
62
- case Bt: {
88
+ case vt: {
63
89
  let { expandedStates: a, contents: o } = i;
64
90
  return a ? (a = a.map(s), o = a[0]) : o = s(o), t({ ...i, contents: o, expandedStates: a });
65
91
  }
92
+ case Et:
93
+ case kt:
94
+ case Zt:
95
+ case re:
96
+ case te:
97
+ return t({ ...i, contents: s(i.contents) });
66
98
  case Ot:
67
- case _t:
68
- case jt:
69
99
  case $t:
70
- case Qt:
71
- return t({ ...i, contents: s(i.contents) });
72
- case Dt:
73
- case Kt:
74
- case Wt:
75
- case Jt:
76
- case j:
77
- case Rt:
100
+ case Xt:
101
+ case ee:
102
+ case Q:
103
+ case xt:
78
104
  return t(i);
79
105
  default:
80
- throw new Ue(i);
106
+ throw new _r(i);
81
107
  }
82
108
  }
83
109
  }
84
- function Br(e5, t = Ir) {
85
- return Js(e5, (r) => typeof r == "string" ? yt(t, r.split(`
110
+ function ie(e5, t = Lr) {
111
+ return Jn(e5, (r) => typeof r == "string" ? ct(t, r.split(`
86
112
  `)) : r);
87
113
  }
88
- var Me = () => {
89
- }, ze = Me;
90
- function B(e5) {
91
- return { type: _t, contents: e5 };
114
+ var M = Dt;
115
+ var ae = Dt;
116
+ var Dr = Dt;
117
+ var Or = Dt;
118
+ function F(e5) {
119
+ return M(e5), { type: kt, contents: e5 };
92
120
  }
93
- function $s(e5, t) {
94
- return { type: Ot, contents: t, n: e5 };
121
+ function $n(e5, t) {
122
+ return Or(e5), M(t), { type: Et, contents: t, n: e5 };
95
123
  }
96
- function R(e5, t = {}) {
97
- return ze(t.expandedStates), { type: Bt, id: t.id, contents: e5, break: !!t.shouldBreak, expandedStates: t.expandedStates };
124
+ function Be(e5) {
125
+ return $n(-1, e5);
98
126
  }
99
- function Xt(e5) {
100
- return $s(-1, e5);
127
+ var Re = { type: xt };
128
+ function qe(e5) {
129
+ return Dr(e5), { type: wt, parts: e5 };
101
130
  }
102
- function Ye(e5) {
103
- return { type: It, parts: e5 };
131
+ function I(e5, t = {}) {
132
+ return M(e5), ae(t.expandedStates, true), { type: vt, id: t.id, contents: e5, break: !!t.shouldBreak, expandedStates: t.expandedStates };
104
133
  }
105
- function Ge(e5, t = "", r = {}) {
106
- return { type: bt, breakContents: e5, flatContents: t, groupId: r.groupId };
134
+ function Ve(e5, t = "", r = {}) {
135
+ return M(e5), t !== "" && M(t), { type: Tt, breakContents: e5, flatContents: t, groupId: r.groupId };
107
136
  }
108
- var qr = { type: Rt };
109
- var Xs = { type: j, hard: true }, Zs = { type: j, hard: true, literal: true }, L = { type: j }, F = { type: j, soft: true }, tt = [Xs, qr], Ir = [Zs, qr];
110
- function yt(e5, t) {
137
+ function ct(e5, t) {
138
+ M(e5), ae(t);
111
139
  let r = [];
112
140
  for (let s = 0; s < t.length; s++) s !== 0 && r.push(e5), r.push(t[s]);
113
141
  return r;
114
142
  }
115
- var me = "'", Vr = '"';
116
- function tn(e5, t) {
117
- let r = t === true || t === me ? me : Vr, s = r === me ? Vr : me, n = 0, i = 0;
118
- for (let a of e5) a === r ? n++ : a === s && i++;
119
- return n > i ? s : r;
120
- }
121
- var de = tn;
122
- function Ke(e5) {
143
+ var N = { type: Q };
144
+ var H = { type: Q, soft: true };
145
+ var Xn = { type: Q, hard: true };
146
+ var ut = [Xn, Re];
147
+ var Zn = { type: Q, hard: true, literal: true };
148
+ var Lr = [Zn, Re];
149
+ var Ir = Object.freeze({ character: "'", codePoint: 39 });
150
+ var Br = Object.freeze({ character: '"', codePoint: 34 });
151
+ var ts = Object.freeze({ preferred: Ir, alternate: Br });
152
+ var es = Object.freeze({ preferred: Br, alternate: Ir });
153
+ function rs(e5, t) {
154
+ let { preferred: r, alternate: s } = t === true || t === "'" ? ts : es, { length: n } = e5, i = 0, a = 0;
155
+ for (let o = 0; o < n; o++) {
156
+ let c = e5.charCodeAt(o);
157
+ c === r.codePoint ? i++ : c === s.codePoint && a++;
158
+ }
159
+ return (i > a ? s : r).character;
160
+ }
161
+ var oe = rs;
162
+ function Fe(e5) {
123
163
  if (typeof e5 != "string") throw new TypeError("Expected a string");
124
164
  return e5.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
125
165
  }
126
- var z, We = class {
166
+ var He = class {
167
+ #t;
127
168
  constructor(t) {
128
- Lt(this, z);
129
- Y(this, z, new Set(t));
169
+ this.#t = new Set(t);
130
170
  }
131
171
  getLeadingWhitespaceCount(t) {
132
- let r = I(this, z), s = 0;
172
+ let r = this.#t, s = 0;
133
173
  for (let n = 0; n < t.length && r.has(t.charAt(n)); n++) s++;
134
174
  return s;
135
175
  }
136
176
  getTrailingWhitespaceCount(t) {
137
- let r = I(this, z), s = 0;
177
+ let r = this.#t, s = 0;
138
178
  for (let n = t.length - 1; n >= 0 && r.has(t.charAt(n)); n--) s++;
139
179
  return s;
140
180
  }
@@ -147,10 +187,10 @@ var z, We = class {
147
187
  return t.slice(t.length - r);
148
188
  }
149
189
  hasLeadingWhitespace(t) {
150
- return I(this, z).has(t.charAt(0));
190
+ return this.#t.has(t.charAt(0));
151
191
  }
152
192
  hasTrailingWhitespace(t) {
153
- return I(this, z).has(G(false, t, -1));
193
+ return this.#t.has(V(0, t, -1));
154
194
  }
155
195
  trimStart(t) {
156
196
  let r = this.getLeadingWhitespaceCount(t);
@@ -164,73 +204,92 @@ var z, We = class {
164
204
  return this.trimEnd(this.trimStart(t));
165
205
  }
166
206
  split(t, r = false) {
167
- let s = `[${Ke([...I(this, z)].join(""))}]+`, n = new RegExp(r ? `(${s})` : s, "u");
207
+ let s = `[${Fe([...this.#t].join(""))}]+`, n = new RegExp(r ? `(${s})` : s, "u");
168
208
  return t.split(n);
169
209
  }
170
210
  hasWhitespaceCharacter(t) {
171
- let r = I(this, z);
211
+ let r = this.#t;
172
212
  return Array.prototype.some.call(t, (s) => r.has(s));
173
213
  }
174
214
  hasNonWhitespaceCharacter(t) {
175
- let r = I(this, z);
215
+ let r = this.#t;
176
216
  return Array.prototype.some.call(t, (s) => !r.has(s));
177
217
  }
178
218
  isWhitespaceOnly(t) {
179
- let r = I(this, z);
219
+ let r = this.#t;
180
220
  return Array.prototype.every.call(t, (s) => r.has(s));
181
221
  }
222
+ #e(t) {
223
+ let r = Number.POSITIVE_INFINITY;
224
+ for (let s of t.split(`
225
+ `)) {
226
+ if (s.length === 0) continue;
227
+ let n = this.getLeadingWhitespaceCount(s);
228
+ if (n === 0) return 0;
229
+ s.length !== n && n < r && (r = n);
230
+ }
231
+ return r === Number.POSITIVE_INFINITY ? 0 : r;
232
+ }
233
+ dedentString(t) {
234
+ let r = this.#e(t);
235
+ return r === 0 ? t : t.split(`
236
+ `).map((s) => s.slice(r)).join(`
237
+ `);
238
+ }
182
239
  };
183
- z = /* @__PURE__ */ new WeakMap();
184
- var Hr = We;
185
- var en = [" ", `
186
- `, "\f", "\r", " "], rn = new Hr(en), K = rn;
187
- function sn(e5) {
240
+ var Rr = He;
241
+ var ns = [" ", `
242
+ `, "\f", "\r", " "];
243
+ var ss = new Rr(ns);
244
+ var R = ss;
245
+ function is(e5) {
188
246
  return Array.isArray(e5) && e5.length > 0;
189
247
  }
190
- var Zt = sn;
191
- var je = class extends Error {
248
+ var Bt = is;
249
+ var Ue = class extends Error {
192
250
  name = "UnexpectedNodeError";
193
251
  constructor(t, r, s = "type") {
194
252
  super(`Unexpected ${r} node ${s}: ${JSON.stringify(t[s])}.`), this.node = t;
195
253
  }
196
- }, Fr = je;
197
- function Ur(e5, t, r) {
254
+ };
255
+ var qr = Ue;
256
+ function Vr(e5, t, r) {
198
257
  if (e5.type === "TextNode") {
199
258
  let s = e5.chars.trim();
200
259
  if (!s) return null;
201
- r.tag === "style" && r.children.length === 1 && r.children[0] === e5 ? t.chars = "" : t.chars = K.split(s).join(" ");
260
+ r.tag === "style" && r.children.length === 1 && r.children[0] === e5 ? t.chars = "" : t.chars = R.split(s).join(" ");
202
261
  }
203
262
  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);
204
263
  }
205
- Ur.ignoredProperties = /* @__PURE__ */ new Set(["loc", "selfClosing"]);
206
- var Mr = Ur;
207
- function nn(e5) {
264
+ Vr.ignoredProperties = /* @__PURE__ */ new Set(["loc", "selfClosing"]);
265
+ var Fr = Vr;
266
+ function as(e5) {
208
267
  let { node: t } = e5;
209
268
  if (t.type !== "TextNode") return;
210
269
  let { parent: r } = e5;
211
270
  if (!(r.type === "ElementNode" && r.tag === "style" && r.children.length === 1 && r.children[0] === t)) return;
212
271
  let s = r.attributes.find((n) => n.type === "AttrNode" && n.name === "lang");
213
272
  if (!(s && !(s.value.type === "TextNode" && (s.value.chars === "" || s.value.chars === "css")))) return async (n) => {
214
- let i = await n(t.chars, { parser: "css" });
215
- return i ? [tt, i, Xt(F)] : [];
273
+ let i = t.chars;
274
+ return i.trim() ? await n(i, { parser: "css" }) : "";
216
275
  };
217
276
  }
218
- var zr = nn;
219
- var te = null;
220
- function ee(e5) {
221
- if (te !== null && typeof te.property) {
222
- let t = te;
223
- return te = ee.prototype = null, t;
277
+ var Hr = as;
278
+ var Rt = null;
279
+ function qt(e5) {
280
+ if (Rt !== null && typeof Rt.property) {
281
+ let t = Rt;
282
+ return Rt = qt.prototype = null, t;
224
283
  }
225
- return te = ee.prototype = e5 ?? /* @__PURE__ */ Object.create(null), new ee();
284
+ return Rt = qt.prototype = e5 ?? /* @__PURE__ */ Object.create(null), new qt();
226
285
  }
227
- var an = 10;
228
- for (let e5 = 0; e5 <= an; e5++) ee();
229
- function Qe(e5) {
230
- return ee(e5);
286
+ var os = 10;
287
+ for (let e5 = 0; e5 <= os; e5++) qt();
288
+ function Me(e5) {
289
+ return qt(e5);
231
290
  }
232
- function on(e5, t = "type") {
233
- Qe(e5);
291
+ function ls(e5, t = "type") {
292
+ Me(e5);
234
293
  function r(s) {
235
294
  let n = s[t], i = e5[n];
236
295
  if (!Array.isArray(i)) throw Object.assign(new Error(`Missing visitor keys for '${n}'.`), { node: s });
@@ -238,311 +297,30 @@ function on(e5, t = "type") {
238
297
  }
239
298
  return r;
240
299
  }
241
- var Yr = on;
242
- var Gr = { 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"] };
243
- var ln = Yr(Gr), Kr = ln;
244
- function St(e5) {
245
- return e5.loc.start.offset;
246
- }
247
- function re(e5) {
248
- return e5.loc.end.offset;
249
- }
250
- var Wr = /* @__PURE__ */ new Set(["area", "base", "br", "col", "command", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr"]);
251
- function Qr(e5) {
252
- return e5.toUpperCase() === e5;
253
- }
254
- function cn(e5) {
255
- return e5.type === "ElementNode" && typeof e5.tag == "string" && !e5.tag.startsWith(":") && (Qr(e5.tag[0]) || e5.tag.includes("."));
256
- }
257
- function un(e5) {
258
- return Wr.has(e5.toLowerCase()) && !Qr(e5[0]);
259
- }
260
- function Je(e5) {
261
- return e5.selfClosing === true || un(e5.tag) || cn(e5) && e5.children.every((t) => ge(t));
262
- }
263
- function ge(e5) {
264
- return e5.type === "TextNode" && !/\S/u.test(e5.chars);
265
- }
266
- function jr(e5) {
267
- return (e5 == null ? void 0 : e5.type) === "MustacheCommentStatement" && typeof e5.value == "string" && e5.value.trim() === "prettier-ignore";
268
- }
269
- function Jr(e5) {
270
- return jr(e5.node) || e5.isInArray && (e5.key === "children" || e5.key === "body" || e5.key === "parts") && jr(e5.siblings[e5.index - 2]);
271
- }
272
- var ns = 2;
273
- function hn(e5, t, r) {
274
- var n, i, a, o, c, h, p, m, S;
275
- let { node: s } = e5;
276
- switch (s.type) {
277
- case "Block":
278
- case "Program":
279
- case "Template":
280
- return R(e5.map(r, "body"));
281
- case "ElementNode": {
282
- let y = R(fn(e5, r)), v = t.htmlWhitespaceSensitivity === "ignore" && ((n = e5.next) == null ? void 0 : n.type) === "ElementNode" ? F : "";
283
- if (Je(s)) return [y, v];
284
- let C = ["</", s.tag, ">"];
285
- return s.children.length === 0 ? [y, B(C), v] : t.htmlWhitespaceSensitivity === "ignore" ? [y, B($r(e5, t, r)), tt, B(C), v] : [y, B(R($r(e5, t, r))), B(C), v];
286
- }
287
- case "BlockStatement":
288
- return kn(e5) ? [Sn(e5, r), ts(e5, t, r), es(e5, t, r)] : [bn(e5, r), R([ts(e5, t, r), es(e5, t, r), En(e5, t, r)])];
289
- case "ElementModifierStatement":
290
- return R(["{{", ss(e5, r), "}}"]);
291
- case "MustacheStatement":
292
- return R([be(s), ss(e5, r), ye(s)]);
293
- case "SubExpression":
294
- return R(["(", Pn(e5, r), F, ")"]);
295
- case "AttrNode": {
296
- let { name: y, value: v } = s, C = v.type === "TextNode";
297
- if (C && v.chars === "" && St(v) === re(v)) return y;
298
- let w = C ? de(v.chars, t.singleQuote) : v.type === "ConcatStatement" ? de(v.parts.map((q) => q.type === "TextNode" ? q.chars : "").join(""), t.singleQuote) : "", U = r("value");
299
- return [y, "=", w, y === "class" && w ? R(B(U)) : U, w];
300
- }
301
- case "ConcatStatement":
302
- return e5.map(r, "parts");
303
- case "Hash":
304
- return yt(L, e5.map(r, "pairs"));
305
- case "HashPair":
306
- return [s.key, "=", r("value")];
307
- case "TextNode": {
308
- if (e5.parent.tag === "pre" || e5.parent.tag === "style") return s.chars;
309
- let y = He(false, s.chars, "{{", String.raw`\{{`), v = wn(e5);
310
- if (v) {
311
- if (v === "class") {
312
- let X = y.trim().split(/\s+/u).join(" "), rt = false, V = false;
313
- return e5.parent.type === "ConcatStatement" && (((i = e5.previous) == null ? void 0 : i.type) === "MustacheStatement" && /^\s/u.test(y) && (rt = true), ((a = e5.next) == null ? void 0 : a.type) === "MustacheStatement" && /\s$/u.test(y) && X !== "" && (V = true)), [rt ? L : "", X, V ? L : ""];
314
- }
315
- return Br(y);
316
- }
317
- let C = K.isWhitespaceOnly(y), { isFirst: x, isLast: w } = e5;
318
- if (t.htmlWhitespaceSensitivity !== "ignore") {
319
- let X = w && e5.parent.type === "Template", rt = x && e5.parent.type === "Template";
320
- if (C) {
321
- if (rt || X) return "";
322
- let A = [L], nt = Vt(y);
323
- return nt && (A = se(nt)), w && (A = A.map((ue) => Xt(ue))), A;
324
- }
325
- let V = K.getLeadingWhitespace(y), xt = [];
326
- if (V) {
327
- xt = [L];
328
- let A = Vt(V);
329
- A && (xt = se(A)), y = y.slice(V.length);
330
- }
331
- let H = K.getTrailingWhitespace(y), st = [];
332
- if (H) {
333
- if (!X) {
334
- st = [L];
335
- let A = Vt(H);
336
- A && (st = se(A)), w && (st = st.map((nt) => Xt(nt)));
337
- }
338
- y = y.slice(0, -H.length);
339
- }
340
- return [...xt, Ye(rs(y)), ...st];
341
- }
342
- let U = Vt(y), q = Tn(y), $ = Nn(y);
343
- if ((x || w) && C && (e5.parent.type === "Block" || e5.parent.type === "ElementNode" || e5.parent.type === "Template")) return "";
344
- C && U ? (q = Math.min(U, ns), $ = 0) : ((((o = e5.next) == null ? void 0 : o.type) === "BlockStatement" || ((c = e5.next) == null ? void 0 : c.type) === "ElementNode") && ($ = Math.max($, 1)), (((h = e5.previous) == null ? void 0 : h.type) === "BlockStatement" || ((p = e5.previous) == null ? void 0 : p.type) === "ElementNode") && (q = Math.max(q, 1)));
345
- let Nt = "", Ct = "";
346
- return $ === 0 && ((m = e5.next) == null ? void 0 : m.type) === "MustacheStatement" && (Ct = " "), q === 0 && ((S = e5.previous) == null ? void 0 : S.type) === "MustacheStatement" && (Nt = " "), x && (q = 0, Nt = ""), w && ($ = 0, Ct = ""), K.hasLeadingWhitespace(y) && (y = Nt + K.trimStart(y)), K.hasTrailingWhitespace(y) && (y = K.trimEnd(y) + Ct), [...se(q), Ye(rs(y)), ...se($)];
347
- }
348
- case "MustacheCommentStatement": {
349
- let y = St(s), v = re(s), C = t.originalText.charAt(y + 2) === "~", x = t.originalText.charAt(v - 3) === "~", w = s.value.includes("}}") ? "--" : "";
350
- return ["{{", C ? "~" : "", "!", w, s.value, w, x ? "~" : "", "}}"];
351
- }
352
- case "PathExpression":
353
- return _n(s);
354
- case "BooleanLiteral":
355
- return String(s.value);
356
- case "CommentStatement":
357
- return ["<!--", s.value, "-->"];
358
- case "StringLiteral":
359
- return Cn(e5, t);
360
- case "NumberLiteral":
361
- return String(s.value);
362
- case "UndefinedLiteral":
363
- return "undefined";
364
- case "NullLiteral":
365
- return "null";
366
- case "AtHead":
367
- case "VarHead":
368
- case "ThisHead":
369
- default:
370
- throw new Fr(s, "Handlebars");
371
- }
372
- }
373
- function pn(e5, t) {
374
- return St(e5) - St(t);
375
- }
376
- function fn(e5, t) {
377
- let { node: r } = e5, s = ["attributes", "modifiers", "comments"].filter((i) => Zt(r[i])), n = s.flatMap((i) => r[i]).sort(pn);
378
- for (let i of s) e5.each(({ node: a }) => {
379
- let o = n.indexOf(a);
380
- n.splice(o, 1, [L, t()]);
381
- }, i);
382
- return Zt(r.blockParams) && n.push(L, Xe(r)), ["<", r.tag, B(n), mn(r)];
383
- }
384
- function $r(e5, t, r) {
385
- let { node: s } = e5, n = s.children.every((i) => ge(i));
386
- return t.htmlWhitespaceSensitivity === "ignore" && n ? "" : e5.map(({ isFirst: i }) => {
387
- let a = r();
388
- return i && t.htmlWhitespaceSensitivity === "ignore" ? [F, a] : a;
389
- }, "children");
390
- }
391
- function mn(e5) {
392
- return Je(e5) ? Ge([F, "/>"], [" />", F]) : Ge([F, ">"], ">");
393
- }
394
- function be(e5) {
395
- var s;
396
- let t = e5.trusting ? "{{{" : "{{", r = (s = e5.strip) != null && s.open ? "~" : "";
397
- return [t, r];
398
- }
399
- function ye(e5) {
400
- var s;
401
- let t = e5.trusting ? "}}}" : "}}";
402
- return [(s = e5.strip) != null && s.close ? "~" : "", t];
403
- }
404
- function dn(e5) {
405
- let t = be(e5), r = e5.openStrip.open ? "~" : "";
406
- return [t, r, "#"];
407
- }
408
- function gn(e5) {
409
- let t = ye(e5);
410
- return [e5.openStrip.close ? "~" : "", t];
411
- }
412
- function Xr(e5) {
413
- let t = be(e5), r = e5.closeStrip.open ? "~" : "";
414
- return [t, r, "/"];
415
- }
416
- function Zr(e5) {
417
- let t = ye(e5);
418
- return [e5.closeStrip.close ? "~" : "", t];
419
- }
420
- function is(e5) {
421
- let t = be(e5), r = e5.inverseStrip.open ? "~" : "";
422
- return [t, r];
423
- }
424
- function as(e5) {
425
- let t = ye(e5);
426
- return [e5.inverseStrip.close ? "~" : "", t];
427
- }
428
- function bn(e5, t) {
429
- let { node: r } = e5, s = [], n = ke(e5, t);
430
- return n && s.push(R(n)), Zt(r.program.blockParams) && s.push(Xe(r.program)), R([dn(r), $e(e5, t), s.length > 0 ? B([L, yt(L, s)]) : "", F, gn(r)]);
431
- }
432
- function yn(e5, t) {
433
- return [t.htmlWhitespaceSensitivity === "ignore" ? tt : "", is(e5), "else", as(e5)];
434
- }
435
- var os = (e5, t) => e5.head.type === "VarHead" && t.head.type === "VarHead" && e5.head.name === t.head.name;
436
- function kn(e5) {
437
- var s;
438
- let { grandparent: t, node: r } = e5;
439
- return ((s = t == null ? void 0 : t.inverse) == null ? void 0 : s.body.length) === 1 && t.inverse.body[0] === r && os(t.inverse.body[0].path, t.path);
440
- }
441
- function Sn(e5, t) {
442
- let { node: r, grandparent: s } = e5;
443
- return R([is(s), ["else", " ", s.inverse.body[0].path.head.name], B([L, R(ke(e5, t)), ...Zt(r.program.blockParams) ? [L, Xe(r.program)] : []]), F, as(s)]);
444
- }
445
- function En(e5, t, r) {
446
- let { node: s } = e5;
447
- return t.htmlWhitespaceSensitivity === "ignore" ? [ls(s) ? F : tt, Xr(s), r("path"), Zr(s)] : [Xr(s), r("path"), Zr(s)];
448
- }
449
- function ls(e5) {
450
- return e5.type === "BlockStatement" && e5.program.body.every((t) => ge(t));
451
- }
452
- function vn(e5) {
453
- return cs(e5) && e5.inverse.body.length === 1 && e5.inverse.body[0].type === "BlockStatement" && os(e5.inverse.body[0].path, e5.path);
454
- }
455
- function cs(e5) {
456
- return e5.type === "BlockStatement" && e5.inverse;
457
- }
458
- function ts(e5, t, r) {
459
- let { node: s } = e5;
460
- if (ls(s)) return "";
461
- let n = r("program");
462
- return t.htmlWhitespaceSensitivity === "ignore" ? B([tt, n]) : B(n);
463
- }
464
- function es(e5, t, r) {
465
- let { node: s } = e5, n = r("inverse"), i = t.htmlWhitespaceSensitivity === "ignore" ? [tt, n] : n;
466
- return vn(s) ? i : cs(s) ? [yn(s, t), B(i)] : "";
467
- }
468
- function rs(e5) {
469
- return yt(L, K.split(e5));
470
- }
471
- function wn(e5) {
472
- for (let t = 0; t < 2; t++) {
473
- let r = e5.getParentNode(t);
474
- if ((r == null ? void 0 : r.type) === "AttrNode") return r.name.toLowerCase();
475
- }
476
- }
477
- function Vt(e5) {
478
- return e5 = typeof e5 == "string" ? e5 : "", e5.split(`
479
- `).length - 1;
480
- }
481
- function Tn(e5) {
482
- e5 = typeof e5 == "string" ? e5 : "";
483
- let t = (e5.match(/^([^\S\n\r]*[\n\r])+/gu) || [])[0] || "";
484
- return Vt(t);
485
- }
486
- function Nn(e5) {
487
- e5 = typeof e5 == "string" ? e5 : "";
488
- let t = (e5.match(/([\n\r][^\S\n\r]*)+$/gu) || [])[0] || "";
489
- return Vt(t);
490
- }
491
- function se(e5 = 0) {
492
- return Array.from({ length: Math.min(e5, ns) }).fill(tt);
493
- }
494
- function Cn(e5, t) {
495
- let { node: { value: r } } = e5, s = de(r, xn(e5) ? !t.singleQuote : t.singleQuote);
496
- return [s, He(false, r, s, `\\${s}`), s];
497
- }
498
- function xn(e5) {
499
- let { ancestors: t } = e5, r = t.findIndex((s) => s.type !== "SubExpression");
500
- return r !== -1 && t[r + 1].type === "ConcatStatement" && t[r + 2].type === "AttrNode";
501
- }
502
- function Pn(e5, t) {
503
- let r = $e(e5, t), s = ke(e5, t);
504
- return s ? B([r, L, R(s)]) : r;
505
- }
506
- function ss(e5, t) {
507
- let r = $e(e5, t), s = ke(e5, t);
508
- return s ? [B([r, L, s]), F] : r;
509
- }
510
- function $e(e5, t) {
511
- return t("path");
512
- }
513
- function ke(e5, t) {
514
- var n;
515
- let { node: r } = e5, s = [];
516
- return r.params.length > 0 && s.push(...e5.map(t, "params")), ((n = r.hash) == null ? void 0 : n.pairs.length) > 0 && s.push(t("hash")), s.length === 0 ? "" : yt(L, s);
517
- }
518
- function Xe(e5) {
519
- return ["as |", e5.blockParams.join(" "), "|"];
520
- }
521
- var An = new Set("!\"#%&'()*+,./;<=>@[\\]^`{|}~"), Ln = /* @__PURE__ */ new Set(["true", "false", "null", "undefined"]), Dn = (e5, t) => t === 0 && e5.startsWith("@") ? false : t !== 0 && Ln.has(e5) || /\s/u.test(e5) || /^\d/u.test(e5) || Array.prototype.some.call(e5, (r) => An.has(r));
522
- function _n(e5) {
523
- return e5.tail.length === 0 && e5.original.includes("/") ? e5.original : [e5.head.original, ...e5.tail].map((r, s) => Dn(r, s) ? `[${r}]` : r).join(".");
524
- }
525
- var On = { print: hn, massageAstNode: Mr, hasPrettierIgnore: Jr, getVisitorKeys: Kr, embed: zr }, us = On;
526
- var hs = [{ name: "Handlebars", type: "markup", extensions: [".handlebars", ".hbs"], tmScope: "text.html.handlebars", aceMode: "handlebars", aliases: ["hbs", "htmlbars"], parsers: ["glimmer"], vscodeLanguageIds: ["handlebars"], linguistLanguageId: 155 }];
527
- var Cr = {};
528
- Ve(Cr, { glimmer: () => Ei });
529
- var Ze = Object.assign;
530
- var ps = console;
531
- function ms(e5, t = "unexpected unreachable branch") {
532
- throw ps.log("unreachable", e5), ps.log(`${t} :: ${JSON.stringify(e5)} (${e5})`), new Error("code reached unreachable");
533
- }
534
- var In = (function() {
535
- var e5 = function(it, d, k, g) {
536
- for (k = k || {}, g = it.length; g--; k[it[g]] = d) ;
537
- return k;
538
- }, t = [2, 44], r = [1, 20], s = [5, 14, 15, 19, 29, 34, 39, 44, 47, 48, 52, 56, 60], n = [1, 35], i = [1, 38], a = [1, 30], o = [1, 31], c = [1, 32], h = [1, 33], p = [1, 34], m = [1, 37], S = [14, 15, 19, 29, 34, 39, 44, 47, 48, 52, 56, 60], y = [14, 15, 19, 29, 34, 44, 47, 48, 52, 56, 60], v = [15, 18], C = [14, 15, 19, 29, 34, 47, 48, 52, 56, 60], x = [33, 64, 71, 79, 80, 81, 82, 83, 84], w = [23, 33, 55, 64, 67, 71, 74, 79, 80, 81, 82, 83, 84], U = [1, 51], q = [23, 33, 55, 64, 67, 71, 74, 79, 80, 81, 82, 83, 84, 86], $ = [2, 43], Nt = [55, 64, 71, 79, 80, 81, 82, 83, 84], Ct = [1, 58], X = [1, 59], rt = [1, 66], V = [33, 64, 71, 74, 79, 80, 81, 82, 83, 84], xt = [23, 64, 71, 79, 80, 81, 82, 83, 84], H = [1, 76], st = [64, 67, 71, 79, 80, 81, 82, 83, 84], A = [33, 74], nt = [23, 33, 55, 67, 71, 74], ue = [1, 106], Le = [1, 118], Pr = [71, 76], De = { trace: function() {
539
- }, 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, expr: 49, mustache_repetition0: 50, mustache_option0: 51, OPEN_UNESCAPED: 52, mustache_repetition1: 53, mustache_option1: 54, CLOSE_UNESCAPED: 55, OPEN_PARTIAL: 56, partial_repetition0: 57, partial_option0: 58, openPartialBlock: 59, OPEN_PARTIAL_BLOCK: 60, openPartialBlock_repetition0: 61, openPartialBlock_option0: 62, sexpr: 63, OPEN_SEXPR: 64, sexpr_repetition0: 65, sexpr_option0: 66, CLOSE_SEXPR: 67, hash: 68, hash_repetition_plus0: 69, hashSegment: 70, ID: 71, EQUALS: 72, blockParams: 73, OPEN_BLOCK_PARAMS: 74, blockParams_repetition_plus0: 75, CLOSE_BLOCK_PARAMS: 76, path: 77, dataName: 78, STRING: 79, NUMBER: 80, BOOLEAN: 81, UNDEFINED: 82, NULL: 83, DATA: 84, pathSegments: 85, SEP: 86, $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", 52: "OPEN_UNESCAPED", 55: "CLOSE_UNESCAPED", 56: "OPEN_PARTIAL", 60: "OPEN_PARTIAL_BLOCK", 64: "OPEN_SEXPR", 67: "CLOSE_SEXPR", 71: "ID", 72: "EQUALS", 74: "OPEN_BLOCK_PARAMS", 76: "CLOSE_BLOCK_PARAMS", 79: "STRING", 80: "NUMBER", 81: "BOOLEAN", 82: "UNDEFINED", 83: "NULL", 84: "DATA", 86: "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, 5], [8, 5], [11, 5], [12, 3], [59, 5], [49, 1], [49, 1], [63, 5], [68, 1], [70, 3], [73, 3], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [78, 2], [77, 1], [85, 3], [85, 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], [50, 0], [50, 2], [51, 0], [51, 1], [53, 0], [53, 2], [54, 0], [54, 1], [57, 0], [57, 2], [58, 0], [58, 1], [61, 0], [61, 2], [62, 0], [62, 1], [65, 0], [65, 2], [66, 0], [66, 1], [69, 1], [69, 2], [75, 1], [75, 2]], performAction: function(d, k, g, b, N, l, Pt) {
300
+ var Ur = ls;
301
+ var cs = Object.freeze([]);
302
+ function zr() {
303
+ return cs;
304
+ }
305
+ var $a = zr();
306
+ var Xa = zr();
307
+ var ze = Object.assign;
308
+ var Mr = console;
309
+ function Yr(e5, t = "unexpected unreachable branch") {
310
+ throw Mr.log("unreachable", e5), Mr.log(`${t} :: ${JSON.stringify(e5)} (${e5})`), new Error("code reached unreachable");
311
+ }
312
+ var us = (function() {
313
+ var e5 = function(X, b, S, y) {
314
+ for (S = S || {}, y = X.length; y--; S[X[y]] = b) ;
315
+ return S;
316
+ }, 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() {
317
+ }, 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) {
540
318
  var u = l.length - 1;
541
- switch (N) {
319
+ switch (w) {
542
320
  case 1:
543
321
  return l[u - 1];
544
322
  case 2:
545
- this.$ = b.prepareProgram(l[u]);
323
+ this.$ = m.prepareProgram(l[u]);
546
324
  break;
547
325
  case 3:
548
326
  case 4:
@@ -551,190 +329,211 @@ var In = (function() {
551
329
  case 7:
552
330
  case 8:
553
331
  case 20:
554
- case 27:
555
332
  case 28:
556
- case 33:
557
- case 34:
333
+ case 29:
334
+ case 30:
335
+ case 31:
336
+ case 38:
337
+ case 39:
338
+ case 46:
339
+ case 47:
558
340
  this.$ = l[u];
559
341
  break;
560
342
  case 9:
561
- this.$ = { type: "CommentStatement", value: b.stripComment(l[u]), strip: b.stripFlags(l[u], l[u]), loc: b.locInfo(this._$) };
343
+ this.$ = { type: "CommentStatement", value: m.stripComment(l[u]), strip: m.stripFlags(l[u], l[u]), loc: m.locInfo(this._$) };
562
344
  break;
563
345
  case 10:
564
- this.$ = { type: "ContentStatement", original: l[u], value: l[u], loc: b.locInfo(this._$) };
346
+ this.$ = { type: "ContentStatement", original: l[u], value: l[u], loc: m.locInfo(this._$) };
565
347
  break;
566
348
  case 11:
567
- this.$ = b.prepareRawBlock(l[u - 2], l[u - 1], l[u], this._$);
349
+ this.$ = m.prepareRawBlock(l[u - 2], l[u - 1], l[u], this._$);
568
350
  break;
569
351
  case 12:
570
352
  this.$ = { path: l[u - 3], params: l[u - 2], hash: l[u - 1] };
571
353
  break;
572
354
  case 13:
573
- this.$ = b.prepareBlock(l[u - 3], l[u - 2], l[u - 1], l[u], false, this._$);
355
+ this.$ = m.prepareBlock(l[u - 3], l[u - 2], l[u - 1], l[u], false, this._$);
574
356
  break;
575
357
  case 14:
576
- this.$ = b.prepareBlock(l[u - 3], l[u - 2], l[u - 1], l[u], true, this._$);
358
+ this.$ = m.prepareBlock(l[u - 3], l[u - 2], l[u - 1], l[u], true, this._$);
577
359
  break;
578
360
  case 15:
579
- this.$ = { open: l[u - 5], path: l[u - 4], params: l[u - 3], hash: l[u - 2], blockParams: l[u - 1], strip: b.stripFlags(l[u - 5], l[u]) };
361
+ 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]) };
580
362
  break;
581
363
  case 16:
582
364
  case 17:
583
- this.$ = { path: l[u - 4], params: l[u - 3], hash: l[u - 2], blockParams: l[u - 1], strip: b.stripFlags(l[u - 5], l[u]) };
365
+ 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]) };
584
366
  break;
585
367
  case 18:
586
- this.$ = { strip: b.stripFlags(l[u - 1], l[u - 1]), program: l[u] };
368
+ this.$ = { strip: m.stripFlags(l[u - 1], l[u - 1]), program: l[u] };
587
369
  break;
588
370
  case 19:
589
- var at = b.prepareBlock(l[u - 2], l[u - 1], l[u], l[u], false, this._$), Yt = b.prepareProgram([at], l[u - 1].loc);
590
- Yt.chained = true, this.$ = { strip: l[u - 2].strip, program: Yt, chain: true };
371
+ var Z = m.prepareBlock(l[u - 2], l[u - 1], l[u], l[u], false, this._$), Lt = m.prepareProgram([Z], l[u - 1].loc);
372
+ Lt.chained = true, this.$ = { strip: l[u - 2].strip, program: Lt, chain: true };
591
373
  break;
592
374
  case 21:
593
- this.$ = { path: l[u - 1], strip: b.stripFlags(l[u - 2], l[u]) };
375
+ this.$ = { path: l[u - 1], strip: m.stripFlags(l[u - 2], l[u]) };
594
376
  break;
595
377
  case 22:
596
- case 23:
597
- this.$ = b.prepareMustache(l[u - 3], l[u - 2], l[u - 1], l[u - 4], b.stripFlags(l[u - 4], l[u]), this._$);
378
+ 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._$);
598
379
  break;
380
+ case 23:
599
381
  case 24:
600
- this.$ = { type: "PartialStatement", name: l[u - 3], params: l[u - 2], hash: l[u - 1], indent: "", strip: b.stripFlags(l[u - 4], l[u]), loc: b.locInfo(this._$) };
382
+ this.$ = m.prepareMustache(l[u - 3], l[u - 2], l[u - 1], l[u - 4], m.stripFlags(l[u - 4], l[u]), this._$);
601
383
  break;
602
384
  case 25:
603
- this.$ = b.preparePartialBlock(l[u - 2], l[u - 1], l[u], this._$);
385
+ 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._$) };
604
386
  break;
605
387
  case 26:
606
- this.$ = { path: l[u - 3], params: l[u - 2], hash: l[u - 1], strip: b.stripFlags(l[u - 4], l[u]) };
388
+ this.$ = m.preparePartialBlock(l[u - 2], l[u - 1], l[u], this._$);
607
389
  break;
608
- case 29:
609
- this.$ = { type: "SubExpression", path: l[u - 3], params: l[u - 2], hash: l[u - 1], loc: b.locInfo(this._$) };
390
+ case 27:
391
+ this.$ = { path: l[u - 3], params: l[u - 2], hash: l[u - 1], strip: m.stripFlags(l[u - 4], l[u]) };
610
392
  break;
611
- case 30:
612
- this.$ = { type: "Hash", pairs: l[u], loc: b.locInfo(this._$) };
393
+ case 32:
394
+ this.$ = m.syntax.hash(l[u - 1], m.locInfo(this._$), { yy: m, syntax: "expr" });
613
395
  break;
614
- case 31:
615
- this.$ = { type: "HashPair", key: b.id(l[u - 2]), value: l[u], loc: b.locInfo(this._$) };
396
+ case 33:
397
+ this.$ = { type: "SubExpression", path: l[u - 3], params: l[u - 2], hash: l[u - 1], loc: m.locInfo(this._$) };
616
398
  break;
617
- case 32:
618
- this.$ = b.id(l[u - 1]);
399
+ case 34:
400
+ this.$ = { type: "Hash", pairs: l[u], loc: m.locInfo(this._$) };
619
401
  break;
620
402
  case 35:
621
- this.$ = { type: "StringLiteral", value: l[u], original: l[u], loc: b.locInfo(this._$) };
403
+ this.$ = { type: "HashPair", key: m.id(l[u - 2]), value: l[u], loc: m.locInfo(this._$) };
622
404
  break;
623
405
  case 36:
624
- this.$ = { type: "NumberLiteral", value: Number(l[u]), original: Number(l[u]), loc: b.locInfo(this._$) };
406
+ this.$ = m.syntax.square(l[u - 1], m.locInfo(this._$), { yy: m, syntax: "expr" });
625
407
  break;
626
408
  case 37:
627
- this.$ = { type: "BooleanLiteral", value: l[u] === "true", original: l[u] === "true", loc: b.locInfo(this._$) };
628
- break;
629
- case 38:
630
- this.$ = { type: "UndefinedLiteral", original: void 0, value: void 0, loc: b.locInfo(this._$) };
631
- break;
632
- case 39:
633
- this.$ = { type: "NullLiteral", original: null, value: null, loc: b.locInfo(this._$) };
409
+ this.$ = m.id(l[u - 1]);
634
410
  break;
635
411
  case 40:
636
- this.$ = b.preparePath(true, l[u], this._$);
412
+ this.$ = { type: "StringLiteral", value: l[u], original: l[u], loc: m.locInfo(this._$) };
637
413
  break;
638
414
  case 41:
639
- this.$ = b.preparePath(false, l[u], this._$);
415
+ this.$ = { type: "NumberLiteral", value: Number(l[u]), original: Number(l[u]), loc: m.locInfo(this._$) };
640
416
  break;
641
417
  case 42:
642
- l[u - 2].push({ part: b.id(l[u]), original: l[u], separator: l[u - 1] }), this.$ = l[u - 2];
418
+ this.$ = { type: "BooleanLiteral", value: l[u] === "true", original: l[u] === "true", loc: m.locInfo(this._$) };
643
419
  break;
644
420
  case 43:
645
- this.$ = [{ part: b.id(l[u]), original: l[u] }];
421
+ this.$ = { type: "UndefinedLiteral", original: void 0, value: void 0, loc: m.locInfo(this._$) };
646
422
  break;
647
423
  case 44:
648
- case 46:
424
+ this.$ = { type: "NullLiteral", original: null, value: null, loc: m.locInfo(this._$) };
425
+ break;
426
+ case 45:
427
+ this.$ = m.preparePath(true, false, l[u], this._$);
428
+ break;
649
429
  case 48:
430
+ this.$ = m.preparePath(false, l[u - 2], l[u], this._$);
431
+ break;
432
+ case 49:
433
+ this.$ = m.preparePath(false, false, l[u], this._$);
434
+ break;
435
+ case 50:
436
+ l[u - 2].push({ part: m.id(l[u]), original: l[u], separator: l[u - 1] }), this.$ = l[u - 2];
437
+ break;
438
+ case 51:
439
+ this.$ = [{ part: m.id(l[u]), original: l[u] }];
440
+ break;
441
+ case 52:
442
+ case 54:
650
443
  case 56:
651
- case 62:
652
- case 68:
444
+ case 64:
445
+ case 70:
653
446
  case 76:
654
- case 80:
655
447
  case 84:
656
448
  case 88:
657
449
  case 92:
450
+ case 96:
451
+ case 100:
452
+ case 106:
658
453
  this.$ = [];
659
454
  break;
660
- case 45:
661
- case 47:
662
- case 49:
455
+ case 53:
456
+ case 55:
663
457
  case 57:
664
- case 63:
665
- case 69:
458
+ case 65:
459
+ case 71:
666
460
  case 77:
667
- case 81:
668
461
  case 85:
669
462
  case 89:
670
463
  case 93:
671
464
  case 97:
672
- case 99:
465
+ case 101:
466
+ case 105:
467
+ case 107:
468
+ case 109:
673
469
  l[u - 1].push(l[u]);
674
470
  break;
675
- case 96:
676
- case 98:
471
+ case 104:
472
+ case 108:
677
473
  this.$ = [l[u]];
678
474
  break;
679
475
  }
680
- }, table: [e5([5, 14, 15, 19, 29, 34, 48, 52, 56, 60], 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, 59: 19, 14: [1, 12], 15: r, 19: [1, 23], 29: [1, 21], 34: [1, 22], 48: [1, 13], 52: [1, 14], 56: [1, 18], 60: [1, 24] }), { 1: [2, 1] }, e5(s, [2, 45]), 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: 26, 49: 25, 63: 27, 64: n, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 20: 26, 49: 39, 63: 27, 64: n, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(S, t, { 6: 3, 4: 40 }), e5(y, t, { 6: 3, 4: 41 }), e5(v, [2, 46], { 17: 42 }), { 20: 26, 49: 43, 63: 27, 64: n, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(C, t, { 6: 3, 4: 44 }), e5([5, 14, 15, 18, 19, 29, 34, 39, 44, 47, 48, 52, 56, 60], [2, 10]), { 20: 45, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 20: 46, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 20: 47, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 20: 26, 49: 48, 63: 27, 64: n, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(x, [2, 76], { 50: 49 }), e5(w, [2, 27]), e5(w, [2, 28]), e5(w, [2, 33]), e5(w, [2, 34]), e5(w, [2, 35]), e5(w, [2, 36]), e5(w, [2, 37]), e5(w, [2, 38]), e5(w, [2, 39]), { 20: 26, 49: 50, 63: 27, 64: n, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(w, [2, 41], { 86: U }), { 71: i, 85: 52 }, e5(q, $), e5(Nt, [2, 80], { 53: 53 }), { 25: 54, 38: 56, 39: Ct, 43: 57, 44: X, 45: 55, 47: [2, 52] }, { 28: 60, 43: 61, 44: X, 47: [2, 54] }, { 13: 63, 15: r, 18: [1, 62] }, e5(x, [2, 84], { 57: 64 }), { 26: 65, 47: rt }, e5(V, [2, 56], { 30: 67 }), e5(V, [2, 62], { 35: 68 }), e5(xt, [2, 48], { 21: 69 }), e5(x, [2, 88], { 61: 70 }), { 20: 26, 33: [2, 78], 49: 72, 51: 71, 63: 27, 64: n, 68: 73, 69: 74, 70: 75, 71: H, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(st, [2, 92], { 65: 77 }), { 71: [1, 78] }, e5(w, [2, 40], { 86: U }), { 20: 26, 49: 80, 54: 79, 55: [2, 82], 63: 27, 64: n, 68: 81, 69: 74, 70: 75, 71: H, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 26: 82, 47: rt }, { 47: [2, 53] }, e5(S, t, { 6: 3, 4: 83 }), { 47: [2, 20] }, { 20: 84, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(C, t, { 6: 3, 4: 85 }), { 26: 86, 47: rt }, { 47: [2, 55] }, e5(s, [2, 11]), e5(v, [2, 47]), { 20: 26, 33: [2, 86], 49: 88, 58: 87, 63: 27, 64: n, 68: 89, 69: 74, 70: 75, 71: H, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(s, [2, 25]), { 20: 90, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(A, [2, 58], { 20: 26, 63: 27, 77: 28, 78: 29, 85: 36, 69: 74, 70: 75, 31: 91, 49: 92, 68: 93, 64: n, 71: H, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m }), e5(A, [2, 64], { 20: 26, 63: 27, 77: 28, 78: 29, 85: 36, 69: 74, 70: 75, 36: 94, 49: 95, 68: 96, 64: n, 71: H, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m }), { 20: 26, 22: 97, 23: [2, 50], 49: 98, 63: 27, 64: n, 68: 99, 69: 74, 70: 75, 71: H, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 20: 26, 33: [2, 90], 49: 101, 62: 100, 63: 27, 64: n, 68: 102, 69: 74, 70: 75, 71: H, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 33: [1, 103] }, e5(x, [2, 77]), { 33: [2, 79] }, e5([23, 33, 55, 67, 74], [2, 30], { 70: 104, 71: [1, 105] }), e5(nt, [2, 96]), e5(q, $, { 72: ue }), { 20: 26, 49: 108, 63: 27, 64: n, 66: 107, 67: [2, 94], 68: 109, 69: 74, 70: 75, 71: H, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(q, [2, 42]), { 55: [1, 110] }, e5(Nt, [2, 81]), { 55: [2, 83] }, e5(s, [2, 13]), { 38: 56, 39: Ct, 43: 57, 44: X, 45: 112, 46: 111, 47: [2, 74] }, e5(V, [2, 68], { 40: 113 }), { 47: [2, 18] }, e5(s, [2, 14]), { 33: [1, 114] }, e5(x, [2, 85]), { 33: [2, 87] }, { 33: [1, 115] }, { 32: 116, 33: [2, 60], 73: 117, 74: Le }, e5(V, [2, 57]), e5(A, [2, 59]), { 33: [2, 66], 37: 119, 73: 120, 74: Le }, e5(V, [2, 63]), e5(A, [2, 65]), { 23: [1, 121] }, e5(xt, [2, 49]), { 23: [2, 51] }, { 33: [1, 122] }, e5(x, [2, 89]), { 33: [2, 91] }, e5(s, [2, 22]), e5(nt, [2, 97]), { 72: ue }, { 20: 26, 49: 123, 63: 27, 64: n, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 67: [1, 124] }, e5(st, [2, 93]), { 67: [2, 95] }, e5(s, [2, 23]), { 47: [2, 19] }, { 47: [2, 75] }, e5(A, [2, 70], { 20: 26, 63: 27, 77: 28, 78: 29, 85: 36, 69: 74, 70: 75, 41: 125, 49: 126, 68: 127, 64: n, 71: H, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m }), e5(s, [2, 24]), e5(s, [2, 21]), { 33: [1, 128] }, { 33: [2, 61] }, { 71: [1, 130], 75: 129 }, { 33: [1, 131] }, { 33: [2, 67] }, e5(v, [2, 12]), e5(C, [2, 26]), e5(nt, [2, 31]), e5(w, [2, 29]), { 33: [2, 72], 42: 132, 73: 133, 74: Le }, e5(V, [2, 69]), e5(A, [2, 71]), e5(S, [2, 15]), { 71: [1, 135], 76: [1, 134] }, e5(Pr, [2, 98]), e5(y, [2, 16]), { 33: [1, 136] }, { 33: [2, 73] }, { 33: [2, 32] }, e5(Pr, [2, 99]), e5(S, [2, 17])], defaultActions: { 4: [2, 1], 55: [2, 53], 57: [2, 20], 61: [2, 55], 73: [2, 79], 81: [2, 83], 85: [2, 18], 89: [2, 87], 99: [2, 51], 102: [2, 91], 109: [2, 95], 111: [2, 19], 112: [2, 75], 117: [2, 61], 120: [2, 67], 133: [2, 73], 134: [2, 32] }, parseError: function(d, k) {
681
- if (k.recoverable) this.trace(d);
476
+ }, 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) {
477
+ if (S.recoverable) this.trace(b);
682
478
  else {
683
- var g = new Error(d);
684
- throw g.hash = k, g;
479
+ var y = new Error(b);
480
+ throw y.hash = S, y;
481
+ }
482
+ }, parse: function(b) {
483
+ 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: {} };
484
+ for (var Pe in this.yy) Object.prototype.hasOwnProperty.call(this.yy, Pe) && (ot.yy[Pe] = this.yy[Pe]);
485
+ x.setInput(b, ot.yy), ot.yy.lexer = x, ot.yy.parser = this, typeof x.yylloc > "u" && (x.yylloc = {});
486
+ var Ce = x.yylloc;
487
+ l.push(Ce);
488
+ var Fn = x.options && x.options.ranges;
489
+ typeof ot.yy.parseError == "function" ? this.parseError = ot.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError;
490
+ function Pi(Y) {
491
+ y.length = y.length - 2 * Y, w.length = w.length - Y, l.length = l.length - Y;
685
492
  }
686
- }, parse: function(d) {
687
- var k = this, g = [0], N = [null], l = [], Pt = this.table, u = "", at = 0, Yt = 0, Ar = 0, Hs = 2, Lr = 1, Fs = l.slice.call(arguments, 1), P = Object.create(this.lexer), dt = { yy: {} };
688
- for (var Oe in this.yy) Object.prototype.hasOwnProperty.call(this.yy, Oe) && (dt.yy[Oe] = this.yy[Oe]);
689
- P.setInput(d, dt.yy), dt.yy.lexer = P, dt.yy.parser = this, typeof P.yylloc > "u" && (P.yylloc = {});
690
- var Be = P.yylloc;
691
- l.push(Be);
692
- var Us = P.options && P.options.ranges;
693
- typeof dt.yy.parseError == "function" ? this.parseError = dt.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError;
694
- for (var Ms = function() {
695
- var W;
696
- return W = P.lex() || Lr, typeof W != "number" && (W = k.symbols_[W] || W), W;
697
- }, O, Ie, gt, M, Ti, Re, At = {}, he, Z, Dr, pe; ; ) {
698
- if (gt = g[g.length - 1], this.defaultActions[gt] ? M = this.defaultActions[gt] : ((O === null || typeof O > "u") && (O = Ms()), M = Pt[gt] && Pt[gt][O]), typeof M > "u" || !M.length || !M[0]) {
699
- var qe = "";
700
- pe = [];
701
- for (he in Pt[gt]) this.terminals_[he] && he > Hs && pe.push("'" + this.terminals_[he] + "'");
702
- P.showPosition ? qe = "Parse error on line " + (at + 1) + `:
703
- ` + P.showPosition() + `
704
- Expecting ` + pe.join(", ") + ", got '" + (this.terminals_[O] || O) + "'" : qe = "Parse error on line " + (at + 1) + ": Unexpected " + (O == Lr ? "end of input" : "'" + (this.terminals_[O] || O) + "'"), this.parseError(qe, { text: P.match, token: this.terminals_[O] || O, line: P.yylineno, loc: Be, expected: pe });
493
+ for (var Hn = function() {
494
+ var Y;
495
+ return Y = x.lex() || Pr, typeof Y != "number" && (Y = S.symbols_[Y] || Y), Y;
496
+ }, L, _e, lt, q, Ci, Le, yt = {}, jt, j, Cr, Qt; ; ) {
497
+ 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]) {
498
+ var De = "";
499
+ Qt = [];
500
+ for (jt in bt[lt]) this.terminals_[jt] && jt > qn && Qt.push("'" + this.terminals_[jt] + "'");
501
+ x.showPosition ? De = "Parse error on line " + (Z + 1) + `:
502
+ ` + x.showPosition() + `
503
+ 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 });
705
504
  }
706
- if (M[0] instanceof Array && M.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + gt + ", token: " + O);
707
- switch (M[0]) {
505
+ if (q[0] instanceof Array && q.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + lt + ", token: " + L);
506
+ switch (q[0]) {
708
507
  case 1:
709
- g.push(O), N.push(P.yytext), l.push(P.yylloc), g.push(M[1]), O = null, Ie ? (O = Ie, Ie = null) : (Yt = P.yyleng, u = P.yytext, at = P.yylineno, Be = P.yylloc, Ar > 0);
508
+ 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--);
710
509
  break;
711
510
  case 2:
712
- if (Z = this.productions_[M[1]][1], At.$ = N[N.length - Z], At._$ = { first_line: l[l.length - (Z || 1)].first_line, last_line: l[l.length - 1].last_line, first_column: l[l.length - (Z || 1)].first_column, last_column: l[l.length - 1].last_column }, Us && (At._$.range = [l[l.length - (Z || 1)].range[0], l[l.length - 1].range[1]]), Re = this.performAction.apply(At, [u, Yt, at, dt.yy, M[1], N, l].concat(Fs)), typeof Re < "u") return Re;
713
- Z && (g = g.slice(0, -1 * Z * 2), N = N.slice(0, -1 * Z), l = l.slice(0, -1 * Z)), g.push(this.productions_[M[1]][0]), N.push(At.$), l.push(At._$), Dr = Pt[g[g.length - 2]][g[g.length - 1]], g.push(Dr);
511
+ 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;
512
+ 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);
714
513
  break;
715
514
  case 3:
716
515
  return true;
717
516
  }
718
517
  }
719
518
  return true;
720
- } }, Vs = /* @__PURE__ */ (function() {
721
- var it = { EOF: 1, parseError: function(k, g) {
722
- if (this.yy.parser) this.yy.parser.parseError(k, g);
723
- else throw new Error(k);
724
- }, setInput: function(d, k) {
725
- return this.yy = k || this.yy || {}, this._input = d, this._more = this._backtrack = this.done = false, 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;
519
+ } }, Rn = /* @__PURE__ */ (function() {
520
+ var X = { EOF: 1, parseError: function(S, y) {
521
+ if (this.yy.parser) this.yy.parser.parseError(S, y);
522
+ else throw new Error(S);
523
+ }, setInput: function(b, S) {
524
+ return this.yy = S || this.yy || {}, this._input = b, this._more = this._backtrack = this.done = false, 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;
726
525
  }, input: function() {
727
- var d = this._input[0];
728
- this.yytext += d, this.yyleng++, this.offset++, this.match += d, this.matched += d;
729
- var k = d.match(/(?:\r\n?|\n).*/g);
730
- return k ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), d;
731
- }, unput: function(d) {
732
- var k = d.length, g = d.split(/(?:\r\n?|\n)/g);
733
- this._input = d + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - k), this.offset -= k;
734
- var b = this.match.split(/(?:\r\n?|\n)/g);
735
- this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), g.length - 1 && (this.yylineno -= g.length - 1);
736
- var N = this.yylloc.range;
737
- return this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: g ? (g.length === b.length ? this.yylloc.first_column : 0) + b[b.length - g.length].length - g[0].length : this.yylloc.first_column - k }, this.options.ranges && (this.yylloc.range = [N[0], N[0] + this.yyleng - k]), this.yyleng = this.yytext.length, this;
526
+ var b = this._input[0];
527
+ this.yytext += b, this.yyleng++, this.offset++, this.match += b, this.matched += b;
528
+ var S = b.match(/(?:\r\n?|\n).*/g);
529
+ 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;
530
+ }, unput: function(b) {
531
+ var S = b.length, y = b.split(/(?:\r\n?|\n)/g);
532
+ this._input = b + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - S), this.offset -= S;
533
+ var m = this.match.split(/(?:\r\n?|\n)/g);
534
+ 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);
535
+ var w = this.yylloc.range;
536
+ 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;
738
537
  }, more: function() {
739
538
  return this._more = true, this;
740
539
  }, reject: function() {
@@ -742,194 +541,216 @@ Expecting ` + pe.join(", ") + ", got '" + (this.terminals_[O] || O) + "'" : qe =
742
541
  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).
743
542
  ` + this.showPosition(), { text: "", token: null, line: this.yylineno });
744
543
  return this;
745
- }, less: function(d) {
746
- this.unput(this.match.slice(d));
544
+ }, less: function(b) {
545
+ this.unput(this.match.slice(b));
747
546
  }, pastInput: function() {
748
- var d = this.matched.substr(0, this.matched.length - this.match.length);
749
- return (d.length > 20 ? "..." : "") + d.substr(-20).replace(/\n/g, "");
547
+ var b = this.matched.substr(0, this.matched.length - this.match.length);
548
+ return (b.length > 20 ? "..." : "") + b.substr(-20).replace(/\n/g, "");
750
549
  }, upcomingInput: function() {
751
- var d = this.match;
752
- return d.length < 20 && (d += this._input.substr(0, 20 - d.length)), (d.substr(0, 20) + (d.length > 20 ? "..." : "")).replace(/\n/g, "");
550
+ var b = this.match;
551
+ return b.length < 20 && (b += this._input.substr(0, 20 - b.length)), (b.substr(0, 20) + (b.length > 20 ? "..." : "")).replace(/\n/g, "");
753
552
  }, showPosition: function() {
754
- var d = this.pastInput(), k = new Array(d.length + 1).join("-");
755
- return d + this.upcomingInput() + `
756
- ` + k + "^";
757
- }, test_match: function(d, k) {
758
- var g, b, N;
759
- if (this.options.backtrack_lexer && (N = { 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 && (N.yylloc.range = this.yylloc.range.slice(0))), b = d[0].match(/(?:\r\n?|\n).*/g), b && (this.yylineno += b.length), this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: b ? b[b.length - 1].length - b[b.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + d[0].length }, this.yytext += d[0], this.match += d[0], this.matches = d, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [this.offset, this.offset += this.yyleng]), this._more = false, this._backtrack = false, this._input = this._input.slice(d[0].length), this.matched += d[0], g = this.performAction.call(this, this.yy, this, k, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = false), g) return g;
553
+ var b = this.pastInput(), S = new Array(b.length + 1).join("-");
554
+ return b + this.upcomingInput() + `
555
+ ` + S + "^";
556
+ }, test_match: function(b, S) {
557
+ var y, m, w;
558
+ 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 = false, this._backtrack = false, 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 = false), y) return y;
760
559
  if (this._backtrack) {
761
- for (var l in N) this[l] = N[l];
560
+ for (var l in w) this[l] = w[l];
762
561
  return false;
763
562
  }
764
563
  return false;
765
564
  }, next: function() {
766
565
  if (this.done) return this.EOF;
767
566
  this._input || (this.done = true);
768
- var d, k, g, b;
567
+ var b, S, y, m;
769
568
  this._more || (this.yytext = "", this.match = "");
770
- for (var N = this._currentRules(), l = 0; l < N.length; l++) if (g = this._input.match(this.rules[N[l]]), g && (!k || g[0].length > k[0].length)) {
771
- if (k = g, b = l, this.options.backtrack_lexer) {
772
- if (d = this.test_match(g, N[l]), d !== false) return d;
569
+ 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)) {
570
+ if (S = y, m = l, this.options.backtrack_lexer) {
571
+ if (b = this.test_match(y, w[l]), b !== false) return b;
773
572
  if (this._backtrack) {
774
- k = false;
573
+ S = false;
775
574
  continue;
776
575
  } else return false;
777
576
  } else if (!this.options.flex) break;
778
577
  }
779
- return k ? (d = this.test_match(k, N[b]), d !== false ? d : false) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
578
+ return S ? (b = this.test_match(S, w[m]), b !== false ? b : false) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
780
579
  ` + this.showPosition(), { text: "", token: null, line: this.yylineno });
781
580
  }, lex: function() {
782
- var k = this.next();
783
- return k || this.lex();
784
- }, begin: function(k) {
785
- this.conditionStack.push(k);
581
+ var S = this.next();
582
+ return S || this.lex();
583
+ }, begin: function(S) {
584
+ this.conditionStack.push(S);
786
585
  }, popState: function() {
787
- var k = this.conditionStack.length - 1;
788
- return k > 0 ? this.conditionStack.pop() : this.conditionStack[0];
586
+ var S = this.conditionStack.length - 1;
587
+ return S > 0 ? this.conditionStack.pop() : this.conditionStack[0];
789
588
  }, _currentRules: function() {
790
589
  return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules;
791
- }, topState: function(k) {
792
- return k = this.conditionStack.length - 1 - Math.abs(k || 0), k >= 0 ? this.conditionStack[k] : "INITIAL";
793
- }, pushState: function(k) {
794
- this.begin(k);
590
+ }, topState: function(S) {
591
+ return S = this.conditionStack.length - 1 - Math.abs(S || 0), S >= 0 ? this.conditionStack[S] : "INITIAL";
592
+ }, pushState: function(S) {
593
+ this.begin(S);
795
594
  }, stateStackSize: function() {
796
595
  return this.conditionStack.length;
797
- }, options: {}, performAction: function(k, g, b, N) {
798
- function l(u, at) {
799
- return g.yytext = g.yytext.substring(u, g.yyleng - at + u);
596
+ }, options: {}, performAction: function(S, y, m, w) {
597
+ function l(u, Z) {
598
+ return y.yytext = y.yytext.substring(u, y.yyleng - Z + u);
800
599
  }
801
- switch (b) {
600
+ var bt = w;
601
+ switch (m) {
802
602
  case 0:
803
- if (g.yytext.slice(-2) === "\\\\" ? (l(0, 1), this.begin("mu")) : g.yytext.slice(-1) === "\\" ? (l(0, 1), this.begin("emu")) : this.begin("mu"), g.yytext) return 15;
603
+ 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;
804
604
  break;
805
605
  case 1:
806
606
  return 15;
807
607
  case 2:
808
608
  return this.popState(), 15;
609
+ break;
809
610
  case 3:
810
611
  return this.begin("raw"), 15;
612
+ break;
811
613
  case 4:
812
614
  return this.popState(), this.conditionStack[this.conditionStack.length - 1] === "raw" ? 15 : (l(5, 9), 18);
813
615
  case 5:
814
616
  return 15;
815
617
  case 6:
816
618
  return this.popState(), 14;
619
+ break;
817
620
  case 7:
818
- return 64;
819
- case 8:
820
621
  return 67;
622
+ case 8:
623
+ return 68;
821
624
  case 9:
822
- return 19;
625
+ if (S.syntax.square === "string") this.unput(y.yytext), this.begin("escl");
626
+ else return 75;
627
+ break;
823
628
  case 10:
824
- return this.popState(), this.begin("raw"), 23;
629
+ return 77;
825
630
  case 11:
826
- return 56;
631
+ return 19;
827
632
  case 12:
828
- return 60;
633
+ return this.popState(), this.begin("raw"), 23;
634
+ break;
829
635
  case 13:
830
- return 29;
636
+ return 57;
831
637
  case 14:
832
- return 47;
638
+ return 61;
833
639
  case 15:
834
- return this.popState(), 44;
640
+ return 29;
835
641
  case 16:
836
- return this.popState(), 44;
642
+ return 47;
837
643
  case 17:
838
- return 34;
644
+ return this.popState(), 44;
645
+ break;
839
646
  case 18:
840
- return 39;
647
+ return this.popState(), 44;
648
+ break;
841
649
  case 19:
842
- return 52;
650
+ return 34;
843
651
  case 20:
844
- return 48;
652
+ return 39;
845
653
  case 21:
846
- this.unput(g.yytext), this.popState(), this.begin("com");
847
- break;
654
+ return 53;
848
655
  case 22:
849
- return this.popState(), 14;
850
- case 23:
851
656
  return 48;
657
+ case 23:
658
+ this.unput(y.yytext), this.popState(), this.begin("com");
659
+ break;
852
660
  case 24:
853
- return 72;
661
+ return this.popState(), 14;
662
+ break;
854
663
  case 25:
855
- return 71;
664
+ return 48;
856
665
  case 26:
857
- return 71;
666
+ return 74;
858
667
  case 27:
859
- return 86;
668
+ return 73;
860
669
  case 28:
861
- break;
670
+ return 73;
862
671
  case 29:
863
- return this.popState(), 55;
672
+ return 93;
864
673
  case 30:
865
- return this.popState(), 33;
674
+ return 92;
866
675
  case 31:
867
- return g.yytext = l(1, 2).replace(/\\"/g, '"'), 79;
676
+ break;
868
677
  case 32:
869
- return g.yytext = l(1, 2).replace(/\\'/g, "'"), 79;
678
+ return this.popState(), 56;
679
+ break;
870
680
  case 33:
871
- return 84;
681
+ return this.popState(), 33;
682
+ break;
872
683
  case 34:
873
- return 81;
684
+ return y.yytext = l(1, 2).replace(/\\"/g, '"'), 84;
685
+ break;
874
686
  case 35:
875
- return 81;
687
+ return y.yytext = l(1, 2).replace(/\\'/g, "'"), 84;
688
+ break;
876
689
  case 36:
877
- return 82;
690
+ return 89;
878
691
  case 37:
879
- return 83;
692
+ return 86;
880
693
  case 38:
881
- return 80;
694
+ return 86;
882
695
  case 39:
883
- return 74;
696
+ return 87;
884
697
  case 40:
885
- return 76;
698
+ return 88;
886
699
  case 41:
887
- return 71;
700
+ return 85;
888
701
  case 42:
889
- return g.yytext = g.yytext.replace(/\\([\\\]])/g, "$1"), 71;
702
+ return 79;
890
703
  case 43:
891
- return "INVALID";
704
+ return 81;
892
705
  case 44:
706
+ return 73;
707
+ case 45:
708
+ return y.yytext = y.yytext.replace(/\\([\\\]])/g, "$1"), this.popState(), 73;
709
+ break;
710
+ case 46:
711
+ return "INVALID";
712
+ case 47:
893
713
  return 5;
894
714
  }
895
- }, 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], inclusive: false }, emu: { rules: [2], inclusive: false }, com: { rules: [6], inclusive: false }, raw: { rules: [3, 4, 5], inclusive: false }, INITIAL: { rules: [0, 1, 44], inclusive: true } } };
896
- return it;
715
+ }, 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: false }, emu: { rules: [2], inclusive: false }, com: { rules: [6], inclusive: false }, raw: { rules: [3, 4, 5], inclusive: false }, escl: { rules: [45], inclusive: false }, INITIAL: { rules: [0, 1, 47], inclusive: true } } };
716
+ return X;
897
717
  })();
898
- De.lexer = Vs;
899
- function _e() {
718
+ Ne.lexer = Rn;
719
+ function Ae() {
900
720
  this.yy = {};
901
721
  }
902
- return _e.prototype = De, De.Parser = _e, new _e();
903
- })(), Se = In;
904
- var tr = ["description", "fileName", "lineNumber", "endLineNumber", "message", "name", "number", "stack"];
905
- function er(e5, t) {
722
+ return Ae.prototype = Ne, Ne.Parser = Ae, new Ae();
723
+ })();
724
+ var Vt = us;
725
+ var Ye = ["description", "fileName", "lineNumber", "endLineNumber", "message", "name", "number", "stack"];
726
+ function Ge(e5, t) {
906
727
  var r = t && t.loc, s, n, i, a;
907
728
  r && (s = r.start.line, n = r.end.line, i = r.start.column, a = r.end.column, e5 += " - " + s + ":" + i);
908
- for (var o = Error.prototype.constructor.call(this, e5), c = 0; c < tr.length; c++) this[tr[c]] = o[tr[c]];
909
- Error.captureStackTrace && Error.captureStackTrace(this, er);
729
+ for (var o = Error.prototype.constructor.call(this, e5), c = 0; c < Ye.length; c++) this[Ye[c]] = o[Ye[c]];
730
+ Error.captureStackTrace && Error.captureStackTrace(this, Ge);
910
731
  try {
911
732
  r && (this.lineNumber = s, this.endLineNumber = n, Object.defineProperty ? (Object.defineProperty(this, "column", { value: i, enumerable: true }), Object.defineProperty(this, "endColumn", { value: a, enumerable: true })) : (this.column = i, this.endColumn = a));
912
733
  } catch {
913
734
  }
914
735
  }
915
- er.prototype = new Error();
916
- var ot = er;
917
- function Ee() {
736
+ Ge.prototype = new Error();
737
+ var tt = Ge;
738
+ function le() {
918
739
  this.parents = [];
919
740
  }
920
- Ee.prototype = { constructor: Ee, mutating: false, acceptKey: function(e5, t) {
741
+ le.prototype = { constructor: le, mutating: false, acceptKey: function(e5, t) {
921
742
  var r = this.accept(e5[t]);
922
743
  if (this.mutating) {
923
- if (r && !Ee.prototype[r.type]) throw new ot('Unexpected node type "' + r.type + '" found when accepting ' + t + " on " + e5.type);
744
+ if (r && !le.prototype[r.type]) throw new tt('Unexpected node type "' + r.type + '" found when accepting ' + t + " on " + e5.type);
924
745
  e5[t] = r;
925
746
  }
926
747
  }, acceptRequired: function(e5, t) {
927
- if (this.acceptKey(e5, t), !e5[t]) throw new ot(e5.type + " requires " + t);
748
+ if (this.acceptKey(e5, t), !e5[t]) throw new tt(e5.type + " requires " + t);
928
749
  }, acceptArray: function(e5) {
929
750
  for (var t = 0, r = e5.length; t < r; t++) this.acceptKey(e5, t), e5[t] || (e5.splice(t, 1), t--, r--);
930
751
  }, accept: function(e5) {
931
752
  if (e5) {
932
- if (!this[e5.type]) throw new ot("Unknown type: " + e5.type, e5);
753
+ if (!this[e5.type]) throw new tt("Unknown type: " + e5.type, e5);
933
754
  this.current && this.parents.unshift(this.current), this.current = e5;
934
755
  var t = this[e5.type](e5);
935
756
  if (this.current = this.parents.shift(), !this.mutating || t) return t;
@@ -937,11 +758,11 @@ Ee.prototype = { constructor: Ee, mutating: false, acceptKey: function(e5, t) {
937
758
  }
938
759
  }, Program: function(e5) {
939
760
  this.acceptArray(e5.body);
940
- }, MustacheStatement: ve, Decorator: ve, BlockStatement: ds, DecoratorBlock: ds, PartialStatement: gs, PartialBlockStatement: function(e5) {
941
- gs.call(this, e5), this.acceptKey(e5, "program");
761
+ }, MustacheStatement: ce, Decorator: ce, BlockStatement: Gr, DecoratorBlock: Gr, PartialStatement: Kr, PartialBlockStatement: function(e5) {
762
+ Kr.call(this, e5), this.acceptKey(e5, "program");
942
763
  }, ContentStatement: function() {
943
764
  }, CommentStatement: function() {
944
- }, SubExpression: ve, PathExpression: function() {
765
+ }, SubExpression: ce, PathExpression: function() {
945
766
  }, StringLiteral: function() {
946
767
  }, NumberLiteral: function() {
947
768
  }, BooleanLiteral: function() {
@@ -952,178 +773,201 @@ Ee.prototype = { constructor: Ee, mutating: false, acceptKey: function(e5, t) {
952
773
  }, HashPair: function(e5) {
953
774
  this.acceptRequired(e5, "value");
954
775
  } };
955
- function ve(e5) {
776
+ function ce(e5) {
956
777
  this.acceptRequired(e5, "path"), this.acceptArray(e5.params), this.acceptKey(e5, "hash");
957
778
  }
958
- function ds(e5) {
959
- ve.call(this, e5), this.acceptKey(e5, "program"), this.acceptKey(e5, "inverse");
779
+ function Gr(e5) {
780
+ ce.call(this, e5), this.acceptKey(e5, "program"), this.acceptKey(e5, "inverse");
960
781
  }
961
- function gs(e5) {
782
+ function Kr(e5) {
962
783
  this.acceptRequired(e5, "name"), this.acceptArray(e5.params), this.acceptKey(e5, "hash");
963
784
  }
964
- var bs = Ee;
965
- function Q(e5) {
785
+ var Wr = le;
786
+ function G(e5) {
966
787
  e5 === void 0 && (e5 = {}), this.options = e5;
967
788
  }
968
- Q.prototype = new bs();
969
- Q.prototype.Program = function(e5) {
789
+ G.prototype = new Wr();
790
+ G.prototype.Program = function(e5) {
970
791
  var t = !this.options.ignoreStandalone, r = !this.isRootSeen;
971
792
  this.isRootSeen = true;
972
793
  for (var s = e5.body, n = 0, i = s.length; n < i; n++) {
973
794
  var a = s[n], o = this.accept(a);
974
795
  if (o) {
975
- var c = rr(s, n, r), h = sr(s, n, r), p = o.openStandalone && c, m = o.closeStandalone && h, S = o.inlineStandalone && c && h;
976
- o.close && Et(s, n, true), o.open && lt(s, n, true), t && S && (Et(s, n), lt(s, n) && a.type === "PartialStatement" && (a.indent = /([ \t]+$)/.exec(s[n - 1].original)[1])), t && p && (Et((a.program || a.inverse).body), lt(s, n)), t && m && (Et(s, n), lt((a.inverse || a.program).body));
796
+ var c = Ke(s, n, r), h = We(s, n, r), f = o.openStandalone && c, p = o.closeStandalone && h, g = o.inlineStandalone && c && h;
797
+ o.close && ht(s, n, true), o.open && et(s, n, true), 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));
977
798
  }
978
799
  }
979
800
  return e5;
980
801
  };
981
- Q.prototype.BlockStatement = Q.prototype.DecoratorBlock = Q.prototype.PartialBlockStatement = function(e5) {
802
+ G.prototype.BlockStatement = G.prototype.DecoratorBlock = G.prototype.PartialBlockStatement = function(e5) {
982
803
  this.accept(e5.program), this.accept(e5.inverse);
983
804
  var t = e5.program || e5.inverse, r = e5.program && e5.inverse, s = r, n = r;
984
805
  if (r && r.chained) for (s = r.body[0].program; n.chained; ) n = n.body[n.body.length - 1].program;
985
- var i = { open: e5.openStrip.open, close: e5.closeStrip.close, openStandalone: sr(t.body), closeStandalone: rr((s || t).body) };
986
- if (e5.openStrip.close && Et(t.body, null, true), r) {
806
+ var i = { open: e5.openStrip.open, close: e5.closeStrip.close, openStandalone: We(t.body), closeStandalone: Ke((s || t).body) };
807
+ if (e5.openStrip.close && ht(t.body, null, true), r) {
987
808
  var a = e5.inverseStrip;
988
- a.open && lt(t.body, null, true), a.close && Et(s.body, null, true), e5.closeStrip.open && lt(n.body, null, true), !this.options.ignoreStandalone && rr(t.body) && sr(s.body) && (lt(t.body), Et(s.body));
989
- } else e5.closeStrip.open && lt(t.body, null, true);
809
+ a.open && et(t.body, null, true), a.close && ht(s.body, null, true), e5.closeStrip.open && et(n.body, null, true), !this.options.ignoreStandalone && Ke(t.body) && We(s.body) && (et(t.body), ht(s.body));
810
+ } else e5.closeStrip.open && et(t.body, null, true);
990
811
  return i;
991
812
  };
992
- Q.prototype.Decorator = Q.prototype.MustacheStatement = function(e5) {
813
+ G.prototype.Decorator = G.prototype.MustacheStatement = function(e5) {
993
814
  return e5.strip;
994
815
  };
995
- Q.prototype.PartialStatement = Q.prototype.CommentStatement = function(e5) {
816
+ G.prototype.PartialStatement = G.prototype.CommentStatement = function(e5) {
996
817
  var t = e5.strip || {};
997
818
  return { inlineStandalone: true, open: t.open, close: t.close };
998
819
  };
999
- function rr(e5, t, r) {
820
+ function Ke(e5, t, r) {
1000
821
  t === void 0 && (t = e5.length);
1001
822
  var s = e5[t - 1], n = e5[t - 2];
1002
823
  if (!s) return r;
1003
824
  if (s.type === "ContentStatement") return (n || !r ? /\r?\n\s*?$/ : /(^|\r?\n)\s*?$/).test(s.original);
1004
825
  }
1005
- function sr(e5, t, r) {
826
+ function We(e5, t, r) {
1006
827
  t === void 0 && (t = -1);
1007
828
  var s = e5[t + 1], n = e5[t + 2];
1008
829
  if (!s) return r;
1009
830
  if (s.type === "ContentStatement") return (n || !r ? /^\s*?\r?\n/ : /^\s*?(\r?\n|$)/).test(s.original);
1010
831
  }
1011
- function Et(e5, t, r) {
832
+ function ht(e5, t, r) {
1012
833
  var s = e5[t == null ? 0 : t + 1];
1013
834
  if (!(!s || s.type !== "ContentStatement" || !r && s.rightStripped)) {
1014
835
  var n = s.value;
1015
836
  s.value = s.value.replace(r ? /^\s+/ : /^[ \t]*\r?\n?/, ""), s.rightStripped = s.value !== n;
1016
837
  }
1017
838
  }
1018
- function lt(e5, t, r) {
839
+ function et(e5, t, r) {
1019
840
  var s = e5[t == null ? e5.length - 1 : t - 1];
1020
841
  if (!(!s || s.type !== "ContentStatement" || !r && s.leftStripped)) {
1021
842
  var n = s.value;
1022
843
  return s.value = s.value.replace(r ? /\s+$/ : /[ \t]+$/, ""), s.leftStripped = s.value !== n, s.leftStripped;
1023
844
  }
1024
845
  }
1025
- var ys = Q;
1026
- var ne = {};
1027
- Ve(ne, { SourceLocation: () => ir, id: () => Rn, prepareBlock: () => Mn, prepareMustache: () => Fn, preparePartialBlock: () => Yn, preparePath: () => Hn, prepareProgram: () => zn, prepareRawBlock: () => Un, stripComment: () => Vn, stripFlags: () => qn });
1028
- function nr(e5, t) {
846
+ var jr = G;
847
+ var Ft = {};
848
+ Oe(Ft, { SourceLocation: () => Qe, id: () => ps, prepareBlock: () => ys, prepareMustache: () => gs, preparePartialBlock: () => ks, preparePath: () => ds, prepareProgram: () => Ss, prepareRawBlock: () => bs, stripComment: () => ms, stripFlags: () => fs });
849
+ var hs = function(e5, t, r) {
850
+ 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]);
851
+ return e5.concat(i || Array.prototype.slice.call(t));
852
+ };
853
+ function je(e5, t) {
1029
854
  if (t = t.path ? t.path.original : t, e5.path.original !== t) {
1030
855
  var r = { loc: e5.path.loc };
1031
- throw new ot(e5.path.original + " doesn't match " + t, r);
856
+ throw new tt(e5.path.original + " doesn't match " + t, r);
1032
857
  }
1033
858
  }
1034
- function ir(e5, t) {
859
+ function Qe(e5, t) {
1035
860
  this.source = e5, this.start = { line: t.first_line, column: t.first_column }, this.end = { line: t.last_line, column: t.last_column };
1036
861
  }
1037
- function Rn(e5) {
862
+ function ps(e5) {
1038
863
  return /^\[.*\]$/.test(e5) ? e5.substring(1, e5.length - 1) : e5;
1039
864
  }
1040
- function qn(e5, t) {
865
+ function fs(e5, t) {
1041
866
  return { open: e5.charAt(2) === "~", close: t.charAt(t.length - 3) === "~" };
1042
867
  }
1043
- function Vn(e5) {
868
+ function ms(e5) {
1044
869
  return e5.replace(/^\{\{~?!-?-?/, "").replace(/-?-?~?\}\}$/, "");
1045
870
  }
1046
- function Hn(e5, t, r) {
1047
- r = this.locInfo(r);
1048
- for (var s = e5 ? "@" : "", n = [], i = 0, a = 0, o = t.length; a < o; a++) {
1049
- var c = t[a].part, h = t[a].original !== c;
1050
- if (s += (t[a].separator || "") + c, !h && (c === ".." || c === "." || c === "this")) {
1051
- if (n.length > 0) throw new ot("Invalid path: " + s, { loc: r });
1052
- c === ".." && i++;
1053
- } else n.push(c);
1054
- }
1055
- return { type: "PathExpression", data: e5, depth: i, parts: n, original: s, loc: r };
1056
- }
1057
- function Fn(e5, t, r, s, n, i) {
871
+ function ds(e5, t, r, s) {
872
+ s = this.locInfo(s);
873
+ var n;
874
+ e5 ? n = "@" : t ? n = t.original + "." : n = "";
875
+ for (var i = [], a = 0, o = 0, c = r.length; o < c; o++) {
876
+ var h = r[o].part, f = r[o].original !== h, p = r[o].separator, g = p === ".#" ? "#" : "";
877
+ if (n += (p || "") + h, !f && (h === ".." || h === "." || h === "this")) {
878
+ if (i.length > 0) throw new tt("Invalid path: " + n, { loc: s });
879
+ h === ".." && a++;
880
+ } else i.push("".concat(g).concat(h));
881
+ }
882
+ var E = t || i.shift();
883
+ return { type: "PathExpression", this: n.startsWith("this."), data: e5, depth: a, head: E, tail: i, parts: E ? hs([E], i, true) : i, original: n, loc: s };
884
+ }
885
+ function gs(e5, t, r, s, n, i) {
1058
886
  var a = s.charAt(3) || s.charAt(2), o = a !== "{" && a !== "&", c = /\*/.test(s);
1059
887
  return { type: c ? "Decorator" : "MustacheStatement", path: e5, params: t, hash: r, escaped: o, strip: n, loc: this.locInfo(i) };
1060
888
  }
1061
- function Un(e5, t, r, s) {
1062
- nr(e5, r), s = this.locInfo(s);
889
+ function bs(e5, t, r, s) {
890
+ je(e5, r), s = this.locInfo(s);
1063
891
  var n = { type: "Program", body: t, strip: {}, loc: s };
1064
892
  return { type: "BlockStatement", path: e5.path, params: e5.params, hash: e5.hash, program: n, openStrip: {}, inverseStrip: {}, closeStrip: {}, loc: s };
1065
893
  }
1066
- function Mn(e5, t, r, s, n, i) {
1067
- s && s.path && nr(e5, s);
894
+ function ys(e5, t, r, s, n, i) {
895
+ s && s.path && je(e5, s);
1068
896
  var a = /\*/.test(e5.open);
1069
897
  t.blockParams = e5.blockParams;
1070
898
  var o, c;
1071
899
  if (r) {
1072
- if (a) throw new ot("Unexpected inverse block on decorator", r);
900
+ if (a) throw new tt("Unexpected inverse block on decorator", r);
1073
901
  r.chain && (r.program.body[0].closeStrip = s.strip), c = r.strip, o = r.program;
1074
902
  }
1075
903
  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) };
1076
904
  }
1077
- function zn(e5, t) {
905
+ function Ss(e5, t) {
1078
906
  if (!t && e5.length) {
1079
907
  var r = e5[0].loc, s = e5[e5.length - 1].loc;
1080
908
  r && s && (t = { source: r.source, start: { line: r.start.line, column: r.start.column }, end: { line: s.end.line, column: s.end.column } });
1081
909
  }
1082
910
  return { type: "Program", body: e5, strip: {}, loc: t };
1083
911
  }
1084
- function Yn(e5, t, r, s) {
1085
- return nr(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) };
912
+ function ks(e5, t, r, s) {
913
+ 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) };
1086
914
  }
1087
- var ks = {};
1088
- for (we in ne) Object.prototype.hasOwnProperty.call(ne, we) && (ks[we] = ne[we]);
1089
- var we;
1090
- function Te(e5, t) {
915
+ var Qr = {};
916
+ for (ue in Ft) Object.prototype.hasOwnProperty.call(Ft, ue) && (Qr[ue] = Ft[ue]);
917
+ var ue;
918
+ function he(e5, t) {
919
+ var r, s, n;
1091
920
  if (e5.type === "Program") return e5;
1092
- Se.yy = ks, Se.yy.locInfo = function(s) {
1093
- return new ir(t && t.srcName, s);
921
+ Vt.yy = Qr, Vt.yy.locInfo = function(o) {
922
+ return new Qe(t && t.srcName, o);
1094
923
  };
1095
- var r = Se.parse(e5);
1096
- return r;
924
+ var i;
925
+ 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";
926
+ var a;
927
+ 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);
1097
928
  }
1098
- function ar(e5, t) {
1099
- var r = Te(e5, t), s = new ys(t);
929
+ function Es(e5, t) {
930
+ return { type: "ArrayLiteral", items: e5, loc: t };
931
+ }
932
+ function vs(e5, t) {
933
+ return { type: "HashLiteral", pairs: e5.pairs, loc: t };
934
+ }
935
+ function Je(e5, t) {
936
+ var r = he(e5, t), s = new jr(t);
1100
937
  return s.accept(r);
1101
938
  }
1102
- var Es = { 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: `
1103
- `, 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" }, Gn = /^#[xX]([A-Fa-f0-9]+)$/, Kn = /^#([0-9]+)$/, Wn = /^([A-Za-z0-9]+)$/, or = (function() {
939
+ var $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: `
940
+ `, 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" };
941
+ var ws = /^#[xX]([A-Fa-f0-9]+)$/;
942
+ var Ts = /^#([0-9]+)$/;
943
+ var xs = /^([A-Za-z0-9]+)$/;
944
+ var $e = (function() {
1104
945
  function e5(t) {
1105
946
  this.named = t;
1106
947
  }
1107
948
  return e5.prototype.parse = function(t) {
1108
949
  if (t) {
1109
- var r = t.match(Gn);
950
+ var r = t.match(ws);
1110
951
  if (r) return String.fromCharCode(parseInt(r[1], 16));
1111
- if (r = t.match(Kn), r) return String.fromCharCode(parseInt(r[1], 10));
1112
- if (r = t.match(Wn), r) return this.named[r[1]];
952
+ if (r = t.match(Ts), r) return String.fromCharCode(parseInt(r[1], 10));
953
+ if (r = t.match(xs), r) return this.named[r[1]];
1113
954
  }
1114
955
  }, e5;
1115
- })(), jn = /[\t\n\f ]/, Qn = /[A-Za-z]/, Jn = /\r\n?/g;
956
+ })();
957
+ var Ns = /[\t\n\f ]/;
958
+ var As = /[A-Za-z]/;
959
+ var Ps = /\r\n?/g;
1116
960
  function _(e5) {
1117
- return jn.test(e5);
961
+ return Ns.test(e5);
1118
962
  }
1119
- function Ss(e5) {
1120
- return Qn.test(e5);
963
+ function Jr(e5) {
964
+ return As.test(e5);
1121
965
  }
1122
- function $n(e5) {
1123
- return e5.replace(Jn, `
966
+ function Cs(e5) {
967
+ return e5.replace(Ps, `
1124
968
  `);
1125
969
  }
1126
- var lr = (function() {
970
+ var Xe = (function() {
1127
971
  function e5(t, r, s) {
1128
972
  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() {
1129
973
  var n = this.peek();
@@ -1141,7 +985,7 @@ var lr = (function() {
1141
985
  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));
1142
986
  }, tagOpen: function() {
1143
987
  var n = this.consume();
1144
- n === "!" ? this.transitionTo("markupDeclarationOpen") : n === "/" ? this.transitionTo("endTagOpen") : (n === "@" || n === ":" || Ss(n)) && (this.transitionTo("tagName"), this.tagNameBuffer = "", this.delegate.beginStartTag(), this.appendToTagName(n));
988
+ n === "!" ? this.transitionTo("markupDeclarationOpen") : n === "/" ? this.transitionTo("endTagOpen") : (n === "@" || n === ":" || Jr(n)) && (this.transitionTo("tagName"), this.tagNameBuffer = "", this.delegate.beginStartTag(), this.appendToTagName(n));
1145
989
  }, markupDeclarationOpen: function() {
1146
990
  var n = this.consume();
1147
991
  if (n === "-" && this.peek() === "-") this.consume(), this.transitionTo("commentStart"), this.delegate.beginComment();
@@ -1245,7 +1089,7 @@ var lr = (function() {
1245
1089
  n === ">" ? (this.consume(), this.delegate.markTagAsSelfClosing(), this.delegate.finishTag(), this.transitionTo("beforeData")) : this.transitionTo("beforeAttributeName");
1246
1090
  }, endTagOpen: function() {
1247
1091
  var n = this.consume();
1248
- (n === "@" || n === ":" || Ss(n)) && (this.transitionTo("endTagName"), this.tagNameBuffer = "", this.delegate.beginEndTag(), this.appendToTagName(n));
1092
+ (n === "@" || n === ":" || Jr(n)) && (this.transitionTo("endTagName"), this.tagNameBuffer = "", this.delegate.beginEndTag(), this.appendToTagName(n));
1249
1093
  } }, this.reset();
1250
1094
  }
1251
1095
  return e5.prototype.reset = function() {
@@ -1255,7 +1099,7 @@ var lr = (function() {
1255
1099
  }, e5.prototype.tokenize = function(t) {
1256
1100
  this.reset(), this.tokenizePart(t), this.tokenizeEOF();
1257
1101
  }, e5.prototype.tokenizePart = function(t) {
1258
- for (this.input += $n(t); this.index < this.input.length; ) {
1102
+ for (this.input += Cs(t); this.index < this.input.length; ) {
1259
1103
  var r = this.states[this.state];
1260
1104
  if (r !== void 0) r.call(this);
1261
1105
  else throw new Error("unhandled state " + this.state);
@@ -1285,35 +1129,128 @@ var lr = (function() {
1285
1129
  this.tagNameBuffer += t, this.delegate.appendToTagName(t);
1286
1130
  }, e5.prototype.isIgnoredEndTag = function() {
1287
1131
  var t = this.tagNameBuffer;
1288
- 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>";
1132
+ 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>";
1133
+ }, e5;
1134
+ })();
1135
+ var uo = (function() {
1136
+ function e5(t, r) {
1137
+ 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;
1138
+ }
1139
+ return e5.prototype.tokenize = function(t) {
1140
+ return this.tokens = [], this.tokenizer.tokenize(t), this.tokens;
1141
+ }, e5.prototype.tokenizePart = function(t) {
1142
+ return this.tokens = [], this.tokenizer.tokenizePart(t), this.tokens;
1143
+ }, e5.prototype.tokenizeEOF = function() {
1144
+ return this.tokens = [], this.tokenizer.tokenizeEOF(), this.tokens[0];
1145
+ }, e5.prototype.reset = function() {
1146
+ this.token = null, this.startLine = 1, this.startColumn = 0;
1147
+ }, e5.prototype.current = function() {
1148
+ var t = this.token;
1149
+ if (t === null) throw new Error("token was unexpectedly null");
1150
+ if (arguments.length === 0) return t;
1151
+ for (var r = 0; r < arguments.length; r++) if (t.type === arguments[r]) return t;
1152
+ throw new Error("token type was unexpectedly " + t.type);
1153
+ }, e5.prototype.push = function(t) {
1154
+ this.token = t, this.tokens.push(t);
1155
+ }, e5.prototype.currentAttribute = function() {
1156
+ return this._currentAttribute;
1157
+ }, e5.prototype.addLocInfo = function() {
1158
+ 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;
1159
+ }, e5.prototype.beginDoctype = function() {
1160
+ this.push({ type: "Doctype", name: "" });
1161
+ }, e5.prototype.appendToDoctypeName = function(t) {
1162
+ this.current("Doctype").name += t;
1163
+ }, e5.prototype.appendToDoctypePublicIdentifier = function(t) {
1164
+ var r = this.current("Doctype");
1165
+ r.publicIdentifier === void 0 ? r.publicIdentifier = t : r.publicIdentifier += t;
1166
+ }, e5.prototype.appendToDoctypeSystemIdentifier = function(t) {
1167
+ var r = this.current("Doctype");
1168
+ r.systemIdentifier === void 0 ? r.systemIdentifier = t : r.systemIdentifier += t;
1169
+ }, e5.prototype.endDoctype = function() {
1170
+ this.addLocInfo();
1171
+ }, e5.prototype.beginData = function() {
1172
+ this.push({ type: "Chars", chars: "" });
1173
+ }, e5.prototype.appendToData = function(t) {
1174
+ this.current("Chars").chars += t;
1175
+ }, e5.prototype.finishData = function() {
1176
+ this.addLocInfo();
1177
+ }, e5.prototype.beginComment = function() {
1178
+ this.push({ type: "Comment", chars: "" });
1179
+ }, e5.prototype.appendToCommentData = function(t) {
1180
+ this.current("Comment").chars += t;
1181
+ }, e5.prototype.finishComment = function() {
1182
+ this.addLocInfo();
1183
+ }, e5.prototype.tagOpen = function() {
1184
+ }, e5.prototype.beginStartTag = function() {
1185
+ this.push({ type: "StartTag", tagName: "", attributes: [], selfClosing: false });
1186
+ }, e5.prototype.beginEndTag = function() {
1187
+ this.push({ type: "EndTag", tagName: "" });
1188
+ }, e5.prototype.finishTag = function() {
1189
+ this.addLocInfo();
1190
+ }, e5.prototype.markTagAsSelfClosing = function() {
1191
+ this.current("StartTag").selfClosing = true;
1192
+ }, e5.prototype.appendToTagName = function(t) {
1193
+ this.current("StartTag", "EndTag").tagName += t;
1194
+ }, e5.prototype.beginAttribute = function() {
1195
+ this._currentAttribute = ["", "", false];
1196
+ }, e5.prototype.appendToAttributeName = function(t) {
1197
+ this.currentAttribute()[0] += t;
1198
+ }, e5.prototype.beginAttributeValue = function(t) {
1199
+ this.currentAttribute()[2] = t;
1200
+ }, e5.prototype.appendToAttributeValue = function(t) {
1201
+ this.currentAttribute()[1] += t;
1202
+ }, e5.prototype.finishAttributeValue = function() {
1203
+ this.current("StartTag").attributes.push(this._currentAttribute);
1204
+ }, e5.prototype.reportSyntaxError = function(t) {
1205
+ this.current().syntaxError = t;
1289
1206
  }, e5;
1290
1207
  })();
1291
- var mr = /* @__PURE__ */ new Set(["area", "base", "br", "col", "command", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr"]);
1292
- function ei(e5) {
1293
- var t;
1294
- return mr.has(e5.toLowerCase()) && ((t = e5[0]) == null ? void 0 : t.toLowerCase()) === e5[0];
1208
+ var 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 };
1209
+ function Xr(e5) {
1210
+ return function(t) {
1211
+ return Array.isArray(t) && t[0] === e5;
1212
+ };
1295
1213
  }
1296
- function ce(e5) {
1214
+ var po = Xr(pe.FlushElement);
1215
+ var fo = Xr(pe.GetSymbol);
1216
+ var _s = false;
1217
+ var Ls = /["\x26\xa0]/u;
1218
+ var vo = new RegExp(Ls.source, "gu");
1219
+ var Ds = /[&<>\xa0]/u;
1220
+ var wo = new RegExp(Ds.source, "gu");
1221
+ var de = /* @__PURE__ */ new Set(["area", "base", "br", "col", "command", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr"]);
1222
+ function on() {
1223
+ return [...de];
1224
+ }
1225
+ function Os(e5) {
1226
+ return de.has(e5.toLowerCase()) && e5[0]?.toLowerCase() === e5[0];
1227
+ }
1228
+ function Yt(e5) {
1297
1229
  return !!e5 && e5.length > 0;
1298
1230
  }
1299
- function Tr(e5) {
1231
+ function fr(e5) {
1300
1232
  return e5.length === 0 ? void 0 : e5[e5.length - 1];
1301
1233
  }
1302
- function ri(e5) {
1234
+ function Is(e5) {
1303
1235
  return e5.length === 0 ? void 0 : e5[0];
1304
1236
  }
1305
- var pt = Object.freeze({ line: 1, column: 0 }), si = Object.freeze({ source: "(synthetic)", start: pt, end: pt }), dr = Object.freeze({ source: "(nonexistent)", start: pt, end: pt }), ht = Object.freeze({ source: "(broken)", start: pt, end: pt }), gr = class {
1237
+ var st = Object.freeze({ line: 1, column: 0 });
1238
+ var Bs = Object.freeze({ source: "(synthetic)", start: st, end: st });
1239
+ var sr = Object.freeze({ source: "(nonexistent)", start: st, end: st });
1240
+ var nt = Object.freeze({ source: "(broken)", start: st, end: st });
1241
+ var ir = class {
1306
1242
  constructor(t) {
1307
1243
  this._whens = t;
1308
1244
  }
1309
1245
  first(t) {
1310
1246
  for (let r of this._whens) {
1311
1247
  let s = r.match(t);
1312
- if (ce(s)) return s[0];
1248
+ if (Yt(s)) return s[0];
1313
1249
  }
1314
1250
  return null;
1315
1251
  }
1316
- }, Pe = class {
1252
+ };
1253
+ var ge = class {
1317
1254
  get(t, r) {
1318
1255
  let s = this._map.get(t);
1319
1256
  return s || (s = r(), this._map.set(t, s), s);
@@ -1338,30 +1275,31 @@ var pt = Object.freeze({ line: 1, column: 0 }), si = Object.freeze({ source: "(s
1338
1275
  this._map = /* @__PURE__ */ new Map();
1339
1276
  }
1340
1277
  };
1341
- function Ls(e5) {
1342
- return e5(new br()).validate();
1278
+ function ln(e5) {
1279
+ return e5(new ar()).validate();
1343
1280
  }
1344
- var br = class {
1281
+ var ar = class {
1345
1282
  validate() {
1346
1283
  return (t, r) => this.matchFor(t.kind, r.kind)(t, r);
1347
1284
  }
1348
1285
  matchFor(t, r) {
1349
1286
  let s = this._whens.match(t);
1350
- return ce(s), new gr(s).first(r);
1287
+ return Yt(s), new ir(s).first(r);
1351
1288
  }
1352
1289
  when(t, r, s) {
1353
- return this._whens.get(t, () => new Pe()).add(r, s), this;
1290
+ return this._whens.get(t, (() => new ge())).add(r, s), this;
1354
1291
  }
1355
1292
  constructor() {
1356
- this._whens = new Pe();
1293
+ this._whens = new ge();
1357
1294
  }
1358
- }, yr = class e {
1295
+ };
1296
+ var or = class e {
1359
1297
  static synthetic(t) {
1360
- let r = D.synthetic(t);
1298
+ let r = A.synthetic(t);
1361
1299
  return new e({ loc: r, chars: t });
1362
1300
  }
1363
1301
  static load(t, r) {
1364
- return new e({ loc: D.load(t, r[1]), chars: r[0] });
1302
+ return new e({ loc: A.load(t, r[1]), chars: r[0] });
1365
1303
  }
1366
1304
  constructor(t) {
1367
1305
  this.loc = t.loc, this.chars = t.chars;
@@ -1372,26 +1310,27 @@ var br = class {
1372
1310
  serialize() {
1373
1311
  return [this.chars, this.loc.serialize()];
1374
1312
  }
1375
- }, D = class e2 {
1313
+ };
1314
+ var A = class e2 {
1376
1315
  static get NON_EXISTENT() {
1377
- return new et("NonExistent", dr).wrap();
1316
+ return new J("NonExistent", sr).wrap();
1378
1317
  }
1379
1318
  static load(t, r) {
1380
- 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(ht) : void ms(r);
1319
+ 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);
1381
1320
  }
1382
1321
  static forHbsLoc(t, r) {
1383
- let s = new mt(t, r.start), n = new mt(t, r.end);
1384
- return new oe(t, { start: s, end: n }, r).wrap();
1322
+ let s = new at(t, r.start), n = new at(t, r.end);
1323
+ return new Mt(t, { start: s, end: n }, r).wrap();
1385
1324
  }
1386
1325
  static forCharPositions(t, r, s) {
1387
- let n = new Tt(t, r), i = new Tt(t, s);
1388
- return new ae(t, { start: n, end: i }).wrap();
1326
+ let n = new ft(t, r), i = new ft(t, s);
1327
+ return new Ut(t, { start: n, end: i }).wrap();
1389
1328
  }
1390
1329
  static synthetic(t) {
1391
- return new et("InternalsSynthetic", dr, t).wrap();
1330
+ return new J("InternalsSynthetic", sr, t).wrap();
1392
1331
  }
1393
- static broken(t = ht) {
1394
- return new et("Broken", t).wrap();
1332
+ static broken(t = nt) {
1333
+ return new J("Broken", t).wrap();
1395
1334
  }
1396
1335
  constructor(t) {
1397
1336
  var r;
@@ -1405,7 +1344,7 @@ var br = class {
1405
1344
  }
1406
1345
  get loc() {
1407
1346
  let t = this.data.toHbsSpan();
1408
- return t === null ? ht : t.toHbsLoc();
1347
+ return t === null ? nt : t.toHbsLoc();
1409
1348
  }
1410
1349
  get module() {
1411
1350
  return this.data.getModule();
@@ -1420,17 +1359,17 @@ var br = class {
1420
1359
  return this.loc;
1421
1360
  }
1422
1361
  withStart(t) {
1423
- return J(t.data, this.data.getEnd());
1362
+ return K(t.data, this.data.getEnd());
1424
1363
  }
1425
1364
  withEnd(t) {
1426
- return J(this.data.getStart(), t.data);
1365
+ return K(this.data.getStart(), t.data);
1427
1366
  }
1428
1367
  asString() {
1429
1368
  return this.data.asString();
1430
1369
  }
1431
1370
  toSlice(t) {
1432
1371
  let r = this.data.asString();
1433
- return JSON.stringify(r), JSON.stringify(t), new yr({ loc: this, chars: t || r });
1372
+ return JSON.stringify(r), JSON.stringify(t), new or({ loc: this, chars: t || r });
1434
1373
  }
1435
1374
  get start() {
1436
1375
  return this.loc.start;
@@ -1456,27 +1395,28 @@ var br = class {
1456
1395
  }
1457
1396
  }
1458
1397
  extend(t) {
1459
- return J(this.data.getStart(), t.data.getEnd());
1398
+ return K(this.data.getStart(), t.data.getEnd());
1460
1399
  }
1461
1400
  serialize() {
1462
1401
  return this.data.serialize();
1463
1402
  }
1464
1403
  slice({ skipStart: t = 0, skipEnd: r = 0 }) {
1465
- return J(this.getStart().move(t).data, this.getEnd().move(-r).data);
1404
+ return K(this.getStart().move(t).data, this.getEnd().move(-r).data);
1466
1405
  }
1467
1406
  sliceStartChars({ skipStart: t = 0, chars: r }) {
1468
- return J(this.getStart().move(t).data, this.getStart().move(t + r).data);
1407
+ return K(this.getStart().move(t).data, this.getStart().move(t + r).data);
1469
1408
  }
1470
1409
  sliceEndChars({ skipEnd: t = 0, chars: r }) {
1471
- return J(this.getEnd().move(t - r).data, this.getStart().move(-t).data);
1410
+ return K(this.getEnd().move(t - r).data, this.getStart().move(-t).data);
1472
1411
  }
1473
- }, Ut, ae = class {
1412
+ };
1413
+ var Ut = class {
1414
+ #t;
1474
1415
  constructor(t, r) {
1475
- Lt(this, Ut);
1476
- this.source = t, this.charPositions = r, this.kind = "CharPosition", Y(this, Ut, null);
1416
+ this.source = t, this.charPositions = r, this.kind = "CharPosition", this.#t = null;
1477
1417
  }
1478
1418
  wrap() {
1479
- return new D(this);
1419
+ return new A(this);
1480
1420
  }
1481
1421
  asString() {
1482
1422
  return this.source.slice(this.charPositions.start.charPos, this.charPositions.end.charPos);
@@ -1493,12 +1433,12 @@ var br = class {
1493
1433
  locDidUpdate() {
1494
1434
  }
1495
1435
  toHbsSpan() {
1496
- let t = I(this, Ut);
1436
+ let t = this.#t;
1497
1437
  if (t === null) {
1498
1438
  let r = this.charPositions.start.toHbsPos(), s = this.charPositions.end.toHbsPos();
1499
- t = Y(this, Ut, r === null || s === null ? ft : new oe(this.source, { start: r, end: s }));
1439
+ t = this.#t = r === null || s === null ? it : new Mt(this.source, { start: r, end: s });
1500
1440
  }
1501
- return t === ft ? null : t;
1441
+ return t === it ? null : t;
1502
1442
  }
1503
1443
  serialize() {
1504
1444
  let { start: { charPos: t }, end: { charPos: r } } = this.charPositions;
@@ -1508,25 +1448,24 @@ var br = class {
1508
1448
  return this;
1509
1449
  }
1510
1450
  };
1511
- Ut = /* @__PURE__ */ new WeakMap();
1512
- var ut, vt, oe = class {
1451
+ var Mt = class {
1452
+ #t;
1453
+ #e;
1513
1454
  constructor(t, r, s = null) {
1514
- Lt(this, ut);
1515
- Lt(this, vt);
1516
- this.source = t, this.hbsPositions = r, this.kind = "HbsPosition", Y(this, ut, null), Y(this, vt, s);
1455
+ this.source = t, this.hbsPositions = r, this.kind = "HbsPosition", this.#t = null, this.#e = s;
1517
1456
  }
1518
1457
  serialize() {
1519
1458
  let t = this.toCharPosSpan();
1520
1459
  return t === null ? "Broken" : t.wrap().serialize();
1521
1460
  }
1522
1461
  wrap() {
1523
- return new D(this);
1462
+ return new A(this);
1524
1463
  }
1525
1464
  updateProvided(t, r) {
1526
- I(this, vt) && (I(this, vt)[r] = t), Y(this, ut, null), Y(this, vt, { start: t, end: t });
1465
+ this.#e && (this.#e[r] = t), this.#t = null, this.#e = { start: t, end: t };
1527
1466
  }
1528
1467
  locDidUpdate({ start: t, end: r }) {
1529
- t !== void 0 && (this.updateProvided(t, "start"), this.hbsPositions.start = new mt(this.source, t, null)), r !== void 0 && (this.updateProvided(r, "end"), this.hbsPositions.end = new mt(this.source, r, null));
1468
+ 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));
1530
1469
  }
1531
1470
  asString() {
1532
1471
  let t = this.toCharPosSpan();
@@ -1548,17 +1487,16 @@ var ut, vt, oe = class {
1548
1487
  return this;
1549
1488
  }
1550
1489
  toCharPosSpan() {
1551
- let t = I(this, ut);
1490
+ let t = this.#t;
1552
1491
  if (t === null) {
1553
1492
  let r = this.hbsPositions.start.toCharPos(), s = this.hbsPositions.end.toCharPos();
1554
- if (!r || !s) return t = Y(this, ut, ft), null;
1555
- t = Y(this, ut, new ae(this.source, { start: r, end: s }));
1493
+ if (!r || !s) return t = this.#t = it, null;
1494
+ t = this.#t = new Ut(this.source, { start: r, end: s });
1556
1495
  }
1557
- return t === ft ? null : t;
1496
+ return t === it ? null : t;
1558
1497
  }
1559
1498
  };
1560
- ut = /* @__PURE__ */ new WeakMap(), vt = /* @__PURE__ */ new WeakMap();
1561
- var et = class {
1499
+ var J = class {
1562
1500
  constructor(t, r, s = null) {
1563
1501
  this.kind = t, this.loc = r, this.string = s;
1564
1502
  }
@@ -1572,7 +1510,7 @@ var et = class {
1572
1510
  }
1573
1511
  }
1574
1512
  wrap() {
1575
- return new D(this);
1513
+ return new A(this);
1576
1514
  }
1577
1515
  asString() {
1578
1516
  return this.string || "";
@@ -1584,10 +1522,10 @@ var et = class {
1584
1522
  return "an unknown module";
1585
1523
  }
1586
1524
  getStart() {
1587
- return new le(this.kind, this.loc.start);
1525
+ return new zt(this.kind, this.loc.start);
1588
1526
  }
1589
1527
  getEnd() {
1590
- return new le(this.kind, this.loc.end);
1528
+ return new zt(this.kind, this.loc.end);
1591
1529
  }
1592
1530
  toCharPosSpan() {
1593
1531
  return this;
@@ -1596,20 +1534,23 @@ var et = class {
1596
1534
  return null;
1597
1535
  }
1598
1536
  toHbsLoc() {
1599
- return ht;
1537
+ return nt;
1600
1538
  }
1601
- }, J = Ls((e5) => e5.when("HbsPosition", "HbsPosition", (t, r) => new oe(t.source, { start: t, end: r }).wrap()).when("CharPosition", "CharPosition", (t, r) => new ae(t.source, { start: t, end: r }).wrap()).when("CharPosition", "HbsPosition", (t, r) => {
1539
+ };
1540
+ var 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) => {
1602
1541
  let s = r.toCharPos();
1603
- return s === null ? new et("Broken", ht).wrap() : J(t, s);
1604
- }).when("HbsPosition", "CharPosition", (t, r) => {
1542
+ return s === null ? new J("Broken", nt).wrap() : K(t, s);
1543
+ })).when("HbsPosition", "CharPosition", ((t, r) => {
1605
1544
  let s = t.toCharPos();
1606
- return s === null ? new et("Broken", ht).wrap() : J(s, r);
1607
- }).when("IS_INVISIBLE", "MATCH_ANY", (t) => new et(t.kind, ht).wrap()).when("MATCH_ANY", "IS_INVISIBLE", (t, r) => new et(r.kind, ht).wrap())), ft = "BROKEN", Mt = class e3 {
1545
+ return s === null ? new J("Broken", nt).wrap() : K(s, r);
1546
+ })).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()))));
1547
+ var it = "BROKEN";
1548
+ var Pt = class e3 {
1608
1549
  static forHbsPos(t, r) {
1609
- return new mt(t, r, null).wrap();
1550
+ return new at(t, r, null).wrap();
1610
1551
  }
1611
- static broken(t = pt) {
1612
- return new le("Broken", t).wrap();
1552
+ static broken(t = st) {
1553
+ return new zt("Broken", t).wrap();
1613
1554
  }
1614
1555
  constructor(t) {
1615
1556
  this.data = t;
@@ -1619,26 +1560,27 @@ var et = class {
1619
1560
  return t === null ? null : t.offset;
1620
1561
  }
1621
1562
  eql(t) {
1622
- return ni(this.data, t.data);
1563
+ return Rs(this.data, t.data);
1623
1564
  }
1624
1565
  until(t) {
1625
- return J(this.data, t.data);
1566
+ return K(this.data, t.data);
1626
1567
  }
1627
1568
  move(t) {
1628
1569
  let r = this.data.toCharPos();
1629
1570
  if (r === null) return e3.broken();
1630
1571
  {
1631
1572
  let s = r.offset + t;
1632
- return r.source.validate(s) ? new Tt(r.source, s).wrap() : e3.broken();
1573
+ return r.source.validate(s) ? new ft(r.source, s).wrap() : e3.broken();
1633
1574
  }
1634
1575
  }
1635
1576
  collapsed() {
1636
- return J(this.data, this.data);
1577
+ return K(this.data, this.data);
1637
1578
  }
1638
1579
  toJSON() {
1639
1580
  return this.data.toJSON();
1640
1581
  }
1641
- }, Tt = class {
1582
+ };
1583
+ var ft = class {
1642
1584
  constructor(t, r) {
1643
1585
  this.source = t, this.charPos = r, this.kind = "CharPosition", this._locPos = null;
1644
1586
  }
@@ -1647,10 +1589,10 @@ var et = class {
1647
1589
  }
1648
1590
  toJSON() {
1649
1591
  let t = this.toHbsPos();
1650
- return t === null ? pt : t.toJSON();
1592
+ return t === null ? st : t.toJSON();
1651
1593
  }
1652
1594
  wrap() {
1653
- return new Mt(this);
1595
+ return new Pt(this);
1654
1596
  }
1655
1597
  get offset() {
1656
1598
  return this.charPos;
@@ -1659,32 +1601,34 @@ var et = class {
1659
1601
  let t = this._locPos;
1660
1602
  if (t === null) {
1661
1603
  let r = this.source.hbsPosFor(this.charPos);
1662
- this._locPos = t = r === null ? ft : new mt(this.source, r, this.charPos);
1604
+ this._locPos = t = r === null ? it : new at(this.source, r, this.charPos);
1663
1605
  }
1664
- return t === ft ? null : t;
1606
+ return t === it ? null : t;
1665
1607
  }
1666
- }, mt = class {
1608
+ };
1609
+ var at = class {
1667
1610
  constructor(t, r, s = null) {
1668
- this.source = t, this.hbsPos = r, this.kind = "HbsPosition", this._charPos = s === null ? null : new Tt(t, s);
1611
+ this.source = t, this.hbsPos = r, this.kind = "HbsPosition", this._charPos = s === null ? null : new ft(t, s);
1669
1612
  }
1670
1613
  toCharPos() {
1671
1614
  let t = this._charPos;
1672
1615
  if (t === null) {
1673
1616
  let r = this.source.charPosFor(this.hbsPos);
1674
- this._charPos = t = r === null ? ft : new Tt(this.source, r);
1617
+ this._charPos = t = r === null ? it : new ft(this.source, r);
1675
1618
  }
1676
- return t === ft ? null : t;
1619
+ return t === it ? null : t;
1677
1620
  }
1678
1621
  toJSON() {
1679
1622
  return this.hbsPos;
1680
1623
  }
1681
1624
  wrap() {
1682
- return new Mt(this);
1625
+ return new Pt(this);
1683
1626
  }
1684
1627
  toHbsPos() {
1685
1628
  return this;
1686
1629
  }
1687
- }, le = class {
1630
+ };
1631
+ var zt = class {
1688
1632
  constructor(t, r) {
1689
1633
  this.kind = t, this.pos = r;
1690
1634
  }
@@ -1695,21 +1639,16 @@ var et = class {
1695
1639
  return this.pos;
1696
1640
  }
1697
1641
  wrap() {
1698
- return new Mt(this);
1642
+ return new Pt(this);
1699
1643
  }
1700
1644
  get offset() {
1701
1645
  return null;
1702
1646
  }
1703
- }, ni = Ls((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) => {
1704
- var s;
1705
- return t === ((s = r.toCharPos()) == null ? void 0 : s.offset);
1706
- }).when("HbsPosition", "CharPosition", (t, { offset: r }) => {
1707
- var s;
1708
- return ((s = t.toCharPos()) == null ? void 0 : s.offset) === r;
1709
- }).when("MATCH_ANY", "MATCH_ANY", () => false)), wt = class e4 {
1647
+ };
1648
+ var 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", (() => false))));
1649
+ var pt = class e4 {
1710
1650
  static from(t, r = {}) {
1711
- var s;
1712
- return new e4(t, (s = r.meta) == null ? void 0 : s.moduleName);
1651
+ return new e4(t, r.meta?.moduleName);
1713
1652
  }
1714
1653
  constructor(t, r = "an unknown module") {
1715
1654
  this.source = t, this.module = r;
@@ -1721,10 +1660,10 @@ var et = class {
1721
1660
  return this.source.slice(t, r);
1722
1661
  }
1723
1662
  offsetFor(t, r) {
1724
- return Mt.forHbsPos(this, { line: t, column: r });
1663
+ return Pt.forHbsPos(this, { line: t, column: r });
1725
1664
  }
1726
1665
  spanFor({ start: t, end: r }) {
1727
- return D.forHbsLoc(this, { start: { line: t.line, column: t.column }, end: { line: r.line, column: r.column } });
1666
+ return A.forHbsLoc(this, { start: { line: t.line, column: t.column }, end: { line: r.line, column: r.column } });
1728
1667
  }
1729
1668
  hbsPosFor(t) {
1730
1669
  let r = 0, s = 0;
@@ -1743,6 +1682,10 @@ var et = class {
1743
1682
  `, a);
1744
1683
  if (o === -1 && (o = this.source.length), i === r - 1) {
1745
1684
  if (a + s > o) return o;
1685
+ if (_s) {
1686
+ let c = this.hbsPosFor(a + s);
1687
+ c.line, c.column;
1688
+ }
1746
1689
  return a + s;
1747
1690
  }
1748
1691
  if (o === -1) return 0;
@@ -1751,7 +1694,7 @@ var et = class {
1751
1694
  return n;
1752
1695
  }
1753
1696
  };
1754
- function E(e5, t) {
1697
+ function k(e5, t) {
1755
1698
  let { module: r, loc: s } = t, { line: n, column: i } = s.start, a = t.asString(), o = a ? `
1756
1699
 
1757
1700
  |
@@ -1763,23 +1706,24 @@ function E(e5, t) {
1763
1706
  ` : "", c = new Error(`${e5}: ${o}(error occurred in '${r}' @ line ${n} : column ${i})`);
1764
1707
  return c.name = "SyntaxError", c.location = t, c.code = a, c;
1765
1708
  }
1766
- var ii = { 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"] }, Nr = (function() {
1709
+ var 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"] };
1710
+ var mr = (function() {
1767
1711
  function e5(t, r, s, n) {
1768
1712
  let i = Error.call(this, t);
1769
1713
  this.key = n, this.message = t, this.node = r, this.parent = s, i.stack && (this.stack = i.stack);
1770
1714
  }
1771
1715
  return e5.prototype = Object.create(Error.prototype), e5.prototype.constructor = e5, e5;
1772
1716
  })();
1773
- function ws(e5, t, r) {
1774
- return new Nr("Cannot remove a node unless it is part of an array", e5, t, r);
1717
+ function Zr(e5, t, r) {
1718
+ return new mr("Cannot remove a node unless it is part of an array", e5, t, r);
1775
1719
  }
1776
- function ai(e5, t, r) {
1777
- return new Nr("Cannot replace a node with multiple nodes unless it is part of an array", e5, t, r);
1720
+ function qs(e5, t, r) {
1721
+ return new mr("Cannot replace a node with multiple nodes unless it is part of an array", e5, t, r);
1778
1722
  }
1779
- function Ts(e5, t) {
1780
- return new Nr("Replacing and removing in key handlers is not yet supported.", e5, null, t);
1723
+ function tn(e5, t) {
1724
+ return new mr("Replacing and removing in key handlers is not yet supported.", e5, null, t);
1781
1725
  }
1782
- var zt = class {
1726
+ var Ct = class {
1783
1727
  constructor(t, r = null, s = null) {
1784
1728
  this.node = t, this.parent = r, this.parentKey = s;
1785
1729
  }
@@ -1787,9 +1731,10 @@ var zt = class {
1787
1731
  return this.parent ? this.parent.node : null;
1788
1732
  }
1789
1733
  parents() {
1790
- return { [Symbol.iterator]: () => new kr(this) };
1734
+ return { [Symbol.iterator]: () => new lr(this) };
1791
1735
  }
1792
- }, kr = class {
1736
+ };
1737
+ var lr = class {
1793
1738
  constructor(t) {
1794
1739
  this.path = t;
1795
1740
  }
@@ -1797,74 +1742,74 @@ var zt = class {
1797
1742
  return this.path.parent ? (this.path = this.path.parent, { done: false, value: this.path }) : { done: true, value: null };
1798
1743
  }
1799
1744
  };
1800
- function Ds(e5) {
1745
+ function cn(e5) {
1801
1746
  return typeof e5 == "function" ? e5 : e5.enter;
1802
1747
  }
1803
- function _s(e5) {
1748
+ function un(e5) {
1804
1749
  return typeof e5 == "function" ? void 0 : e5.exit;
1805
1750
  }
1806
- function Ae(e5, t) {
1807
- let r, s, n, { node: i, parent: a, parentKey: o } = t, c = (function(h, p) {
1808
- if (h.Program && (p === "Template" && !h.Template || p === "Block" && !h.Block)) return h.Program;
1809
- let m = h[p];
1810
- return m !== void 0 ? m : h.All;
1751
+ function ye(e5, t) {
1752
+ let r, s, n, { node: i, parent: a, parentKey: o } = t, c = (function(h, f) {
1753
+ if (h.Program && (f === "Template" && !h.Template || f === "Block" && !h.Block)) return h.Program;
1754
+ let p = h[f];
1755
+ return p !== void 0 ? p : h.All;
1811
1756
  })(e5, i.type);
1812
- if (c !== void 0 && (r = Ds(c), s = _s(c)), r !== void 0 && (n = r(i, t)), n != null) {
1813
- if (JSON.stringify(i) !== JSON.stringify(n)) return Array.isArray(n) ? (Os(e5, n, a, o), n) : Ae(e5, new zt(n, a, o)) || n;
1757
+ if (c !== void 0 && (r = cn(c), s = un(c)), r !== void 0 && (n = r(i, t)), n != null) {
1758
+ 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;
1814
1759
  n = void 0;
1815
1760
  }
1816
1761
  if (n === void 0) {
1817
- let h = ii[i.type];
1818
- for (let p = 0; p < h.length; p++) oi(e5, c, t, h[p]);
1762
+ let h = be[i.type];
1763
+ for (let f = 0; f < h.length; f++) Vs(e5, c, t, h[f]);
1819
1764
  s !== void 0 && (n = s(i, t));
1820
1765
  }
1821
1766
  return n;
1822
1767
  }
1823
- function Ns(e5, t, r) {
1768
+ function en(e5, t, r) {
1824
1769
  e5[t] = r;
1825
1770
  }
1826
- function oi(e5, t, r, s) {
1771
+ function Vs(e5, t, r, s) {
1827
1772
  let n, i, { node: a } = r, o = (function(c, h) {
1828
1773
  return c[h];
1829
1774
  })(a, s);
1830
1775
  if (o) {
1831
1776
  if (t !== void 0) {
1832
- let c = (function(h, p) {
1833
- let m = typeof h != "function" ? h.keys : void 0;
1834
- if (m === void 0) return;
1835
- let S = m[p];
1836
- return S !== void 0 ? S : m.All;
1777
+ let c = (function(h, f) {
1778
+ let p = typeof h != "function" ? h.keys : void 0;
1779
+ if (p === void 0) return;
1780
+ let g = p[f];
1781
+ return g !== void 0 ? g : p.All;
1837
1782
  })(t, s);
1838
- c !== void 0 && (n = Ds(c), i = _s(c));
1783
+ c !== void 0 && (n = cn(c), i = un(c));
1839
1784
  }
1840
- if (n !== void 0 && n(a, s) !== void 0) throw Ts(a, s);
1841
- if (Array.isArray(o)) Os(e5, o, r, s);
1785
+ if (n !== void 0 && n(a, s) !== void 0) throw tn(a, s);
1786
+ if (Array.isArray(o)) hn(e5, o, r, s);
1842
1787
  else {
1843
- let c = Ae(e5, new zt(o, r, s));
1844
- c !== void 0 && (function(h, p, m, S) {
1845
- if (S === null) throw ws(m, h, p);
1846
- if (Array.isArray(S)) {
1847
- if (S.length !== 1) throw S.length === 0 ? ws(m, h, p) : ai(m, h, p);
1848
- Ns(h, p, S[0]);
1849
- } else Ns(h, p, S);
1788
+ let c = ye(e5, new Ct(o, r, s));
1789
+ c !== void 0 && (function(h, f, p, g) {
1790
+ if (g === null) throw Zr(p, h, f);
1791
+ if (Array.isArray(g)) {
1792
+ if (g.length !== 1) throw g.length === 0 ? Zr(p, h, f) : qs(p, h, f);
1793
+ en(h, f, g[0]);
1794
+ } else en(h, f, g);
1850
1795
  })(a, s, o, c);
1851
1796
  }
1852
- if (i !== void 0 && i(a, s) !== void 0) throw Ts(a, s);
1797
+ if (i !== void 0 && i(a, s) !== void 0) throw tn(a, s);
1853
1798
  }
1854
1799
  }
1855
- function Os(e5, t, r, s) {
1800
+ function hn(e5, t, r, s) {
1856
1801
  for (let n = 0; n < t.length; n++) {
1857
- let i = t[n], a = Ae(e5, new zt(i, r, s));
1858
- a !== void 0 && (n += li(t, n, a) - 1);
1802
+ let i = t[n], a = ye(e5, new Ct(i, r, s));
1803
+ a !== void 0 && (n += Fs(t, n, a) - 1);
1859
1804
  }
1860
1805
  }
1861
- function li(e5, t, r) {
1806
+ function Fs(e5, t, r) {
1862
1807
  return r === null ? (e5.splice(t, 1), 0) : Array.isArray(r) ? (e5.splice(t, 1, ...r), r.length) : (e5.splice(t, 1, r), 1);
1863
1808
  }
1864
- function ci(e5, t) {
1865
- Ae(t, new zt(e5));
1809
+ function Hs(e5, t) {
1810
+ ye(t, new Ct(e5));
1866
1811
  }
1867
- function Ft(e5, t) {
1812
+ function At(e5, t) {
1868
1813
  (function(r) {
1869
1814
  switch (r.type) {
1870
1815
  case "Block":
@@ -1875,127 +1820,128 @@ function Ft(e5, t) {
1875
1820
  }
1876
1821
  })(e5).push(t);
1877
1822
  }
1878
- function Bs(e5) {
1823
+ function pn(e5) {
1879
1824
  return e5.type === "StringLiteral" || e5.type === "BooleanLiteral" || e5.type === "NumberLiteral" || e5.type === "NullLiteral" || e5.type === "UndefinedLiteral";
1880
1825
  }
1881
- var cr;
1882
- function ur() {
1883
- return cr || (cr = new wt("", "(synthetic)")), cr;
1826
+ var Ze;
1827
+ function tr() {
1828
+ return Ze || (Ze = new pt("", "(synthetic)")), Ze;
1884
1829
  }
1885
- function Cs(e5, t) {
1886
- return f.var({ name: e5, loc: T(t || null) });
1830
+ function rn(e5, t) {
1831
+ return d.var({ name: e5, loc: v(t || null) });
1887
1832
  }
1888
- function ct(e5, t) {
1889
- let r = T(t || null);
1833
+ function rt(e5, t) {
1834
+ let r = v(t || null);
1890
1835
  if (typeof e5 != "string") {
1891
1836
  if ("type" in e5) return e5;
1892
1837
  {
1893
1838
  e5.head.indexOf(".");
1894
1839
  let { head: i, tail: a } = e5;
1895
- return f.path({ head: f.head({ original: i, loc: r.sliceStartChars({ chars: i.length }) }), tail: a, loc: T(t || null) });
1840
+ return d.path({ head: d.head({ original: i, loc: r.sliceStartChars({ chars: i.length }) }), tail: a, loc: v(t || null) });
1896
1841
  }
1897
1842
  }
1898
1843
  let { head: s, tail: n } = (function(i, a) {
1899
- let [o, ...c] = i.split("."), h = f.head({ original: o, loc: T(a || null) });
1900
- return f.path({ head: h, tail: c, loc: T(a || null) });
1844
+ let [o, ...c] = i.split("."), h = d.head({ original: o, loc: v(a || null) });
1845
+ return d.path({ head: h, tail: c, loc: v(a || null) });
1901
1846
  })(e5, r);
1902
- return f.path({ head: s, tail: n, loc: r });
1847
+ return d.path({ head: s, tail: n, loc: r });
1903
1848
  }
1904
- function xe(e5, t, r) {
1905
- return f.literal({ type: e5, value: t, loc: T(r || null) });
1849
+ function me(e5, t, r) {
1850
+ return d.literal({ type: e5, value: t, loc: v(r || null) });
1906
1851
  }
1907
- function ie(e5 = [], t) {
1908
- return f.hash({ pairs: e5, loc: T(t || null) });
1852
+ function Ht(e5 = [], t) {
1853
+ return d.hash({ pairs: e5, loc: v(t || null) });
1909
1854
  }
1910
- function Is(e5) {
1911
- return e5.map((t) => typeof t == "string" ? f.var({ name: t, loc: D.synthetic(t) }) : t);
1855
+ function fn(e5) {
1856
+ return e5.map(((t) => typeof t == "string" ? d.var({ name: t, loc: A.synthetic(t) }) : t));
1912
1857
  }
1913
- function xs(e5 = [], t = [], r = false, s) {
1914
- return f.blockItself({ body: e5, params: Is(t), chained: r, loc: T(s || null) });
1858
+ function nn(e5 = [], t = [], r = false, s) {
1859
+ return d.blockItself({ body: e5, params: fn(t), chained: r, loc: v(s || null) });
1915
1860
  }
1916
- function Ps(e5 = [], t = [], r) {
1917
- return f.template({ body: e5, blockParams: t, loc: T(r || null) });
1861
+ function sn(e5 = [], t = [], r) {
1862
+ return d.template({ body: e5, blockParams: t, loc: v(r || null) });
1918
1863
  }
1919
- function T(...e5) {
1864
+ function v(...e5) {
1920
1865
  if (e5.length === 1) {
1921
1866
  let t = e5[0];
1922
- return t && typeof t == "object" ? D.forHbsLoc(ur(), t) : D.forHbsLoc(ur(), si);
1867
+ return t && typeof t == "object" ? A.forHbsLoc(tr(), t) : A.forHbsLoc(tr(), Bs);
1923
1868
  }
1924
1869
  {
1925
- let [t, r, s, n, i] = e5, a = i ? new wt("", i) : ur();
1926
- return D.forHbsLoc(a, { start: { line: t, column: r }, end: { line: s || t, column: n || r } });
1870
+ let [t, r, s, n, i] = e5, a = i ? new pt("", i) : tr();
1871
+ return A.forHbsLoc(a, { start: { line: t, column: r }, end: { line: s || t, column: n || r } });
1927
1872
  }
1928
1873
  }
1929
- var ui = { mustache: function(e5, t = [], r = ie([]), s = false, n, i) {
1930
- return f.mustache({ path: ct(e5), params: t, hash: r, trusting: s, strip: i, loc: T(n || null) });
1874
+ var Us = { mustache: function(e5, t = [], r = Ht([]), s = false, n, i) {
1875
+ return d.mustache({ path: rt(e5), params: t, hash: r, trusting: s, strip: i, loc: v(n || null) });
1931
1876
  }, block: function(e5, t, r, s, n = null, i, a, o, c) {
1932
- let h, p = null;
1933
- return h = s.type === "Template" ? f.blockItself({ params: Is(s.blockParams), body: s.body, loc: s.loc }) : s, (n == null ? void 0 : n.type) === "Template" ? (n.blockParams.length, p = f.blockItself({ params: [], body: n.body, loc: n.loc })) : p = n, f.block({ path: ct(e5), params: t || [], hash: r || ie([]), defaultBlock: h, elseBlock: p, loc: T(i || null), openStrip: a, inverseStrip: o, closeStrip: c });
1877
+ let h, f = null;
1878
+ 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 });
1934
1879
  }, comment: function(e5, t) {
1935
- return f.comment({ value: e5, loc: T(t || null) });
1880
+ return d.comment({ value: e5, loc: v(t || null) });
1936
1881
  }, mustacheComment: function(e5, t) {
1937
- return f.mustacheComment({ value: e5, loc: T(t || null) });
1882
+ return d.mustacheComment({ value: e5, loc: v(t || null) });
1938
1883
  }, element: function(e5, t = {}) {
1939
- let r, s, { attrs: n, blockParams: i, modifiers: a, comments: o, children: c, openTag: h, closeTag: p, loc: m } = t;
1940
- typeof e5 == "string" ? e5.endsWith("/") ? (r = ct(e5.slice(0, -1)), s = true) : r = ct(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 = ct(e5.name), s = e5.selfClosing);
1941
- let S = i == null ? void 0 : i.map((v) => typeof v == "string" ? Cs(v) : v), y = null;
1942
- return p ? y = T(p) : p === void 0 && (y = s || ei(r.original) ? null : T(null)), f.element({ path: r, selfClosing: s || false, attributes: n || [], params: S || [], modifiers: a || [], comments: o || [], children: c || [], openTag: T(h || null), closeTag: y, loc: T(m || null) });
1884
+ let r, s, { attrs: n, blockParams: i, modifiers: a, comments: o, children: c, openTag: h, closeTag: f, loc: p } = t;
1885
+ typeof e5 == "string" ? e5.endsWith("/") ? (r = rt(e5.slice(0, -1)), s = true) : 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);
1886
+ let g = i?.map(((T) => typeof T == "string" ? rn(T) : T)), E = null;
1887
+ return f ? E = v(f) : f === void 0 && (E = s || Os(r.original) ? null : v(null)), d.element({ path: r, selfClosing: s || false, attributes: n || [], params: g || [], modifiers: a || [], comments: o || [], children: c || [], openTag: v(h || null), closeTag: E, loc: v(p || null) });
1943
1888
  }, elementModifier: function(e5, t, r, s) {
1944
- return f.elementModifier({ path: ct(e5), params: t || [], hash: r || ie([]), loc: T(s || null) });
1889
+ return d.elementModifier({ path: rt(e5), params: t || [], hash: r || Ht([]), loc: v(s || null) });
1945
1890
  }, attr: function(e5, t, r) {
1946
- return f.attr({ name: e5, value: t, loc: T(r || null) });
1891
+ return d.attr({ name: e5, value: t, loc: v(r || null) });
1947
1892
  }, text: function(e5 = "", t) {
1948
- return f.text({ chars: e5, loc: T(t || null) });
1949
- }, sexpr: function(e5, t = [], r = ie([]), s) {
1950
- return f.sexpr({ path: ct(e5), params: t, hash: r, loc: T(s || null) });
1893
+ return d.text({ chars: e5, loc: v(t || null) });
1894
+ }, sexpr: function(e5, t = [], r = Ht([]), s) {
1895
+ return d.sexpr({ path: rt(e5), params: t, hash: r, loc: v(s || null) });
1951
1896
  }, concat: function(e5, t) {
1952
- if (!ce(e5)) throw new Error("b.concat requires at least one part");
1953
- return f.concat({ parts: e5, loc: T(t || null) });
1954
- }, hash: ie, pair: function(e5, t, r) {
1955
- return f.pair({ key: e5, value: t, loc: T(r || null) });
1956
- }, literal: xe, program: function(e5, t, r) {
1957
- return t && t.length ? xs(e5, t, false, r) : Ps(e5, [], r);
1958
- }, blockItself: xs, template: Ps, loc: T, pos: function(e5, t) {
1959
- return f.pos({ line: e5, column: t });
1960
- }, path: ct, fullPath: function(e5, t = [], r) {
1961
- return f.path({ head: e5, tail: t, loc: T(r || null) });
1897
+ if (!Yt(e5)) throw new Error("b.concat requires at least one part");
1898
+ return d.concat({ parts: e5, loc: v(t || null) });
1899
+ }, hash: Ht, pair: function(e5, t, r) {
1900
+ return d.pair({ key: e5, value: t, loc: v(r || null) });
1901
+ }, literal: me, program: function(e5, t, r) {
1902
+ return t && t.length ? nn(e5, t, false, r) : sn(e5, [], r);
1903
+ }, blockItself: nn, template: sn, loc: v, pos: function(e5, t) {
1904
+ return d.pos({ line: e5, column: t });
1905
+ }, path: rt, fullPath: function(e5, t = [], r) {
1906
+ return d.path({ head: e5, tail: t, loc: v(r || null) });
1962
1907
  }, head: function(e5, t) {
1963
- return f.head({ original: e5, loc: T(t || null) });
1908
+ return d.head({ original: e5, loc: v(t || null) });
1964
1909
  }, at: function(e5, t) {
1965
- return f.atName({ name: e5, loc: T(t || null) });
1966
- }, var: Cs, this: function(e5) {
1967
- return f.this({ loc: T(e5 || null) });
1968
- }, string: hr("StringLiteral"), boolean: hr("BooleanLiteral"), number: hr("NumberLiteral"), undefined: () => xe("UndefinedLiteral", void 0), null: () => xe("NullLiteral", null) };
1969
- function hr(e5) {
1910
+ return d.atName({ name: e5, loc: v(t || null) });
1911
+ }, var: rn, this: function(e5) {
1912
+ return d.this({ loc: v(e5 || null) });
1913
+ }, string: er("StringLiteral"), boolean: er("BooleanLiteral"), number: er("NumberLiteral"), undefined: () => me("UndefinedLiteral", void 0), null: () => me("NullLiteral", null) };
1914
+ function er(e5) {
1970
1915
  return function(t, r) {
1971
- return xe(e5, t, r);
1916
+ return me(e5, t, r);
1972
1917
  };
1973
1918
  }
1974
- var Ce = { close: false, open: false }, f = new class {
1919
+ var fe = { close: false, open: false };
1920
+ var d = new class {
1975
1921
  pos({ line: e5, column: t }) {
1976
1922
  return { line: e5, column: t };
1977
1923
  }
1978
1924
  blockItself({ body: e5, params: t, chained: r = false, loc: s }) {
1979
1925
  return { type: "Block", body: e5, params: t, get blockParams() {
1980
- return this.params.map((n) => n.name);
1926
+ return this.params.map(((n) => n.name));
1981
1927
  }, set blockParams(n) {
1982
- this.params = n.map((i) => f.var({ name: i, loc: D.synthetic(i) }));
1928
+ this.params = n.map(((i) => d.var({ name: i, loc: A.synthetic(i) })));
1983
1929
  }, chained: r, loc: s };
1984
1930
  }
1985
1931
  template({ body: e5, blockParams: t, loc: r }) {
1986
1932
  return { type: "Template", body: e5, blockParams: t, loc: r };
1987
1933
  }
1988
- mustache({ path: e5, params: t, hash: r, trusting: s, loc: n, strip: i = Ce }) {
1989
- return (function({ path: a, params: o, hash: c, trusting: h, strip: p, loc: m }) {
1990
- let S = { type: "MustacheStatement", path: a, params: o, hash: c, trusting: h, strip: p, loc: m };
1991
- return Object.defineProperty(S, "escaped", { enumerable: false, get() {
1934
+ mustache({ path: e5, params: t, hash: r, trusting: s, loc: n, strip: i = fe }) {
1935
+ return (function({ path: a, params: o, hash: c, trusting: h, strip: f, loc: p }) {
1936
+ let g = { type: "MustacheStatement", path: a, params: o, hash: c, trusting: h, strip: f, loc: p };
1937
+ return Object.defineProperty(g, "escaped", { enumerable: false, get() {
1992
1938
  return !this.trusting;
1993
- }, set(y) {
1994
- this.trusting = !y;
1995
- } }), S;
1939
+ }, set(E) {
1940
+ this.trusting = !E;
1941
+ } }), g;
1996
1942
  })({ path: e5, params: t, hash: r, trusting: s, strip: i, loc: n });
1997
1943
  }
1998
- block({ path: e5, params: t, hash: r, defaultBlock: s, elseBlock: n = null, loc: i, openStrip: a = Ce, inverseStrip: o = Ce, closeStrip: c = Ce }) {
1944
+ block({ path: e5, params: t, hash: r, defaultBlock: s, elseBlock: n = null, loc: i, openStrip: a = fe, inverseStrip: o = fe, closeStrip: c = fe }) {
1999
1945
  return { type: "BlockStatement", path: e5, params: t, hash: r, program: s, inverse: n, loc: i, openStrip: a, inverseStrip: o, closeStrip: c };
2000
1946
  }
2001
1947
  comment({ value: e5, loc: t }) {
@@ -2008,19 +1954,19 @@ var Ce = { close: false, open: false }, f = new class {
2008
1954
  return { type: "ConcatStatement", parts: e5, loc: t };
2009
1955
  }
2010
1956
  element({ path: e5, selfClosing: t, attributes: r, modifiers: s, params: n, comments: i, children: a, openTag: o, closeTag: c, loc: h }) {
2011
- let p = t;
1957
+ let f = t;
2012
1958
  return { type: "ElementNode", path: e5, attributes: r, modifiers: s, params: n, comments: i, children: a, openTag: o, closeTag: c, loc: h, get tag() {
2013
1959
  return this.path.original;
2014
- }, set tag(m) {
2015
- this.path.original = m;
1960
+ }, set tag(p) {
1961
+ this.path.original = p;
2016
1962
  }, get blockParams() {
2017
- return this.params.map((m) => m.name);
2018
- }, set blockParams(m) {
2019
- this.params = m.map((S) => f.var({ name: S, loc: D.synthetic(S) }));
1963
+ return this.params.map(((p) => p.name));
1964
+ }, set blockParams(p) {
1965
+ this.params = p.map(((g) => d.var({ name: g, loc: A.synthetic(g) })));
2020
1966
  }, get selfClosing() {
2021
- return p;
2022
- }, set selfClosing(m) {
2023
- p = m, this.closeTag = m ? null : D.synthetic(`</${this.tag}>`);
1967
+ return f;
1968
+ }, set selfClosing(p) {
1969
+ f = p, this.closeTag = p ? null : A.synthetic(`</${this.tag}>`);
2024
1970
  } };
2025
1971
  }
2026
1972
  elementModifier({ path: e5, params: t, hash: r, loc: s }) {
@@ -2041,15 +1987,14 @@ var Ce = { close: false, open: false }, f = new class {
2041
1987
  return [this.head.original, ...this.tail].join(".");
2042
1988
  }, set original(o) {
2043
1989
  let [c, ...h] = o.split(".");
2044
- this.head = ui.head(c, this.head.loc), this.tail = h;
1990
+ this.head = Us.head(c, this.head.loc), this.tail = h;
2045
1991
  }, loc: i };
2046
1992
  return Object.defineProperty(a, "parts", { enumerable: false, get() {
2047
1993
  let o = this.original.split(".");
2048
1994
  return o[0] === "this" ? o.shift() : o[0].startsWith("@") && (o[0] = o[0].slice(1)), Object.freeze(o);
2049
1995
  }, set(o) {
2050
- var h;
2051
1996
  let c = [...o];
2052
- c[0] === "this" || (h = c[0]) != null && h.startsWith("@") || (this.head.type === "ThisHead" ? c.unshift("this") : this.head.type === "AtHead" && (c[0] = `@${c[0]}`)), this.original = c.join(".");
1997
+ 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(".");
2053
1998
  } }), Object.defineProperty(a, "this", { enumerable: false, get() {
2054
1999
  return this.head.type === "ThisHead";
2055
2000
  } }), Object.defineProperty(a, "data", { enumerable: false, get() {
@@ -2105,9 +2050,10 @@ var Ce = { close: false, open: false }, f = new class {
2105
2050
  } }), a;
2106
2051
  })({ type: e5, value: t, loc: r });
2107
2052
  }
2108
- }(), Sr = class {
2109
- constructor(t, r = new or(Es), s = "precompile") {
2110
- this.elementStack = [], this.currentAttribute = null, this.currentNode = null, this.source = t, this.lines = t.source.split(/\r\n?|\n/u), this.tokenizer = new lr(this, r, s);
2053
+ }();
2054
+ var cr = class {
2055
+ constructor(t, r = new $e($r), s = "precompile") {
2056
+ 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);
2111
2057
  }
2112
2058
  offset() {
2113
2059
  let { line: t, column: r } = this.tokenizer;
@@ -2117,7 +2063,7 @@ var Ce = { close: false, open: false }, f = new class {
2117
2063
  return this.source.offsetFor(t, r);
2118
2064
  }
2119
2065
  finish(t) {
2120
- return Ze({}, t, { loc: t.start.until(this.offset()) });
2066
+ return ze({}, t, { loc: t.start.until(this.offset()) });
2121
2067
  }
2122
2068
  get currentAttr() {
2123
2069
  return this.currentAttribute;
@@ -2146,7 +2092,7 @@ var Ce = { close: false, open: false }, f = new class {
2146
2092
  return this[t.type](t);
2147
2093
  }
2148
2094
  currentElement() {
2149
- return Tr(this.elementStack);
2095
+ return fr(this.elementStack);
2150
2096
  }
2151
2097
  sourceForNode(t, r) {
2152
2098
  let s, n, i, a = t.loc.start.line - 1, o = a - 1, c = t.loc.start.column, h = [];
@@ -2154,16 +2100,16 @@ var Ce = { close: false, open: false }, f = new class {
2154
2100
  return h.join(`
2155
2101
  `);
2156
2102
  }
2157
- }, Er = class extends Sr {
2103
+ };
2104
+ var ur = class extends cr {
2158
2105
  parse(t, r) {
2159
- var i;
2160
2106
  t.loc;
2161
- let s = f.template({ body: [], blockParams: r, loc: this.source.spanFor(t.loc) }), n = this.parseProgram(s, t);
2162
- return (i = this.pendingError) == null || i.eof(n.loc.getEnd()), n;
2107
+ let s = d.template({ body: [], blockParams: r, loc: this.source.spanFor(t.loc) }), n = this.parseProgram(s, t);
2108
+ return this.pendingError?.eof(n.loc.getEnd()), n;
2163
2109
  }
2164
2110
  Program(t, r) {
2165
2111
  t.loc;
2166
- let s = f.blockItself({ body: [], params: r, chained: t.chained, loc: this.source.spanFor(t.loc) });
2112
+ let s = d.blockItself({ body: [], params: r, chained: t.chained, loc: this.source.spanFor(t.loc) });
2167
2113
  return this.parseProgram(s, t);
2168
2114
  }
2169
2115
  parseProgram(t, r) {
@@ -2176,53 +2122,51 @@ var Ce = { close: false, open: false }, f = new class {
2176
2122
  s = this.elementStack.pop();
2177
2123
  }
2178
2124
  if (t !== s) {
2179
- if ((s == null ? void 0 : s.type) === "ElementNode") throw E(`Unclosed element \`${s.tag}\``, s.loc);
2125
+ if (s?.type === "ElementNode") throw k(`Unclosed element \`${s.tag}\``, s.loc);
2180
2126
  t.type;
2181
2127
  }
2182
2128
  return t;
2183
2129
  }
2184
2130
  BlockStatement(t) {
2185
- var m;
2186
2131
  if (this.tokenizer.state === "comment") return t.loc, void this.appendToCommentData(this.sourceForNode(t));
2187
- if (this.tokenizer.state !== "data" && this.tokenizer.state !== "beforeData") throw E("A block may only be used inside an HTML element or another block.", this.source.spanFor(t.loc));
2188
- let { path: r, params: s, hash: n } = pr(this, t), i = this.source.spanFor(t.loc), a, o = [];
2189
- if ((m = t.program.blockParams) != null && m.length) {
2190
- let S = n.loc.collapse("end");
2191
- S = t.program.loc ? S.withEnd(this.source.spanFor(t.program.loc).getStart()) : t.program.body[0] ? S.withEnd(this.source.spanFor(t.program.body[0].loc).getStart()) : S.withEnd(i.getEnd()), a = As(this.source, t, S);
2192
- let y = S.asString(), v = y.indexOf("|") + 1, C = y.indexOf("|", v);
2193
- for (let x of t.program.blockParams) {
2194
- let w, U;
2195
- w = v >= C ? -1 : y.indexOf(x, v), w === -1 || w + x.length > C ? (v = C, U = this.source.spanFor(dr)) : (v = w, U = S.sliceStartChars({ skipStart: v, chars: x.length }), v += x.length), o.push(f.var({ name: x, loc: U }));
2132
+ 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));
2133
+ let { path: r, params: s, hash: n } = rr(this, t), i = this.source.spanFor(t.loc), a, o = [];
2134
+ if (t.program.blockParams?.length) {
2135
+ let p = n.loc.collapse("end");
2136
+ 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);
2137
+ let g = p.asString(), E = g.indexOf("|") + 1, T = g.indexOf("|", E);
2138
+ for (let D of t.program.blockParams) {
2139
+ let B, O;
2140
+ 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 }));
2196
2141
  }
2197
- } else a = As(this.source, t, i);
2198
- let c = this.Program(a.program, o), h = a.inverse ? this.Program(a.inverse, []) : null, p = f.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 });
2199
- Ft(this.currentElement(), p);
2142
+ } else a = an(this.source, t, i);
2143
+ 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 });
2144
+ At(this.currentElement(), f);
2200
2145
  }
2201
2146
  MustacheStatement(t) {
2202
- var o;
2203
- (o = this.pendingError) == null || o.mustache(this.source.spanFor(t.loc));
2147
+ this.pendingError?.mustache(this.source.spanFor(t.loc));
2204
2148
  let { tokenizer: r } = this;
2205
2149
  if (r.state === "comment") return void this.appendToCommentData(this.sourceForNode(t));
2206
2150
  let s, { escaped: n, loc: i, strip: a } = t;
2207
- if ("original" in t.path && t.path.original === "...attributes") throw E("Illegal use of ...attributes", this.source.spanFor(t.loc));
2208
- if (Bs(t.path)) s = f.mustache({ path: this.acceptNode(t.path), params: [], hash: f.hash({ pairs: [], loc: this.source.spanFor(t.path.loc).collapse("end") }), trusting: !n, loc: this.source.spanFor(i), strip: a });
2151
+ if ("original" in t.path && t.path.original === "...attributes") throw k("Illegal use of ...attributes", this.source.spanFor(t.loc));
2152
+ 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 });
2209
2153
  else {
2210
- let { path: c, params: h, hash: p } = pr(this, t);
2211
- s = f.mustache({ path: c, params: h, hash: p, trusting: !n, loc: this.source.spanFor(i), strip: a });
2154
+ let { path: o, params: c, hash: h } = rr(this, t);
2155
+ s = d.mustache({ path: o, params: c, hash: h, trusting: !n, loc: this.source.spanFor(i), strip: a });
2212
2156
  }
2213
2157
  switch (r.state) {
2214
2158
  case "tagOpen":
2215
2159
  case "tagName":
2216
- throw E("Cannot use mustaches in an elements tagname", s.loc);
2160
+ throw k("Cannot use mustaches in an elements tagname", s.loc);
2217
2161
  case "beforeAttributeName":
2218
- fr(this.currentStartTag, s);
2162
+ nr(this.currentStartTag, s);
2219
2163
  break;
2220
2164
  case "attributeName":
2221
2165
  case "afterAttributeName":
2222
- this.beginAttributeValue(false), this.finishAttributeValue(), fr(this.currentStartTag, s), r.transitionTo("beforeAttributeName");
2166
+ this.beginAttributeValue(false), this.finishAttributeValue(), nr(this.currentStartTag, s), r.transitionTo("beforeAttributeName");
2223
2167
  break;
2224
2168
  case "afterAttributeValueQuoted":
2225
- fr(this.currentStartTag, s), r.transitionTo("beforeAttributeName");
2169
+ nr(this.currentStartTag, s), r.transitionTo("beforeAttributeName");
2226
2170
  break;
2227
2171
  case "beforeAttributeValue":
2228
2172
  this.beginAttributeValue(false), this.appendDynamicAttributeValuePart(s), r.transitionTo("attributeValueUnquoted");
@@ -2233,7 +2177,7 @@ var Ce = { close: false, open: false }, f = new class {
2233
2177
  this.appendDynamicAttributeValuePart(s);
2234
2178
  break;
2235
2179
  default:
2236
- Ft(this.currentElement(), s);
2180
+ At(this.currentElement(), s);
2237
2181
  }
2238
2182
  return s;
2239
2183
  }
@@ -2250,20 +2194,20 @@ var Ce = { close: false, open: false }, f = new class {
2250
2194
  this.currentAttr.currentPart = null;
2251
2195
  }
2252
2196
  ContentStatement(t) {
2253
- ((function(r, s) {
2197
+ (function(r, s) {
2254
2198
  let n = s.loc.start.line, i = s.loc.start.column, a = (function(o, c) {
2255
2199
  if (c === "") return { lines: o.split(`
2256
2200
  `).length - 1, columns: 0 };
2257
- let [h] = o.split(c), p = h.split(/\n/u), m = p.length - 1;
2258
- return { lines: m, columns: p[m].length };
2201
+ let [h] = o.split(c), f = h.split(/\n/u), p = f.length - 1;
2202
+ return { lines: p, columns: f[p].length };
2259
2203
  })(s.original, s.value);
2260
2204
  n += a.lines, a.lines ? i = a.columns : i += a.columns, r.line = n, r.column = i;
2261
- }))(this.tokenizer, t), this.tokenizer.tokenizePart(t.value), this.tokenizer.flushData();
2205
+ })(this.tokenizer, t), this.tokenizer.tokenizePart(t.value), this.tokenizer.flushData();
2262
2206
  }
2263
2207
  CommentStatement(t) {
2264
2208
  let { tokenizer: r } = this;
2265
2209
  if (r.state === "comment") return this.appendToCommentData(this.sourceForNode(t)), null;
2266
- let { value: s, loc: n } = t, i = f.mustacheComment({ value: s, loc: this.source.spanFor(n) });
2210
+ let { value: s, loc: n } = t, i = d.mustacheComment({ value: s, loc: this.source.spanFor(n) });
2267
2211
  switch (r.state) {
2268
2212
  case "beforeAttributeName":
2269
2213
  case "afterAttributeName":
@@ -2271,77 +2215,77 @@ var Ce = { close: false, open: false }, f = new class {
2271
2215
  break;
2272
2216
  case "beforeData":
2273
2217
  case "data":
2274
- Ft(this.currentElement(), i);
2218
+ At(this.currentElement(), i);
2275
2219
  break;
2276
2220
  default:
2277
- throw E(`Using a Handlebars comment when in the \`${r.state}\` state is not supported`, this.source.spanFor(t.loc));
2221
+ throw k(`Using a Handlebars comment when in the \`${r.state}\` state is not supported`, this.source.spanFor(t.loc));
2278
2222
  }
2279
2223
  return i;
2280
2224
  }
2281
2225
  PartialStatement(t) {
2282
- throw E("Handlebars partials are not supported", this.source.spanFor(t.loc));
2226
+ throw k("Handlebars partials are not supported", this.source.spanFor(t.loc));
2283
2227
  }
2284
2228
  PartialBlockStatement(t) {
2285
- throw E("Handlebars partial blocks are not supported", this.source.spanFor(t.loc));
2229
+ throw k("Handlebars partial blocks are not supported", this.source.spanFor(t.loc));
2286
2230
  }
2287
2231
  Decorator(t) {
2288
- throw E("Handlebars decorators are not supported", this.source.spanFor(t.loc));
2232
+ throw k("Handlebars decorators are not supported", this.source.spanFor(t.loc));
2289
2233
  }
2290
2234
  DecoratorBlock(t) {
2291
- throw E("Handlebars decorator blocks are not supported", this.source.spanFor(t.loc));
2235
+ throw k("Handlebars decorator blocks are not supported", this.source.spanFor(t.loc));
2292
2236
  }
2293
2237
  SubExpression(t) {
2294
- let { path: r, params: s, hash: n } = pr(this, t);
2295
- return f.sexpr({ path: r, params: s, hash: n, loc: this.source.spanFor(t.loc) });
2238
+ let { path: r, params: s, hash: n } = rr(this, t);
2239
+ return d.sexpr({ path: r, params: s, hash: n, loc: this.source.spanFor(t.loc) });
2296
2240
  }
2297
2241
  PathExpression(t) {
2298
2242
  let { original: r } = t, s;
2299
2243
  if (r.indexOf("/") !== -1) {
2300
- if (r.slice(0, 2) === "./") throw E('Using "./" is not supported in Glimmer and unnecessary', this.source.spanFor(t.loc));
2301
- if (r.slice(0, 3) === "../") throw E('Changing context using "../" is not supported in Glimmer', this.source.spanFor(t.loc));
2302
- if (r.indexOf(".") !== -1) throw E("Mixing '.' and '/' in paths is not supported in Glimmer; use only '.' to separate property paths", this.source.spanFor(t.loc));
2244
+ if (r.slice(0, 2) === "./") throw k('Using "./" is not supported in Glimmer and unnecessary', this.source.spanFor(t.loc));
2245
+ if (r.slice(0, 3) === "../") throw k('Changing context using "../" is not supported in Glimmer', this.source.spanFor(t.loc));
2246
+ 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));
2303
2247
  s = [t.parts.join("/")];
2304
2248
  } else {
2305
- if (r === ".") throw E("'.' is not a supported path in Glimmer; check for a path with a trailing '.'", this.source.spanFor(t.loc));
2249
+ if (r === ".") throw k("'.' is not a supported path in Glimmer; check for a path with a trailing '.'", this.source.spanFor(t.loc));
2306
2250
  s = t.parts;
2307
2251
  }
2308
2252
  let n, i = false;
2309
- if (/^this(?:\..+)?$/u.test(r) && (i = true), i) n = f.this({ loc: this.source.spanFor({ start: t.loc.start, end: { line: t.loc.start.line, column: t.loc.start.column + 4 } }) });
2253
+ if (/^this(?:\..+)?$/u.test(r) && (i = true), i) n = d.this({ loc: this.source.spanFor({ start: t.loc.start, end: { line: t.loc.start.line, column: t.loc.start.column + 4 } }) });
2310
2254
  else if (t.data) {
2311
2255
  let a = s.shift();
2312
- if (a === void 0) throw E("Attempted to parse a path expression, but it was not valid. Paths beginning with @ must start with a-z.", this.source.spanFor(t.loc));
2313
- n = f.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 } }) });
2256
+ 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));
2257
+ 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 } }) });
2314
2258
  } else {
2315
2259
  let a = s.shift();
2316
- if (a === void 0) throw E("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));
2317
- n = f.var({ name: a, loc: this.source.spanFor({ start: t.loc.start, end: { line: t.loc.start.line, column: t.loc.start.column + a.length } }) });
2260
+ 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));
2261
+ 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 } }) });
2318
2262
  }
2319
- return f.path({ head: n, tail: s, loc: this.source.spanFor(t.loc) });
2263
+ return d.path({ head: n, tail: s, loc: this.source.spanFor(t.loc) });
2320
2264
  }
2321
2265
  Hash(t) {
2322
- let r = t.pairs.map((s) => f.pair({ key: s.key, value: this.acceptNode(s.value), loc: this.source.spanFor(s.loc) }));
2323
- return f.hash({ pairs: r, loc: this.source.spanFor(t.loc) });
2266
+ let r = t.pairs.map(((s) => d.pair({ key: s.key, value: this.acceptNode(s.value), loc: this.source.spanFor(s.loc) })));
2267
+ return d.hash({ pairs: r, loc: this.source.spanFor(t.loc) });
2324
2268
  }
2325
2269
  StringLiteral(t) {
2326
- return f.literal({ type: "StringLiteral", value: t.value, loc: this.source.spanFor(t.loc) });
2270
+ return d.literal({ type: "StringLiteral", value: t.value, loc: this.source.spanFor(t.loc) });
2327
2271
  }
2328
2272
  BooleanLiteral(t) {
2329
- return f.literal({ type: "BooleanLiteral", value: t.value, loc: this.source.spanFor(t.loc) });
2273
+ return d.literal({ type: "BooleanLiteral", value: t.value, loc: this.source.spanFor(t.loc) });
2330
2274
  }
2331
2275
  NumberLiteral(t) {
2332
- return f.literal({ type: "NumberLiteral", value: t.value, loc: this.source.spanFor(t.loc) });
2276
+ return d.literal({ type: "NumberLiteral", value: t.value, loc: this.source.spanFor(t.loc) });
2333
2277
  }
2334
2278
  UndefinedLiteral(t) {
2335
- return f.literal({ type: "UndefinedLiteral", value: void 0, loc: this.source.spanFor(t.loc) });
2279
+ return d.literal({ type: "UndefinedLiteral", value: void 0, loc: this.source.spanFor(t.loc) });
2336
2280
  }
2337
2281
  NullLiteral(t) {
2338
- return f.literal({ type: "NullLiteral", value: null, loc: this.source.spanFor(t.loc) });
2282
+ return d.literal({ type: "NullLiteral", value: null, loc: this.source.spanFor(t.loc) });
2339
2283
  }
2340
2284
  constructor(...t) {
2341
2285
  super(...t), this.pendingError = null;
2342
2286
  }
2343
2287
  };
2344
- function pr(e5, t) {
2288
+ function rr(e5, t) {
2345
2289
  let r;
2346
2290
  switch (t.path.type) {
2347
2291
  case "PathExpression":
@@ -2356,26 +2300,26 @@ function pr(e5, t) {
2356
2300
  case "NumberLiteral":
2357
2301
  case "BooleanLiteral": {
2358
2302
  let i;
2359
- 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", E(`${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));
2303
+ 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));
2360
2304
  }
2361
2305
  }
2362
- let s = t.params.map((i) => e5.acceptNode(i)), n = ce(s) ? Tr(s).loc : r.loc;
2363
- return { path: r, params: s, hash: t.hash ? e5.Hash(t.hash) : f.hash({ pairs: [], loc: e5.source.spanFor(n).collapse("end") }) };
2306
+ let s = t.params.map(((i) => e5.acceptNode(i))), n = Yt(s) ? fr(s).loc : r.loc;
2307
+ return { path: r, params: s, hash: t.hash ? e5.Hash(t.hash) : d.hash({ pairs: [], loc: e5.source.spanFor(n).collapse("end") }) };
2364
2308
  }
2365
- function fr(e5, t) {
2309
+ function nr(e5, t) {
2366
2310
  let { path: r, params: s, hash: n, loc: i } = t;
2367
- if (Bs(r)) {
2311
+ if (pn(r)) {
2368
2312
  let o = `{{${(function(c) {
2369
2313
  return c.type === "UndefinedLiteral" ? "undefined" : JSON.stringify(c.value);
2370
2314
  })(r)}}}`;
2371
- throw E(`In <${e5.name} ... ${o} ..., ${o} is not a valid modifier`, t.loc);
2315
+ throw k(`In <${e5.name} ... ${o} ..., ${o} is not a valid modifier`, t.loc);
2372
2316
  }
2373
- let a = f.elementModifier({ path: r, params: s, hash: n, loc: i });
2317
+ let a = d.elementModifier({ path: r, params: s, hash: n, loc: i });
2374
2318
  e5.modifiers.push(a);
2375
2319
  }
2376
- function As(e5, t, r) {
2320
+ function an(e5, t, r) {
2377
2321
  if (!t.program.loc) {
2378
- let n = G(false, t.program.body, 0), i = G(false, t.program.body, -1);
2322
+ let n = V(0, t.program.body, 0), i = V(0, t.program.body, -1);
2379
2323
  if (n && i) t.program.loc = { ...n.loc, end: i.loc.end };
2380
2324
  else {
2381
2325
  let a = e5.spanFor(t.loc);
@@ -2385,10 +2329,10 @@ function As(e5, t, r) {
2385
2329
  let s = e5.spanFor(t.program.loc).getEnd();
2386
2330
  return t.inverse && !t.inverse.loc && (t.inverse.loc = s.collapsed()), t;
2387
2331
  }
2388
- function Ht(e5) {
2332
+ function Nt(e5) {
2389
2333
  return /[\t\n\f ]/u.test(e5);
2390
2334
  }
2391
- var vr = class extends Er {
2335
+ var hr = class extends ur {
2392
2336
  reset() {
2393
2337
  this.currentNode = null;
2394
2338
  }
@@ -2399,7 +2343,7 @@ var vr = class extends Er {
2399
2343
  this.currentComment.value += t;
2400
2344
  }
2401
2345
  finishComment() {
2402
- Ft(this.currentElement(), f.comment(this.finish(this.currentComment)));
2346
+ At(this.currentElement(), d.comment(this.finish(this.currentComment)));
2403
2347
  }
2404
2348
  beginData() {
2405
2349
  this.currentNode = { type: "TextNode", chars: "", start: this.offset() };
@@ -2408,7 +2352,7 @@ var vr = class extends Er {
2408
2352
  this.currentData.chars += t;
2409
2353
  }
2410
2354
  finishData() {
2411
- Ft(this.currentElement(), f.text(this.finish(this.currentData)));
2355
+ At(this.currentElement(), d.text(this.finish(this.currentData)));
2412
2356
  }
2413
2357
  tagOpen() {
2414
2358
  this.tagOpenLine = this.tokenizer.line, this.tagOpenColumn = this.tokenizer.column;
@@ -2422,23 +2366,23 @@ var vr = class extends Er {
2422
2366
  finishTag() {
2423
2367
  let t = this.finish(this.currentTag);
2424
2368
  if (t.type === "StartTag") {
2425
- if (this.finishStartTag(), t.name === ":") throw E("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() }));
2426
- (mr.has(t.name) || t.selfClosing) && this.finishEndTag(true);
2369
+ 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() }));
2370
+ (de.has(t.name) || t.selfClosing) && this.finishEndTag(true);
2427
2371
  } else t.type, t.type, this.finishEndTag(false);
2428
2372
  }
2429
2373
  finishStartTag() {
2430
- let { name: t, nameStart: r, nameEnd: s } = this.currentStartTag, n = r.until(s), [i, ...a] = t.split("."), o = f.path({ head: f.head({ original: i, loc: n.sliceStartChars({ chars: i.length }) }), tail: a, loc: n }), { attributes: c, modifiers: h, comments: p, params: m, selfClosing: S, loc: y } = this.finish(this.currentStartTag), v = f.element({ path: o, selfClosing: S, attributes: c, modifiers: h, comments: p, params: m, children: [], openTag: y, closeTag: S ? null : D.broken(), loc: y });
2431
- this.elementStack.push(v);
2374
+ 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 });
2375
+ this.elementStack.push(T);
2432
2376
  }
2433
2377
  finishEndTag(t) {
2434
2378
  let { start: r } = this.currentTag, s = this.finish(this.currentTag), n = this.elementStack.pop();
2435
2379
  this.validateEndTag(s, n, t);
2436
2380
  let i = this.currentElement();
2437
- t ? n.closeTag = null : n.selfClosing ? n.closeTag : n.closeTag = r.until(this.offset()), n.loc = n.loc.withEnd(this.offset()), Ft(i, f.element(n));
2381
+ 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));
2438
2382
  }
2439
2383
  markTagAsSelfClosing() {
2440
2384
  let t = this.currentTag;
2441
- if (t.type !== "StartTag") throw E("Invalid end tag: closing tag must not be self-closing", this.source.spanFor({ start: t.start.toJSON(), end: this.offset().toJSON() }));
2385
+ 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() }));
2442
2386
  t.selfClosing = true;
2443
2387
  }
2444
2388
  appendToTagName(t) {
@@ -2464,67 +2408,67 @@ var vr = class extends Er {
2464
2408
  else {
2465
2409
  let i = this.offset();
2466
2410
  i = t === `
2467
- ` ? s ? s.loc.getEnd() : this.currentAttr.valueSpan.getStart() : i.move(-1), this.currentAttr.currentPart = f.text({ chars: t, loc: i.collapsed() });
2411
+ ` ? s ? s.loc.getEnd() : this.currentAttr.valueSpan.getStart() : i.move(-1), this.currentAttr.currentPart = d.text({ chars: t, loc: i.collapsed() });
2468
2412
  }
2469
2413
  }
2470
2414
  finishAttributeValue() {
2471
2415
  this.finalizeTextPart();
2472
2416
  let t = this.currentTag, r = this.offset();
2473
- if (t.type === "EndTag") throw E("Invalid end tag: closing tag must not have attributes", this.source.spanFor({ start: t.start.toJSON(), end: r.toJSON() }));
2417
+ 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() }));
2474
2418
  let { name: s, parts: n, start: i, isQuoted: a, isDynamic: o, valueSpan: c } = this.currentAttr;
2475
- if (s.startsWith("|") && n.length === 0 && !a && !o) throw E("Invalid block parameters syntax: block parameters must be preceded by the `as` keyword", i.until(i.move(s.length)));
2419
+ 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)));
2476
2420
  let h = this.assembleAttributeValue(n, a, o, i.until(r));
2477
2421
  h.loc = c.withEnd(r);
2478
- let p = f.attr({ name: s, value: h, loc: i.until(r) });
2479
- this.currentStartTag.attributes.push(p);
2422
+ let f = d.attr({ name: s, value: h, loc: i.until(r) });
2423
+ this.currentStartTag.attributes.push(f);
2480
2424
  }
2481
2425
  parsePossibleBlockParams() {
2482
2426
  let t = /[!"#%&'()*+./;<=>@[\\\]^`{|}~]/u;
2483
2427
  this.tokenizer.state;
2484
2428
  let r = this.currentStartTag, s = this.currentAttr, n = { state: "PossibleAs" }, i = { PossibleAs: (o) => {
2485
- if (n.state, Ht(o)) n = { state: "BeforeStartPipe" }, this.tokenizer.transitionTo("afterAttributeName"), this.tokenizer.consume();
2429
+ if (n.state, Nt(o)) n = { state: "BeforeStartPipe" }, this.tokenizer.transitionTo("afterAttributeName"), this.tokenizer.consume();
2486
2430
  else {
2487
- if (o === "|") throw E('Invalid block parameters syntax: expecting at least one space character between "as" and "|"', s.start.until(this.offset().move(1)));
2431
+ if (o === "|") throw k('Invalid block parameters syntax: expecting at least one space character between "as" and "|"', s.start.until(this.offset().move(1)));
2488
2432
  n = { state: "Done" };
2489
2433
  }
2490
2434
  }, BeforeStartPipe: (o) => {
2491
- n.state, Ht(o) ? this.tokenizer.consume() : o === "|" ? (n = { state: "BeforeBlockParamName" }, this.tokenizer.transitionTo("beforeAttributeName"), this.tokenizer.consume()) : n = { state: "Done" };
2435
+ n.state, Nt(o) ? this.tokenizer.consume() : o === "|" ? (n = { state: "BeforeBlockParamName" }, this.tokenizer.transitionTo("beforeAttributeName"), this.tokenizer.consume()) : n = { state: "Done" };
2492
2436
  }, BeforeBlockParamName: (o) => {
2493
- if (n.state, Ht(o)) this.tokenizer.consume();
2437
+ if (n.state, Nt(o)) this.tokenizer.consume();
2494
2438
  else if (o === "") n = { state: "Done" }, this.pendingError = { mustache(c) {
2495
- throw E("Invalid block parameters syntax: mustaches cannot be used inside parameters list", c);
2439
+ throw k("Invalid block parameters syntax: mustaches cannot be used inside parameters list", c);
2496
2440
  }, eof(c) {
2497
- throw E('Invalid block parameters syntax: expecting the tag to be closed with ">" or "/>" after parameters list', s.start.until(c));
2441
+ throw k('Invalid block parameters syntax: expecting the tag to be closed with ">" or "/>" after parameters list', s.start.until(c));
2498
2442
  } };
2499
2443
  else if (o === "|") {
2500
- if (r.params.length === 0) throw E("Invalid block parameters syntax: empty parameters list, expecting at least one identifier", s.start.until(this.offset().move(1)));
2444
+ 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)));
2501
2445
  n = { state: "AfterEndPipe" }, this.tokenizer.consume();
2502
2446
  } else {
2503
- if (o === ">" || o === "/") throw E('Invalid block parameters syntax: incomplete parameters list, expecting "|" but the tag was closed prematurely', s.start.until(this.offset().move(1)));
2447
+ 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)));
2504
2448
  n = { state: "BlockParamName", name: o, start: this.offset() }, this.tokenizer.consume();
2505
2449
  }
2506
2450
  }, BlockParamName: (o) => {
2507
2451
  if (n.state, o === "") n = { state: "Done" }, this.pendingError = { mustache(c) {
2508
- throw E("Invalid block parameters syntax: mustaches cannot be used inside parameters list", c);
2452
+ throw k("Invalid block parameters syntax: mustaches cannot be used inside parameters list", c);
2509
2453
  }, eof(c) {
2510
- throw E('Invalid block parameters syntax: expecting the tag to be closed with ">" or "/>" after parameters list', s.start.until(c));
2454
+ throw k('Invalid block parameters syntax: expecting the tag to be closed with ">" or "/>" after parameters list', s.start.until(c));
2511
2455
  } };
2512
- else if (o === "|" || Ht(o)) {
2456
+ else if (o === "|" || Nt(o)) {
2513
2457
  let c = n.start.until(this.offset());
2514
- if (n.name === "this" || t.test(n.name)) throw E(`Invalid block parameters syntax: invalid identifier name \`${n.name}\``, c);
2515
- r.params.push(f.var({ name: n.name, loc: c })), n = o === "|" ? { state: "AfterEndPipe" } : { state: "BeforeBlockParamName" }, this.tokenizer.consume();
2458
+ if (n.name === "this" || t.test(n.name)) throw k(`Invalid block parameters syntax: invalid identifier name \`${n.name}\``, c);
2459
+ r.params.push(d.var({ name: n.name, loc: c })), n = o === "|" ? { state: "AfterEndPipe" } : { state: "BeforeBlockParamName" }, this.tokenizer.consume();
2516
2460
  } else {
2517
- if (o === ">" || o === "/") throw E('Invalid block parameters syntax: expecting "|" but the tag was closed prematurely', s.start.until(this.offset().move(1)));
2461
+ if (o === ">" || o === "/") throw k('Invalid block parameters syntax: expecting "|" but the tag was closed prematurely', s.start.until(this.offset().move(1)));
2518
2462
  n.name += o, this.tokenizer.consume();
2519
2463
  }
2520
2464
  }, AfterEndPipe: (o) => {
2521
- n.state, Ht(o) ? this.tokenizer.consume() : o === "" ? (n = { state: "Done" }, this.pendingError = { mustache(c) {
2522
- throw E("Invalid block parameters syntax: modifiers cannot follow parameters list", c);
2465
+ n.state, Nt(o) ? this.tokenizer.consume() : o === "" ? (n = { state: "Done" }, this.pendingError = { mustache(c) {
2466
+ throw k("Invalid block parameters syntax: modifiers cannot follow parameters list", c);
2523
2467
  }, eof(c) {
2524
- throw E('Invalid block parameters syntax: expecting the tag to be closed with ">" or "/>" after parameters list', s.start.until(c));
2468
+ throw k('Invalid block parameters syntax: expecting the tag to be closed with ">" or "/>" after parameters list', s.start.until(c));
2525
2469
  } }) : 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());
2526
2470
  }, Error: (o) => {
2527
- if (n.state, o === "" || o === "/" || o === ">" || Ht(o)) throw E(n.message, n.start.until(this.offset()));
2471
+ if (n.state, o === "" || o === "/" || o === ">" || Nt(o)) throw k(n.message, n.start.until(this.offset()));
2528
2472
  this.tokenizer.consume();
2529
2473
  }, Done: () => {
2530
2474
  } }, a;
@@ -2534,16 +2478,16 @@ var vr = class extends Er {
2534
2478
  n.state;
2535
2479
  }
2536
2480
  reportSyntaxError(t) {
2537
- throw E(t, this.offset().collapsed());
2481
+ throw k(t, this.offset().collapsed());
2538
2482
  }
2539
2483
  assembleConcatenatedValue(t) {
2540
- let r = ri(t), s = Tr(t);
2541
- return f.concat({ parts: t, loc: this.source.spanFor(r.loc).extend(this.source.spanFor(s.loc)) });
2484
+ let r = Is(t), s = fr(t);
2485
+ return d.concat({ parts: t, loc: this.source.spanFor(r.loc).extend(this.source.spanFor(s.loc)) });
2542
2486
  }
2543
2487
  validateEndTag(t, r, s) {
2544
- if (mr.has(t.name) && !s) throw E(`<${t.name}> elements do not need end tags. You should remove it`, t.loc);
2545
- if (r.type !== "ElementNode") throw E(`Closing tag </${t.name}> without an open tag`, t.loc);
2546
- if (r.tag !== t.name) throw E(`Closing tag </${t.name}> did not match last open tag <${r.tag}> (on line ${r.loc.startPosition.line})`, t.loc);
2488
+ if (de.has(t.name) && !s) throw k(`<${t.name}> elements do not need end tags. You should remove it`, t.loc);
2489
+ if (r.type !== "ElementNode") throw k(`Closing tag </${t.name}> without an open tag`, t.loc);
2490
+ 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);
2547
2491
  }
2548
2492
  assembleAttributeValue(t, r, s, n) {
2549
2493
  if (s) {
@@ -2551,66 +2495,385 @@ var vr = class extends Er {
2551
2495
  {
2552
2496
  let [i, a] = t;
2553
2497
  if (a === void 0 || a.type === "TextNode" && a.chars === "/") return i;
2554
- throw E("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);
2498
+ 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);
2555
2499
  }
2556
2500
  }
2557
- return ce(t) ? t[0] : f.text({ chars: "", loc: n });
2501
+ return Yt(t) ? t[0] : d.text({ chars: "", loc: n });
2558
2502
  }
2559
2503
  constructor(...t) {
2560
2504
  super(...t), this.tagOpenLine = 0, this.tagOpenColumn = 0;
2561
2505
  }
2562
- }, hi = {}, wr = class extends or {
2506
+ };
2507
+ var Ms = {};
2508
+ var pr = class extends $e {
2563
2509
  constructor() {
2564
2510
  super({});
2565
2511
  }
2566
2512
  parse() {
2567
2513
  }
2568
2514
  };
2569
- function Rs(e5, t = {}) {
2570
- var c, h, p;
2515
+ function mn(e5, t = {}) {
2571
2516
  let r, s, n, i = t.mode || "precompile";
2572
- typeof e5 == "string" ? (r = new wt(e5, (c = t.meta) == null ? void 0 : c.moduleName), s = i === "codemod" ? Te(e5, t.parseOptions) : ar(e5, t.parseOptions)) : e5 instanceof wt ? (r = e5, s = i === "codemod" ? Te(e5.source, t.parseOptions) : ar(e5.source, t.parseOptions)) : (r = new wt("", (h = t.meta) == null ? void 0 : h.moduleName), s = e5), i === "codemod" && (n = new wr());
2573
- let a = D.forCharPositions(r, 0, r.source.length);
2517
+ 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());
2518
+ let a = A.forCharPositions(r, 0, r.source.length);
2574
2519
  s.loc = { source: "(program)", start: a.startPosition, end: a.endPosition };
2575
- let o = new vr(r, n, i).parse(s, t.locals ?? []);
2576
- if ((p = t.plugins) != null && p.ast) for (let m of t.plugins.ast) ci(o, m(Ze({}, t, { syntax: hi }, { plugins: void 0 })).visitor);
2520
+ let o = new hr(r, n, i).parse(s, t.locals ?? []);
2521
+ if (t.plugins?.ast) for (let c of t.plugins.ast) Hs(o, c(ze({}, t, { syntax: Ms }, { plugins: void 0 })).visitor);
2577
2522
  return o;
2578
2523
  }
2579
- function fi(e5, t) {
2524
+ var zs = { resolution: () => pe.GetStrictKeyword, serialize: () => "Strict", isAngleBracket: false };
2525
+ var To = { ...zs, isAngleBracket: true };
2526
+ var Ys = Ur(be);
2527
+ var dn = Ys;
2528
+ var mt = (e5) => e5.loc.start.offset;
2529
+ var Gt = (e5) => e5.loc.end.offset;
2530
+ var Gs = new Set(on());
2531
+ function bn(e5) {
2532
+ return e5.toUpperCase() === e5;
2533
+ }
2534
+ function Ks(e5) {
2535
+ return e5.type === "ElementNode" && typeof e5.tag == "string" && !e5.tag.startsWith(":") && (bn(e5.tag[0]) || e5.tag.includes("."));
2536
+ }
2537
+ function Ws(e5) {
2538
+ return Gs.has(e5.toLowerCase()) && !bn(e5[0]);
2539
+ }
2540
+ function dr(e5) {
2541
+ return e5.selfClosing === true || Ws(e5.tag) || Ks(e5) && e5.children.every((t) => Se(t));
2542
+ }
2543
+ function Se(e5) {
2544
+ return e5.type === "TextNode" && !/\S/u.test(e5.chars);
2545
+ }
2546
+ function gn(e5) {
2547
+ return e5?.type === "MustacheCommentStatement" && typeof e5.value == "string" && e5.value.trim() === "prettier-ignore";
2548
+ }
2549
+ function yn(e5) {
2550
+ return gn(e5.node) || e5.isInArray && (e5.key === "children" || e5.key === "body" || e5.key === "parts") && gn(e5.siblings[e5.index - 2]);
2551
+ }
2552
+ var xn = 2;
2553
+ function js(e5, t, r) {
2554
+ let { node: s } = e5;
2555
+ switch (s.type) {
2556
+ case "Block":
2557
+ case "Program":
2558
+ case "Template":
2559
+ return I(e5.map(r, "body"));
2560
+ case "ElementNode": {
2561
+ let n = t.htmlWhitespaceSensitivity !== "ignore", i = [!n && e5.previous?.type === "ElementNode" ? H : "", I([Js(e5, r)])];
2562
+ if (dr(s)) return [i];
2563
+ let a = ["</", s.tag, ">"], o = s.tag === "style";
2564
+ if (s.children.length === 0 || (!n || o) && s.children.every((h) => Se(h))) return [i, a];
2565
+ let c = e5.map(r, "children");
2566
+ return o || !n ? [i, F([H, ...c]), H, a] : [i, F(I(c)), a];
2567
+ }
2568
+ case "BlockStatement":
2569
+ 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)])];
2570
+ case "ElementModifierStatement":
2571
+ return I(["{{", Tn(e5, r), "}}"]);
2572
+ case "MustacheStatement":
2573
+ return I([ke(s), Tn(e5, r), Ee(s)]);
2574
+ case "SubExpression":
2575
+ return I(["(", ui(e5, r), H, ")"]);
2576
+ case "AttrNode": {
2577
+ let { name: n, value: i } = s, a = i.type === "TextNode";
2578
+ if (a && i.chars === "" && mt(i) === Gt(i)) return n;
2579
+ 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");
2580
+ return [n, "=", c, n === "class" && c ? I(F(h)) : h, c];
2581
+ }
2582
+ case "ConcatStatement":
2583
+ return e5.map(r, "parts");
2584
+ case "Hash":
2585
+ return ct(N, e5.map(r, "pairs"));
2586
+ case "HashPair":
2587
+ return [s.key, "=", r("value")];
2588
+ case "TextNode": {
2589
+ let n = s.chars, { parent: i } = e5;
2590
+ if (i.type === "ElementNode") {
2591
+ if (i.tag === "pre") return ie(n);
2592
+ if (i.tag === "style") return n = St(0, n, /^\n+/gu, ""), n = R.trimEnd(n), n = R.dedentString(n), ie(n, ut);
2593
+ }
2594
+ n = St(0, n, "{{", "\\{{");
2595
+ let a = ii(e5);
2596
+ if (a) {
2597
+ if (a === "class") {
2598
+ let D = n.trim().split(/\s+/u).join(" "), B = false, O = false;
2599
+ return e5.parent.type === "ConcatStatement" && (e5.previous?.type === "MustacheStatement" && /^\s/u.test(n) && (B = true), e5.next?.type === "MustacheStatement" && /\s$/u.test(n) && D !== "" && (O = true)), [B ? N : "", D, O ? N : ""];
2600
+ }
2601
+ return ie(n);
2602
+ }
2603
+ let o = R.isWhitespaceOnly(n), { isFirst: c, isLast: h } = e5;
2604
+ if (t.htmlWhitespaceSensitivity !== "ignore") {
2605
+ let D = h && e5.parent.type === "Template", B = c && e5.parent.type === "Template";
2606
+ if (o) {
2607
+ if (B || D) return "";
2608
+ let C = [N], $ = _t(n);
2609
+ return $ && (C = Kt($)), h && (C = C.map((W) => Be(W))), C;
2610
+ }
2611
+ let O = R.getLeadingWhitespace(n), z = [];
2612
+ if (O) {
2613
+ z = [N];
2614
+ let C = _t(O);
2615
+ C && (z = Kt(C)), n = n.slice(O.length);
2616
+ }
2617
+ let P = R.getTrailingWhitespace(n), U = [];
2618
+ if (P) {
2619
+ if (!D) {
2620
+ U = [N];
2621
+ let C = _t(P);
2622
+ C && (U = Kt(C)), h && (U = U.map(($) => Be($)));
2623
+ }
2624
+ n = n.slice(0, -P.length);
2625
+ }
2626
+ return [...z, qe(wn(n)), ...U];
2627
+ }
2628
+ let f = _t(n), p = ai(n), g = oi(n);
2629
+ if ((c || h) && o && (e5.parent.type === "Block" || e5.parent.type === "ElementNode" || e5.parent.type === "Template")) return "";
2630
+ 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)));
2631
+ let E = "", T = "";
2632
+ 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)];
2633
+ }
2634
+ case "MustacheCommentStatement": {
2635
+ let n = mt(s), i = Gt(s), a = t.originalText.charAt(n + 2) === "~", o = t.originalText.charAt(i - 3) === "~", c = s.value.includes("}}") ? "--" : "";
2636
+ return ["{{", a ? "~" : "", "!", c, s.value, c, o ? "~" : "", "}}"];
2637
+ }
2638
+ case "PathExpression":
2639
+ return mi(s);
2640
+ case "BooleanLiteral":
2641
+ return String(s.value);
2642
+ case "CommentStatement":
2643
+ return ["<!--", s.value, "-->"];
2644
+ case "StringLiteral":
2645
+ return li(e5, t);
2646
+ case "NumberLiteral":
2647
+ return String(s.value);
2648
+ case "UndefinedLiteral":
2649
+ return "undefined";
2650
+ case "NullLiteral":
2651
+ return "null";
2652
+ case "FrontMatter":
2653
+ case "AtHead":
2654
+ case "VarHead":
2655
+ case "ThisHead":
2656
+ default:
2657
+ throw new qr(s, "Handlebars");
2658
+ }
2659
+ }
2660
+ function Qs(e5, t) {
2661
+ return mt(e5) - mt(t);
2662
+ }
2663
+ function Js(e5, t) {
2664
+ let { node: r } = e5, s = ["attributes", "modifiers", "comments"].filter((i) => Bt(r[i])), n = s.flatMap((i) => r[i]).sort(Qs);
2665
+ for (let i of s) e5.each(({ node: a }) => {
2666
+ let o = n.indexOf(a);
2667
+ n.splice(o, 1, [N, t()]);
2668
+ }, i);
2669
+ return Bt(r.blockParams) && n.push(N, br(r)), ["<", r.tag, F(n), $s(r)];
2670
+ }
2671
+ function $s(e5) {
2672
+ return dr(e5) ? Ve([H, "/>"], [" />", H]) : Ve([H, ">"], ">");
2673
+ }
2674
+ function ke(e5) {
2675
+ let t = e5.trusting ? "{{{" : "{{", r = e5.strip?.open ? "~" : "";
2676
+ return [t, r];
2677
+ }
2678
+ function Ee(e5) {
2679
+ let t = e5.trusting ? "}}}" : "}}";
2680
+ return [e5.strip?.close ? "~" : "", t];
2681
+ }
2682
+ function Xs(e5) {
2683
+ let t = ke(e5), r = e5.openStrip.open ? "~" : "";
2684
+ return [t, r, "#"];
2685
+ }
2686
+ function Zs(e5) {
2687
+ let t = Ee(e5);
2688
+ return [e5.openStrip.close ? "~" : "", t];
2689
+ }
2690
+ function Sn(e5) {
2691
+ let t = ke(e5), r = e5.closeStrip.open ? "~" : "";
2692
+ return [t, r, "/"];
2693
+ }
2694
+ function kn(e5) {
2695
+ let t = Ee(e5);
2696
+ return [e5.closeStrip.close ? "~" : "", t];
2697
+ }
2698
+ function Nn(e5) {
2699
+ let t = ke(e5), r = e5.inverseStrip.open ? "~" : "";
2700
+ return [t, r];
2701
+ }
2702
+ function An(e5) {
2703
+ let t = Ee(e5);
2704
+ return [e5.inverseStrip.close ? "~" : "", t];
2705
+ }
2706
+ function ti(e5, t) {
2707
+ let { node: r } = e5, s = [], n = ve(e5, t);
2708
+ 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)]);
2709
+ }
2710
+ function ei(e5, t) {
2711
+ return [t.htmlWhitespaceSensitivity === "ignore" ? ut : "", Nn(e5), "else", An(e5)];
2712
+ }
2713
+ var ri = ({ path: e5 }, { path: t }) => [e5, t].every((r) => r.type === "PathExpression" && r.head.type === "VarHead") && e5.head.name === t.head.name;
2714
+ function Pn(e5) {
2715
+ 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 false;
2716
+ let { node: t } = e5;
2717
+ return t.path.type === "PathExpression" && t.path.head.type === "VarHead" && t.path.head.name === "if" || ri(t, e5.grandparent);
2718
+ }
2719
+ function ni(e5, t) {
2720
+ let { node: r, grandparent: s } = e5;
2721
+ 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)]);
2722
+ }
2723
+ function si(e5, t, r) {
2724
+ let { node: s } = e5;
2725
+ return t.htmlWhitespaceSensitivity === "ignore" ? [Cn(s) ? H : ut, Sn(s), r("path"), kn(s)] : [Sn(s), r("path"), kn(s)];
2726
+ }
2727
+ function Cn(e5) {
2728
+ return e5.type === "BlockStatement" && e5.program.body.every((t) => Se(t));
2729
+ }
2730
+ function En(e5, t, r) {
2731
+ let { node: s } = e5;
2732
+ if (Cn(s)) return "";
2733
+ let n = r("program");
2734
+ return t.htmlWhitespaceSensitivity === "ignore" ? F([ut, n]) : F(n);
2735
+ }
2736
+ function vn(e5, t, r) {
2737
+ let { node: s } = e5;
2738
+ if (!s.inverse) return "";
2739
+ let n = r("inverse"), i = t.htmlWhitespaceSensitivity === "ignore" ? [ut, n] : n;
2740
+ return e5.call(Pn, "inverse", "body", 0) ? i : [ei(s, t), F(i)];
2741
+ }
2742
+ function wn(e5) {
2743
+ return ct(N, R.split(e5));
2744
+ }
2745
+ function ii(e5) {
2746
+ for (let t = 0; t < 2; t++) {
2747
+ let r = e5.getParentNode(t);
2748
+ if (r?.type === "AttrNode") return r.name.toLowerCase();
2749
+ }
2750
+ }
2751
+ function _t(e5) {
2752
+ return e5 = typeof e5 == "string" ? e5 : "", e5.split(`
2753
+ `).length - 1;
2754
+ }
2755
+ function ai(e5) {
2756
+ e5 = typeof e5 == "string" ? e5 : "";
2757
+ let t = (e5.match(/^([^\S\n\r]*[\n\r])+/gu) || [])[0] || "";
2758
+ return _t(t);
2759
+ }
2760
+ function oi(e5) {
2761
+ e5 = typeof e5 == "string" ? e5 : "";
2762
+ let t = (e5.match(/([\n\r][^\S\n\r]*)+$/gu) || [])[0] || "";
2763
+ return _t(t);
2764
+ }
2765
+ function Kt(e5 = 0) {
2766
+ return Array.from({ length: Math.min(e5, xn) }).fill(ut);
2767
+ }
2768
+ function li(e5, t) {
2769
+ let { node: { value: r } } = e5, s = oe(r, ci(e5) ? !t.singleQuote : t.singleQuote);
2770
+ return [s, St(0, r, s, `\\${s}`), s];
2771
+ }
2772
+ function ci(e5) {
2773
+ let { ancestors: t } = e5, r = t.findIndex((s) => s.type !== "SubExpression");
2774
+ return r !== -1 && t[r + 1].type === "ConcatStatement" && t[r + 2].type === "AttrNode";
2775
+ }
2776
+ function ui(e5, t) {
2777
+ let r = gr(e5, t), s = ve(e5, t);
2778
+ return s ? F([r, N, I(s)]) : r;
2779
+ }
2780
+ function Tn(e5, t) {
2781
+ let r = gr(e5, t), s = ve(e5, t);
2782
+ return s ? [F([r, N, s]), H] : r;
2783
+ }
2784
+ function gr(e5, t) {
2785
+ return t("path");
2786
+ }
2787
+ function ve(e5, t) {
2788
+ let { node: r } = e5, s = [];
2789
+ 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);
2790
+ }
2791
+ function br(e5) {
2792
+ return ["as |", e5.blockParams.join(" "), "|"];
2793
+ }
2794
+ var hi = new Set("!\"#%&'()*+,./;<=>@[\\]^`{|}~");
2795
+ var pi = /* @__PURE__ */ new Set(["true", "false", "null", "undefined"]);
2796
+ var fi = (e5, t) => t === 0 && e5.startsWith("@") ? false : t !== 0 && pi.has(e5) || /\s/u.test(e5) || /^\d/u.test(e5) || Array.prototype.some.call(e5, (r) => hi.has(r));
2797
+ function mi(e5) {
2798
+ return e5.tail.length === 0 && e5.original.includes("/") ? e5.original : [e5.head.original, ...e5.tail].map((r, s) => fi(r, s) ? `[${r}]` : r).join(".");
2799
+ }
2800
+ var di = { features: { experimental_frontMatterSupport: { massageAstNode: true, embed: true, print: true } }, print: js, massageAstNode: Fr, hasPrettierIgnore: yn, getVisitorKeys: dn, embed: Hr };
2801
+ var _n = di;
2802
+ var Ln = [{ name: "Handlebars", type: "markup", aceMode: "handlebars", extensions: [".handlebars", ".hbs"], tmScope: "text.html.handlebars", aliases: ["hbs", "htmlbars"], parsers: ["glimmer"], vscodeLanguageIds: ["handlebars"], linguistLanguageId: 155 }];
2803
+ var yr = {};
2804
+ Oe(yr, { glimmer: () => Ni });
2805
+ function gi(e5, t) {
2580
2806
  let r = new SyntaxError(e5 + " (" + t.loc.start.line + ":" + t.loc.start.column + ")");
2581
2807
  return Object.assign(r, t);
2582
2808
  }
2583
- var qs = fi;
2584
- function mi(e5) {
2809
+ var Dn = gi;
2810
+ var On = /* @__PURE__ */ Symbol.for("PRETTIER_IS_FRONT_MATTER");
2811
+ var Wt = 3;
2812
+ function bi(e5) {
2813
+ let t = e5.slice(0, Wt);
2814
+ if (t !== "---" && t !== "+++") return;
2815
+ let r = e5.indexOf(`
2816
+ `, Wt);
2817
+ if (r === -1) return;
2818
+ let s = e5.slice(Wt, r).trim(), n = e5.indexOf(`
2819
+ ${t}`, r), i = s;
2820
+ if (i || (i = t === "+++" ? "toml" : "yaml"), n === -1 && t === "---" && i === "yaml" && (n = e5.indexOf(`
2821
+ ...`, r)), n === -1) return;
2822
+ let a = n + 1 + Wt, o = e5.charAt(a + 1);
2823
+ if (!/\s?/u.test(o)) return;
2824
+ let c = e5.slice(0, a), h;
2825
+ 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() {
2826
+ return h ?? (h = c.split(`
2827
+ `)), h.length;
2828
+ }, get column() {
2829
+ return h ?? (h = c.split(`
2830
+ `)), V(0, h, -1).length;
2831
+ } }, [On]: true };
2832
+ }
2833
+ function yi(e5) {
2834
+ let t = bi(e5);
2835
+ return t ? { frontMatter: t, get content() {
2836
+ let { raw: r } = t;
2837
+ return St(0, r, /[^\n]/gu, " ") + e5.slice(r.length);
2838
+ } } : { content: e5 };
2839
+ }
2840
+ var In = yi;
2841
+ function Si(e5) {
2585
2842
  let t = e5.children ?? e5.body;
2586
2843
  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, "\\\\"));
2587
2844
  }
2588
- var di = (e5) => {
2845
+ var ki = (e5) => {
2589
2846
  let { start: t, end: r } = e5.loc;
2590
2847
  t.offset = e5.loc.getStart().offset, r.offset = e5.loc.getEnd().offset;
2591
- }, gi = () => ({ name: "glimmerPrettierParsePlugin", visitor: { All(e5) {
2592
- di(e5), mi(e5);
2593
- } } }), bi = { mode: "codemod", plugins: { ast: [gi] } };
2594
- function yi(e5) {
2595
- let t;
2848
+ };
2849
+ var Ei = () => ({ name: "glimmerPrettierParsePlugin", visitor: { All(e5) {
2850
+ ki(e5), Si(e5);
2851
+ } } });
2852
+ var vi = { mode: "codemod", plugins: { ast: [Ei] } };
2853
+ function wi(e5) {
2854
+ let { frontMatter: t, content: r } = In(e5), s;
2596
2855
  try {
2597
- t = Rs(e5, bi);
2598
- } catch (r) {
2599
- let s = Si(r);
2600
- if (s) {
2601
- let n = ki(r);
2602
- throw qs(n, { loc: s, cause: r });
2856
+ s = mn(r, vi);
2857
+ } catch (n) {
2858
+ let i = xi(n);
2859
+ if (i) {
2860
+ let a = Ti(n);
2861
+ throw Dn(a, { loc: i, cause: n });
2603
2862
  }
2604
- throw r;
2863
+ throw n;
2864
+ }
2865
+ if (t) {
2866
+ let n = { ...t, type: "FrontMatter", loc: { start: { ...t.start, offset: t.start.index }, end: { ...t.end, offset: t.end.index } } };
2867
+ s.body.unshift(n);
2605
2868
  }
2606
- return t;
2869
+ return s;
2607
2870
  }
2608
- function ki(e5) {
2871
+ function Ti(e5) {
2609
2872
  let { message: t } = e5, r = t.split(`
2610
2873
  `);
2611
- return r.length >= 4 && /^Parse error on line \d+:$/u.test(r[0]) && /^-*\^$/u.test(G(false, r, -2)) ? G(false, r, -1) : r.length >= 4 && /:\s?$/u.test(r[0]) && /^\(error occurred in '.*?' @ line \d+ : column \d+\)$/u.test(G(false, r, -1)) && r[1] === "" && G(false, r, -2) === "" && r.slice(2, -2).every((s) => s.startsWith("|")) ? r[0].trim().slice(0, -1) : t;
2874
+ 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;
2612
2875
  }
2613
- function Si(e5) {
2876
+ function xi(e5) {
2614
2877
  let { location: t, hash: r } = e5;
2615
2878
  if (t) {
2616
2879
  let { start: s, end: n } = t;
@@ -2621,8 +2884,11 @@ function Si(e5) {
2621
2884
  return { start: { line: s, column: n + 1 } };
2622
2885
  }
2623
2886
  }
2624
- var Ei = { parse: yi, astFormat: "glimmer", locStart: St, locEnd: re };
2625
- var vi = { glimmer: us };
2626
- var Do = xr;
2627
-
2628
- export { Do as default, hs as languages, Cr as parsers, vi as printers };
2887
+ var Ni = { parse: wi, astFormat: "glimmer", locStart: mt, locEnd: Gt };
2888
+ var Ai = { glimmer: _n };
2889
+ export {
2890
+ Bn as default,
2891
+ Ln as languages,
2892
+ yr as parsers,
2893
+ Ai as printers
2894
+ };