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