prettier 1.11.0-rc.1 → 1.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/parser-glimmer.js CHANGED
@@ -4,23 +4,23 @@ var _createClass = function () { function defineProperties(target, props) { for
4
4
 
5
5
  var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
6
6
 
7
+ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
8
+
7
9
  function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
8
10
 
9
11
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
10
12
 
11
13
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
12
14
 
13
- function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
14
-
15
15
  function _interopDefault(t) {
16
16
  return t && "object" == (typeof t === "undefined" ? "undefined" : _typeof(t)) && "default" in t ? t.default : t;
17
- }function createError(t, e) {
17
+ }var fs = _interopDefault(require("fs"));function createError(t, e) {
18
18
  var r = new SyntaxError(t + " (" + e.start.line + ":" + e.start.column + ")");return r.loc = e, r;
19
- }function isCall(t) {
19
+ }var parserCreateError = createError;function isCall(t) {
20
20
  return "SubExpression" === t.type || "MustacheStatement" === t.type && "PathExpression" === t.path.type;
21
21
  }function isLiteral(t) {
22
22
  return !("object" != (typeof t === "undefined" ? "undefined" : _typeof(t)) || !t.type.match(/Literal$/));
23
- }function buildMustache(t, e, r, a, i) {
23
+ }var nodes = Object.freeze({ isCall: isCall, isLiteral: isLiteral });function buildMustache(t, e, r, a, i) {
24
24
  return isLiteral(t) || (t = buildPath(t)), { type: "MustacheStatement", path: t, params: e || [], hash: r || buildHash([]), escaped: !a, loc: buildLoc(i || null) };
25
25
  }function buildBlock(t, e, r, a, i, n) {
26
26
  return { type: "BlockStatement", path: buildPath(t), params: e || [], hash: r || buildHash([]), program: a || null, inverse: i || null, loc: buildLoc(n || null) };
@@ -57,7 +57,7 @@ function _interopDefault(t) {
57
57
  return t || null;
58
58
  }function buildPosition(t, e) {
59
59
  return { line: t, column: e };
60
- }function buildLoc() {
60
+ }var SYNTHETIC = { source: "(synthetic)", start: { line: 1, column: 0 }, end: { line: 1, column: 0 } };function buildLoc() {
61
61
  for (var _len = arguments.length, t = Array(_len), _key = 0; _key < _len; _key++) {
62
62
  t[_key] = arguments[_key];
63
63
  }
@@ -72,11 +72,19 @@ function _interopDefault(t) {
72
72
  n = t[4];
73
73
  return { source: buildSource(n), start: buildPosition(_e, r), end: buildPosition(a, i) };
74
74
  }
75
- }function literal(t) {
75
+ }var b = { mustache: buildMustache, block: buildBlock, partial: buildPartial, comment: buildComment, mustacheComment: buildMustacheComment, element: buildElement, elementModifier: buildElementModifier, attr: buildAttr, text: buildText, sexpr: buildSexpr, path: buildPath, concat: buildConcat, hash: buildHash, pair: buildPair, literal: buildLiteral, program: buildProgram, loc: buildLoc, pos: buildPosition, string: literal("StringLiteral"), boolean: literal("BooleanLiteral"), number: literal("NumberLiteral"), undefined: function undefined() {
76
+ return buildLiteral("UndefinedLiteral", void 0);
77
+ }, null: function _null() {
78
+ return buildLiteral("NullLiteral", null);
79
+ } };function literal(t) {
76
80
  return function (e) {
77
81
  return buildLiteral(t, e);
78
82
  };
79
- }function parseElementBlockParams(t) {
83
+ }var SyntaxError$1 = function () {
84
+ function t(t, e) {
85
+ var r = Error.call(this, t);this.message = t, this.stack = r.stack, this.location = e;
86
+ }return t.prototype = Object.create(Error.prototype), t.prototype.constructor = t, t;
87
+ }();var ID_INVERSE_PATTERN = /[!"#%-,\.\/;->@\[-\^`\{-~]/;function parseElementBlockParams(t) {
80
88
  var e = parseBlockParams(t);e && (t.blockParams = e);
81
89
  }function parseBlockParams(t) {
82
90
  var e = t.attributes.length,
@@ -99,195 +107,7 @@ function _interopDefault(t) {
99
107
  return "StringLiteral" === t.type || "BooleanLiteral" === t.type || "NumberLiteral" === t.type || "NullLiteral" === t.type || "UndefinedLiteral" === t.type;
100
108
  }function printLiteral(t) {
101
109
  return "UndefinedLiteral" === t.type ? "undefined" : JSON.stringify(t.value);
102
- }function isSpace(t) {
103
- return WSP.test(t);
104
- }function isAlpha(t) {
105
- return ALPHA.test(t);
106
- }function preprocessInput(t) {
107
- return t.replace(CRLF, "\n");
108
- }function unwrap(t, e) {
109
- if (!t) throw new Error((e || "value") + " was null");return t;
110
- }function debugAssert(t, e) {
111
- if (!t) throw new Error(e || "assertion failure");
112
- }function assign(t) {
113
- for (var e = 1; e < arguments.length; e++) {
114
- var r = arguments[e];if (null === r || "object" != (typeof r === "undefined" ? "undefined" : _typeof(r))) continue;var a = objKeys(r);for (var _e3 = 0; _e3 < a.length; _e3++) {
115
- var i = a[_e3];t[i] = r[i];
116
- }
117
- }return t;
118
- }function calculateRightStrippedOffsets(t, e) {
119
- if ("" === e) return { lines: t.split("\n").length - 1, columns: 0 };var r = t.split(e)[0].split(/\n/),
120
- a = r.length - 1;return { lines: a, columns: r[a].length };
121
- }function updateTokenizerLocation(t, e) {
122
- var r = e.loc.start.line,
123
- a = e.loc.start.column,
124
- i = calculateRightStrippedOffsets(e.original, e.value);r += i.lines, i.lines ? a = i.columns : a += i.columns, t.line = r, t.column = a;
125
- }function acceptCallNodes(t, e) {
126
- return { path: t.PathExpression(e.path), params: e.params ? e.params.map(function (e) {
127
- return t.acceptNode(e);
128
- }) : [], hash: e.hash ? t.Hash(e.hash) : b.hash() };
129
- }function addElementModifier(t, e) {
130
- var r = e.path,
131
- a = e.params,
132
- i = e.hash,
133
- n = e.loc;
134
- if (isLiteral$1(r)) {
135
- var _a2 = "{{" + printLiteral(r) + "}}",
136
- _i = "<" + t.name + " ... " + _a2 + " ...";throw new SyntaxError$1("In " + _i + ", " + _a2 + " is not a valid modifier: \"" + r.original + "\" on line " + (n && n.start.line) + ".", e.loc);
137
- }var s = b.elementModifier(r, a, i, n);t.modifiers.push(s);
138
- }function addInElementHash(t, e, r) {
139
- var a = !1;e.pairs.forEach(function (t) {
140
- if ("guid" === t.key) throw new SyntaxError$1("Cannot pass `guid` from user space", r);"nextSibling" === t.key && (a = !0);
141
- });var i = b.literal("StringLiteral", t),
142
- n = b.pair("guid", i);if (e.pairs.unshift(n), !a) {
143
- var _t = b.literal("NullLiteral", null),
144
- _r = b.pair("nextSibling", _t);e.pairs.push(_r);
145
- }return e;
146
- }function appendDynamicAttributeValuePart(t, e) {
147
- t.isDynamic = !0, t.parts.push(e);
148
- }function cannotRemoveNode(t, e, r) {
149
- return new TraversalError("Cannot remove a node unless it is part of an array", t, e, r);
150
- }function cannotReplaceNode(t, e, r) {
151
- return new TraversalError("Cannot replace a node with multiple nodes unless it is part of an array", t, e, r);
152
- }function cannotReplaceOrRemoveInKeyHandlerYet(t, e) {
153
- return new TraversalError("Replacing and removing in key handlers is not yet supported.", t, null, e);
154
- }function visitNode(t, e) {
155
- var r = void 0,
156
- a = t[e.type] || t.All || null;if (a && a.enter && (r = a.enter.call(null, e)), void 0 !== r && null !== r) {
157
- if (JSON.stringify(e) !== JSON.stringify(r)) return Array.isArray(r) ? visitArray(t, r) || r : visitNode(t, r) || r;r = void 0;
158
- }if (void 0 === r) {
159
- var i = visitorKeys[e.type];for (var _r2 = 0; _r2 < i.length; _r2++) {
160
- visitKey(t, a, e, i[_r2]);
161
- }a && a.exit && (r = a.exit.call(null, e));
162
- }return r;
163
- }function visitKey(t, e, r, a) {
164
- var i = r[a];if (!i) return;var n = void 0,
165
- s = e && (e.keys[a] || e.keys.All);if (s && s.enter && void 0 !== (n = s.enter.call(null, r, a))) throw cannotReplaceOrRemoveInKeyHandlerYet(r, a);if (Array.isArray(i)) visitArray(t, i);else {
166
- var _e4 = visitNode(t, i);void 0 !== _e4 && assignKey(r, a, _e4);
167
- }if (s && s.exit && void 0 !== (n = s.exit.call(null, r, a))) throw cannotReplaceOrRemoveInKeyHandlerYet(r, a);
168
- }function visitArray(t, e) {
169
- for (var r = 0; r < e.length; r++) {
170
- var a = visitNode(t, e[r]);void 0 !== a && (r += spliceArray(e, r, a) - 1);
171
- }
172
- }function assignKey(t, e, r) {
173
- if (null === r) throw cannotRemoveNode(t[e], t, e);if (Array.isArray(r)) {
174
- if (1 !== r.length) throw 0 === r.length ? cannotRemoveNode(t[e], t, e) : cannotReplaceNode(t[e], t, e);t[e] = r[0];
175
- } else t[e] = r;
176
- }function spliceArray(t, e, r) {
177
- return null === r ? (t.splice(e, 1), 0) : Array.isArray(r) ? (t.splice.apply(t, [e, 1].concat(_toConsumableArray(r))), r.length) : (t.splice(e, 1, r), 1);
178
- }function traverse(t, e) {
179
- visitNode(normalizeVisitor(e), t);
180
- }function normalizeVisitor(t) {
181
- var e = {};for (var r in t) {
182
- var a = t[r] || t.All,
183
- i = {};if ("object" == (typeof a === "undefined" ? "undefined" : _typeof(a))) {
184
- var _t2 = a.keys;if (_t2) for (var _e5 in _t2) {
185
- var _r3 = _t2[_e5];"object" == (typeof _r3 === "undefined" ? "undefined" : _typeof(_r3)) ? i[_e5] = { enter: "function" == typeof _r3.enter ? _r3.enter : null, exit: "function" == typeof _r3.exit ? _r3.exit : null } : "function" == typeof _r3 && (i[_e5] = { enter: _r3, exit: null });
186
- }e[r] = { enter: "function" == typeof a.enter ? a.enter : null, exit: "function" == typeof a.exit ? a.exit : null, keys: i };
187
- } else "function" == typeof a && (e[r] = { enter: a, exit: null, keys: i });
188
- }return e;
189
- }function unreachable$1() {
190
- throw new Error("unreachable");
191
- }function build(t) {
192
- if (!t) return "";var e = [];switch (t.type) {case "Program":
193
- {
194
- var _r4 = t.chained && t.body[0];_r4 && (_r4.chained = !0);var a = buildEach(t.body).join("");e.push(a);
195
- }break;case "ElementNode":
196
- e.push("<", t.tag), t.attributes.length && e.push(" ", buildEach(t.attributes).join(" ")), t.modifiers.length && e.push(" ", buildEach(t.modifiers).join(" ")), t.comments.length && e.push(" ", buildEach(t.comments).join(" ")), e.push(">"), e.push.apply(e, buildEach(t.children)), e.push("</", t.tag, ">");break;case "AttrNode":
197
- e.push(t.name, "=");var r = build(t.value);"TextNode" === t.value.type ? e.push('"', r, '"') : e.push(r);break;case "ConcatStatement":
198
- e.push('"'), t.parts.forEach(function (t) {
199
- "StringLiteral" === t.type ? e.push(t.original) : e.push(build(t));
200
- }), e.push('"');break;case "TextNode":
201
- e.push(t.chars);break;case "MustacheStatement":
202
- e.push(compactJoin(["{{", pathParams(t), "}}"]));break;case "MustacheCommentStatement":
203
- e.push(compactJoin(["{{!--", t.value, "--}}"]));break;case "ElementModifierStatement":
204
- e.push(compactJoin(["{{", pathParams(t), "}}"]));break;case "PathExpression":
205
- e.push(t.original);break;case "SubExpression":
206
- e.push("(", pathParams(t), ")");break;case "BooleanLiteral":
207
- e.push(t.value ? "true" : "false");break;case "BlockStatement":
208
- {
209
- var _r5 = [];t.chained ? _r5.push(["{{else ", pathParams(t), "}}"].join("")) : _r5.push(openBlock(t)), _r5.push(build(t.program)), t.inverse && (t.inverse.chained || _r5.push("{{else}}"), _r5.push(build(t.inverse))), t.chained || _r5.push(closeBlock(t)), e.push(_r5.join(""));
210
- }break;case "PartialStatement":
211
- e.push(compactJoin(["{{>", pathParams(t), "}}"]));break;case "CommentStatement":
212
- e.push(compactJoin(["\x3c!--", t.value, "--\x3e"]));break;case "StringLiteral":
213
- e.push("\"" + t.value + "\"");break;case "NumberLiteral":
214
- e.push(String(t.value));break;case "UndefinedLiteral":
215
- e.push("undefined");break;case "NullLiteral":
216
- e.push("null");break;case "Hash":
217
- e.push(t.pairs.map(function (t) {
218
- return build(t);
219
- }).join(" "));break;case "HashPair":
220
- e.push(t.key + "=" + build(t.value));}return e.join("");
221
- }function compact(t) {
222
- var e = [];return t.forEach(function (t) {
223
- void 0 !== t && null !== t && "" !== t && e.push(t);
224
- }), e;
225
- }function buildEach(t) {
226
- return t.map(build);
227
- }function pathParams(t) {
228
- var e = void 0;switch (t.type) {case "MustacheStatement":case "SubExpression":case "ElementModifierStatement":case "BlockStatement":
229
- if (isLiteral(t.path)) return String(t.path.value);e = build(t.path);break;case "PartialStatement":
230
- e = build(t.name);break;default:
231
- return unreachable$1();}return compactJoin([e, buildEach(t.params).join(" "), build(t.hash)], " ");
232
- }function compactJoin(t, e) {
233
- return compact(t).join(e || "");
234
- }function blockParams(t) {
235
- var e = t.program.blockParams;return e.length ? " as |" + e.join(" ") + "|" : null;
236
- }function openBlock(t) {
237
- return ["{{#", pathParams(t), blockParams(t), "}}"].join("");
238
- }function closeBlock(t) {
239
- return ["{{/", build(t.path), "}}"].join("");
240
- }function unwrapExports(t) {
241
- return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
242
- }function createCommonjsModule(t, e) {
243
- return e = { exports: {} }, t(e, e.exports), e.exports;
244
- }function extension(t, e) {
245
- var r = fs.readFileSync(e, "utf8");t.exports = handlebars.compile(r);
246
- }function assembleAttributeValue(t, e, r, a) {
247
- if (r) {
248
- if (e) return assembleConcatenatedValue(t);if (1 === t.length || 2 === t.length && "TextNode" === t[1].type && "/" === t[1].chars) return t[0];throw new SyntaxError$1("An unquoted attribute value must be a string or a mustache, preceeded by whitespace or a '=' character, and " + ("followed by whitespace, a '>' character, or '/>' (on line " + a + ")"), b.loc(a, 0));
249
- }return t.length > 0 ? t[0] : b.text("");
250
- }function assembleConcatenatedValue(t) {
251
- for (var e = 0; e < t.length; e++) {
252
- var r = t[e];if ("MustacheStatement" !== r.type && "TextNode" !== r.type) throw new SyntaxError$1("Unsupported node in quoted attribute value: " + r.type, r.loc);
253
- }return b.concat(t);
254
- }function validateEndTag(t, e, r) {
255
- var a = void 0;if (voidMap[t.name] && !r ? a = "Invalid end tag " + formatEndTagInfo(t) + " (void elements cannot have end tags)." : void 0 === e.tag ? a = "Closing tag " + formatEndTagInfo(t) + " without an open tag." : e.tag !== t.name && (a = "Closing tag " + formatEndTagInfo(t) + " did not match last open tag `" + e.tag + "` (on line " + e.loc.start.line + ")."), a) throw new SyntaxError$1(a, e.loc);
256
- }function formatEndTagInfo(t) {
257
- return "`" + t.name + "` (on line " + t.loc.end.line + ")";
258
- }function preprocess(t, e) {
259
- var r = "object" == (typeof t === "undefined" ? "undefined" : _typeof(t)) ? t : lib_1(t),
260
- a = new TokenizerEventHandlers(t, e).acceptNode(r);if (e && e.plugins && e.plugins.ast) for (var _t3 = 0, _r6 = e.plugins.ast.length; _t3 < _r6; _t3++) {
261
- traverse(a, (0, e.plugins.ast[_t3])(assign({}, e, { syntax: syntax }, { plugins: void 0 })).visitor);
262
- }return a;
263
- }function removeEmptyNodes(t) {
264
- return "TextNode" !== t.type || "TextNode" === t.type && "" !== t.chars.replace(/^\s+/, "").replace(/\s+$/, "");
265
- }function removeWhiteSpace() {
266
- return { visitor: {
267
- Program: function Program(t) {
268
- t.body = t.body.filter(removeEmptyNodes);
269
- },
270
- ElementNode: function ElementNode(t) {
271
- t.children = t.children.filter(removeEmptyNodes);
272
- }
273
- } };
274
- }function parse(t) {
275
- try {
276
- return (0, es2017.preprocess)(t, { plugins: { ast: [removeWhiteSpace] } });
277
- } catch (t) {
278
- var e = t.message.match(/on line (\d+)/);throw e ? parserCreateError(t.message, { start: { line: +e[1], column: 0 }, end: { line: +e[1], column: 80 } }) : t;
279
- }
280
- }var fs = _interopDefault(require("fs")),
281
- parserCreateError = createError,
282
- nodes = Object.freeze({ isCall: isCall, isLiteral: isLiteral });var SYNTHETIC = { source: "(synthetic)", start: { line: 1, column: 0 }, end: { line: 1, column: 0 } };var b = { mustache: buildMustache, block: buildBlock, partial: buildPartial, comment: buildComment, mustacheComment: buildMustacheComment, element: buildElement, elementModifier: buildElementModifier, attr: buildAttr, text: buildText, sexpr: buildSexpr, path: buildPath, concat: buildConcat, hash: buildHash, pair: buildPair, literal: buildLiteral, program: buildProgram, loc: buildLoc, pos: buildPosition, string: literal("StringLiteral"), boolean: literal("BooleanLiteral"), number: literal("NumberLiteral"), undefined: function undefined() {
283
- return buildLiteral("UndefinedLiteral", void 0);
284
- }, null: function _null() {
285
- return buildLiteral("NullLiteral", null);
286
- } };var SyntaxError$1 = function () {
287
- function t(t, e) {
288
- var r = Error.call(this, t);this.message = t, this.stack = r.stack, this.location = e;
289
- }return t.prototype = Object.create(Error.prototype), t.prototype.constructor = t, t;
290
- }();var ID_INVERSE_PATTERN = /[!"#%-,\.\/;->@\[-\^`\{-~]/;var namedCharRefs = { Aacute: "Á", aacute: "á", Abreve: "Ă", abreve: "ă", ac: "∾", acd: "∿", acE: "∾̳", Acirc: "Â", acirc: "â", acute: "´", Acy: "А", acy: "а", AElig: "Æ", aelig: "æ", af: "⁡", Afr: "𝔄", afr: "𝔞", Agrave: "À", agrave: "à", alefsym: "ℵ", aleph: "ℵ", Alpha: "Α", alpha: "α", Amacr: "Ā", amacr: "ā", amalg: "⨿", AMP: "&", amp: "&", And: "⩓", and: "∧", andand: "⩕", andd: "⩜", andslope: "⩘", andv: "⩚", ang: "∠", ange: "⦤", angle: "∠", angmsd: "∡", angmsdaa: "⦨", angmsdab: "⦩", angmsdac: "⦪", angmsdad: "⦫", angmsdae: "⦬", angmsdaf: "⦭", angmsdag: "⦮", angmsdah: "⦯", angrt: "∟", angrtvb: "⊾", angrtvbd: "⦝", angsph: "∢", angst: "Å", angzarr: "⍼", Aogon: "Ą", aogon: "ą", Aopf: "𝔸", aopf: "𝕒", ap: "≈", apacir: "⩯", apE: "⩰", ape: "≊", apid: "≋", apos: "'", ApplyFunction: "⁡", approx: "≈", approxeq: "≊", Aring: "Å", aring: "å", Ascr: "𝒜", ascr: "𝒶", Assign: "≔", ast: "*", asymp: "≈", asympeq: "≍", Atilde: "Ã", atilde: "ã", Auml: "Ä", auml: "ä", awconint: "∳", awint: "⨑", backcong: "≌", backepsilon: "϶", backprime: "‵", backsim: "∽", backsimeq: "⋍", Backslash: "∖", Barv: "⫧", barvee: "⊽", Barwed: "⌆", barwed: "⌅", barwedge: "⌅", bbrk: "⎵", bbrktbrk: "⎶", bcong: "≌", Bcy: "Б", bcy: "б", bdquo: "„", becaus: "∵", Because: "∵", because: "∵", bemptyv: "⦰", bepsi: "϶", bernou: "ℬ", Bernoullis: "ℬ", Beta: "Β", beta: "β", beth: "ℶ", between: "≬", Bfr: "𝔅", bfr: "𝔟", bigcap: "⋂", bigcirc: "◯", bigcup: "⋃", bigodot: "⨀", bigoplus: "⨁", bigotimes: "⨂", bigsqcup: "⨆", bigstar: "★", bigtriangledown: "▽", bigtriangleup: "△", biguplus: "⨄", bigvee: "⋁", bigwedge: "⋀", bkarow: "⤍", blacklozenge: "⧫", blacksquare: "▪", blacktriangle: "▴", blacktriangledown: "▾", blacktriangleleft: "◂", blacktriangleright: "▸", blank: "␣", blk12: "▒", blk14: "░", blk34: "▓", block: "█", bne: "=⃥", bnequiv: "≡⃥", bNot: "⫭", bnot: "⌐", Bopf: "𝔹", bopf: "𝕓", bot: "⊥", bottom: "⊥", bowtie: "⋈", boxbox: "⧉", boxDL: "╗", boxDl: "╖", boxdL: "╕", boxdl: "┐", boxDR: "╔", boxDr: "╓", boxdR: "╒", boxdr: "┌", boxH: "═", boxh: "─", boxHD: "╦", boxHd: "╤", boxhD: "╥", boxhd: "┬", boxHU: "╩", boxHu: "╧", boxhU: "╨", boxhu: "┴", boxminus: "⊟", boxplus: "⊞", boxtimes: "⊠", boxUL: "╝", boxUl: "╜", boxuL: "╛", boxul: "┘", boxUR: "╚", boxUr: "╙", boxuR: "╘", boxur: "└", boxV: "║", boxv: "│", boxVH: "╬", boxVh: "╫", boxvH: "╪", boxvh: "┼", boxVL: "╣", boxVl: "╢", boxvL: "╡", boxvl: "┤", boxVR: "╠", boxVr: "╟", boxvR: "╞", boxvr: "├", bprime: "‵", Breve: "˘", breve: "˘", brvbar: "¦", Bscr: "ℬ", bscr: "𝒷", bsemi: "⁏", bsim: "∽", bsime: "⋍", bsol: "\\", bsolb: "⧅", bsolhsub: "⟈", bull: "•", bullet: "•", bump: "≎", bumpE: "⪮", bumpe: "≏", Bumpeq: "≎", bumpeq: "≏", Cacute: "Ć", cacute: "ć", Cap: "⋒", cap: "∩", capand: "⩄", capbrcup: "⩉", capcap: "⩋", capcup: "⩇", capdot: "⩀", CapitalDifferentialD: "ⅅ", caps: "∩︀", caret: "⁁", caron: "ˇ", Cayleys: "ℭ", ccaps: "⩍", Ccaron: "Č", ccaron: "č", Ccedil: "Ç", ccedil: "ç", Ccirc: "Ĉ", ccirc: "ĉ", Cconint: "∰", ccups: "⩌", ccupssm: "⩐", Cdot: "Ċ", cdot: "ċ", cedil: "¸", Cedilla: "¸", cemptyv: "⦲", cent: "¢", CenterDot: "·", centerdot: "·", Cfr: "ℭ", cfr: "𝔠", CHcy: "Ч", chcy: "ч", check: "✓", checkmark: "✓", Chi: "Χ", chi: "χ", cir: "○", circ: "ˆ", circeq: "≗", circlearrowleft: "↺", circlearrowright: "↻", circledast: "⊛", circledcirc: "⊚", circleddash: "⊝", CircleDot: "⊙", circledR: "®", circledS: "Ⓢ", CircleMinus: "⊖", CirclePlus: "⊕", CircleTimes: "⊗", cirE: "⧃", cire: "≗", cirfnint: "⨐", cirmid: "⫯", cirscir: "⧂", ClockwiseContourIntegral: "∲", CloseCurlyDoubleQuote: "”", CloseCurlyQuote: "’", clubs: "♣", clubsuit: "♣", Colon: "∷", colon: ":", Colone: "⩴", colone: "≔", coloneq: "≔", comma: ",", commat: "@", comp: "∁", compfn: "∘", complement: "∁", complexes: "ℂ", cong: "≅", congdot: "⩭", Congruent: "≡", Conint: "∯", conint: "∮", ContourIntegral: "∮", Copf: "ℂ", copf: "𝕔", coprod: "∐", Coproduct: "∐", COPY: "©", copy: "©", copysr: "℗", CounterClockwiseContourIntegral: "∳", crarr: "↵", Cross: "⨯", cross: "✗", Cscr: "𝒞", cscr: "𝒸", csub: "⫏", csube: "⫑", csup: "⫐", csupe: "⫒", ctdot: "⋯", cudarrl: "⤸", cudarrr: "⤵", cuepr: "⋞", cuesc: "⋟", cularr: "↶", cularrp: "⤽", Cup: "⋓", cup: "∪", cupbrcap: "⩈", CupCap: "≍", cupcap: "⩆", cupcup: "⩊", cupdot: "⊍", cupor: "⩅", cups: "∪︀", curarr: "↷", curarrm: "⤼", curlyeqprec: "⋞", curlyeqsucc: "⋟", curlyvee: "⋎", curlywedge: "⋏", curren: "¤", curvearrowleft: "↶", curvearrowright: "↷", cuvee: "⋎", cuwed: "⋏", cwconint: "∲", cwint: "∱", cylcty: "⌭", Dagger: "‡", dagger: "†", daleth: "ℸ", Darr: "↡", dArr: "⇓", darr: "↓", dash: "‐", Dashv: "⫤", dashv: "⊣", dbkarow: "⤏", dblac: "˝", Dcaron: "Ď", dcaron: "ď", Dcy: "Д", dcy: "д", DD: "ⅅ", dd: "ⅆ", ddagger: "‡", ddarr: "⇊", DDotrahd: "⤑", ddotseq: "⩷", deg: "°", Del: "∇", Delta: "Δ", delta: "δ", demptyv: "⦱", dfisht: "⥿", Dfr: "𝔇", dfr: "𝔡", dHar: "⥥", dharl: "⇃", dharr: "⇂", DiacriticalAcute: "´", DiacriticalDot: "˙", DiacriticalDoubleAcute: "˝", DiacriticalGrave: "`", DiacriticalTilde: "˜", diam: "⋄", Diamond: "⋄", diamond: "⋄", diamondsuit: "♦", diams: "♦", die: "¨", DifferentialD: "ⅆ", digamma: "ϝ", disin: "⋲", div: "÷", divide: "÷", divideontimes: "⋇", divonx: "⋇", DJcy: "Ђ", djcy: "ђ", dlcorn: "⌞", dlcrop: "⌍", dollar: "$", Dopf: "𝔻", dopf: "𝕕", Dot: "¨", dot: "˙", DotDot: "⃜", doteq: "≐", doteqdot: "≑", DotEqual: "≐", dotminus: "∸", dotplus: "∔", dotsquare: "⊡", doublebarwedge: "⌆", DoubleContourIntegral: "∯", DoubleDot: "¨", DoubleDownArrow: "⇓", DoubleLeftArrow: "⇐", DoubleLeftRightArrow: "⇔", DoubleLeftTee: "⫤", DoubleLongLeftArrow: "⟸", DoubleLongLeftRightArrow: "⟺", DoubleLongRightArrow: "⟹", DoubleRightArrow: "⇒", DoubleRightTee: "⊨", DoubleUpArrow: "⇑", DoubleUpDownArrow: "⇕", DoubleVerticalBar: "∥", DownArrow: "↓", Downarrow: "⇓", downarrow: "↓", DownArrowBar: "⤓", DownArrowUpArrow: "⇵", DownBreve: "̑", downdownarrows: "⇊", downharpoonleft: "⇃", downharpoonright: "⇂", DownLeftRightVector: "⥐", DownLeftTeeVector: "⥞", DownLeftVector: "↽", DownLeftVectorBar: "⥖", DownRightTeeVector: "⥟", DownRightVector: "⇁", DownRightVectorBar: "⥗", DownTee: "⊤", DownTeeArrow: "↧", drbkarow: "⤐", drcorn: "⌟", drcrop: "⌌", Dscr: "𝒟", dscr: "𝒹", DScy: "Ѕ", dscy: "ѕ", dsol: "⧶", Dstrok: "Đ", dstrok: "đ", dtdot: "⋱", dtri: "▿", dtrif: "▾", duarr: "⇵", duhar: "⥯", dwangle: "⦦", DZcy: "Џ", dzcy: "џ", dzigrarr: "⟿", Eacute: "É", eacute: "é", easter: "⩮", Ecaron: "Ě", ecaron: "ě", ecir: "≖", Ecirc: "Ê", ecirc: "ê", ecolon: "≕", Ecy: "Э", ecy: "э", eDDot: "⩷", Edot: "Ė", eDot: "≑", edot: "ė", ee: "ⅇ", efDot: "≒", Efr: "𝔈", efr: "𝔢", eg: "⪚", Egrave: "È", egrave: "è", egs: "⪖", egsdot: "⪘", el: "⪙", Element: "∈", elinters: "⏧", ell: "ℓ", els: "⪕", elsdot: "⪗", Emacr: "Ē", emacr: "ē", empty: "∅", emptyset: "∅", EmptySmallSquare: "◻", emptyv: "∅", EmptyVerySmallSquare: "▫", emsp: " ", emsp13: " ", emsp14: " ", ENG: "Ŋ", eng: "ŋ", ensp: " ", Eogon: "Ę", eogon: "ę", Eopf: "𝔼", eopf: "𝕖", epar: "⋕", eparsl: "⧣", eplus: "⩱", epsi: "ε", Epsilon: "Ε", epsilon: "ε", epsiv: "ϵ", eqcirc: "≖", eqcolon: "≕", eqsim: "≂", eqslantgtr: "⪖", eqslantless: "⪕", Equal: "⩵", equals: "=", EqualTilde: "≂", equest: "≟", Equilibrium: "⇌", equiv: "≡", equivDD: "⩸", eqvparsl: "⧥", erarr: "⥱", erDot: "≓", Escr: "ℰ", escr: "ℯ", esdot: "≐", Esim: "⩳", esim: "≂", Eta: "Η", eta: "η", ETH: "Ð", eth: "ð", Euml: "Ë", euml: "ë", euro: "€", excl: "!", exist: "∃", Exists: "∃", expectation: "ℰ", ExponentialE: "ⅇ", exponentiale: "ⅇ", fallingdotseq: "≒", Fcy: "Ф", fcy: "ф", female: "♀", ffilig: "ffi", fflig: "ff", ffllig: "ffl", Ffr: "𝔉", ffr: "𝔣", filig: "fi", FilledSmallSquare: "◼", FilledVerySmallSquare: "▪", fjlig: "fj", flat: "♭", fllig: "fl", fltns: "▱", fnof: "ƒ", Fopf: "𝔽", fopf: "𝕗", ForAll: "∀", forall: "∀", fork: "⋔", forkv: "⫙", Fouriertrf: "ℱ", fpartint: "⨍", frac12: "½", frac13: "⅓", frac14: "¼", frac15: "⅕", frac16: "⅙", frac18: "⅛", frac23: "⅔", frac25: "⅖", frac34: "¾", frac35: "⅗", frac38: "⅜", frac45: "⅘", frac56: "⅚", frac58: "⅝", frac78: "⅞", frasl: "⁄", frown: "⌢", Fscr: "ℱ", fscr: "𝒻", gacute: "ǵ", Gamma: "Γ", gamma: "γ", Gammad: "Ϝ", gammad: "ϝ", gap: "⪆", Gbreve: "Ğ", gbreve: "ğ", Gcedil: "Ģ", Gcirc: "Ĝ", gcirc: "ĝ", Gcy: "Г", gcy: "г", Gdot: "Ġ", gdot: "ġ", gE: "≧", ge: "≥", gEl: "⪌", gel: "⋛", geq: "≥", geqq: "≧", geqslant: "⩾", ges: "⩾", gescc: "⪩", gesdot: "⪀", gesdoto: "⪂", gesdotol: "⪄", gesl: "⋛︀", gesles: "⪔", Gfr: "𝔊", gfr: "𝔤", Gg: "⋙", gg: "≫", ggg: "⋙", gimel: "ℷ", GJcy: "Ѓ", gjcy: "ѓ", gl: "≷", gla: "⪥", glE: "⪒", glj: "⪤", gnap: "⪊", gnapprox: "⪊", gnE: "≩", gne: "⪈", gneq: "⪈", gneqq: "≩", gnsim: "⋧", Gopf: "𝔾", gopf: "𝕘", grave: "`", GreaterEqual: "≥", GreaterEqualLess: "⋛", GreaterFullEqual: "≧", GreaterGreater: "⪢", GreaterLess: "≷", GreaterSlantEqual: "⩾", GreaterTilde: "≳", Gscr: "𝒢", gscr: "ℊ", gsim: "≳", gsime: "⪎", gsiml: "⪐", GT: ">", Gt: "≫", gt: ">", gtcc: "⪧", gtcir: "⩺", gtdot: "⋗", gtlPar: "⦕", gtquest: "⩼", gtrapprox: "⪆", gtrarr: "⥸", gtrdot: "⋗", gtreqless: "⋛", gtreqqless: "⪌", gtrless: "≷", gtrsim: "≳", gvertneqq: "≩︀", gvnE: "≩︀", Hacek: "ˇ", hairsp: " ", half: "½", hamilt: "ℋ", HARDcy: "Ъ", hardcy: "ъ", hArr: "⇔", harr: "↔", harrcir: "⥈", harrw: "↭", Hat: "^", hbar: "ℏ", Hcirc: "Ĥ", hcirc: "ĥ", hearts: "♥", heartsuit: "♥", hellip: "…", hercon: "⊹", Hfr: "ℌ", hfr: "𝔥", HilbertSpace: "ℋ", hksearow: "⤥", hkswarow: "⤦", hoarr: "⇿", homtht: "∻", hookleftarrow: "↩", hookrightarrow: "↪", Hopf: "ℍ", hopf: "𝕙", horbar: "―", HorizontalLine: "─", Hscr: "ℋ", hscr: "𝒽", hslash: "ℏ", Hstrok: "Ħ", hstrok: "ħ", HumpDownHump: "≎", HumpEqual: "≏", hybull: "⁃", hyphen: "‐", Iacute: "Í", iacute: "í", ic: "⁣", Icirc: "Î", icirc: "î", Icy: "И", icy: "и", Idot: "İ", IEcy: "Е", iecy: "е", iexcl: "¡", iff: "⇔", Ifr: "ℑ", ifr: "𝔦", Igrave: "Ì", igrave: "ì", ii: "ⅈ", iiiint: "⨌", iiint: "∭", iinfin: "⧜", iiota: "℩", IJlig: "IJ", ijlig: "ij", Im: "ℑ", Imacr: "Ī", imacr: "ī", image: "ℑ", ImaginaryI: "ⅈ", imagline: "ℐ", imagpart: "ℑ", imath: "ı", imof: "⊷", imped: "Ƶ", Implies: "⇒", in: "∈", incare: "℅", infin: "∞", infintie: "⧝", inodot: "ı", Int: "∬", int: "∫", intcal: "⊺", integers: "ℤ", Integral: "∫", intercal: "⊺", Intersection: "⋂", intlarhk: "⨗", intprod: "⨼", InvisibleComma: "⁣", InvisibleTimes: "⁢", IOcy: "Ё", iocy: "ё", Iogon: "Į", iogon: "į", Iopf: "𝕀", iopf: "𝕚", Iota: "Ι", iota: "ι", iprod: "⨼", iquest: "¿", Iscr: "ℐ", iscr: "𝒾", isin: "∈", isindot: "⋵", isinE: "⋹", isins: "⋴", isinsv: "⋳", isinv: "∈", it: "⁢", Itilde: "Ĩ", itilde: "ĩ", Iukcy: "І", iukcy: "і", Iuml: "Ï", iuml: "ï", Jcirc: "Ĵ", jcirc: "ĵ", Jcy: "Й", jcy: "й", Jfr: "𝔍", jfr: "𝔧", jmath: "ȷ", Jopf: "𝕁", jopf: "𝕛", Jscr: "𝒥", jscr: "𝒿", Jsercy: "Ј", jsercy: "ј", Jukcy: "Є", jukcy: "є", Kappa: "Κ", kappa: "κ", kappav: "ϰ", Kcedil: "Ķ", kcedil: "ķ", Kcy: "К", kcy: "к", Kfr: "𝔎", kfr: "𝔨", kgreen: "ĸ", KHcy: "Х", khcy: "х", KJcy: "Ќ", kjcy: "ќ", Kopf: "𝕂", kopf: "𝕜", Kscr: "𝒦", kscr: "𝓀", lAarr: "⇚", Lacute: "Ĺ", lacute: "ĺ", laemptyv: "⦴", lagran: "ℒ", Lambda: "Λ", lambda: "λ", Lang: "⟪", lang: "⟨", langd: "⦑", langle: "⟨", lap: "⪅", Laplacetrf: "ℒ", laquo: "«", Larr: "↞", lArr: "⇐", larr: "←", larrb: "⇤", larrbfs: "⤟", larrfs: "⤝", larrhk: "↩", larrlp: "↫", larrpl: "⤹", larrsim: "⥳", larrtl: "↢", lat: "⪫", lAtail: "⤛", latail: "⤙", late: "⪭", lates: "⪭︀", lBarr: "⤎", lbarr: "⤌", lbbrk: "❲", lbrace: "{", lbrack: "[", lbrke: "⦋", lbrksld: "⦏", lbrkslu: "⦍", Lcaron: "Ľ", lcaron: "ľ", Lcedil: "Ļ", lcedil: "ļ", lceil: "⌈", lcub: "{", Lcy: "Л", lcy: "л", ldca: "⤶", ldquo: "“", ldquor: "„", ldrdhar: "⥧", ldrushar: "⥋", ldsh: "↲", lE: "≦", le: "≤", LeftAngleBracket: "⟨", LeftArrow: "←", Leftarrow: "⇐", leftarrow: "←", LeftArrowBar: "⇤", LeftArrowRightArrow: "⇆", leftarrowtail: "↢", LeftCeiling: "⌈", LeftDoubleBracket: "⟦", LeftDownTeeVector: "⥡", LeftDownVector: "⇃", LeftDownVectorBar: "⥙", LeftFloor: "⌊", leftharpoondown: "↽", leftharpoonup: "↼", leftleftarrows: "⇇", LeftRightArrow: "↔", Leftrightarrow: "⇔", leftrightarrow: "↔", leftrightarrows: "⇆", leftrightharpoons: "⇋", leftrightsquigarrow: "↭", LeftRightVector: "⥎", LeftTee: "⊣", LeftTeeArrow: "↤", LeftTeeVector: "⥚", leftthreetimes: "⋋", LeftTriangle: "⊲", LeftTriangleBar: "⧏", LeftTriangleEqual: "⊴", LeftUpDownVector: "⥑", LeftUpTeeVector: "⥠", LeftUpVector: "↿", LeftUpVectorBar: "⥘", LeftVector: "↼", LeftVectorBar: "⥒", lEg: "⪋", leg: "⋚", leq: "≤", leqq: "≦", leqslant: "⩽", les: "⩽", lescc: "⪨", lesdot: "⩿", lesdoto: "⪁", lesdotor: "⪃", lesg: "⋚︀", lesges: "⪓", lessapprox: "⪅", lessdot: "⋖", lesseqgtr: "⋚", lesseqqgtr: "⪋", LessEqualGreater: "⋚", LessFullEqual: "≦", LessGreater: "≶", lessgtr: "≶", LessLess: "⪡", lesssim: "≲", LessSlantEqual: "⩽", LessTilde: "≲", lfisht: "⥼", lfloor: "⌊", Lfr: "𝔏", lfr: "𝔩", lg: "≶", lgE: "⪑", lHar: "⥢", lhard: "↽", lharu: "↼", lharul: "⥪", lhblk: "▄", LJcy: "Љ", ljcy: "љ", Ll: "⋘", ll: "≪", llarr: "⇇", llcorner: "⌞", Lleftarrow: "⇚", llhard: "⥫", lltri: "◺", Lmidot: "Ŀ", lmidot: "ŀ", lmoust: "⎰", lmoustache: "⎰", lnap: "⪉", lnapprox: "⪉", lnE: "≨", lne: "⪇", lneq: "⪇", lneqq: "≨", lnsim: "⋦", loang: "⟬", loarr: "⇽", lobrk: "⟦", LongLeftArrow: "⟵", Longleftarrow: "⟸", longleftarrow: "⟵", LongLeftRightArrow: "⟷", Longleftrightarrow: "⟺", longleftrightarrow: "⟷", longmapsto: "⟼", LongRightArrow: "⟶", Longrightarrow: "⟹", longrightarrow: "⟶", looparrowleft: "↫", looparrowright: "↬", lopar: "⦅", Lopf: "𝕃", lopf: "𝕝", loplus: "⨭", lotimes: "⨴", lowast: "∗", lowbar: "_", LowerLeftArrow: "↙", LowerRightArrow: "↘", loz: "◊", lozenge: "◊", lozf: "⧫", lpar: "(", lparlt: "⦓", lrarr: "⇆", lrcorner: "⌟", lrhar: "⇋", lrhard: "⥭", lrm: "‎", lrtri: "⊿", lsaquo: "‹", Lscr: "ℒ", lscr: "𝓁", Lsh: "↰", lsh: "↰", lsim: "≲", lsime: "⪍", lsimg: "⪏", lsqb: "[", lsquo: "‘", lsquor: "‚", Lstrok: "Ł", lstrok: "ł", LT: "<", Lt: "≪", lt: "<", ltcc: "⪦", ltcir: "⩹", ltdot: "⋖", lthree: "⋋", ltimes: "⋉", ltlarr: "⥶", ltquest: "⩻", ltri: "◃", ltrie: "⊴", ltrif: "◂", ltrPar: "⦖", lurdshar: "⥊", luruhar: "⥦", lvertneqq: "≨︀", lvnE: "≨︀", macr: "¯", male: "♂", malt: "✠", maltese: "✠", Map: "⤅", map: "↦", mapsto: "↦", mapstodown: "↧", mapstoleft: "↤", mapstoup: "↥", marker: "▮", mcomma: "⨩", Mcy: "М", mcy: "м", mdash: "—", mDDot: "∺", measuredangle: "∡", MediumSpace: " ", Mellintrf: "ℳ", Mfr: "𝔐", mfr: "𝔪", mho: "℧", micro: "µ", mid: "∣", midast: "*", midcir: "⫰", middot: "·", minus: "−", minusb: "⊟", minusd: "∸", minusdu: "⨪", MinusPlus: "∓", mlcp: "⫛", mldr: "…", mnplus: "∓", models: "⊧", Mopf: "𝕄", mopf: "𝕞", mp: "∓", Mscr: "ℳ", mscr: "𝓂", mstpos: "∾", Mu: "Μ", mu: "μ", multimap: "⊸", mumap: "⊸", nabla: "∇", Nacute: "Ń", nacute: "ń", nang: "∠⃒", nap: "≉", napE: "⩰̸", napid: "≋̸", napos: "ʼn", napprox: "≉", natur: "♮", natural: "♮", naturals: "ℕ", nbsp: " ", nbump: "≎̸", nbumpe: "≏̸", ncap: "⩃", Ncaron: "Ň", ncaron: "ň", Ncedil: "Ņ", ncedil: "ņ", ncong: "≇", ncongdot: "⩭̸", ncup: "⩂", Ncy: "Н", ncy: "н", ndash: "–", ne: "≠", nearhk: "⤤", neArr: "⇗", nearr: "↗", nearrow: "↗", nedot: "≐̸", NegativeMediumSpace: "​", NegativeThickSpace: "​", NegativeThinSpace: "​", NegativeVeryThinSpace: "​", nequiv: "≢", nesear: "⤨", nesim: "≂̸", NestedGreaterGreater: "≫", NestedLessLess: "≪", NewLine: "\n", nexist: "∄", nexists: "∄", Nfr: "𝔑", nfr: "𝔫", ngE: "≧̸", nge: "≱", ngeq: "≱", ngeqq: "≧̸", ngeqslant: "⩾̸", nges: "⩾̸", nGg: "⋙̸", ngsim: "≵", nGt: "≫⃒", ngt: "≯", ngtr: "≯", nGtv: "≫̸", nhArr: "⇎", nharr: "↮", nhpar: "⫲", ni: "∋", nis: "⋼", nisd: "⋺", niv: "∋", NJcy: "Њ", njcy: "њ", nlArr: "⇍", nlarr: "↚", nldr: "‥", nlE: "≦̸", nle: "≰", nLeftarrow: "⇍", nleftarrow: "↚", nLeftrightarrow: "⇎", nleftrightarrow: "↮", nleq: "≰", nleqq: "≦̸", nleqslant: "⩽̸", nles: "⩽̸", nless: "≮", nLl: "⋘̸", nlsim: "≴", nLt: "≪⃒", nlt: "≮", nltri: "⋪", nltrie: "⋬", nLtv: "≪̸", nmid: "∤", NoBreak: "⁠", NonBreakingSpace: " ", Nopf: "ℕ", nopf: "𝕟", Not: "⫬", not: "¬", NotCongruent: "≢", NotCupCap: "≭", NotDoubleVerticalBar: "∦", NotElement: "∉", NotEqual: "≠", NotEqualTilde: "≂̸", NotExists: "∄", NotGreater: "≯", NotGreaterEqual: "≱", NotGreaterFullEqual: "≧̸", NotGreaterGreater: "≫̸", NotGreaterLess: "≹", NotGreaterSlantEqual: "⩾̸", NotGreaterTilde: "≵", NotHumpDownHump: "≎̸", NotHumpEqual: "≏̸", notin: "∉", notindot: "⋵̸", notinE: "⋹̸", notinva: "∉", notinvb: "⋷", notinvc: "⋶", NotLeftTriangle: "⋪", NotLeftTriangleBar: "⧏̸", NotLeftTriangleEqual: "⋬", NotLess: "≮", NotLessEqual: "≰", NotLessGreater: "≸", NotLessLess: "≪̸", NotLessSlantEqual: "⩽̸", NotLessTilde: "≴", NotNestedGreaterGreater: "⪢̸", NotNestedLessLess: "⪡̸", notni: "∌", notniva: "∌", notnivb: "⋾", notnivc: "⋽", NotPrecedes: "⊀", NotPrecedesEqual: "⪯̸", NotPrecedesSlantEqual: "⋠", NotReverseElement: "∌", NotRightTriangle: "⋫", NotRightTriangleBar: "⧐̸", NotRightTriangleEqual: "⋭", NotSquareSubset: "⊏̸", NotSquareSubsetEqual: "⋢", NotSquareSuperset: "⊐̸", NotSquareSupersetEqual: "⋣", NotSubset: "⊂⃒", NotSubsetEqual: "⊈", NotSucceeds: "⊁", NotSucceedsEqual: "⪰̸", NotSucceedsSlantEqual: "⋡", NotSucceedsTilde: "≿̸", NotSuperset: "⊃⃒", NotSupersetEqual: "⊉", NotTilde: "≁", NotTildeEqual: "≄", NotTildeFullEqual: "≇", NotTildeTilde: "≉", NotVerticalBar: "∤", npar: "∦", nparallel: "∦", nparsl: "⫽⃥", npart: "∂̸", npolint: "⨔", npr: "⊀", nprcue: "⋠", npre: "⪯̸", nprec: "⊀", npreceq: "⪯̸", nrArr: "⇏", nrarr: "↛", nrarrc: "⤳̸", nrarrw: "↝̸", nRightarrow: "⇏", nrightarrow: "↛", nrtri: "⋫", nrtrie: "⋭", nsc: "⊁", nsccue: "⋡", nsce: "⪰̸", Nscr: "𝒩", nscr: "𝓃", nshortmid: "∤", nshortparallel: "∦", nsim: "≁", nsime: "≄", nsimeq: "≄", nsmid: "∤", nspar: "∦", nsqsube: "⋢", nsqsupe: "⋣", nsub: "⊄", nsubE: "⫅̸", nsube: "⊈", nsubset: "⊂⃒", nsubseteq: "⊈", nsubseteqq: "⫅̸", nsucc: "⊁", nsucceq: "⪰̸", nsup: "⊅", nsupE: "⫆̸", nsupe: "⊉", nsupset: "⊃⃒", nsupseteq: "⊉", nsupseteqq: "⫆̸", ntgl: "≹", Ntilde: "Ñ", ntilde: "ñ", ntlg: "≸", ntriangleleft: "⋪", ntrianglelefteq: "⋬", ntriangleright: "⋫", ntrianglerighteq: "⋭", Nu: "Ν", nu: "ν", num: "#", numero: "№", numsp: " ", nvap: "≍⃒", nVDash: "⊯", nVdash: "⊮", nvDash: "⊭", nvdash: "⊬", nvge: "≥⃒", nvgt: ">⃒", nvHarr: "⤄", nvinfin: "⧞", nvlArr: "⤂", nvle: "≤⃒", nvlt: "<⃒", nvltrie: "⊴⃒", nvrArr: "⤃", nvrtrie: "⊵⃒", nvsim: "∼⃒", nwarhk: "⤣", nwArr: "⇖", nwarr: "↖", nwarrow: "↖", nwnear: "⤧", Oacute: "Ó", oacute: "ó", oast: "⊛", ocir: "⊚", Ocirc: "Ô", ocirc: "ô", Ocy: "О", ocy: "о", odash: "⊝", Odblac: "Ő", odblac: "ő", odiv: "⨸", odot: "⊙", odsold: "⦼", OElig: "Œ", oelig: "œ", ofcir: "⦿", Ofr: "𝔒", ofr: "𝔬", ogon: "˛", Ograve: "Ò", ograve: "ò", ogt: "⧁", ohbar: "⦵", ohm: "Ω", oint: "∮", olarr: "↺", olcir: "⦾", olcross: "⦻", oline: "‾", olt: "⧀", Omacr: "Ō", omacr: "ō", Omega: "Ω", omega: "ω", Omicron: "Ο", omicron: "ο", omid: "⦶", ominus: "⊖", Oopf: "𝕆", oopf: "𝕠", opar: "⦷", OpenCurlyDoubleQuote: "“", OpenCurlyQuote: "‘", operp: "⦹", oplus: "⊕", Or: "⩔", or: "∨", orarr: "↻", ord: "⩝", order: "ℴ", orderof: "ℴ", ordf: "ª", ordm: "º", origof: "⊶", oror: "⩖", orslope: "⩗", orv: "⩛", oS: "Ⓢ", Oscr: "𝒪", oscr: "ℴ", Oslash: "Ø", oslash: "ø", osol: "⊘", Otilde: "Õ", otilde: "õ", Otimes: "⨷", otimes: "⊗", otimesas: "⨶", Ouml: "Ö", ouml: "ö", ovbar: "⌽", OverBar: "‾", OverBrace: "⏞", OverBracket: "⎴", OverParenthesis: "⏜", par: "∥", para: "¶", parallel: "∥", parsim: "⫳", parsl: "⫽", part: "∂", PartialD: "∂", Pcy: "П", pcy: "п", percnt: "%", period: ".", permil: "‰", perp: "⊥", pertenk: "‱", Pfr: "𝔓", pfr: "𝔭", Phi: "Φ", phi: "φ", phiv: "ϕ", phmmat: "ℳ", phone: "☎", Pi: "Π", pi: "π", pitchfork: "⋔", piv: "ϖ", planck: "ℏ", planckh: "ℎ", plankv: "ℏ", plus: "+", plusacir: "⨣", plusb: "⊞", pluscir: "⨢", plusdo: "∔", plusdu: "⨥", pluse: "⩲", PlusMinus: "±", plusmn: "±", plussim: "⨦", plustwo: "⨧", pm: "±", Poincareplane: "ℌ", pointint: "⨕", Popf: "ℙ", popf: "𝕡", pound: "£", Pr: "⪻", pr: "≺", prap: "⪷", prcue: "≼", prE: "⪳", pre: "⪯", prec: "≺", precapprox: "⪷", preccurlyeq: "≼", Precedes: "≺", PrecedesEqual: "⪯", PrecedesSlantEqual: "≼", PrecedesTilde: "≾", preceq: "⪯", precnapprox: "⪹", precneqq: "⪵", precnsim: "⋨", precsim: "≾", Prime: "″", prime: "′", primes: "ℙ", prnap: "⪹", prnE: "⪵", prnsim: "⋨", prod: "∏", Product: "∏", profalar: "⌮", profline: "⌒", profsurf: "⌓", prop: "∝", Proportion: "∷", Proportional: "∝", propto: "∝", prsim: "≾", prurel: "⊰", Pscr: "𝒫", pscr: "𝓅", Psi: "Ψ", psi: "ψ", puncsp: " ", Qfr: "𝔔", qfr: "𝔮", qint: "⨌", Qopf: "ℚ", qopf: "𝕢", qprime: "⁗", Qscr: "𝒬", qscr: "𝓆", quaternions: "ℍ", quatint: "⨖", quest: "?", questeq: "≟", QUOT: '"', quot: '"', rAarr: "⇛", race: "∽̱", Racute: "Ŕ", racute: "ŕ", radic: "√", raemptyv: "⦳", Rang: "⟫", rang: "⟩", rangd: "⦒", range: "⦥", rangle: "⟩", raquo: "»", Rarr: "↠", rArr: "⇒", rarr: "→", rarrap: "⥵", rarrb: "⇥", rarrbfs: "⤠", rarrc: "⤳", rarrfs: "⤞", rarrhk: "↪", rarrlp: "↬", rarrpl: "⥅", rarrsim: "⥴", Rarrtl: "⤖", rarrtl: "↣", rarrw: "↝", rAtail: "⤜", ratail: "⤚", ratio: "∶", rationals: "ℚ", RBarr: "⤐", rBarr: "⤏", rbarr: "⤍", rbbrk: "❳", rbrace: "}", rbrack: "]", rbrke: "⦌", rbrksld: "⦎", rbrkslu: "⦐", Rcaron: "Ř", rcaron: "ř", Rcedil: "Ŗ", rcedil: "ŗ", rceil: "⌉", rcub: "}", Rcy: "Р", rcy: "р", rdca: "⤷", rdldhar: "⥩", rdquo: "”", rdquor: "”", rdsh: "↳", Re: "ℜ", real: "ℜ", realine: "ℛ", realpart: "ℜ", reals: "ℝ", rect: "▭", REG: "®", reg: "®", ReverseElement: "∋", ReverseEquilibrium: "⇋", ReverseUpEquilibrium: "⥯", rfisht: "⥽", rfloor: "⌋", Rfr: "ℜ", rfr: "𝔯", rHar: "⥤", rhard: "⇁", rharu: "⇀", rharul: "⥬", Rho: "Ρ", rho: "ρ", rhov: "ϱ", RightAngleBracket: "⟩", RightArrow: "→", Rightarrow: "⇒", rightarrow: "→", RightArrowBar: "⇥", RightArrowLeftArrow: "⇄", rightarrowtail: "↣", RightCeiling: "⌉", RightDoubleBracket: "⟧", RightDownTeeVector: "⥝", RightDownVector: "⇂", RightDownVectorBar: "⥕", RightFloor: "⌋", rightharpoondown: "⇁", rightharpoonup: "⇀", rightleftarrows: "⇄", rightleftharpoons: "⇌", rightrightarrows: "⇉", rightsquigarrow: "↝", RightTee: "⊢", RightTeeArrow: "↦", RightTeeVector: "⥛", rightthreetimes: "⋌", RightTriangle: "⊳", RightTriangleBar: "⧐", RightTriangleEqual: "⊵", RightUpDownVector: "⥏", RightUpTeeVector: "⥜", RightUpVector: "↾", RightUpVectorBar: "⥔", RightVector: "⇀", RightVectorBar: "⥓", ring: "˚", risingdotseq: "≓", rlarr: "⇄", rlhar: "⇌", rlm: "‏", rmoust: "⎱", rmoustache: "⎱", rnmid: "⫮", roang: "⟭", roarr: "⇾", robrk: "⟧", ropar: "⦆", Ropf: "ℝ", ropf: "𝕣", roplus: "⨮", rotimes: "⨵", RoundImplies: "⥰", rpar: ")", rpargt: "⦔", rppolint: "⨒", rrarr: "⇉", Rrightarrow: "⇛", rsaquo: "›", Rscr: "ℛ", rscr: "𝓇", Rsh: "↱", rsh: "↱", rsqb: "]", rsquo: "’", rsquor: "’", rthree: "⋌", rtimes: "⋊", rtri: "▹", rtrie: "⊵", rtrif: "▸", rtriltri: "⧎", RuleDelayed: "⧴", ruluhar: "⥨", rx: "℞", Sacute: "Ś", sacute: "ś", sbquo: "‚", Sc: "⪼", sc: "≻", scap: "⪸", Scaron: "Š", scaron: "š", sccue: "≽", scE: "⪴", sce: "⪰", Scedil: "Ş", scedil: "ş", Scirc: "Ŝ", scirc: "ŝ", scnap: "⪺", scnE: "⪶", scnsim: "⋩", scpolint: "⨓", scsim: "≿", Scy: "С", scy: "с", sdot: "⋅", sdotb: "⊡", sdote: "⩦", searhk: "⤥", seArr: "⇘", searr: "↘", searrow: "↘", sect: "§", semi: ";", seswar: "⤩", setminus: "∖", setmn: "∖", sext: "✶", Sfr: "𝔖", sfr: "𝔰", sfrown: "⌢", sharp: "♯", SHCHcy: "Щ", shchcy: "щ", SHcy: "Ш", shcy: "ш", ShortDownArrow: "↓", ShortLeftArrow: "←", shortmid: "∣", shortparallel: "∥", ShortRightArrow: "→", ShortUpArrow: "↑", shy: "­", Sigma: "Σ", sigma: "σ", sigmaf: "ς", sigmav: "ς", sim: "∼", simdot: "⩪", sime: "≃", simeq: "≃", simg: "⪞", simgE: "⪠", siml: "⪝", simlE: "⪟", simne: "≆", simplus: "⨤", simrarr: "⥲", slarr: "←", SmallCircle: "∘", smallsetminus: "∖", smashp: "⨳", smeparsl: "⧤", smid: "∣", smile: "⌣", smt: "⪪", smte: "⪬", smtes: "⪬︀", SOFTcy: "Ь", softcy: "ь", sol: "/", solb: "⧄", solbar: "⌿", Sopf: "𝕊", sopf: "𝕤", spades: "♠", spadesuit: "♠", spar: "∥", sqcap: "⊓", sqcaps: "⊓︀", sqcup: "⊔", sqcups: "⊔︀", Sqrt: "√", sqsub: "⊏", sqsube: "⊑", sqsubset: "⊏", sqsubseteq: "⊑", sqsup: "⊐", sqsupe: "⊒", sqsupset: "⊐", sqsupseteq: "⊒", squ: "□", Square: "□", square: "□", SquareIntersection: "⊓", SquareSubset: "⊏", SquareSubsetEqual: "⊑", SquareSuperset: "⊐", SquareSupersetEqual: "⊒", SquareUnion: "⊔", squarf: "▪", squf: "▪", srarr: "→", Sscr: "𝒮", sscr: "𝓈", ssetmn: "∖", ssmile: "⌣", sstarf: "⋆", Star: "⋆", star: "☆", starf: "★", straightepsilon: "ϵ", straightphi: "ϕ", strns: "¯", Sub: "⋐", sub: "⊂", subdot: "⪽", subE: "⫅", sube: "⊆", subedot: "⫃", submult: "⫁", subnE: "⫋", subne: "⊊", subplus: "⪿", subrarr: "⥹", Subset: "⋐", subset: "⊂", subseteq: "⊆", subseteqq: "⫅", SubsetEqual: "⊆", subsetneq: "⊊", subsetneqq: "⫋", subsim: "⫇", subsub: "⫕", subsup: "⫓", succ: "≻", succapprox: "⪸", succcurlyeq: "≽", Succeeds: "≻", SucceedsEqual: "⪰", SucceedsSlantEqual: "≽", SucceedsTilde: "≿", succeq: "⪰", succnapprox: "⪺", succneqq: "⪶", succnsim: "⋩", succsim: "≿", SuchThat: "∋", Sum: "∑", sum: "∑", sung: "♪", Sup: "⋑", sup: "⊃", sup1: "¹", sup2: "²", sup3: "³", supdot: "⪾", supdsub: "⫘", supE: "⫆", supe: "⊇", supedot: "⫄", Superset: "⊃", SupersetEqual: "⊇", suphsol: "⟉", suphsub: "⫗", suplarr: "⥻", supmult: "⫂", supnE: "⫌", supne: "⊋", supplus: "⫀", Supset: "⋑", supset: "⊃", supseteq: "⊇", supseteqq: "⫆", supsetneq: "⊋", supsetneqq: "⫌", supsim: "⫈", supsub: "⫔", supsup: "⫖", swarhk: "⤦", swArr: "⇙", swarr: "↙", swarrow: "↙", swnwar: "⤪", szlig: "ß", Tab: "\t", target: "⌖", Tau: "Τ", tau: "τ", tbrk: "⎴", Tcaron: "Ť", tcaron: "ť", Tcedil: "Ţ", tcedil: "ţ", Tcy: "Т", tcy: "т", tdot: "⃛", telrec: "⌕", Tfr: "𝔗", tfr: "𝔱", there4: "∴", Therefore: "∴", therefore: "∴", Theta: "Θ", theta: "θ", thetasym: "ϑ", thetav: "ϑ", thickapprox: "≈", thicksim: "∼", ThickSpace: "  ", thinsp: " ", ThinSpace: " ", thkap: "≈", thksim: "∼", THORN: "Þ", thorn: "þ", Tilde: "∼", tilde: "˜", TildeEqual: "≃", TildeFullEqual: "≅", TildeTilde: "≈", times: "×", timesb: "⊠", timesbar: "⨱", timesd: "⨰", tint: "∭", toea: "⤨", top: "⊤", topbot: "⌶", topcir: "⫱", Topf: "𝕋", topf: "𝕥", topfork: "⫚", tosa: "⤩", tprime: "‴", TRADE: "™", trade: "™", triangle: "▵", triangledown: "▿", triangleleft: "◃", trianglelefteq: "⊴", triangleq: "≜", triangleright: "▹", trianglerighteq: "⊵", tridot: "◬", trie: "≜", triminus: "⨺", TripleDot: "⃛", triplus: "⨹", trisb: "⧍", tritime: "⨻", trpezium: "⏢", Tscr: "𝒯", tscr: "𝓉", TScy: "Ц", tscy: "ц", TSHcy: "Ћ", tshcy: "ћ", Tstrok: "Ŧ", tstrok: "ŧ", twixt: "≬", twoheadleftarrow: "↞", twoheadrightarrow: "↠", Uacute: "Ú", uacute: "ú", Uarr: "↟", uArr: "⇑", uarr: "↑", Uarrocir: "⥉", Ubrcy: "Ў", ubrcy: "ў", Ubreve: "Ŭ", ubreve: "ŭ", Ucirc: "Û", ucirc: "û", Ucy: "У", ucy: "у", udarr: "⇅", Udblac: "Ű", udblac: "ű", udhar: "⥮", ufisht: "⥾", Ufr: "𝔘", ufr: "𝔲", Ugrave: "Ù", ugrave: "ù", uHar: "⥣", uharl: "↿", uharr: "↾", uhblk: "▀", ulcorn: "⌜", ulcorner: "⌜", ulcrop: "⌏", ultri: "◸", Umacr: "Ū", umacr: "ū", uml: "¨", UnderBar: "_", UnderBrace: "⏟", UnderBracket: "⎵", UnderParenthesis: "⏝", Union: "⋃", UnionPlus: "⊎", Uogon: "Ų", uogon: "ų", Uopf: "𝕌", uopf: "𝕦", UpArrow: "↑", Uparrow: "⇑", uparrow: "↑", UpArrowBar: "⤒", UpArrowDownArrow: "⇅", UpDownArrow: "↕", Updownarrow: "⇕", updownarrow: "↕", UpEquilibrium: "⥮", upharpoonleft: "↿", upharpoonright: "↾", uplus: "⊎", UpperLeftArrow: "↖", UpperRightArrow: "↗", Upsi: "ϒ", upsi: "υ", upsih: "ϒ", Upsilon: "Υ", upsilon: "υ", UpTee: "⊥", UpTeeArrow: "↥", upuparrows: "⇈", urcorn: "⌝", urcorner: "⌝", urcrop: "⌎", Uring: "Ů", uring: "ů", urtri: "◹", Uscr: "𝒰", uscr: "𝓊", utdot: "⋰", Utilde: "Ũ", utilde: "ũ", utri: "▵", utrif: "▴", uuarr: "⇈", Uuml: "Ü", uuml: "ü", uwangle: "⦧", vangrt: "⦜", varepsilon: "ϵ", varkappa: "ϰ", varnothing: "∅", varphi: "ϕ", varpi: "ϖ", varpropto: "∝", vArr: "⇕", varr: "↕", varrho: "ϱ", varsigma: "ς", varsubsetneq: "⊊︀", varsubsetneqq: "⫋︀", varsupsetneq: "⊋︀", varsupsetneqq: "⫌︀", vartheta: "ϑ", vartriangleleft: "⊲", vartriangleright: "⊳", Vbar: "⫫", vBar: "⫨", vBarv: "⫩", Vcy: "В", vcy: "в", VDash: "⊫", Vdash: "⊩", vDash: "⊨", vdash: "⊢", Vdashl: "⫦", Vee: "⋁", vee: "∨", veebar: "⊻", veeeq: "≚", vellip: "⋮", Verbar: "‖", verbar: "|", Vert: "‖", vert: "|", VerticalBar: "∣", VerticalLine: "|", VerticalSeparator: "❘", VerticalTilde: "≀", VeryThinSpace: " ", Vfr: "𝔙", vfr: "𝔳", vltri: "⊲", vnsub: "⊂⃒", vnsup: "⊃⃒", Vopf: "𝕍", vopf: "𝕧", vprop: "∝", vrtri: "⊳", Vscr: "𝒱", vscr: "𝓋", vsubnE: "⫋︀", vsubne: "⊊︀", vsupnE: "⫌︀", vsupne: "⊋︀", Vvdash: "⊪", vzigzag: "⦚", Wcirc: "Ŵ", wcirc: "ŵ", wedbar: "⩟", Wedge: "⋀", wedge: "∧", wedgeq: "≙", weierp: "℘", Wfr: "𝔚", wfr: "𝔴", Wopf: "𝕎", wopf: "𝕨", wp: "℘", wr: "≀", wreath: "≀", Wscr: "𝒲", wscr: "𝓌", xcap: "⋂", xcirc: "◯", xcup: "⋃", xdtri: "▽", Xfr: "𝔛", xfr: "𝔵", xhArr: "⟺", xharr: "⟷", Xi: "Ξ", xi: "ξ", xlArr: "⟸", xlarr: "⟵", xmap: "⟼", xnis: "⋻", xodot: "⨀", Xopf: "𝕏", xopf: "𝕩", xoplus: "⨁", xotime: "⨂", xrArr: "⟹", xrarr: "⟶", Xscr: "𝒳", xscr: "𝓍", xsqcup: "⨆", xuplus: "⨄", xutri: "△", xvee: "⋁", xwedge: "⋀", Yacute: "Ý", yacute: "ý", YAcy: "Я", yacy: "я", Ycirc: "Ŷ", ycirc: "ŷ", Ycy: "Ы", ycy: "ы", yen: "¥", Yfr: "𝔜", yfr: "𝔶", YIcy: "Ї", yicy: "ї", Yopf: "𝕐", yopf: "𝕪", Yscr: "𝒴", yscr: "𝓎", YUcy: "Ю", yucy: "ю", Yuml: "Ÿ", yuml: "ÿ", Zacute: "Ź", zacute: "ź", Zcaron: "Ž", zcaron: "ž", Zcy: "З", zcy: "з", Zdot: "Ż", zdot: "ż", zeetrf: "ℨ", ZeroWidthSpace: "​", Zeta: "Ζ", zeta: "ζ", Zfr: "ℨ", zfr: "𝔷", ZHcy: "Ж", zhcy: "ж", zigrarr: "⇝", Zopf: "ℤ", zopf: "𝕫", Zscr: "𝒵", zscr: "𝓏", zwj: "‍", zwnj: "‌" },
110
+ }var namedCharRefs = { Aacute: "Á", aacute: "á", Abreve: "Ă", abreve: "ă", ac: "∾", acd: "∿", acE: "∾̳", Acirc: "Â", acirc: "â", acute: "´", Acy: "А", acy: "а", AElig: "Æ", aelig: "æ", af: "⁡", Afr: "𝔄", afr: "𝔞", Agrave: "À", agrave: "à", alefsym: "ℵ", aleph: "ℵ", Alpha: "Α", alpha: "α", Amacr: "Ā", amacr: "ā", amalg: "⨿", AMP: "&", amp: "&", And: "⩓", and: "∧", andand: "⩕", andd: "⩜", andslope: "⩘", andv: "⩚", ang: "∠", ange: "⦤", angle: "∠", angmsd: "∡", angmsdaa: "⦨", angmsdab: "⦩", angmsdac: "⦪", angmsdad: "⦫", angmsdae: "⦬", angmsdaf: "⦭", angmsdag: "⦮", angmsdah: "⦯", angrt: "∟", angrtvb: "⊾", angrtvbd: "⦝", angsph: "∢", angst: "Å", angzarr: "⍼", Aogon: "Ą", aogon: "ą", Aopf: "𝔸", aopf: "𝕒", ap: "≈", apacir: "⩯", apE: "⩰", ape: "≊", apid: "≋", apos: "'", ApplyFunction: "⁡", approx: "≈", approxeq: "≊", Aring: "Å", aring: "å", Ascr: "𝒜", ascr: "𝒶", Assign: "≔", ast: "*", asymp: "≈", asympeq: "≍", Atilde: "Ã", atilde: "ã", Auml: "Ä", auml: "ä", awconint: "∳", awint: "⨑", backcong: "≌", backepsilon: "϶", backprime: "‵", backsim: "∽", backsimeq: "⋍", Backslash: "∖", Barv: "⫧", barvee: "⊽", Barwed: "⌆", barwed: "⌅", barwedge: "⌅", bbrk: "⎵", bbrktbrk: "⎶", bcong: "≌", Bcy: "Б", bcy: "б", bdquo: "„", becaus: "∵", Because: "∵", because: "∵", bemptyv: "⦰", bepsi: "϶", bernou: "ℬ", Bernoullis: "ℬ", Beta: "Β", beta: "β", beth: "ℶ", between: "≬", Bfr: "𝔅", bfr: "𝔟", bigcap: "⋂", bigcirc: "◯", bigcup: "⋃", bigodot: "⨀", bigoplus: "⨁", bigotimes: "⨂", bigsqcup: "⨆", bigstar: "★", bigtriangledown: "▽", bigtriangleup: "△", biguplus: "⨄", bigvee: "⋁", bigwedge: "⋀", bkarow: "⤍", blacklozenge: "⧫", blacksquare: "▪", blacktriangle: "▴", blacktriangledown: "▾", blacktriangleleft: "◂", blacktriangleright: "▸", blank: "␣", blk12: "▒", blk14: "░", blk34: "▓", block: "█", bne: "=⃥", bnequiv: "≡⃥", bNot: "⫭", bnot: "⌐", Bopf: "𝔹", bopf: "𝕓", bot: "⊥", bottom: "⊥", bowtie: "⋈", boxbox: "⧉", boxDL: "╗", boxDl: "╖", boxdL: "╕", boxdl: "┐", boxDR: "╔", boxDr: "╓", boxdR: "╒", boxdr: "┌", boxH: "═", boxh: "─", boxHD: "╦", boxHd: "╤", boxhD: "╥", boxhd: "┬", boxHU: "╩", boxHu: "╧", boxhU: "╨", boxhu: "┴", boxminus: "⊟", boxplus: "⊞", boxtimes: "⊠", boxUL: "╝", boxUl: "╜", boxuL: "╛", boxul: "┘", boxUR: "╚", boxUr: "╙", boxuR: "╘", boxur: "└", boxV: "║", boxv: "│", boxVH: "╬", boxVh: "╫", boxvH: "╪", boxvh: "┼", boxVL: "╣", boxVl: "╢", boxvL: "╡", boxvl: "┤", boxVR: "╠", boxVr: "╟", boxvR: "╞", boxvr: "├", bprime: "‵", Breve: "˘", breve: "˘", brvbar: "¦", Bscr: "ℬ", bscr: "𝒷", bsemi: "⁏", bsim: "∽", bsime: "⋍", bsol: "\\", bsolb: "⧅", bsolhsub: "⟈", bull: "•", bullet: "•", bump: "≎", bumpE: "⪮", bumpe: "≏", Bumpeq: "≎", bumpeq: "≏", Cacute: "Ć", cacute: "ć", Cap: "⋒", cap: "∩", capand: "⩄", capbrcup: "⩉", capcap: "⩋", capcup: "⩇", capdot: "⩀", CapitalDifferentialD: "ⅅ", caps: "∩︀", caret: "⁁", caron: "ˇ", Cayleys: "ℭ", ccaps: "⩍", Ccaron: "Č", ccaron: "č", Ccedil: "Ç", ccedil: "ç", Ccirc: "Ĉ", ccirc: "ĉ", Cconint: "∰", ccups: "⩌", ccupssm: "⩐", Cdot: "Ċ", cdot: "ċ", cedil: "¸", Cedilla: "¸", cemptyv: "⦲", cent: "¢", CenterDot: "·", centerdot: "·", Cfr: "ℭ", cfr: "𝔠", CHcy: "Ч", chcy: "ч", check: "✓", checkmark: "✓", Chi: "Χ", chi: "χ", cir: "○", circ: "ˆ", circeq: "≗", circlearrowleft: "↺", circlearrowright: "↻", circledast: "⊛", circledcirc: "⊚", circleddash: "⊝", CircleDot: "⊙", circledR: "®", circledS: "Ⓢ", CircleMinus: "⊖", CirclePlus: "⊕", CircleTimes: "⊗", cirE: "⧃", cire: "≗", cirfnint: "⨐", cirmid: "⫯", cirscir: "⧂", ClockwiseContourIntegral: "∲", CloseCurlyDoubleQuote: "”", CloseCurlyQuote: "’", clubs: "♣", clubsuit: "♣", Colon: "∷", colon: ":", Colone: "⩴", colone: "≔", coloneq: "≔", comma: ",", commat: "@", comp: "∁", compfn: "∘", complement: "∁", complexes: "ℂ", cong: "≅", congdot: "⩭", Congruent: "≡", Conint: "∯", conint: "∮", ContourIntegral: "∮", Copf: "ℂ", copf: "𝕔", coprod: "∐", Coproduct: "∐", COPY: "©", copy: "©", copysr: "℗", CounterClockwiseContourIntegral: "∳", crarr: "↵", Cross: "⨯", cross: "✗", Cscr: "𝒞", cscr: "𝒸", csub: "⫏", csube: "⫑", csup: "⫐", csupe: "⫒", ctdot: "⋯", cudarrl: "⤸", cudarrr: "⤵", cuepr: "⋞", cuesc: "⋟", cularr: "↶", cularrp: "⤽", Cup: "⋓", cup: "∪", cupbrcap: "⩈", CupCap: "≍", cupcap: "⩆", cupcup: "⩊", cupdot: "⊍", cupor: "⩅", cups: "∪︀", curarr: "↷", curarrm: "⤼", curlyeqprec: "⋞", curlyeqsucc: "⋟", curlyvee: "⋎", curlywedge: "⋏", curren: "¤", curvearrowleft: "↶", curvearrowright: "↷", cuvee: "⋎", cuwed: "⋏", cwconint: "∲", cwint: "∱", cylcty: "⌭", Dagger: "‡", dagger: "†", daleth: "ℸ", Darr: "↡", dArr: "⇓", darr: "↓", dash: "‐", Dashv: "⫤", dashv: "⊣", dbkarow: "⤏", dblac: "˝", Dcaron: "Ď", dcaron: "ď", Dcy: "Д", dcy: "д", DD: "ⅅ", dd: "ⅆ", ddagger: "‡", ddarr: "⇊", DDotrahd: "⤑", ddotseq: "⩷", deg: "°", Del: "∇", Delta: "Δ", delta: "δ", demptyv: "⦱", dfisht: "⥿", Dfr: "𝔇", dfr: "𝔡", dHar: "⥥", dharl: "⇃", dharr: "⇂", DiacriticalAcute: "´", DiacriticalDot: "˙", DiacriticalDoubleAcute: "˝", DiacriticalGrave: "`", DiacriticalTilde: "˜", diam: "⋄", Diamond: "⋄", diamond: "⋄", diamondsuit: "♦", diams: "♦", die: "¨", DifferentialD: "ⅆ", digamma: "ϝ", disin: "⋲", div: "÷", divide: "÷", divideontimes: "⋇", divonx: "⋇", DJcy: "Ђ", djcy: "ђ", dlcorn: "⌞", dlcrop: "⌍", dollar: "$", Dopf: "𝔻", dopf: "𝕕", Dot: "¨", dot: "˙", DotDot: "⃜", doteq: "≐", doteqdot: "≑", DotEqual: "≐", dotminus: "∸", dotplus: "∔", dotsquare: "⊡", doublebarwedge: "⌆", DoubleContourIntegral: "∯", DoubleDot: "¨", DoubleDownArrow: "⇓", DoubleLeftArrow: "⇐", DoubleLeftRightArrow: "⇔", DoubleLeftTee: "⫤", DoubleLongLeftArrow: "⟸", DoubleLongLeftRightArrow: "⟺", DoubleLongRightArrow: "⟹", DoubleRightArrow: "⇒", DoubleRightTee: "⊨", DoubleUpArrow: "⇑", DoubleUpDownArrow: "⇕", DoubleVerticalBar: "∥", DownArrow: "↓", Downarrow: "⇓", downarrow: "↓", DownArrowBar: "⤓", DownArrowUpArrow: "⇵", DownBreve: "̑", downdownarrows: "⇊", downharpoonleft: "⇃", downharpoonright: "⇂", DownLeftRightVector: "⥐", DownLeftTeeVector: "⥞", DownLeftVector: "↽", DownLeftVectorBar: "⥖", DownRightTeeVector: "⥟", DownRightVector: "⇁", DownRightVectorBar: "⥗", DownTee: "⊤", DownTeeArrow: "↧", drbkarow: "⤐", drcorn: "⌟", drcrop: "⌌", Dscr: "𝒟", dscr: "𝒹", DScy: "Ѕ", dscy: "ѕ", dsol: "⧶", Dstrok: "Đ", dstrok: "đ", dtdot: "⋱", dtri: "▿", dtrif: "▾", duarr: "⇵", duhar: "⥯", dwangle: "⦦", DZcy: "Џ", dzcy: "џ", dzigrarr: "⟿", Eacute: "É", eacute: "é", easter: "⩮", Ecaron: "Ě", ecaron: "ě", ecir: "≖", Ecirc: "Ê", ecirc: "ê", ecolon: "≕", Ecy: "Э", ecy: "э", eDDot: "⩷", Edot: "Ė", eDot: "≑", edot: "ė", ee: "ⅇ", efDot: "≒", Efr: "𝔈", efr: "𝔢", eg: "⪚", Egrave: "È", egrave: "è", egs: "⪖", egsdot: "⪘", el: "⪙", Element: "∈", elinters: "⏧", ell: "ℓ", els: "⪕", elsdot: "⪗", Emacr: "Ē", emacr: "ē", empty: "∅", emptyset: "∅", EmptySmallSquare: "◻", emptyv: "∅", EmptyVerySmallSquare: "▫", emsp: " ", emsp13: " ", emsp14: " ", ENG: "Ŋ", eng: "ŋ", ensp: " ", Eogon: "Ę", eogon: "ę", Eopf: "𝔼", eopf: "𝕖", epar: "⋕", eparsl: "⧣", eplus: "⩱", epsi: "ε", Epsilon: "Ε", epsilon: "ε", epsiv: "ϵ", eqcirc: "≖", eqcolon: "≕", eqsim: "≂", eqslantgtr: "⪖", eqslantless: "⪕", Equal: "⩵", equals: "=", EqualTilde: "≂", equest: "≟", Equilibrium: "⇌", equiv: "≡", equivDD: "⩸", eqvparsl: "⧥", erarr: "⥱", erDot: "≓", Escr: "ℰ", escr: "ℯ", esdot: "≐", Esim: "⩳", esim: "≂", Eta: "Η", eta: "η", ETH: "Ð", eth: "ð", Euml: "Ë", euml: "ë", euro: "€", excl: "!", exist: "∃", Exists: "∃", expectation: "ℰ", ExponentialE: "ⅇ", exponentiale: "ⅇ", fallingdotseq: "≒", Fcy: "Ф", fcy: "ф", female: "♀", ffilig: "ffi", fflig: "ff", ffllig: "ffl", Ffr: "𝔉", ffr: "𝔣", filig: "fi", FilledSmallSquare: "◼", FilledVerySmallSquare: "▪", fjlig: "fj", flat: "♭", fllig: "fl", fltns: "▱", fnof: "ƒ", Fopf: "𝔽", fopf: "𝕗", ForAll: "∀", forall: "∀", fork: "⋔", forkv: "⫙", Fouriertrf: "ℱ", fpartint: "⨍", frac12: "½", frac13: "⅓", frac14: "¼", frac15: "⅕", frac16: "⅙", frac18: "⅛", frac23: "⅔", frac25: "⅖", frac34: "¾", frac35: "⅗", frac38: "⅜", frac45: "⅘", frac56: "⅚", frac58: "⅝", frac78: "⅞", frasl: "⁄", frown: "⌢", Fscr: "ℱ", fscr: "𝒻", gacute: "ǵ", Gamma: "Γ", gamma: "γ", Gammad: "Ϝ", gammad: "ϝ", gap: "⪆", Gbreve: "Ğ", gbreve: "ğ", Gcedil: "Ģ", Gcirc: "Ĝ", gcirc: "ĝ", Gcy: "Г", gcy: "г", Gdot: "Ġ", gdot: "ġ", gE: "≧", ge: "≥", gEl: "⪌", gel: "⋛", geq: "≥", geqq: "≧", geqslant: "⩾", ges: "⩾", gescc: "⪩", gesdot: "⪀", gesdoto: "⪂", gesdotol: "⪄", gesl: "⋛︀", gesles: "⪔", Gfr: "𝔊", gfr: "𝔤", Gg: "⋙", gg: "≫", ggg: "⋙", gimel: "ℷ", GJcy: "Ѓ", gjcy: "ѓ", gl: "≷", gla: "⪥", glE: "⪒", glj: "⪤", gnap: "⪊", gnapprox: "⪊", gnE: "≩", gne: "⪈", gneq: "⪈", gneqq: "≩", gnsim: "⋧", Gopf: "𝔾", gopf: "𝕘", grave: "`", GreaterEqual: "≥", GreaterEqualLess: "⋛", GreaterFullEqual: "≧", GreaterGreater: "⪢", GreaterLess: "≷", GreaterSlantEqual: "⩾", GreaterTilde: "≳", Gscr: "𝒢", gscr: "ℊ", gsim: "≳", gsime: "⪎", gsiml: "⪐", GT: ">", Gt: "≫", gt: ">", gtcc: "⪧", gtcir: "⩺", gtdot: "⋗", gtlPar: "⦕", gtquest: "⩼", gtrapprox: "⪆", gtrarr: "⥸", gtrdot: "⋗", gtreqless: "⋛", gtreqqless: "⪌", gtrless: "≷", gtrsim: "≳", gvertneqq: "≩︀", gvnE: "≩︀", Hacek: "ˇ", hairsp: " ", half: "½", hamilt: "ℋ", HARDcy: "Ъ", hardcy: "ъ", hArr: "⇔", harr: "↔", harrcir: "⥈", harrw: "↭", Hat: "^", hbar: "ℏ", Hcirc: "Ĥ", hcirc: "ĥ", hearts: "♥", heartsuit: "♥", hellip: "…", hercon: "⊹", Hfr: "ℌ", hfr: "𝔥", HilbertSpace: "ℋ", hksearow: "⤥", hkswarow: "⤦", hoarr: "⇿", homtht: "∻", hookleftarrow: "↩", hookrightarrow: "↪", Hopf: "ℍ", hopf: "𝕙", horbar: "―", HorizontalLine: "─", Hscr: "ℋ", hscr: "𝒽", hslash: "ℏ", Hstrok: "Ħ", hstrok: "ħ", HumpDownHump: "≎", HumpEqual: "≏", hybull: "⁃", hyphen: "‐", Iacute: "Í", iacute: "í", ic: "⁣", Icirc: "Î", icirc: "î", Icy: "И", icy: "и", Idot: "İ", IEcy: "Е", iecy: "е", iexcl: "¡", iff: "⇔", Ifr: "ℑ", ifr: "𝔦", Igrave: "Ì", igrave: "ì", ii: "ⅈ", iiiint: "⨌", iiint: "∭", iinfin: "⧜", iiota: "℩", IJlig: "IJ", ijlig: "ij", Im: "ℑ", Imacr: "Ī", imacr: "ī", image: "ℑ", ImaginaryI: "ⅈ", imagline: "ℐ", imagpart: "ℑ", imath: "ı", imof: "⊷", imped: "Ƶ", Implies: "⇒", in: "∈", incare: "℅", infin: "∞", infintie: "⧝", inodot: "ı", Int: "∬", int: "∫", intcal: "⊺", integers: "ℤ", Integral: "∫", intercal: "⊺", Intersection: "⋂", intlarhk: "⨗", intprod: "⨼", InvisibleComma: "⁣", InvisibleTimes: "⁢", IOcy: "Ё", iocy: "ё", Iogon: "Į", iogon: "į", Iopf: "𝕀", iopf: "𝕚", Iota: "Ι", iota: "ι", iprod: "⨼", iquest: "¿", Iscr: "ℐ", iscr: "𝒾", isin: "∈", isindot: "⋵", isinE: "⋹", isins: "⋴", isinsv: "⋳", isinv: "∈", it: "⁢", Itilde: "Ĩ", itilde: "ĩ", Iukcy: "І", iukcy: "і", Iuml: "Ï", iuml: "ï", Jcirc: "Ĵ", jcirc: "ĵ", Jcy: "Й", jcy: "й", Jfr: "𝔍", jfr: "𝔧", jmath: "ȷ", Jopf: "𝕁", jopf: "𝕛", Jscr: "𝒥", jscr: "𝒿", Jsercy: "Ј", jsercy: "ј", Jukcy: "Є", jukcy: "є", Kappa: "Κ", kappa: "κ", kappav: "ϰ", Kcedil: "Ķ", kcedil: "ķ", Kcy: "К", kcy: "к", Kfr: "𝔎", kfr: "𝔨", kgreen: "ĸ", KHcy: "Х", khcy: "х", KJcy: "Ќ", kjcy: "ќ", Kopf: "𝕂", kopf: "𝕜", Kscr: "𝒦", kscr: "𝓀", lAarr: "⇚", Lacute: "Ĺ", lacute: "ĺ", laemptyv: "⦴", lagran: "ℒ", Lambda: "Λ", lambda: "λ", Lang: "⟪", lang: "⟨", langd: "⦑", langle: "⟨", lap: "⪅", Laplacetrf: "ℒ", laquo: "«", Larr: "↞", lArr: "⇐", larr: "←", larrb: "⇤", larrbfs: "⤟", larrfs: "⤝", larrhk: "↩", larrlp: "↫", larrpl: "⤹", larrsim: "⥳", larrtl: "↢", lat: "⪫", lAtail: "⤛", latail: "⤙", late: "⪭", lates: "⪭︀", lBarr: "⤎", lbarr: "⤌", lbbrk: "❲", lbrace: "{", lbrack: "[", lbrke: "⦋", lbrksld: "⦏", lbrkslu: "⦍", Lcaron: "Ľ", lcaron: "ľ", Lcedil: "Ļ", lcedil: "ļ", lceil: "⌈", lcub: "{", Lcy: "Л", lcy: "л", ldca: "⤶", ldquo: "“", ldquor: "„", ldrdhar: "⥧", ldrushar: "⥋", ldsh: "↲", lE: "≦", le: "≤", LeftAngleBracket: "⟨", LeftArrow: "←", Leftarrow: "⇐", leftarrow: "←", LeftArrowBar: "⇤", LeftArrowRightArrow: "⇆", leftarrowtail: "↢", LeftCeiling: "⌈", LeftDoubleBracket: "⟦", LeftDownTeeVector: "⥡", LeftDownVector: "⇃", LeftDownVectorBar: "⥙", LeftFloor: "⌊", leftharpoondown: "↽", leftharpoonup: "↼", leftleftarrows: "⇇", LeftRightArrow: "↔", Leftrightarrow: "⇔", leftrightarrow: "↔", leftrightarrows: "⇆", leftrightharpoons: "⇋", leftrightsquigarrow: "↭", LeftRightVector: "⥎", LeftTee: "⊣", LeftTeeArrow: "↤", LeftTeeVector: "⥚", leftthreetimes: "⋋", LeftTriangle: "⊲", LeftTriangleBar: "⧏", LeftTriangleEqual: "⊴", LeftUpDownVector: "⥑", LeftUpTeeVector: "⥠", LeftUpVector: "↿", LeftUpVectorBar: "⥘", LeftVector: "↼", LeftVectorBar: "⥒", lEg: "⪋", leg: "⋚", leq: "≤", leqq: "≦", leqslant: "⩽", les: "⩽", lescc: "⪨", lesdot: "⩿", lesdoto: "⪁", lesdotor: "⪃", lesg: "⋚︀", lesges: "⪓", lessapprox: "⪅", lessdot: "⋖", lesseqgtr: "⋚", lesseqqgtr: "⪋", LessEqualGreater: "⋚", LessFullEqual: "≦", LessGreater: "≶", lessgtr: "≶", LessLess: "⪡", lesssim: "≲", LessSlantEqual: "⩽", LessTilde: "≲", lfisht: "⥼", lfloor: "⌊", Lfr: "𝔏", lfr: "𝔩", lg: "≶", lgE: "⪑", lHar: "⥢", lhard: "↽", lharu: "↼", lharul: "⥪", lhblk: "▄", LJcy: "Љ", ljcy: "љ", Ll: "⋘", ll: "≪", llarr: "⇇", llcorner: "⌞", Lleftarrow: "⇚", llhard: "⥫", lltri: "◺", Lmidot: "Ŀ", lmidot: "ŀ", lmoust: "⎰", lmoustache: "⎰", lnap: "⪉", lnapprox: "⪉", lnE: "≨", lne: "⪇", lneq: "⪇", lneqq: "≨", lnsim: "⋦", loang: "⟬", loarr: "⇽", lobrk: "⟦", LongLeftArrow: "⟵", Longleftarrow: "⟸", longleftarrow: "⟵", LongLeftRightArrow: "⟷", Longleftrightarrow: "⟺", longleftrightarrow: "⟷", longmapsto: "⟼", LongRightArrow: "⟶", Longrightarrow: "⟹", longrightarrow: "⟶", looparrowleft: "↫", looparrowright: "↬", lopar: "⦅", Lopf: "𝕃", lopf: "𝕝", loplus: "⨭", lotimes: "⨴", lowast: "∗", lowbar: "_", LowerLeftArrow: "↙", LowerRightArrow: "↘", loz: "◊", lozenge: "◊", lozf: "⧫", lpar: "(", lparlt: "⦓", lrarr: "⇆", lrcorner: "⌟", lrhar: "⇋", lrhard: "⥭", lrm: "‎", lrtri: "⊿", lsaquo: "‹", Lscr: "ℒ", lscr: "𝓁", Lsh: "↰", lsh: "↰", lsim: "≲", lsime: "⪍", lsimg: "⪏", lsqb: "[", lsquo: "‘", lsquor: "‚", Lstrok: "Ł", lstrok: "ł", LT: "<", Lt: "≪", lt: "<", ltcc: "⪦", ltcir: "⩹", ltdot: "⋖", lthree: "⋋", ltimes: "⋉", ltlarr: "⥶", ltquest: "⩻", ltri: "◃", ltrie: "⊴", ltrif: "◂", ltrPar: "⦖", lurdshar: "⥊", luruhar: "⥦", lvertneqq: "≨︀", lvnE: "≨︀", macr: "¯", male: "♂", malt: "✠", maltese: "✠", Map: "⤅", map: "↦", mapsto: "↦", mapstodown: "↧", mapstoleft: "↤", mapstoup: "↥", marker: "▮", mcomma: "⨩", Mcy: "М", mcy: "м", mdash: "—", mDDot: "∺", measuredangle: "∡", MediumSpace: " ", Mellintrf: "ℳ", Mfr: "𝔐", mfr: "𝔪", mho: "℧", micro: "µ", mid: "∣", midast: "*", midcir: "⫰", middot: "·", minus: "−", minusb: "⊟", minusd: "∸", minusdu: "⨪", MinusPlus: "∓", mlcp: "⫛", mldr: "…", mnplus: "∓", models: "⊧", Mopf: "𝕄", mopf: "𝕞", mp: "∓", Mscr: "ℳ", mscr: "𝓂", mstpos: "∾", Mu: "Μ", mu: "μ", multimap: "⊸", mumap: "⊸", nabla: "∇", Nacute: "Ń", nacute: "ń", nang: "∠⃒", nap: "≉", napE: "⩰̸", napid: "≋̸", napos: "ʼn", napprox: "≉", natur: "♮", natural: "♮", naturals: "ℕ", nbsp: " ", nbump: "≎̸", nbumpe: "≏̸", ncap: "⩃", Ncaron: "Ň", ncaron: "ň", Ncedil: "Ņ", ncedil: "ņ", ncong: "≇", ncongdot: "⩭̸", ncup: "⩂", Ncy: "Н", ncy: "н", ndash: "–", ne: "≠", nearhk: "⤤", neArr: "⇗", nearr: "↗", nearrow: "↗", nedot: "≐̸", NegativeMediumSpace: "​", NegativeThickSpace: "​", NegativeThinSpace: "​", NegativeVeryThinSpace: "​", nequiv: "≢", nesear: "⤨", nesim: "≂̸", NestedGreaterGreater: "≫", NestedLessLess: "≪", NewLine: "\n", nexist: "∄", nexists: "∄", Nfr: "𝔑", nfr: "𝔫", ngE: "≧̸", nge: "≱", ngeq: "≱", ngeqq: "≧̸", ngeqslant: "⩾̸", nges: "⩾̸", nGg: "⋙̸", ngsim: "≵", nGt: "≫⃒", ngt: "≯", ngtr: "≯", nGtv: "≫̸", nhArr: "⇎", nharr: "↮", nhpar: "⫲", ni: "∋", nis: "⋼", nisd: "⋺", niv: "∋", NJcy: "Њ", njcy: "њ", nlArr: "⇍", nlarr: "↚", nldr: "‥", nlE: "≦̸", nle: "≰", nLeftarrow: "⇍", nleftarrow: "↚", nLeftrightarrow: "⇎", nleftrightarrow: "↮", nleq: "≰", nleqq: "≦̸", nleqslant: "⩽̸", nles: "⩽̸", nless: "≮", nLl: "⋘̸", nlsim: "≴", nLt: "≪⃒", nlt: "≮", nltri: "⋪", nltrie: "⋬", nLtv: "≪̸", nmid: "∤", NoBreak: "⁠", NonBreakingSpace: " ", Nopf: "ℕ", nopf: "𝕟", Not: "⫬", not: "¬", NotCongruent: "≢", NotCupCap: "≭", NotDoubleVerticalBar: "∦", NotElement: "∉", NotEqual: "≠", NotEqualTilde: "≂̸", NotExists: "∄", NotGreater: "≯", NotGreaterEqual: "≱", NotGreaterFullEqual: "≧̸", NotGreaterGreater: "≫̸", NotGreaterLess: "≹", NotGreaterSlantEqual: "⩾̸", NotGreaterTilde: "≵", NotHumpDownHump: "≎̸", NotHumpEqual: "≏̸", notin: "∉", notindot: "⋵̸", notinE: "⋹̸", notinva: "∉", notinvb: "⋷", notinvc: "⋶", NotLeftTriangle: "⋪", NotLeftTriangleBar: "⧏̸", NotLeftTriangleEqual: "⋬", NotLess: "≮", NotLessEqual: "≰", NotLessGreater: "≸", NotLessLess: "≪̸", NotLessSlantEqual: "⩽̸", NotLessTilde: "≴", NotNestedGreaterGreater: "⪢̸", NotNestedLessLess: "⪡̸", notni: "∌", notniva: "∌", notnivb: "⋾", notnivc: "⋽", NotPrecedes: "⊀", NotPrecedesEqual: "⪯̸", NotPrecedesSlantEqual: "⋠", NotReverseElement: "∌", NotRightTriangle: "⋫", NotRightTriangleBar: "⧐̸", NotRightTriangleEqual: "⋭", NotSquareSubset: "⊏̸", NotSquareSubsetEqual: "⋢", NotSquareSuperset: "⊐̸", NotSquareSupersetEqual: "⋣", NotSubset: "⊂⃒", NotSubsetEqual: "⊈", NotSucceeds: "⊁", NotSucceedsEqual: "⪰̸", NotSucceedsSlantEqual: "⋡", NotSucceedsTilde: "≿̸", NotSuperset: "⊃⃒", NotSupersetEqual: "⊉", NotTilde: "≁", NotTildeEqual: "≄", NotTildeFullEqual: "≇", NotTildeTilde: "≉", NotVerticalBar: "∤", npar: "∦", nparallel: "∦", nparsl: "⫽⃥", npart: "∂̸", npolint: "⨔", npr: "⊀", nprcue: "⋠", npre: "⪯̸", nprec: "⊀", npreceq: "⪯̸", nrArr: "⇏", nrarr: "↛", nrarrc: "⤳̸", nrarrw: "↝̸", nRightarrow: "⇏", nrightarrow: "↛", nrtri: "⋫", nrtrie: "⋭", nsc: "⊁", nsccue: "⋡", nsce: "⪰̸", Nscr: "𝒩", nscr: "𝓃", nshortmid: "∤", nshortparallel: "∦", nsim: "≁", nsime: "≄", nsimeq: "≄", nsmid: "∤", nspar: "∦", nsqsube: "⋢", nsqsupe: "⋣", nsub: "⊄", nsubE: "⫅̸", nsube: "⊈", nsubset: "⊂⃒", nsubseteq: "⊈", nsubseteqq: "⫅̸", nsucc: "⊁", nsucceq: "⪰̸", nsup: "⊅", nsupE: "⫆̸", nsupe: "⊉", nsupset: "⊃⃒", nsupseteq: "⊉", nsupseteqq: "⫆̸", ntgl: "≹", Ntilde: "Ñ", ntilde: "ñ", ntlg: "≸", ntriangleleft: "⋪", ntrianglelefteq: "⋬", ntriangleright: "⋫", ntrianglerighteq: "⋭", Nu: "Ν", nu: "ν", num: "#", numero: "№", numsp: " ", nvap: "≍⃒", nVDash: "⊯", nVdash: "⊮", nvDash: "⊭", nvdash: "⊬", nvge: "≥⃒", nvgt: ">⃒", nvHarr: "⤄", nvinfin: "⧞", nvlArr: "⤂", nvle: "≤⃒", nvlt: "<⃒", nvltrie: "⊴⃒", nvrArr: "⤃", nvrtrie: "⊵⃒", nvsim: "∼⃒", nwarhk: "⤣", nwArr: "⇖", nwarr: "↖", nwarrow: "↖", nwnear: "⤧", Oacute: "Ó", oacute: "ó", oast: "⊛", ocir: "⊚", Ocirc: "Ô", ocirc: "ô", Ocy: "О", ocy: "о", odash: "⊝", Odblac: "Ő", odblac: "ő", odiv: "⨸", odot: "⊙", odsold: "⦼", OElig: "Œ", oelig: "œ", ofcir: "⦿", Ofr: "𝔒", ofr: "𝔬", ogon: "˛", Ograve: "Ò", ograve: "ò", ogt: "⧁", ohbar: "⦵", ohm: "Ω", oint: "∮", olarr: "↺", olcir: "⦾", olcross: "⦻", oline: "‾", olt: "⧀", Omacr: "Ō", omacr: "ō", Omega: "Ω", omega: "ω", Omicron: "Ο", omicron: "ο", omid: "⦶", ominus: "⊖", Oopf: "𝕆", oopf: "𝕠", opar: "⦷", OpenCurlyDoubleQuote: "“", OpenCurlyQuote: "‘", operp: "⦹", oplus: "⊕", Or: "⩔", or: "∨", orarr: "↻", ord: "⩝", order: "ℴ", orderof: "ℴ", ordf: "ª", ordm: "º", origof: "⊶", oror: "⩖", orslope: "⩗", orv: "⩛", oS: "Ⓢ", Oscr: "𝒪", oscr: "ℴ", Oslash: "Ø", oslash: "ø", osol: "⊘", Otilde: "Õ", otilde: "õ", Otimes: "⨷", otimes: "⊗", otimesas: "⨶", Ouml: "Ö", ouml: "ö", ovbar: "⌽", OverBar: "‾", OverBrace: "⏞", OverBracket: "⎴", OverParenthesis: "⏜", par: "∥", para: "¶", parallel: "∥", parsim: "⫳", parsl: "⫽", part: "∂", PartialD: "∂", Pcy: "П", pcy: "п", percnt: "%", period: ".", permil: "‰", perp: "⊥", pertenk: "‱", Pfr: "𝔓", pfr: "𝔭", Phi: "Φ", phi: "φ", phiv: "ϕ", phmmat: "ℳ", phone: "☎", Pi: "Π", pi: "π", pitchfork: "⋔", piv: "ϖ", planck: "ℏ", planckh: "ℎ", plankv: "ℏ", plus: "+", plusacir: "⨣", plusb: "⊞", pluscir: "⨢", plusdo: "∔", plusdu: "⨥", pluse: "⩲", PlusMinus: "±", plusmn: "±", plussim: "⨦", plustwo: "⨧", pm: "±", Poincareplane: "ℌ", pointint: "⨕", Popf: "ℙ", popf: "𝕡", pound: "£", Pr: "⪻", pr: "≺", prap: "⪷", prcue: "≼", prE: "⪳", pre: "⪯", prec: "≺", precapprox: "⪷", preccurlyeq: "≼", Precedes: "≺", PrecedesEqual: "⪯", PrecedesSlantEqual: "≼", PrecedesTilde: "≾", preceq: "⪯", precnapprox: "⪹", precneqq: "⪵", precnsim: "⋨", precsim: "≾", Prime: "″", prime: "′", primes: "ℙ", prnap: "⪹", prnE: "⪵", prnsim: "⋨", prod: "∏", Product: "∏", profalar: "⌮", profline: "⌒", profsurf: "⌓", prop: "∝", Proportion: "∷", Proportional: "∝", propto: "∝", prsim: "≾", prurel: "⊰", Pscr: "𝒫", pscr: "𝓅", Psi: "Ψ", psi: "ψ", puncsp: " ", Qfr: "𝔔", qfr: "𝔮", qint: "⨌", Qopf: "ℚ", qopf: "𝕢", qprime: "⁗", Qscr: "𝒬", qscr: "𝓆", quaternions: "ℍ", quatint: "⨖", quest: "?", questeq: "≟", QUOT: '"', quot: '"', rAarr: "⇛", race: "∽̱", Racute: "Ŕ", racute: "ŕ", radic: "√", raemptyv: "⦳", Rang: "⟫", rang: "⟩", rangd: "⦒", range: "⦥", rangle: "⟩", raquo: "»", Rarr: "↠", rArr: "⇒", rarr: "→", rarrap: "⥵", rarrb: "⇥", rarrbfs: "⤠", rarrc: "⤳", rarrfs: "⤞", rarrhk: "↪", rarrlp: "↬", rarrpl: "⥅", rarrsim: "⥴", Rarrtl: "⤖", rarrtl: "↣", rarrw: "↝", rAtail: "⤜", ratail: "⤚", ratio: "∶", rationals: "ℚ", RBarr: "⤐", rBarr: "⤏", rbarr: "⤍", rbbrk: "❳", rbrace: "}", rbrack: "]", rbrke: "⦌", rbrksld: "⦎", rbrkslu: "⦐", Rcaron: "Ř", rcaron: "ř", Rcedil: "Ŗ", rcedil: "ŗ", rceil: "⌉", rcub: "}", Rcy: "Р", rcy: "р", rdca: "⤷", rdldhar: "⥩", rdquo: "”", rdquor: "”", rdsh: "↳", Re: "ℜ", real: "ℜ", realine: "ℛ", realpart: "ℜ", reals: "ℝ", rect: "▭", REG: "®", reg: "®", ReverseElement: "∋", ReverseEquilibrium: "⇋", ReverseUpEquilibrium: "⥯", rfisht: "⥽", rfloor: "⌋", Rfr: "ℜ", rfr: "𝔯", rHar: "⥤", rhard: "⇁", rharu: "⇀", rharul: "⥬", Rho: "Ρ", rho: "ρ", rhov: "ϱ", RightAngleBracket: "⟩", RightArrow: "→", Rightarrow: "⇒", rightarrow: "→", RightArrowBar: "⇥", RightArrowLeftArrow: "⇄", rightarrowtail: "↣", RightCeiling: "⌉", RightDoubleBracket: "⟧", RightDownTeeVector: "⥝", RightDownVector: "⇂", RightDownVectorBar: "⥕", RightFloor: "⌋", rightharpoondown: "⇁", rightharpoonup: "⇀", rightleftarrows: "⇄", rightleftharpoons: "⇌", rightrightarrows: "⇉", rightsquigarrow: "↝", RightTee: "⊢", RightTeeArrow: "↦", RightTeeVector: "⥛", rightthreetimes: "⋌", RightTriangle: "⊳", RightTriangleBar: "⧐", RightTriangleEqual: "⊵", RightUpDownVector: "⥏", RightUpTeeVector: "⥜", RightUpVector: "↾", RightUpVectorBar: "⥔", RightVector: "⇀", RightVectorBar: "⥓", ring: "˚", risingdotseq: "≓", rlarr: "⇄", rlhar: "⇌", rlm: "‏", rmoust: "⎱", rmoustache: "⎱", rnmid: "⫮", roang: "⟭", roarr: "⇾", robrk: "⟧", ropar: "⦆", Ropf: "ℝ", ropf: "𝕣", roplus: "⨮", rotimes: "⨵", RoundImplies: "⥰", rpar: ")", rpargt: "⦔", rppolint: "⨒", rrarr: "⇉", Rrightarrow: "⇛", rsaquo: "›", Rscr: "ℛ", rscr: "𝓇", Rsh: "↱", rsh: "↱", rsqb: "]", rsquo: "’", rsquor: "’", rthree: "⋌", rtimes: "⋊", rtri: "▹", rtrie: "⊵", rtrif: "▸", rtriltri: "⧎", RuleDelayed: "⧴", ruluhar: "⥨", rx: "℞", Sacute: "Ś", sacute: "ś", sbquo: "‚", Sc: "⪼", sc: "≻", scap: "⪸", Scaron: "Š", scaron: "š", sccue: "≽", scE: "⪴", sce: "⪰", Scedil: "Ş", scedil: "ş", Scirc: "Ŝ", scirc: "ŝ", scnap: "⪺", scnE: "⪶", scnsim: "⋩", scpolint: "⨓", scsim: "≿", Scy: "С", scy: "с", sdot: "⋅", sdotb: "⊡", sdote: "⩦", searhk: "⤥", seArr: "⇘", searr: "↘", searrow: "↘", sect: "§", semi: ";", seswar: "⤩", setminus: "∖", setmn: "∖", sext: "✶", Sfr: "𝔖", sfr: "𝔰", sfrown: "⌢", sharp: "♯", SHCHcy: "Щ", shchcy: "щ", SHcy: "Ш", shcy: "ш", ShortDownArrow: "↓", ShortLeftArrow: "←", shortmid: "∣", shortparallel: "∥", ShortRightArrow: "→", ShortUpArrow: "↑", shy: "­", Sigma: "Σ", sigma: "σ", sigmaf: "ς", sigmav: "ς", sim: "∼", simdot: "⩪", sime: "≃", simeq: "≃", simg: "⪞", simgE: "⪠", siml: "⪝", simlE: "⪟", simne: "≆", simplus: "⨤", simrarr: "⥲", slarr: "←", SmallCircle: "∘", smallsetminus: "∖", smashp: "⨳", smeparsl: "⧤", smid: "∣", smile: "⌣", smt: "⪪", smte: "⪬", smtes: "⪬︀", SOFTcy: "Ь", softcy: "ь", sol: "/", solb: "⧄", solbar: "⌿", Sopf: "𝕊", sopf: "𝕤", spades: "♠", spadesuit: "♠", spar: "∥", sqcap: "⊓", sqcaps: "⊓︀", sqcup: "⊔", sqcups: "⊔︀", Sqrt: "√", sqsub: "⊏", sqsube: "⊑", sqsubset: "⊏", sqsubseteq: "⊑", sqsup: "⊐", sqsupe: "⊒", sqsupset: "⊐", sqsupseteq: "⊒", squ: "□", Square: "□", square: "□", SquareIntersection: "⊓", SquareSubset: "⊏", SquareSubsetEqual: "⊑", SquareSuperset: "⊐", SquareSupersetEqual: "⊒", SquareUnion: "⊔", squarf: "▪", squf: "▪", srarr: "→", Sscr: "𝒮", sscr: "𝓈", ssetmn: "∖", ssmile: "⌣", sstarf: "⋆", Star: "⋆", star: "☆", starf: "★", straightepsilon: "ϵ", straightphi: "ϕ", strns: "¯", Sub: "⋐", sub: "⊂", subdot: "⪽", subE: "⫅", sube: "⊆", subedot: "⫃", submult: "⫁", subnE: "⫋", subne: "⊊", subplus: "⪿", subrarr: "⥹", Subset: "⋐", subset: "⊂", subseteq: "⊆", subseteqq: "⫅", SubsetEqual: "⊆", subsetneq: "⊊", subsetneqq: "⫋", subsim: "⫇", subsub: "⫕", subsup: "⫓", succ: "≻", succapprox: "⪸", succcurlyeq: "≽", Succeeds: "≻", SucceedsEqual: "⪰", SucceedsSlantEqual: "≽", SucceedsTilde: "≿", succeq: "⪰", succnapprox: "⪺", succneqq: "⪶", succnsim: "⋩", succsim: "≿", SuchThat: "∋", Sum: "∑", sum: "∑", sung: "♪", Sup: "⋑", sup: "⊃", sup1: "¹", sup2: "²", sup3: "³", supdot: "⪾", supdsub: "⫘", supE: "⫆", supe: "⊇", supedot: "⫄", Superset: "⊃", SupersetEqual: "⊇", suphsol: "⟉", suphsub: "⫗", suplarr: "⥻", supmult: "⫂", supnE: "⫌", supne: "⊋", supplus: "⫀", Supset: "⋑", supset: "⊃", supseteq: "⊇", supseteqq: "⫆", supsetneq: "⊋", supsetneqq: "⫌", supsim: "⫈", supsub: "⫔", supsup: "⫖", swarhk: "⤦", swArr: "⇙", swarr: "↙", swarrow: "↙", swnwar: "⤪", szlig: "ß", Tab: "\t", target: "⌖", Tau: "Τ", tau: "τ", tbrk: "⎴", Tcaron: "Ť", tcaron: "ť", Tcedil: "Ţ", tcedil: "ţ", Tcy: "Т", tcy: "т", tdot: "⃛", telrec: "⌕", Tfr: "𝔗", tfr: "𝔱", there4: "∴", Therefore: "∴", therefore: "∴", Theta: "Θ", theta: "θ", thetasym: "ϑ", thetav: "ϑ", thickapprox: "≈", thicksim: "∼", ThickSpace: "  ", thinsp: " ", ThinSpace: " ", thkap: "≈", thksim: "∼", THORN: "Þ", thorn: "þ", Tilde: "∼", tilde: "˜", TildeEqual: "≃", TildeFullEqual: "≅", TildeTilde: "≈", times: "×", timesb: "⊠", timesbar: "⨱", timesd: "⨰", tint: "∭", toea: "⤨", top: "⊤", topbot: "⌶", topcir: "⫱", Topf: "𝕋", topf: "𝕥", topfork: "⫚", tosa: "⤩", tprime: "‴", TRADE: "™", trade: "™", triangle: "▵", triangledown: "▿", triangleleft: "◃", trianglelefteq: "⊴", triangleq: "≜", triangleright: "▹", trianglerighteq: "⊵", tridot: "◬", trie: "≜", triminus: "⨺", TripleDot: "⃛", triplus: "⨹", trisb: "⧍", tritime: "⨻", trpezium: "⏢", Tscr: "𝒯", tscr: "𝓉", TScy: "Ц", tscy: "ц", TSHcy: "Ћ", tshcy: "ћ", Tstrok: "Ŧ", tstrok: "ŧ", twixt: "≬", twoheadleftarrow: "↞", twoheadrightarrow: "↠", Uacute: "Ú", uacute: "ú", Uarr: "↟", uArr: "⇑", uarr: "↑", Uarrocir: "⥉", Ubrcy: "Ў", ubrcy: "ў", Ubreve: "Ŭ", ubreve: "ŭ", Ucirc: "Û", ucirc: "û", Ucy: "У", ucy: "у", udarr: "⇅", Udblac: "Ű", udblac: "ű", udhar: "⥮", ufisht: "⥾", Ufr: "𝔘", ufr: "𝔲", Ugrave: "Ù", ugrave: "ù", uHar: "⥣", uharl: "↿", uharr: "↾", uhblk: "▀", ulcorn: "⌜", ulcorner: "⌜", ulcrop: "⌏", ultri: "◸", Umacr: "Ū", umacr: "ū", uml: "¨", UnderBar: "_", UnderBrace: "⏟", UnderBracket: "⎵", UnderParenthesis: "⏝", Union: "⋃", UnionPlus: "⊎", Uogon: "Ų", uogon: "ų", Uopf: "𝕌", uopf: "𝕦", UpArrow: "↑", Uparrow: "⇑", uparrow: "↑", UpArrowBar: "⤒", UpArrowDownArrow: "⇅", UpDownArrow: "↕", Updownarrow: "⇕", updownarrow: "↕", UpEquilibrium: "⥮", upharpoonleft: "↿", upharpoonright: "↾", uplus: "⊎", UpperLeftArrow: "↖", UpperRightArrow: "↗", Upsi: "ϒ", upsi: "υ", upsih: "ϒ", Upsilon: "Υ", upsilon: "υ", UpTee: "⊥", UpTeeArrow: "↥", upuparrows: "⇈", urcorn: "⌝", urcorner: "⌝", urcrop: "⌎", Uring: "Ů", uring: "ů", urtri: "◹", Uscr: "𝒰", uscr: "𝓊", utdot: "⋰", Utilde: "Ũ", utilde: "ũ", utri: "▵", utrif: "▴", uuarr: "⇈", Uuml: "Ü", uuml: "ü", uwangle: "⦧", vangrt: "⦜", varepsilon: "ϵ", varkappa: "ϰ", varnothing: "∅", varphi: "ϕ", varpi: "ϖ", varpropto: "∝", vArr: "⇕", varr: "↕", varrho: "ϱ", varsigma: "ς", varsubsetneq: "⊊︀", varsubsetneqq: "⫋︀", varsupsetneq: "⊋︀", varsupsetneqq: "⫌︀", vartheta: "ϑ", vartriangleleft: "⊲", vartriangleright: "⊳", Vbar: "⫫", vBar: "⫨", vBarv: "⫩", Vcy: "В", vcy: "в", VDash: "⊫", Vdash: "⊩", vDash: "⊨", vdash: "⊢", Vdashl: "⫦", Vee: "⋁", vee: "∨", veebar: "⊻", veeeq: "≚", vellip: "⋮", Verbar: "‖", verbar: "|", Vert: "‖", vert: "|", VerticalBar: "∣", VerticalLine: "|", VerticalSeparator: "❘", VerticalTilde: "≀", VeryThinSpace: " ", Vfr: "𝔙", vfr: "𝔳", vltri: "⊲", vnsub: "⊂⃒", vnsup: "⊃⃒", Vopf: "𝕍", vopf: "𝕧", vprop: "∝", vrtri: "⊳", Vscr: "𝒱", vscr: "𝓋", vsubnE: "⫋︀", vsubne: "⊊︀", vsupnE: "⫌︀", vsupne: "⊋︀", Vvdash: "⊪", vzigzag: "⦚", Wcirc: "Ŵ", wcirc: "ŵ", wedbar: "⩟", Wedge: "⋀", wedge: "∧", wedgeq: "≙", weierp: "℘", Wfr: "𝔚", wfr: "𝔴", Wopf: "𝕎", wopf: "𝕨", wp: "℘", wr: "≀", wreath: "≀", Wscr: "𝒲", wscr: "𝓌", xcap: "⋂", xcirc: "◯", xcup: "⋃", xdtri: "▽", Xfr: "𝔛", xfr: "𝔵", xhArr: "⟺", xharr: "⟷", Xi: "Ξ", xi: "ξ", xlArr: "⟸", xlarr: "⟵", xmap: "⟼", xnis: "⋻", xodot: "⨀", Xopf: "𝕏", xopf: "𝕩", xoplus: "⨁", xotime: "⨂", xrArr: "⟹", xrarr: "⟶", Xscr: "𝒳", xscr: "𝓍", xsqcup: "⨆", xuplus: "⨄", xutri: "△", xvee: "⋁", xwedge: "⋀", Yacute: "Ý", yacute: "ý", YAcy: "Я", yacy: "я", Ycirc: "Ŷ", ycirc: "ŷ", Ycy: "Ы", ycy: "ы", yen: "¥", Yfr: "𝔜", yfr: "𝔶", YIcy: "Ї", yicy: "ї", Yopf: "𝕐", yopf: "𝕪", Yscr: "𝒴", yscr: "𝓎", YUcy: "Ю", yucy: "ю", Yuml: "Ÿ", yuml: "ÿ", Zacute: "Ź", zacute: "ź", Zcaron: "Ž", zcaron: "ž", Zcy: "З", zcy: "з", Zdot: "Ż", zdot: "ż", zeetrf: "ℨ", ZeroWidthSpace: "​", Zeta: "Ζ", zeta: "ζ", Zfr: "ℨ", zfr: "𝔷", ZHcy: "Ж", zhcy: "ж", zigrarr: "⇝", Zopf: "ℤ", zopf: "𝕫", Zscr: "𝒵", zscr: "𝓏", zwj: "‍", zwnj: "‌" },
291
111
  HEXCHARCODE = /^#[xX]([A-Fa-f0-9]+)$/,
292
112
  CHARCODE = /^#([0-9]+)$/,
293
113
  NAMED = /^([A-Za-z0-9]+)$/,
@@ -302,8 +122,15 @@ function _interopDefault(t) {
302
122
  }(),
303
123
  WSP = /[\t\n\f ]/,
304
124
  ALPHA = /[A-Za-z]/,
305
- CRLF = /\r\n?/g,
306
- EventedTokenizer = function () {
125
+ CRLF = /\r\n?/g;function isSpace(t) {
126
+ return WSP.test(t);
127
+ }function isAlpha(t) {
128
+ return ALPHA.test(t);
129
+ }function preprocessInput(t) {
130
+ return t.replace(CRLF, "\n");
131
+ }function unwrap(t, e) {
132
+ if (!t) throw new Error((e || "value") + " was null");return t;
133
+ }var EventedTokenizer = function () {
307
134
  function t(t, e) {
308
135
  this.delegate = t, this.entityParser = e, this.state = null, this.input = null, this.index = -1, this.tagLine = -1, this.tagColumn = -1, this.line = -1, this.column = -1, this.states = { beforeData: function beforeData() {
309
136
  "<" === this.peek() ? (this.state = "tagOpen", this.markTagStart(), this.consume()) : (this.state = "data", this.delegate.beginData());
@@ -425,8 +252,16 @@ function _interopDefault(t) {
425
252
  }, t.prototype.finishAttributeValue = function () {}, t.prototype.reportSyntaxError = function (t) {
426
253
  this.token.syntaxError = t;
427
254
  }, t;
428
- }();var objKeys = Object.keys;
429
-
255
+ }();function debugAssert(t, e) {
256
+ if (!t) throw new Error(e || "assertion failure");
257
+ }var objKeys = Object.keys;
258
+ function assign(t) {
259
+ for (var e = 1; e < arguments.length; e++) {
260
+ var r = arguments[e];if (null === r || "object" != (typeof r === "undefined" ? "undefined" : _typeof(r))) continue;var a = objKeys(r);for (var _e3 = 0; _e3 < a.length; _e3++) {
261
+ var i = a[_e3];t[i] = r[i];
262
+ }
263
+ }return t;
264
+ }
430
265
  var ListSlice = function () {
431
266
  function ListSlice(t, e) {
432
267
  _classCallCheck(this, ListSlice);
@@ -561,13 +396,13 @@ var HandlebarsNodeVisitors = function (_Parser) {
561
396
  }, {
562
397
  key: "Program",
563
398
  value: function Program(t) {
564
- var e = [];this.cursorCount = 0;var r = void 0,
565
- a = b.program(e, t.blockParams, t.loc),
566
- i = t.body.length;if (this.elementStack.push(a), 0 === i) return this.elementStack.pop();for (r = 0; r < i; r++) {
567
- this.acceptNode(t.body[r]);
568
- }var n = this.elementStack.pop();if (n !== a) {
569
- var _t4 = n;throw new SyntaxError$1("Unclosed element `" + _t4.tag + "` (on line " + _t4.loc.start.line + ").", _t4.loc);
570
- }return a;
399
+ this.cursorCount = 0;var e = void 0,
400
+ r = b.program([], t.blockParams, t.loc),
401
+ a = t.body.length;if (this.elementStack.push(r), 0 === a) return this.elementStack.pop();for (e = 0; e < a; e++) {
402
+ this.acceptNode(t.body[e]);
403
+ }var i = this.elementStack.pop();if (i !== r) {
404
+ var _t = i;throw new SyntaxError$1("Unclosed element `" + _t.tag + "` (on line " + _t.loc.start.line + ").", _t.loc);
405
+ }return r;
571
406
  }
572
407
  }, {
573
408
  key: "BlockStatement",
@@ -585,24 +420,24 @@ var HandlebarsNodeVisitors = function (_Parser) {
585
420
  }, {
586
421
  key: "MustacheStatement",
587
422
  value: function MustacheStatement(t) {
588
- var e = this.tokenizer;
589
- if ("comment" === e.state) return void this.appendToCommentData(this.sourceForNode(t));var r = void 0,
590
- a = t.escaped,
591
- i = t.loc;if (t.path.type.match(/Literal$/)) r = { type: "MustacheStatement", path: this.acceptNode(t.path), params: [], hash: b.hash(), escaped: a, loc: i };else {
423
+ var e = void 0,
424
+ r = this.tokenizer;if ("comment" === r.state) return void this.appendToCommentData(this.sourceForNode(t));var a = t.escaped,
425
+ i = t.loc;
426
+ if (t.path.type.match(/Literal$/)) e = { type: "MustacheStatement", path: this.acceptNode(t.path), params: [], hash: b.hash(), escaped: a, loc: i };else {
592
427
  var _acceptCallNodes2 = acceptCallNodes(this, t),
593
- _e6 = _acceptCallNodes2.path,
428
+ _r = _acceptCallNodes2.path,
594
429
  n = _acceptCallNodes2.params,
595
430
  s = _acceptCallNodes2.hash;
596
431
 
597
- r = b.mustache(_e6, n, s, !a, i);
598
- }switch (e.state) {case "tagName":
599
- addElementModifier(this.currentStartTag, r), e.state = "beforeAttributeName";break;case "beforeAttributeName":
600
- addElementModifier(this.currentStartTag, r);break;case "attributeName":case "afterAttributeName":
601
- this.beginAttributeValue(!1), this.finishAttributeValue(), addElementModifier(this.currentStartTag, r), e.state = "beforeAttributeName";break;case "afterAttributeValueQuoted":
602
- addElementModifier(this.currentStartTag, r), e.state = "beforeAttributeName";break;case "beforeAttributeValue":
603
- this.beginAttributeValue(!1), appendDynamicAttributeValuePart(this.currentAttribute, r), e.state = "attributeValueUnquoted";break;case "attributeValueDoubleQuoted":case "attributeValueSingleQuoted":case "attributeValueUnquoted":
604
- appendDynamicAttributeValuePart(this.currentAttribute, r);break;default:
605
- appendChild(this.currentElement(), r);}return r;
432
+ e = b.mustache(_r, n, s, !a, i);
433
+ }switch (r.state) {case "tagName":
434
+ addElementModifier(this.currentStartTag, e), r.state = "beforeAttributeName";break;case "beforeAttributeName":
435
+ addElementModifier(this.currentStartTag, e);break;case "attributeName":case "afterAttributeName":
436
+ this.beginAttributeValue(!1), this.finishAttributeValue(), addElementModifier(this.currentStartTag, e), r.state = "beforeAttributeName";break;case "afterAttributeValueQuoted":
437
+ addElementModifier(this.currentStartTag, e), r.state = "beforeAttributeName";break;case "beforeAttributeValue":
438
+ this.beginAttributeValue(!1), appendDynamicAttributeValuePart(this.currentAttribute, e), r.state = "attributeValueUnquoted";break;case "attributeValueDoubleQuoted":case "attributeValueSingleQuoted":case "attributeValueUnquoted":
439
+ appendDynamicAttributeValuePart(this.currentAttribute, e);break;default:
440
+ appendChild(this.currentElement(), e);}return e;
606
441
  }
607
442
  }, {
608
443
  key: "ContentStatement",
@@ -701,11 +536,133 @@ var HandlebarsNodeVisitors = function (_Parser) {
701
536
  return HandlebarsNodeVisitors;
702
537
  }(Parser);
703
538
 
704
- var visitorKeys = { Program: ["body"], MustacheStatement: ["path", "params", "hash"], BlockStatement: ["path", "params", "hash", "program", "inverse"], ElementModifierStatement: ["path", "params", "hash"], PartialStatement: ["name", "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"] };var TraversalError = function () {
539
+ function calculateRightStrippedOffsets(t, e) {
540
+ if ("" === e) return { lines: t.split("\n").length - 1, columns: 0 };var r = t.split(e)[0].split(/\n/),
541
+ a = r.length - 1;return { lines: a, columns: r[a].length };
542
+ }function updateTokenizerLocation(t, e) {
543
+ var r = e.loc.start.line,
544
+ a = e.loc.start.column,
545
+ i = calculateRightStrippedOffsets(e.original, e.value);r += i.lines, i.lines ? a = i.columns : a += i.columns, t.line = r, t.column = a;
546
+ }function acceptCallNodes(t, e) {
547
+ return { path: t.PathExpression(e.path), params: e.params ? e.params.map(function (e) {
548
+ return t.acceptNode(e);
549
+ }) : [], hash: e.hash ? t.Hash(e.hash) : b.hash() };
550
+ }function addElementModifier(t, e) {
551
+ var r = e.path,
552
+ a = e.params,
553
+ i = e.hash,
554
+ n = e.loc;
555
+ if (isLiteral$1(r)) {
556
+ var _a2 = "{{" + printLiteral(r) + "}}",
557
+ _i = "<" + t.name + " ... " + _a2 + " ...";throw new SyntaxError$1("In " + _i + ", " + _a2 + " is not a valid modifier: \"" + r.original + "\" on line " + (n && n.start.line) + ".", e.loc);
558
+ }var s = b.elementModifier(r, a, i, n);t.modifiers.push(s);
559
+ }function addInElementHash(t, e, r) {
560
+ var a = !1;e.pairs.forEach(function (t) {
561
+ if ("guid" === t.key) throw new SyntaxError$1("Cannot pass `guid` from user space", r);"nextSibling" === t.key && (a = !0);
562
+ });var i = b.literal("StringLiteral", t),
563
+ n = b.pair("guid", i);if (e.pairs.unshift(n), !a) {
564
+ var _t2 = b.literal("NullLiteral", null),
565
+ _r2 = b.pair("nextSibling", _t2);e.pairs.push(_r2);
566
+ }return e;
567
+ }function appendDynamicAttributeValuePart(t, e) {
568
+ t.isDynamic = !0, t.parts.push(e);
569
+ }var visitorKeys = { Program: ["body"], MustacheStatement: ["path", "params", "hash"], BlockStatement: ["path", "params", "hash", "program", "inverse"], ElementModifierStatement: ["path", "params", "hash"], PartialStatement: ["name", "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"] };var TraversalError = function () {
705
570
  function t(t, e, r, a) {
706
571
  var i = Error.call(this, t);this.key = a, this.message = t, this.node = e, this.parent = r, this.stack = i.stack;
707
572
  }return t.prototype = Object.create(Error.prototype), t.prototype.constructor = t, t;
708
- }();
573
+ }();function cannotRemoveNode(t, e, r) {
574
+ return new TraversalError("Cannot remove a node unless it is part of an array", t, e, r);
575
+ }function cannotReplaceNode(t, e, r) {
576
+ return new TraversalError("Cannot replace a node with multiple nodes unless it is part of an array", t, e, r);
577
+ }function cannotReplaceOrRemoveInKeyHandlerYet(t, e) {
578
+ return new TraversalError("Replacing and removing in key handlers is not yet supported.", t, null, e);
579
+ }function visitNode(t, e) {
580
+ var r = void 0,
581
+ a = t[e.type] || t.All || null;if (a && a.enter && (r = a.enter.call(null, e)), void 0 !== r && null !== r) {
582
+ if (JSON.stringify(e) !== JSON.stringify(r)) return Array.isArray(r) ? visitArray(t, r) || r : visitNode(t, r) || r;r = void 0;
583
+ }if (void 0 === r) {
584
+ var i = visitorKeys[e.type];for (var _r3 = 0; _r3 < i.length; _r3++) {
585
+ visitKey(t, a, e, i[_r3]);
586
+ }a && a.exit && (r = a.exit.call(null, e));
587
+ }return r;
588
+ }function visitKey(t, e, r, a) {
589
+ var i = r[a];if (!i) return;var n = void 0,
590
+ s = e && (e.keys[a] || e.keys.All);if (s && s.enter && void 0 !== (n = s.enter.call(null, r, a))) throw cannotReplaceOrRemoveInKeyHandlerYet(r, a);if (Array.isArray(i)) visitArray(t, i);else {
591
+ var _e4 = visitNode(t, i);void 0 !== _e4 && assignKey(r, a, _e4);
592
+ }if (s && s.exit && void 0 !== (n = s.exit.call(null, r, a))) throw cannotReplaceOrRemoveInKeyHandlerYet(r, a);
593
+ }function visitArray(t, e) {
594
+ for (var r = 0; r < e.length; r++) {
595
+ var a = visitNode(t, e[r]);void 0 !== a && (r += spliceArray(e, r, a) - 1);
596
+ }
597
+ }function assignKey(t, e, r) {
598
+ if (null === r) throw cannotRemoveNode(t[e], t, e);if (Array.isArray(r)) {
599
+ if (1 !== r.length) throw 0 === r.length ? cannotRemoveNode(t[e], t, e) : cannotReplaceNode(t[e], t, e);t[e] = r[0];
600
+ } else t[e] = r;
601
+ }function spliceArray(t, e, r) {
602
+ return null === r ? (t.splice(e, 1), 0) : Array.isArray(r) ? (t.splice.apply(t, [e, 1].concat(_toConsumableArray(r))), r.length) : (t.splice(e, 1, r), 1);
603
+ }function traverse(t, e) {
604
+ visitNode(normalizeVisitor(e), t);
605
+ }function normalizeVisitor(t) {
606
+ var e = {};for (var r in t) {
607
+ var a = t[r] || t.All,
608
+ i = {};if ("object" == (typeof a === "undefined" ? "undefined" : _typeof(a))) {
609
+ var _t3 = a.keys;if (_t3) for (var _e5 in _t3) {
610
+ var _r4 = _t3[_e5];"object" == (typeof _r4 === "undefined" ? "undefined" : _typeof(_r4)) ? i[_e5] = { enter: "function" == typeof _r4.enter ? _r4.enter : null, exit: "function" == typeof _r4.exit ? _r4.exit : null } : "function" == typeof _r4 && (i[_e5] = { enter: _r4, exit: null });
611
+ }e[r] = { enter: "function" == typeof a.enter ? a.enter : null, exit: "function" == typeof a.exit ? a.exit : null, keys: i };
612
+ } else "function" == typeof a && (e[r] = { enter: a, exit: null, keys: i });
613
+ }return e;
614
+ }function unreachable$1() {
615
+ throw new Error("unreachable");
616
+ }function build(t) {
617
+ if (!t) return "";var e = [];switch (t.type) {case "Program":
618
+ {
619
+ var _r5 = t.chained && t.body[0];_r5 && (_r5.chained = !0);var a = buildEach(t.body).join("");e.push(a);
620
+ }break;case "ElementNode":
621
+ e.push("<", t.tag), t.attributes.length && e.push(" ", buildEach(t.attributes).join(" ")), t.modifiers.length && e.push(" ", buildEach(t.modifiers).join(" ")), t.comments.length && e.push(" ", buildEach(t.comments).join(" ")), e.push(">"), e.push.apply(e, buildEach(t.children)), e.push("</", t.tag, ">");break;case "AttrNode":
622
+ e.push(t.name, "=");var r = build(t.value);"TextNode" === t.value.type ? e.push('"', r, '"') : e.push(r);break;case "ConcatStatement":
623
+ e.push('"'), t.parts.forEach(function (t) {
624
+ "StringLiteral" === t.type ? e.push(t.original) : e.push(build(t));
625
+ }), e.push('"');break;case "TextNode":
626
+ e.push(t.chars);break;case "MustacheStatement":
627
+ e.push(compactJoin(["{{", pathParams(t), "}}"]));break;case "MustacheCommentStatement":
628
+ e.push(compactJoin(["{{!--", t.value, "--}}"]));break;case "ElementModifierStatement":
629
+ e.push(compactJoin(["{{", pathParams(t), "}}"]));break;case "PathExpression":
630
+ e.push(t.original);break;case "SubExpression":
631
+ e.push("(", pathParams(t), ")");break;case "BooleanLiteral":
632
+ e.push(t.value ? "true" : "false");break;case "BlockStatement":
633
+ {
634
+ var _r6 = [];t.chained ? _r6.push(["{{else ", pathParams(t), "}}"].join("")) : _r6.push(openBlock(t)), _r6.push(build(t.program)), t.inverse && (t.inverse.chained || _r6.push("{{else}}"), _r6.push(build(t.inverse))), t.chained || _r6.push(closeBlock(t)), e.push(_r6.join(""));
635
+ }break;case "PartialStatement":
636
+ e.push(compactJoin(["{{>", pathParams(t), "}}"]));break;case "CommentStatement":
637
+ e.push(compactJoin(["\x3c!--", t.value, "--\x3e"]));break;case "StringLiteral":
638
+ e.push("\"" + t.value + "\"");break;case "NumberLiteral":
639
+ e.push(String(t.value));break;case "UndefinedLiteral":
640
+ e.push("undefined");break;case "NullLiteral":
641
+ e.push("null");break;case "Hash":
642
+ e.push(t.pairs.map(function (t) {
643
+ return build(t);
644
+ }).join(" "));break;case "HashPair":
645
+ e.push(t.key + "=" + build(t.value));}return e.join("");
646
+ }function compact(t) {
647
+ var e = [];return t.forEach(function (t) {
648
+ void 0 !== t && null !== t && "" !== t && e.push(t);
649
+ }), e;
650
+ }function buildEach(t) {
651
+ return t.map(build);
652
+ }function pathParams(t) {
653
+ var e = void 0;switch (t.type) {case "MustacheStatement":case "SubExpression":case "ElementModifierStatement":case "BlockStatement":
654
+ if (isLiteral(t.path)) return String(t.path.value);e = build(t.path);break;case "PartialStatement":
655
+ e = build(t.name);break;default:
656
+ return unreachable$1();}return compactJoin([e, buildEach(t.params).join(" "), build(t.hash)], " ");
657
+ }function compactJoin(t, e) {
658
+ return compact(t).join(e || "");
659
+ }function blockParams(t) {
660
+ var e = t.program.blockParams;return e.length ? " as |" + e.join(" ") + "|" : null;
661
+ }function openBlock(t) {
662
+ return ["{{#", pathParams(t), blockParams(t), "}}"].join("");
663
+ }function closeBlock(t) {
664
+ return ["{{/", build(t.path), "}}"].join("");
665
+ }
709
666
  var Walker = function () {
710
667
  function Walker(t) {
711
668
  _classCallCheck(this, Walker);
@@ -742,36 +699,38 @@ var visitors = {
742
699
  BlockStatement: function BlockStatement(t, e, r) {
743
700
  t.visit(e.program, r), t.visit(e.inverse || null, r);
744
701
  }
745
- };var commonjsGlobal = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : {},
746
- utils = createCommonjsModule(function (t, e) {
747
- function r(t) {
748
- return i[t];
749
- }function a(t) {
750
- for (var e = 1; e < arguments.length; e++) {
751
- for (var r in arguments[e]) {
752
- Object.prototype.hasOwnProperty.call(arguments[e], r) && (t[r] = arguments[e][r]);
753
- }
754
- }return t;
755
- }e.__esModule = !0, e.extend = a, e.indexOf = function (t, e) {
702
+ };var commonjsGlobal = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : {};function unwrapExports(t) {
703
+ return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t;
704
+ }function createCommonjsModule(t, e) {
705
+ return t(e = { exports: {} }, e.exports), e.exports;
706
+ }var utils = createCommonjsModule(function (t, e) {
707
+ e.__esModule = !0, e.extend = s, e.indexOf = function (t, e) {
756
708
  for (var r = 0, a = t.length; r < a; r++) {
757
709
  if (t[r] === e) return r;
758
710
  }return -1;
759
711
  }, e.escapeExpression = function (t) {
760
712
  if ("string" != typeof t) {
761
713
  if (t && t.toHTML) return t.toHTML();if (null == t) return "";if (!t) return t + "";t = "" + t;
762
- }return s.test(t) ? t.replace(n, r) : t;
714
+ }if (!i.test(t)) return t;return t.replace(a, n);
763
715
  }, e.isEmpty = function (t) {
764
716
  return !t && 0 !== t || !(!c(t) || 0 !== t.length);
765
717
  }, e.createFrame = function (t) {
766
- var e = a({}, t);return e._parent = t, e;
718
+ var e = s({}, t);return e._parent = t, e;
767
719
  }, e.blockParams = function (t, e) {
768
720
  return t.path = e, t;
769
721
  }, e.appendContextPath = function (t, e) {
770
722
  return (t ? t + "." : "") + e;
771
- };var i = { "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#x27;", "`": "&#x60;", "=": "&#x3D;" },
772
- n = /[&<>"'`=]/g,
773
- s = /[&<>"'`=]/,
774
- o = Object.prototype.toString;e.toString = o;var l = function l(t) {
723
+ };var r = { "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#x27;", "`": "&#x60;", "=": "&#x3D;" },
724
+ a = /[&<>"'`=]/g,
725
+ i = /[&<>"'`=]/;function n(t) {
726
+ return r[t];
727
+ }function s(t) {
728
+ for (var e = 1; e < arguments.length; e++) {
729
+ for (var r in arguments[e]) {
730
+ Object.prototype.hasOwnProperty.call(arguments[e], r) && (t[r] = arguments[e][r]);
731
+ }
732
+ }return t;
733
+ }var o = Object.prototype.toString;e.toString = o;var l = function l(t) {
775
734
  return "function" == typeof t;
776
735
  };l(/x/) && (e.isFunction = l = function l(t) {
777
736
  return "function" == typeof t && "[object Function]" === o.call(t);
@@ -779,15 +738,15 @@ var visitors = {
779
738
  return !(!t || "object" != (typeof t === "undefined" ? "undefined" : _typeof(t))) && "[object Array]" === o.call(t);
780
739
  };e.isArray = c;
781
740
  });unwrapExports(utils);var exception = createCommonjsModule(function (t, e) {
782
- function r(t, e) {
741
+ e.__esModule = !0;var r = ["description", "fileName", "lineNumber", "message", "name", "number", "stack"];function a(t, e) {
783
742
  var i = e && e.loc,
784
743
  n = void 0,
785
- s = void 0;i && (t += " - " + (n = i.start.line) + ":" + (s = i.start.column));for (var o = Error.prototype.constructor.call(this, t), l = 0; l < a.length; l++) {
786
- this[a[l]] = o[a[l]];
787
- }Error.captureStackTrace && Error.captureStackTrace(this, r);try {
744
+ s = void 0;i && (t += " - " + (n = i.start.line) + ":" + (s = i.start.column));for (var o = Error.prototype.constructor.call(this, t), l = 0; l < r.length; l++) {
745
+ this[r[l]] = o[r[l]];
746
+ }Error.captureStackTrace && Error.captureStackTrace(this, a);try {
788
747
  i && (this.lineNumber = n, Object.defineProperty ? Object.defineProperty(this, "column", { value: s, enumerable: !0 }) : this.column = s);
789
748
  } catch (t) {}
790
- }e.__esModule = !0;var a = ["description", "fileName", "lineNumber", "message", "name", "number", "stack"];r.prototype = new Error(), e.default = r, t.exports = e.default;
749
+ }a.prototype = new Error(), e.default = a, t.exports = e.default;
791
750
  });unwrapExports(exception);var blockHelperMissing = createCommonjsModule(function (t, e) {
792
751
  e.__esModule = !0, e.default = function (t) {
793
752
  t.registerHelper("blockHelperMissing", function (e, r) {
@@ -798,32 +757,30 @@ var visitors = {
798
757
  });
799
758
  }, t.exports = e.default;
800
759
  });unwrapExports(blockHelperMissing);var each = createCommonjsModule(function (t, e) {
801
- e.__esModule = !0;var r = function (t) {
802
- return t && t.__esModule ? t : { default: t };
803
- }(exception);e.default = function (t) {
760
+ e.__esModule = !0;var r,
761
+ a = (r = exception) && r.__esModule ? r : { default: r };e.default = function (t) {
804
762
  t.registerHelper("each", function (t, e) {
805
- function a(e, r, a) {
806
- l && (l.key = e, l.index = r, l.first = 0 === r, l.last = !!a, c && (l.contextPath = c + e)), o += i(t[e], { data: l, blockParams: utils.blockParams([t[e], e], [c + e, null]) });
807
- }if (!e) throw new r.default("Must pass iterator to #each");var i = e.fn,
808
- n = e.inverse,
809
- s = 0,
810
- o = "",
811
- l = void 0,
812
- c = void 0;if (e.data && e.ids && (c = utils.appendContextPath(e.data.contextPath, e.ids[0]) + "."), utils.isFunction(t) && (t = t.call(this)), e.data && (l = utils.createFrame(e.data)), t && "object" == (typeof t === "undefined" ? "undefined" : _typeof(t))) if (utils.isArray(t)) for (var u = t.length; s < u; s++) {
813
- s in t && a(s, s, s === t.length - 1);
763
+ if (!e) throw new a.default("Must pass iterator to #each");var r = e.fn,
764
+ i = e.inverse,
765
+ n = 0,
766
+ s = "",
767
+ o = void 0,
768
+ l = void 0;function c(e, a, i) {
769
+ o && (o.key = e, o.index = a, o.first = 0 === a, o.last = !!i, l && (o.contextPath = l + e)), s += r(t[e], { data: o, blockParams: utils.blockParams([t[e], e], [l + e, null]) });
770
+ }if (e.data && e.ids && (l = utils.appendContextPath(e.data.contextPath, e.ids[0]) + "."), utils.isFunction(t) && (t = t.call(this)), e.data && (o = utils.createFrame(e.data)), t && "object" == (typeof t === "undefined" ? "undefined" : _typeof(t))) if (utils.isArray(t)) for (var u = t.length; n < u; n++) {
771
+ n in t && c(n, n, n === t.length - 1);
814
772
  } else {
815
773
  var p = void 0;for (var h in t) {
816
- t.hasOwnProperty(h) && (void 0 !== p && a(p, s - 1), p = h, s++);
817
- }void 0 !== p && a(p, s - 1, !0);
818
- }return 0 === s && (o = n(this)), o;
774
+ t.hasOwnProperty(h) && (void 0 !== p && c(p, n - 1), p = h, n++);
775
+ }void 0 !== p && c(p, n - 1, !0);
776
+ }return 0 === n && (s = i(this)), s;
819
777
  });
820
778
  }, t.exports = e.default;
821
779
  });unwrapExports(each);var helperMissing = createCommonjsModule(function (t, e) {
822
- e.__esModule = !0;var r = function (t) {
823
- return t && t.__esModule ? t : { default: t };
824
- }(exception);e.default = function (t) {
780
+ e.__esModule = !0;var r,
781
+ a = (r = exception) && r.__esModule ? r : { default: r };e.default = function (t) {
825
782
  t.registerHelper("helperMissing", function () {
826
- if (1 !== arguments.length) throw new r.default('Missing helper: "' + arguments[arguments.length - 1].name + '"');
783
+ if (1 !== arguments.length) throw new a.default('Missing helper: "' + arguments[arguments.length - 1].name + '"');
827
784
  });
828
785
  }, t.exports = e.default;
829
786
  });unwrapExports(helperMissing);var _if = createCommonjsModule(function (t, e) {
@@ -876,10 +833,9 @@ var visitors = {
876
833
  }, t.exports = e.default;
877
834
  });unwrapExports(inline);var decorators = createCommonjsModule(function (t, e) {
878
835
  e.__esModule = !0, e.registerDefaultDecorators = function (t) {
879
- r.default(t);
880
- };var r = function (t) {
881
- return t && t.__esModule ? t : { default: t };
882
- }(inline);
836
+ a.default(t);
837
+ };var r,
838
+ a = (r = inline) && r.__esModule ? r : { default: r };
883
839
  });unwrapExports(decorators);var logger_1 = createCommonjsModule(function (t, e) {
884
840
  e.__esModule = !0;var r = { methodMap: ["debug", "info", "warn", "error"], level: "info", lookupLevel: function lookupLevel(t) {
885
841
  if ("string" == typeof t) {
@@ -895,28 +851,28 @@ var visitors = {
895
851
  });unwrapExports(logger_1);var base = createCommonjsModule(function (t, e) {
896
852
  function r(t) {
897
853
  return t && t.__esModule ? t : { default: t };
898
- }function a(t, e, r) {
854
+ }e.__esModule = !0, e.HandlebarsEnvironment = n;var a = r(exception),
855
+ i = r(logger_1);e.VERSION = "4.0.10";e.COMPILER_REVISION = 7;e.REVISION_CHANGES = { 1: "<= 1.0.rc.2", 2: "== 1.0.0-rc.3", 3: "== 1.0.0-rc.4", 4: "== 1.x.x", 5: "== 2.0.0-alpha.x", 6: ">= 2.0.0-beta.1", 7: ">= 4.0.0" };function n(t, e, r) {
899
856
  this.helpers = t || {}, this.partials = e || {}, this.decorators = r || {}, helpers.registerDefaultHelpers(this), decorators.registerDefaultDecorators(this);
900
- }e.__esModule = !0, e.HandlebarsEnvironment = a;var i = r(exception),
901
- n = r(logger_1);e.VERSION = "4.0.10";e.COMPILER_REVISION = 7;var s = { 1: "<= 1.0.rc.2", 2: "== 1.0.0-rc.3", 3: "== 1.0.0-rc.4", 4: "== 1.x.x", 5: "== 2.0.0-alpha.x", 6: ">= 2.0.0-beta.1", 7: ">= 4.0.0" };e.REVISION_CHANGES = s;a.prototype = { constructor: a, logger: n.default, log: n.default.log, registerHelper: function registerHelper(t, e) {
857
+ }n.prototype = { constructor: n, logger: i.default, log: i.default.log, registerHelper: function registerHelper(t, e) {
902
858
  if ("[object Object]" === utils.toString.call(t)) {
903
- if (e) throw new i.default("Arg not supported with multiple helpers");utils.extend(this.helpers, t);
859
+ if (e) throw new a.default("Arg not supported with multiple helpers");utils.extend(this.helpers, t);
904
860
  } else this.helpers[t] = e;
905
861
  }, unregisterHelper: function unregisterHelper(t) {
906
862
  delete this.helpers[t];
907
863
  }, registerPartial: function registerPartial(t, e) {
908
864
  if ("[object Object]" === utils.toString.call(t)) utils.extend(this.partials, t);else {
909
- if (void 0 === e) throw new i.default('Attempting to register a partial called "' + t + '" as undefined');this.partials[t] = e;
865
+ if (void 0 === e) throw new a.default('Attempting to register a partial called "' + t + '" as undefined');this.partials[t] = e;
910
866
  }
911
867
  }, unregisterPartial: function unregisterPartial(t) {
912
868
  delete this.partials[t];
913
869
  }, registerDecorator: function registerDecorator(t, e) {
914
870
  if ("[object Object]" === utils.toString.call(t)) {
915
- if (e) throw new i.default("Arg not supported with multiple decorators");utils.extend(this.decorators, t);
871
+ if (e) throw new a.default("Arg not supported with multiple decorators");utils.extend(this.decorators, t);
916
872
  } else this.decorators[t] = e;
917
873
  }, unregisterDecorator: function unregisterDecorator(t) {
918
874
  delete this.decorators[t];
919
- } };var o = n.default.log;e.log = o, e.createFrame = utils.createFrame, e.logger = n.default;
875
+ } };var s = i.default.log;e.log = s, e.createFrame = utils.createFrame, e.logger = i.default;
920
876
  });unwrapExports(base);var safeString = createCommonjsModule(function (t, e) {
921
877
  function r(t) {
922
878
  this.string = t;
@@ -924,82 +880,81 @@ var visitors = {
924
880
  return "" + this.string;
925
881
  }, e.default = r, t.exports = e.default;
926
882
  });unwrapExports(safeString);var runtime = createCommonjsModule(function (t, e) {
927
- function r(t, e, r, a, i, s, o) {
928
- function l(e) {
929
- var i = arguments.length <= 1 || void 0 === arguments[1] ? {} : arguments[1],
930
- n = o;return !o || e == o[0] || e === t.nullContext && null === o[0] || (n = [e].concat(o)), r(t, e, t.helpers, t.partials, i.data || a, s && [i.blockParams].concat(s), n);
931
- }return l = n(r, l, t, o, a, s), l.program = e, l.depth = o ? o.length : 0, l.blockParams = i || 0, l;
932
- }function a() {
933
- return "";
934
- }function i(t, e) {
935
- return e && "root" in e || ((e = e ? base.createFrame(e) : {}).root = t), e;
936
- }function n(t, e, r, a, i, n) {
937
- if (t.decorator) {
938
- var o = {};e = t.decorator(e, o, r, a && a[0], i, n, a), s.extend(e, o);
939
- }return e;
940
- }e.__esModule = !0, e.checkRevision = function (t) {
883
+ e.__esModule = !0, e.checkRevision = function (t) {
941
884
  var e = t && t[0] || 1,
942
885
  r = base.COMPILER_REVISION;if (e !== r) {
943
886
  if (e < r) {
944
887
  var a = base.REVISION_CHANGES[r],
945
- i = base.REVISION_CHANGES[e];throw new o.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version (" + a + ") or downgrade your runtime to an older version (" + i + ").");
946
- }throw new o.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version (" + t[1] + ").");
888
+ n = base.REVISION_CHANGES[e];throw new i.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version (" + a + ") or downgrade your runtime to an older version (" + n + ").");
889
+ }throw new i.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version (" + t[1] + ").");
947
890
  }
948
891
  }, e.template = function (t, e) {
949
- function a(e) {
950
- function r(e) {
951
- return "" + t.main(l, e, l.helpers, l.partials, o, u, c);
952
- }var s = arguments.length <= 1 || void 0 === arguments[1] ? {} : arguments[1],
953
- o = s.data;a._setup(s), !s.partial && t.useData && (o = i(e, o));var c = void 0,
954
- u = t.useBlockParams ? [] : void 0;return t.useDepths && (c = s.depths ? e != s.depths[0] ? [e].concat(s.depths) : s.depths : [e]), (r = n(t.main, r, l, s.depths || [], o, u))(e, s);
955
- }if (!e) throw new o.default("No environment passed to template");if (!t || !t.main) throw new o.default("Unknown template object: " + (typeof t === "undefined" ? "undefined" : _typeof(t)));t.main.decorator = t.main_d, e.VM.checkRevision(t.compiler);var l = { strict: function strict(t, e) {
956
- if (!(e in t)) throw new o.default('"' + e + '" not defined in ' + t);return t[e];
892
+ if (!e) throw new i.default("No environment passed to template");if (!t || !t.main) throw new i.default("Unknown template object: " + (typeof t === "undefined" ? "undefined" : _typeof(t)));t.main.decorator = t.main_d, e.VM.checkRevision(t.compiler);var r = { strict: function strict(t, e) {
893
+ if (!(e in t)) throw new i.default('"' + e + '" not defined in ' + t);return t[e];
957
894
  }, lookup: function lookup(t, e) {
958
895
  for (var r = t.length, a = 0; a < r; a++) {
959
896
  if (t[a] && null != t[a][e]) return t[a][e];
960
897
  }
961
898
  }, lambda: function lambda(t, e) {
962
899
  return "function" == typeof t ? t.call(e) : t;
963
- }, escapeExpression: s.escapeExpression, invokePartial: function invokePartial(r, a, i) {
964
- i.hash && (a = s.extend({}, a, i.hash), i.ids && (i.ids[0] = !0)), r = e.VM.resolvePartial.call(this, r, a, i);var n = e.VM.invokePartial.call(this, r, a, i);if (null == n && e.compile && (i.partials[i.name] = e.compile(r, t.compilerOptions, e), n = i.partials[i.name](a, i)), null != n) {
965
- if (i.indent) {
966
- for (var l = n.split("\n"), c = 0, u = l.length; c < u && (l[c] || c + 1 !== u); c++) {
967
- l[c] = i.indent + l[c];
968
- }n = l.join("\n");
969
- }return n;
970
- }throw new o.default("The partial " + i.name + " could not be compiled when running in runtime-only mode");
900
+ }, escapeExpression: a.escapeExpression, invokePartial: function invokePartial(r, n, s) {
901
+ s.hash && (n = a.extend({}, n, s.hash), s.ids && (s.ids[0] = !0));r = e.VM.resolvePartial.call(this, r, n, s);var o = e.VM.invokePartial.call(this, r, n, s);null == o && e.compile && (s.partials[s.name] = e.compile(r, t.compilerOptions, e), o = s.partials[s.name](n, s));if (null != o) {
902
+ if (s.indent) {
903
+ for (var l = o.split("\n"), c = 0, u = l.length; c < u && (l[c] || c + 1 !== u); c++) {
904
+ l[c] = s.indent + l[c];
905
+ }o = l.join("\n");
906
+ }return o;
907
+ }throw new i.default("The partial " + s.name + " could not be compiled when running in runtime-only mode");
971
908
  }, fn: function fn(e) {
972
909
  var r = t[e];return r.decorator = t[e + "_d"], r;
973
- }, programs: [], program: function program(t, e, a, i, n) {
910
+ }, programs: [], program: function program(t, e, r, a, i) {
974
911
  var s = this.programs[t],
975
- o = this.fn(t);return e || n || i || a ? s = r(this, t, o, e, a, i, n) : s || (s = this.programs[t] = r(this, t, o)), s;
912
+ o = this.fn(t);return e || i || a || r ? s = n(this, t, o, e, r, a, i) : s || (s = this.programs[t] = n(this, t, o)), s;
976
913
  }, data: function data(t, e) {
977
914
  for (; t && e--;) {
978
915
  t = t._parent;
979
916
  }return t;
980
917
  }, merge: function merge(t, e) {
981
- var r = t || e;return t && e && t !== e && (r = s.extend({}, e, t)), r;
982
- }, nullContext: Object.seal({}), noop: e.VM.noop, compilerInfo: t.compiler };return a.isTop = !0, a._setup = function (r) {
983
- r.partial ? (l.helpers = r.helpers, l.partials = r.partials, l.decorators = r.decorators) : (l.helpers = l.merge(r.helpers, e.helpers), t.usePartial && (l.partials = l.merge(r.partials, e.partials)), (t.usePartial || t.useDecorators) && (l.decorators = l.merge(r.decorators, e.decorators)));
984
- }, a._child = function (e, a, i, n) {
985
- if (t.useBlockParams && !i) throw new o.default("must pass block params");if (t.useDepths && !n) throw new o.default("must pass parent depths");return r(l, e, t[e], a, 0, i, n);
986
- }, a;
987
- }, e.wrapProgram = r, e.resolvePartial = function (t, e, r) {
988
- return t ? t.call || r.name || (r.name = t, t = r.partials[t]) : t = "@partial-block" === r.name ? r.data["partial-block"] : r.partials[r.name], t;
918
+ var r = t || e;return t && e && t !== e && (r = a.extend({}, e, t)), r;
919
+ }, nullContext: Object.seal({}), noop: e.VM.noop, compilerInfo: t.compiler };function s(e) {
920
+ var a = arguments.length <= 1 || void 0 === arguments[1] ? {} : arguments[1],
921
+ i = a.data;s._setup(a), !a.partial && t.useData && (i = function (t, e) {
922
+ e && "root" in e || ((e = e ? base.createFrame(e) : {}).root = t);return e;
923
+ }(e, i));var n = void 0,
924
+ l = t.useBlockParams ? [] : void 0;function c(e) {
925
+ return "" + t.main(r, e, r.helpers, r.partials, i, l, n);
926
+ }return t.useDepths && (n = a.depths ? e != a.depths[0] ? [e].concat(a.depths) : a.depths : [e]), (c = o(t.main, c, r, a.depths || [], i, l))(e, a);
927
+ }return s.isTop = !0, s._setup = function (a) {
928
+ a.partial ? (r.helpers = a.helpers, r.partials = a.partials, r.decorators = a.decorators) : (r.helpers = r.merge(a.helpers, e.helpers), t.usePartial && (r.partials = r.merge(a.partials, e.partials)), (t.usePartial || t.useDecorators) && (r.decorators = r.merge(a.decorators, e.decorators)));
929
+ }, s._child = function (e, a, s, o) {
930
+ if (t.useBlockParams && !s) throw new i.default("must pass block params");if (t.useDepths && !o) throw new i.default("must pass parent depths");return n(r, e, t[e], a, 0, s, o);
931
+ }, s;
932
+ }, e.wrapProgram = n, e.resolvePartial = function (t, e, r) {
933
+ t ? t.call || r.name || (r.name = t, t = r.partials[t]) : t = "@partial-block" === r.name ? r.data["partial-block"] : r.partials[r.name];return t;
989
934
  }, e.invokePartial = function (t, e, r) {
990
- var i = r.data && r.data["partial-block"];r.partial = !0, r.ids && (r.data.contextPath = r.ids[0] || r.data.contextPath);var n = void 0;if (r.fn && r.fn !== a && function () {
991
- r.data = base.createFrame(r.data);var t = r.fn;n = r.data["partial-block"] = function (e) {
992
- var r = arguments.length <= 1 || void 0 === arguments[1] ? {} : arguments[1];return r.data = base.createFrame(r.data), r.data["partial-block"] = i, t(e, r);
993
- }, t.partials && (r.partials = s.extend({}, r.partials, t.partials));
994
- }(), void 0 === t && n && (t = n), void 0 === t) throw new o.default("The partial " + r.name + " could not be found");if (t instanceof Function) return t(e, r);
995
- }, e.noop = a;var s = function (t) {
935
+ var n = r.data && r.data["partial-block"];r.partial = !0, r.ids && (r.data.contextPath = r.ids[0] || r.data.contextPath);var o = void 0;r.fn && r.fn !== s && function () {
936
+ r.data = base.createFrame(r.data);var t = r.fn;o = r.data["partial-block"] = function (e) {
937
+ var r = arguments.length <= 1 || void 0 === arguments[1] ? {} : arguments[1];return r.data = base.createFrame(r.data), r.data["partial-block"] = n, t(e, r);
938
+ }, t.partials && (r.partials = a.extend({}, r.partials, t.partials));
939
+ }();void 0 === t && o && (t = o);if (void 0 === t) throw new i.default("The partial " + r.name + " could not be found");if (t instanceof Function) return t(e, r);
940
+ }, e.noop = s;var r,
941
+ a = function (t) {
996
942
  if (t && t.__esModule) return t;var e = {};if (null != t) for (var r in t) {
997
943
  Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
998
944
  }return e.default = t, e;
999
945
  }(utils),
1000
- o = function (t) {
1001
- return t && t.__esModule ? t : { default: t };
1002
- }(exception);
946
+ i = (r = exception) && r.__esModule ? r : { default: r };function n(t, e, r, a, i, n, s) {
947
+ function l(e) {
948
+ var i = arguments.length <= 1 || void 0 === arguments[1] ? {} : arguments[1],
949
+ o = s;return !s || e == s[0] || e === t.nullContext && null === s[0] || (o = [e].concat(s)), r(t, e, t.helpers, t.partials, i.data || a, n && [i.blockParams].concat(n), o);
950
+ }return (l = o(r, l, t, s, a, n)).program = e, l.depth = s ? s.length : 0, l.blockParams = i || 0, l;
951
+ }function s() {
952
+ return "";
953
+ }function o(t, e, r, i, n, s) {
954
+ if (t.decorator) {
955
+ var o = {};e = t.decorator(e, o, r, i && i[0], n, s, i), a.extend(e, o);
956
+ }return e;
957
+ }
1003
958
  });unwrapExports(runtime);var noConflict = createCommonjsModule(function (t, e) {
1004
959
  e.__esModule = !0, e.default = function (t) {
1005
960
  var e = void 0 !== commonjsGlobal ? commonjsGlobal : window,
@@ -1014,17 +969,16 @@ var visitors = {
1014
969
  if (t && t.__esModule) return t;var e = {};if (null != t) for (var r in t) {
1015
970
  Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]);
1016
971
  }return e.default = t, e;
1017
- }function i() {
1018
- var t = new n.HandlebarsEnvironment();return l.extend(t, n), t.SafeString = s.default, t.Exception = o.default, t.Utils = l, t.escapeExpression = l.escapeExpression, t.VM = c, t.template = function (e) {
1019
- return c.template(e, t);
972
+ }e.__esModule = !0;var i = a(base),
973
+ n = r(safeString),
974
+ s = r(exception),
975
+ o = a(utils),
976
+ l = a(runtime),
977
+ c = r(noConflict);function u() {
978
+ var t = new i.HandlebarsEnvironment();return o.extend(t, i), t.SafeString = n.default, t.Exception = s.default, t.Utils = o, t.escapeExpression = o.escapeExpression, t.VM = l, t.template = function (e) {
979
+ return l.template(e, t);
1020
980
  }, t;
1021
- }e.__esModule = !0;var n = a(base),
1022
- s = r(safeString),
1023
- o = r(exception),
1024
- l = a(utils),
1025
- c = a(runtime),
1026
- u = r(noConflict),
1027
- p = i();p.create = i, u.default(p), p.default = p, e.default = p, t.exports = e.default;
981
+ }var p = u();p.create = u, c.default(p), p.default = p, e.default = p, t.exports = e.default;
1028
982
  });unwrapExports(handlebars_runtime);var ast = createCommonjsModule(function (t, e) {
1029
983
  e.__esModule = !0;var r = { helpers: { helperExpression: function helperExpression(t) {
1030
984
  return "SubExpression" === t.type || ("MustacheStatement" === t.type || "BlockStatement" === t.type) && !!(t.params && t.params.length || t.hash);
@@ -1036,9 +990,7 @@ var visitors = {
1036
990
  } } };e.default = r, t.exports = e.default;
1037
991
  });unwrapExports(ast);var parser = createCommonjsModule(function (t, e) {
1038
992
  e.__esModule = !0;var r = function () {
1039
- function t() {
1040
- this.yy = {};
1041
- }var e = { trace: function trace() {}, 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_repetition_plus0: 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, mustache_repetition0: 49, mustache_option0: 50, OPEN_UNESCAPED: 51, mustache_repetition1: 52, mustache_option1: 53, CLOSE_UNESCAPED: 54, OPEN_PARTIAL: 55, partialName: 56, partial_repetition0: 57, partial_option0: 58, openPartialBlock: 59, OPEN_PARTIAL_BLOCK: 60, openPartialBlock_repetition0: 61, openPartialBlock_option0: 62, param: 63, sexpr: 64, OPEN_SEXPR: 65, sexpr_repetition0: 66, sexpr_option0: 67, CLOSE_SEXPR: 68, hash: 69, hash_repetition_plus0: 70, hashSegment: 71, ID: 72, EQUALS: 73, blockParams: 74, OPEN_BLOCK_PARAMS: 75, blockParams_repetition_plus0: 76, CLOSE_BLOCK_PARAMS: 77, path: 78, dataName: 79, STRING: 80, NUMBER: 81, BOOLEAN: 82, UNDEFINED: 83, NULL: 84, DATA: 85, pathSegments: 86, SEP: 87, $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", 51: "OPEN_UNESCAPED", 54: "CLOSE_UNESCAPED", 55: "OPEN_PARTIAL", 60: "OPEN_PARTIAL_BLOCK", 65: "OPEN_SEXPR", 68: "CLOSE_SEXPR", 72: "ID", 73: "EQUALS", 75: "OPEN_BLOCK_PARAMS", 77: "CLOSE_BLOCK_PARAMS", 80: "STRING", 81: "NUMBER", 82: "BOOLEAN", 83: "UNDEFINED", 84: "NULL", 85: "DATA", 87: "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], [63, 1], [63, 1], [64, 5], [69, 1], [71, 3], [74, 3], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [56, 1], [56, 1], [79, 2], [78, 1], [86, 3], [86, 1], [6, 0], [6, 2], [17, 1], [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], [49, 0], [49, 2], [50, 0], [50, 1], [52, 0], [52, 2], [53, 0], [53, 1], [57, 0], [57, 2], [58, 0], [58, 1], [61, 0], [61, 2], [62, 0], [62, 1], [66, 0], [66, 2], [67, 0], [67, 1], [70, 1], [70, 2], [76, 1], [76, 2]], performAction: function performAction(t, e, r, a, i, n, s) {
993
+ var t = { trace: function trace() {}, 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_repetition_plus0: 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, mustache_repetition0: 49, mustache_option0: 50, OPEN_UNESCAPED: 51, mustache_repetition1: 52, mustache_option1: 53, CLOSE_UNESCAPED: 54, OPEN_PARTIAL: 55, partialName: 56, partial_repetition0: 57, partial_option0: 58, openPartialBlock: 59, OPEN_PARTIAL_BLOCK: 60, openPartialBlock_repetition0: 61, openPartialBlock_option0: 62, param: 63, sexpr: 64, OPEN_SEXPR: 65, sexpr_repetition0: 66, sexpr_option0: 67, CLOSE_SEXPR: 68, hash: 69, hash_repetition_plus0: 70, hashSegment: 71, ID: 72, EQUALS: 73, blockParams: 74, OPEN_BLOCK_PARAMS: 75, blockParams_repetition_plus0: 76, CLOSE_BLOCK_PARAMS: 77, path: 78, dataName: 79, STRING: 80, NUMBER: 81, BOOLEAN: 82, UNDEFINED: 83, NULL: 84, DATA: 85, pathSegments: 86, SEP: 87, $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", 51: "OPEN_UNESCAPED", 54: "CLOSE_UNESCAPED", 55: "OPEN_PARTIAL", 60: "OPEN_PARTIAL_BLOCK", 65: "OPEN_SEXPR", 68: "CLOSE_SEXPR", 72: "ID", 73: "EQUALS", 75: "OPEN_BLOCK_PARAMS", 77: "CLOSE_BLOCK_PARAMS", 80: "STRING", 81: "NUMBER", 82: "BOOLEAN", 83: "UNDEFINED", 84: "NULL", 85: "DATA", 87: "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], [63, 1], [63, 1], [64, 5], [69, 1], [71, 3], [74, 3], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [56, 1], [56, 1], [79, 2], [78, 1], [86, 3], [86, 1], [6, 0], [6, 2], [17, 1], [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], [49, 0], [49, 2], [50, 0], [50, 1], [52, 0], [52, 2], [53, 0], [53, 1], [57, 0], [57, 2], [58, 0], [58, 1], [61, 0], [61, 2], [62, 0], [62, 1], [66, 0], [66, 2], [67, 0], [67, 1], [70, 1], [70, 2], [76, 1], [76, 2]], performAction: function performAction(t, e, r, a, i, n, s) {
1042
994
  var o = n.length - 1;switch (i) {case 1:
1043
995
  return n[o - 1];case 2:
1044
996
  this.$ = a.prepareProgram(n[o]);break;case 3:case 4:case 5:case 6:case 7:case 8:
@@ -1113,22 +1065,20 @@ var visitors = {
1113
1065
  s = "",
1114
1066
  o = 0,
1115
1067
  l = 0,
1116
- c = 0;this.lexer.setInput(t), this.lexer.yy = this.yy, this.yy.lexer = this.lexer, this.yy.parser = this, void 0 === this.lexer.yylloc && (this.lexer.yylloc = {});var u = this.lexer.yylloc;i.push(u);var p = this.lexer.options && this.lexer.options.ranges;"function" == typeof this.yy.parseError && (this.parseError = this.yy.parseError);for (var h, d, m, f, g, b, v, y, k, S = {};;) {
1117
- if (m = r[r.length - 1], this.defaultActions[m] ? f = this.defaultActions[m] : (null !== h && void 0 !== h || (h = function () {
1118
- var t;return "number" != typeof (t = e.lexer.lex() || 1) && (t = e.symbols_[t] || t), t;
1119
- }()), f = n[m] && n[m][h]), void 0 === f || !f.length || !f[0]) {
1120
- var w = "";if (!c) {
1121
- k = [];for (b in n[m]) {
1068
+ c = 0;this.lexer.setInput(t), this.lexer.yy = this.yy, this.yy.lexer = this.lexer, this.yy.parser = this, void 0 === this.lexer.yylloc && (this.lexer.yylloc = {});var u = this.lexer.yylloc;i.push(u);var p = this.lexer.options && this.lexer.options.ranges;"function" == typeof this.yy.parseError && (this.parseError = this.yy.parseError);for (var h, d, m, f, g, b, v, y, k, S, w = {};;) {
1069
+ if (m = r[r.length - 1], this.defaultActions[m] ? f = this.defaultActions[m] : (null !== h && void 0 !== h || (S = void 0, "number" != typeof (S = e.lexer.lex() || 1) && (S = e.symbols_[S] || S), h = S), f = n[m] && n[m][h]), void 0 === f || !f.length || !f[0]) {
1070
+ var E = "";if (!c) {
1071
+ for (b in k = [], n[m]) {
1122
1072
  this.terminals_[b] && b > 2 && k.push("'" + this.terminals_[b] + "'");
1123
- }w = this.lexer.showPosition ? "Parse error on line " + (o + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + k.join(", ") + ", got '" + (this.terminals_[h] || h) + "'" : "Parse error on line " + (o + 1) + ": Unexpected " + (1 == h ? "end of input" : "'" + (this.terminals_[h] || h) + "'"), this.parseError(w, { text: this.lexer.match, token: this.terminals_[h] || h, line: this.lexer.yylineno, loc: u, expected: k });
1073
+ }E = this.lexer.showPosition ? "Parse error on line " + (o + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + k.join(", ") + ", got '" + (this.terminals_[h] || h) + "'" : "Parse error on line " + (o + 1) + ": Unexpected " + (1 == h ? "end of input" : "'" + (this.terminals_[h] || h) + "'"), this.parseError(E, { text: this.lexer.match, token: this.terminals_[h] || h, line: this.lexer.yylineno, loc: u, expected: k });
1124
1074
  }
1125
1075
  }if (f[0] instanceof Array && f.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + m + ", token: " + h);switch (f[0]) {case 1:
1126
1076
  r.push(h), a.push(this.lexer.yytext), i.push(this.lexer.yylloc), r.push(f[1]), h = null, d ? (h = d, d = null) : (l = this.lexer.yyleng, s = this.lexer.yytext, o = this.lexer.yylineno, u = this.lexer.yylloc, c > 0 && c--);break;case 2:
1127
- if (v = this.productions_[f[1]][1], S.$ = a[a.length - v], S._$ = { first_line: i[i.length - (v || 1)].first_line, last_line: i[i.length - 1].last_line, first_column: i[i.length - (v || 1)].first_column, last_column: i[i.length - 1].last_column }, p && (S._$.range = [i[i.length - (v || 1)].range[0], i[i.length - 1].range[1]]), void 0 !== (g = this.performAction.call(S, s, l, o, this.yy, f[1], a, i))) return g;v && (r = r.slice(0, -1 * v * 2), a = a.slice(0, -1 * v), i = i.slice(0, -1 * v)), r.push(this.productions_[f[1]][0]), a.push(S.$), i.push(S._$), y = n[r[r.length - 2]][r[r.length - 1]], r.push(y);break;case 3:
1077
+ if (v = this.productions_[f[1]][1], w.$ = a[a.length - v], w._$ = { first_line: i[i.length - (v || 1)].first_line, last_line: i[i.length - 1].last_line, first_column: i[i.length - (v || 1)].first_column, last_column: i[i.length - 1].last_column }, p && (w._$.range = [i[i.length - (v || 1)].range[0], i[i.length - 1].range[1]]), void 0 !== (g = this.performAction.call(w, s, l, o, this.yy, f[1], a, i))) return g;v && (r = r.slice(0, -1 * v * 2), a = a.slice(0, -1 * v), i = i.slice(0, -1 * v)), r.push(this.productions_[f[1]][0]), a.push(w.$), i.push(w._$), y = n[r[r.length - 2]][r[r.length - 1]], r.push(y);break;case 3:
1128
1078
  return !0;}
1129
1079
  }return !0;
1130
1080
  } },
1131
- r = function () {
1081
+ e = function () {
1132
1082
  var t = { EOF: 1, parseError: function parseError(t, e) {
1133
1083
  if (!this.yy.parser) throw new Error(t);this.yy.parser.parseError(t, e);
1134
1084
  }, setInput: function setInput(t) {
@@ -1150,7 +1100,7 @@ var visitors = {
1150
1100
  var t = this.pastInput(),
1151
1101
  e = new Array(t.length + 1).join("-");return t + this.upcomingInput() + "\n" + e + "^";
1152
1102
  }, next: function next() {
1153
- if (this.done) return this.EOF;this._input || (this.done = !0);var t, e, r, a, i;this._more || (this.yytext = "", this.match = "");for (var n = this._currentRules(), s = 0; s < n.length && (!(r = this._input.match(this.rules[n[s]])) || e && !(r[0].length > e[0].length) || (e = r, a = s, this.options.flex)); s++) {}return e ? ((i = e[0].match(/(?:\r\n?|\n).*/g)) && (this.yylineno += i.length), this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: i ? i[i.length - 1].length - i[i.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + e[0].length }, this.yytext += e[0], this.match += e[0], this.matches = e, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [this.offset, this.offset += this.yyleng]), this._more = !1, this._input = this._input.slice(e[0].length), this.matched += e[0], t = this.performAction.call(this, this.yy, this, n[a], this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), t || void 0) : "" === this._input ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), { text: "", token: null, line: this.yylineno });
1103
+ if (this.done) return this.EOF;var t, e, r, a, i;this._input || (this.done = !0), this._more || (this.yytext = "", this.match = "");for (var n = this._currentRules(), s = 0; s < n.length && (!(r = this._input.match(this.rules[n[s]])) || e && !(r[0].length > e[0].length) || (e = r, a = s, this.options.flex)); s++) {}return e ? ((i = e[0].match(/(?:\r\n?|\n).*/g)) && (this.yylineno += i.length), this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: i ? i[i.length - 1].length - i[i.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + e[0].length }, this.yytext += e[0], this.match += e[0], this.matches = e, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [this.offset, this.offset += this.yyleng]), this._more = !1, this._input = this._input.slice(e[0].length), this.matched += e[0], t = this.performAction.call(this, this.yy, this, n[a], this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), t || void 0) : "" === this._input ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), { text: "", token: null, line: this.yylineno });
1154
1104
  }, lex: function lex() {
1155
1105
  var t = this.next();return void 0 !== t ? t : this.lex();
1156
1106
  }, begin: function begin(t) {
@@ -1163,140 +1113,136 @@ var visitors = {
1163
1113
  return this.conditionStack[this.conditionStack.length - 2];
1164
1114
  }, pushState: function pushState(t) {
1165
1115
  this.begin(t);
1166
- } };return t.options = {}, t.performAction = function (t, e, r, a) {
1167
- function i(t, r) {
1168
- return e.yytext = e.yytext.substr(t, e.yyleng - r);
1169
- }switch (r) {case 0:
1170
- if ("\\\\" === e.yytext.slice(-2) ? (i(0, 1), this.begin("mu")) : "\\" === e.yytext.slice(-1) ? (i(0, 1), this.begin("emu")) : this.begin("mu"), e.yytext) return 15;break;case 1:
1171
- return 15;case 2:
1172
- return this.popState(), 15;case 3:
1173
- return this.begin("raw"), 15;case 4:
1174
- return this.popState(), "raw" === this.conditionStack[this.conditionStack.length - 1] ? 15 : (e.yytext = e.yytext.substr(5, e.yyleng - 9), "END_RAW_BLOCK");case 5:
1175
- return 15;case 6:
1176
- return this.popState(), 14;case 7:
1177
- return 65;case 8:
1178
- return 68;case 9:
1179
- return 19;case 10:
1180
- return this.popState(), this.begin("raw"), 23;case 11:
1181
- return 55;case 12:
1182
- return 60;case 13:
1183
- return 29;case 14:
1184
- return 47;case 15:case 16:
1185
- return this.popState(), 44;case 17:
1186
- return 34;case 18:
1187
- return 39;case 19:
1188
- return 51;case 20:
1189
- return 48;case 21:
1190
- this.unput(e.yytext), this.popState(), this.begin("com");break;case 22:
1191
- return this.popState(), 14;case 23:
1192
- return 48;case 24:
1193
- return 73;case 25:case 26:
1194
- return 72;case 27:
1195
- return 87;case 28:
1196
- break;case 29:
1197
- return this.popState(), 54;case 30:
1198
- return this.popState(), 33;case 31:
1199
- return e.yytext = i(1, 2).replace(/\\"/g, '"'), 80;case 32:
1200
- return e.yytext = i(1, 2).replace(/\\'/g, "'"), 80;case 33:
1201
- return 85;case 34:case 35:
1202
- return 82;case 36:
1203
- return 83;case 37:
1204
- return 84;case 38:
1205
- return 81;case 39:
1206
- return 75;case 40:
1207
- return 77;case 41:
1208
- return 72;case 42:
1209
- return e.yytext = e.yytext.replace(/\\([\\\]])/g, "$1"), 72;case 43:
1210
- return "INVALID";case 44:
1211
- return 5;}
1212
- }, t.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\/.)|]))))/, /^(?:\[(\\\]|[^\]])*\])/, /^(?:.)/, /^(?:$)/], t.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: !1 }, emu: { rules: [2], inclusive: !1 }, com: { rules: [6], inclusive: !1 }, raw: { rules: [3, 4, 5], inclusive: !1 }, INITIAL: { rules: [0, 1, 44], inclusive: !0 } }, t;
1213
- }();return e.lexer = r, t.prototype = e, e.Parser = t, new t();
1116
+ }, options: {}, performAction: function performAction(t, e, r, a) {
1117
+ function i(t, r) {
1118
+ return e.yytext = e.yytext.substr(t, e.yyleng - r);
1119
+ }switch (r) {case 0:
1120
+ if ("\\\\" === e.yytext.slice(-2) ? (i(0, 1), this.begin("mu")) : "\\" === e.yytext.slice(-1) ? (i(0, 1), this.begin("emu")) : this.begin("mu"), e.yytext) return 15;break;case 1:
1121
+ return 15;case 2:
1122
+ return this.popState(), 15;case 3:
1123
+ return this.begin("raw"), 15;case 4:
1124
+ return this.popState(), "raw" === this.conditionStack[this.conditionStack.length - 1] ? 15 : (e.yytext = e.yytext.substr(5, e.yyleng - 9), "END_RAW_BLOCK");case 5:
1125
+ return 15;case 6:
1126
+ return this.popState(), 14;case 7:
1127
+ return 65;case 8:
1128
+ return 68;case 9:
1129
+ return 19;case 10:
1130
+ return this.popState(), this.begin("raw"), 23;case 11:
1131
+ return 55;case 12:
1132
+ return 60;case 13:
1133
+ return 29;case 14:
1134
+ return 47;case 15:case 16:
1135
+ return this.popState(), 44;case 17:
1136
+ return 34;case 18:
1137
+ return 39;case 19:
1138
+ return 51;case 20:
1139
+ return 48;case 21:
1140
+ this.unput(e.yytext), this.popState(), this.begin("com");break;case 22:
1141
+ return this.popState(), 14;case 23:
1142
+ return 48;case 24:
1143
+ return 73;case 25:case 26:
1144
+ return 72;case 27:
1145
+ return 87;case 28:
1146
+ break;case 29:
1147
+ return this.popState(), 54;case 30:
1148
+ return this.popState(), 33;case 31:
1149
+ return e.yytext = i(1, 2).replace(/\\"/g, '"'), 80;case 32:
1150
+ return e.yytext = i(1, 2).replace(/\\'/g, "'"), 80;case 33:
1151
+ return 85;case 34:case 35:
1152
+ return 82;case 36:
1153
+ return 83;case 37:
1154
+ return 84;case 38:
1155
+ return 81;case 39:
1156
+ return 75;case 40:
1157
+ return 77;case 41:
1158
+ return 72;case 42:
1159
+ return e.yytext = e.yytext.replace(/\\([\\\]])/g, "$1"), 72;case 43:
1160
+ return "INVALID";case 44:
1161
+ return 5;}
1162
+ }, 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: !1 }, emu: { rules: [2], inclusive: !1 }, com: { rules: [6], inclusive: !1 }, raw: { rules: [3, 4, 5], inclusive: !1 }, INITIAL: { rules: [0, 1, 44], inclusive: !0 } } };return t;
1163
+ }();function r() {
1164
+ this.yy = {};
1165
+ }return t.lexer = e, r.prototype = t, t.Parser = r, new r();
1214
1166
  }();e.default = r, t.exports = e.default;
1215
1167
  });unwrapExports(parser);var visitor = createCommonjsModule(function (t, e) {
1216
- function r() {
1168
+ e.__esModule = !0;var r,
1169
+ a = (r = exception) && r.__esModule ? r : { default: r };function i() {
1217
1170
  this.parents = [];
1218
- }function a(t) {
1219
- this.acceptRequired(t, "path"), this.acceptArray(t.params), this.acceptKey(t, "hash");
1220
- }function i(t) {
1221
- a.call(this, t), this.acceptKey(t, "program"), this.acceptKey(t, "inverse");
1222
1171
  }function n(t) {
1172
+ this.acceptRequired(t, "path"), this.acceptArray(t.params), this.acceptKey(t, "hash");
1173
+ }function s(t) {
1174
+ n.call(this, t), this.acceptKey(t, "program"), this.acceptKey(t, "inverse");
1175
+ }function o(t) {
1223
1176
  this.acceptRequired(t, "name"), this.acceptArray(t.params), this.acceptKey(t, "hash");
1224
- }e.__esModule = !0;var s = function (t) {
1225
- return t && t.__esModule ? t : { default: t };
1226
- }(exception);r.prototype = { constructor: r, mutating: !1, acceptKey: function acceptKey(t, e) {
1227
- var a = this.accept(t[e]);if (this.mutating) {
1228
- if (a && !r.prototype[a.type]) throw new s.default('Unexpected node type "' + a.type + '" found when accepting ' + e + " on " + t.type);t[e] = a;
1177
+ }i.prototype = { constructor: i, mutating: !1, acceptKey: function acceptKey(t, e) {
1178
+ var r = this.accept(t[e]);if (this.mutating) {
1179
+ if (r && !i.prototype[r.type]) throw new a.default('Unexpected node type "' + r.type + '" found when accepting ' + e + " on " + t.type);t[e] = r;
1229
1180
  }
1230
1181
  }, acceptRequired: function acceptRequired(t, e) {
1231
- if (this.acceptKey(t, e), !t[e]) throw new s.default(t.type + " requires " + e);
1182
+ if (this.acceptKey(t, e), !t[e]) throw new a.default(t.type + " requires " + e);
1232
1183
  }, acceptArray: function acceptArray(t) {
1233
1184
  for (var e = 0, r = t.length; e < r; e++) {
1234
1185
  this.acceptKey(t, e), t[e] || (t.splice(e, 1), e--, r--);
1235
1186
  }
1236
1187
  }, accept: function accept(t) {
1237
1188
  if (t) {
1238
- if (!this[t.type]) throw new s.default("Unknown type: " + t.type, t);this.current && this.parents.unshift(this.current), this.current = t;var e = this[t.type](t);return this.current = this.parents.shift(), !this.mutating || e ? e : !1 !== e ? t : void 0;
1189
+ if (!this[t.type]) throw new a.default("Unknown type: " + t.type, t);this.current && this.parents.unshift(this.current), this.current = t;var e = this[t.type](t);return this.current = this.parents.shift(), !this.mutating || e ? e : !1 !== e ? t : void 0;
1239
1190
  }
1240
1191
  }, Program: function Program(t) {
1241
1192
  this.acceptArray(t.body);
1242
- }, MustacheStatement: a, Decorator: a, BlockStatement: i, DecoratorBlock: i, PartialStatement: n, PartialBlockStatement: function PartialBlockStatement(t) {
1243
- n.call(this, t), this.acceptKey(t, "program");
1244
- }, ContentStatement: function ContentStatement() {}, CommentStatement: function CommentStatement() {}, SubExpression: a, PathExpression: function PathExpression() {}, StringLiteral: function StringLiteral() {}, NumberLiteral: function NumberLiteral() {}, BooleanLiteral: function BooleanLiteral() {}, UndefinedLiteral: function UndefinedLiteral() {}, NullLiteral: function NullLiteral() {}, Hash: function Hash(t) {
1193
+ }, MustacheStatement: n, Decorator: n, BlockStatement: s, DecoratorBlock: s, PartialStatement: o, PartialBlockStatement: function PartialBlockStatement(t) {
1194
+ o.call(this, t), this.acceptKey(t, "program");
1195
+ }, ContentStatement: function ContentStatement() {}, CommentStatement: function CommentStatement() {}, SubExpression: n, PathExpression: function PathExpression() {}, StringLiteral: function StringLiteral() {}, NumberLiteral: function NumberLiteral() {}, BooleanLiteral: function BooleanLiteral() {}, UndefinedLiteral: function UndefinedLiteral() {}, NullLiteral: function NullLiteral() {}, Hash: function Hash(t) {
1245
1196
  this.acceptArray(t.pairs);
1246
1197
  }, HashPair: function HashPair(t) {
1247
1198
  this.acceptRequired(t, "value");
1248
- } }, e.default = r, t.exports = e.default;
1199
+ } }, e.default = i, t.exports = e.default;
1249
1200
  });unwrapExports(visitor);var whitespaceControl = createCommonjsModule(function (t, e) {
1250
- function r() {
1201
+ e.__esModule = !0;var r,
1202
+ a = (r = visitor) && r.__esModule ? r : { default: r };function i() {
1251
1203
  var t = arguments.length <= 0 || void 0 === arguments[0] ? {} : arguments[0];this.options = t;
1252
- }function a(t, e, r) {
1204
+ }function n(t, e, r) {
1253
1205
  void 0 === e && (e = t.length);var a = t[e - 1],
1254
1206
  i = t[e - 2];return a ? "ContentStatement" === a.type ? (i || !r ? /\r?\n\s*?$/ : /(^|\r?\n)\s*?$/).test(a.original) : void 0 : r;
1255
- }function i(t, e, r) {
1207
+ }function s(t, e, r) {
1256
1208
  void 0 === e && (e = -1);var a = t[e + 1],
1257
1209
  i = t[e + 2];return a ? "ContentStatement" === a.type ? (i || !r ? /^\s*?\r?\n/ : /^\s*?(\r?\n|$)/).test(a.original) : void 0 : r;
1258
- }function n(t, e, r) {
1210
+ }function o(t, e, r) {
1259
1211
  var a = t[null == e ? 0 : e + 1];if (a && "ContentStatement" === a.type && (r || !a.rightStripped)) {
1260
1212
  var i = a.value;a.value = a.value.replace(r ? /^\s+/ : /^[ \t]*\r?\n?/, ""), a.rightStripped = a.value !== i;
1261
1213
  }
1262
- }function s(t, e, r) {
1214
+ }function l(t, e, r) {
1263
1215
  var a = t[null == e ? t.length - 1 : e - 1];if (a && "ContentStatement" === a.type && (r || !a.leftStripped)) {
1264
1216
  var i = a.value;return a.value = a.value.replace(r ? /\s+$/ : /[ \t]+$/, ""), a.leftStripped = a.value !== i, a.leftStripped;
1265
1217
  }
1266
- }e.__esModule = !0;var o = function (t) {
1267
- return t && t.__esModule ? t : { default: t };
1268
- }(visitor);(r.prototype = new o.default()).Program = function (t) {
1218
+ }i.prototype = new a.default(), i.prototype.Program = function (t) {
1269
1219
  var e = !this.options.ignoreStandalone,
1270
- r = !this.isRootSeen;this.isRootSeen = !0;for (var o = t.body, l = 0, c = o.length; l < c; l++) {
1271
- var u = o[l],
1220
+ r = !this.isRootSeen;this.isRootSeen = !0;for (var a = t.body, i = 0, c = a.length; i < c; i++) {
1221
+ var u = a[i],
1272
1222
  p = this.accept(u);if (p) {
1273
- var h = a(o, l, r),
1274
- d = i(o, l, r),
1223
+ var h = n(a, i, r),
1224
+ d = s(a, i, r),
1275
1225
  m = p.openStandalone && h,
1276
1226
  f = p.closeStandalone && d,
1277
- g = p.inlineStandalone && h && d;p.close && n(o, l, !0), p.open && s(o, l, !0), e && g && (n(o, l), s(o, l) && "PartialStatement" === u.type && (u.indent = /([ \t]+$)/.exec(o[l - 1].original)[1])), e && m && (n((u.program || u.inverse).body), s(o, l)), e && f && (n(o, l), s((u.inverse || u.program).body));
1227
+ g = p.inlineStandalone && h && d;p.close && o(a, i, !0), p.open && l(a, i, !0), e && g && (o(a, i), l(a, i) && "PartialStatement" === u.type && (u.indent = /([ \t]+$)/.exec(a[i - 1].original)[1])), e && m && (o((u.program || u.inverse).body), l(a, i)), e && f && (o(a, i), l((u.inverse || u.program).body));
1278
1228
  }
1279
1229
  }return t;
1280
- }, r.prototype.BlockStatement = r.prototype.DecoratorBlock = r.prototype.PartialBlockStatement = function (t) {
1230
+ }, i.prototype.BlockStatement = i.prototype.DecoratorBlock = i.prototype.PartialBlockStatement = function (t) {
1281
1231
  this.accept(t.program), this.accept(t.inverse);var e = t.program || t.inverse,
1282
1232
  r = t.program && t.inverse,
1283
- o = r,
1284
- l = r;if (r && r.chained) for (o = r.body[0].program; l.chained;) {
1285
- l = l.body[l.body.length - 1].program;
1286
- }var c = { open: t.openStrip.open, close: t.closeStrip.close, openStandalone: i(e.body), closeStandalone: a((o || e).body) };if (t.openStrip.close && n(e.body, null, !0), r) {
1287
- var u = t.inverseStrip;u.open && s(e.body, null, !0), u.close && n(o.body, null, !0), t.closeStrip.open && s(l.body, null, !0), !this.options.ignoreStandalone && a(e.body) && i(o.body) && (s(e.body), n(o.body));
1288
- } else t.closeStrip.open && s(e.body, null, !0);return c;
1289
- }, r.prototype.Decorator = r.prototype.MustacheStatement = function (t) {
1233
+ a = r,
1234
+ i = r;if (r && r.chained) for (a = r.body[0].program; i.chained;) {
1235
+ i = i.body[i.body.length - 1].program;
1236
+ }var c = { open: t.openStrip.open, close: t.closeStrip.close, openStandalone: s(e.body), closeStandalone: n((a || e).body) };if (t.openStrip.close && o(e.body, null, !0), r) {
1237
+ var u = t.inverseStrip;u.open && l(e.body, null, !0), u.close && o(a.body, null, !0), t.closeStrip.open && l(i.body, null, !0), !this.options.ignoreStandalone && n(e.body) && s(a.body) && (l(e.body), o(a.body));
1238
+ } else t.closeStrip.open && l(e.body, null, !0);return c;
1239
+ }, i.prototype.Decorator = i.prototype.MustacheStatement = function (t) {
1290
1240
  return t.strip;
1291
- }, r.prototype.PartialStatement = r.prototype.CommentStatement = function (t) {
1241
+ }, i.prototype.PartialStatement = i.prototype.CommentStatement = function (t) {
1292
1242
  var e = t.strip || {};return { inlineStandalone: !0, open: e.open, close: e.close };
1293
- }, e.default = r, t.exports = e.default;
1243
+ }, e.default = i, t.exports = e.default;
1294
1244
  });unwrapExports(whitespaceControl);var helpers$2 = createCommonjsModule(function (t, e) {
1295
- function r(t, e) {
1296
- if (e = e.path ? e.path.original : e, t.path.original !== e) {
1297
- var r = { loc: t.path.loc };throw new a.default(t.path.original + " doesn't match " + e, r);
1298
- }
1299
- }e.__esModule = !0, e.SourceLocation = function (t, e) {
1245
+ e.__esModule = !0, e.SourceLocation = function (t, e) {
1300
1246
  this.source = t, this.start = { line: e.first_line, column: e.first_column }, this.end = { line: e.last_line, column: e.last_column };
1301
1247
  }, e.id = function (t) {
1302
1248
  return (/^\[.*\]$/.test(t) ? t.substr(1, t.length - 2) : t
@@ -1309,36 +1255,39 @@ var visitors = {
1309
1255
  r = this.locInfo(r);for (var i = t ? "@" : "", n = [], s = 0, o = 0, l = e.length; o < l; o++) {
1310
1256
  var c = e[o].part,
1311
1257
  u = e[o].original !== c;if (i += (e[o].separator || "") + c, u || ".." !== c && "." !== c && "this" !== c) n.push(c);else {
1312
- if (n.length > 0) throw new a.default("Invalid path: " + i, { loc: r });".." === c && s++;
1258
+ if (n.length > 0) throw new a.default("Invalid path: " + i, { loc: r });".." === c && (s++, "../");
1313
1259
  }
1314
1260
  }return { type: "PathExpression", data: t, depth: s, parts: n, original: i, loc: r };
1315
1261
  }, e.prepareMustache = function (t, e, r, a, i, n) {
1316
1262
  var s = a.charAt(3) || a.charAt(2),
1317
1263
  o = "{" !== s && "&" !== s;return { type: /\*/.test(a) ? "Decorator" : "MustacheStatement", path: t, params: e, hash: r, escaped: o, strip: i, loc: this.locInfo(n) };
1318
- }, e.prepareRawBlock = function (t, e, a, i) {
1319
- r(t, a);var n = { type: "Program", body: e, strip: {}, loc: i = this.locInfo(i) };return { type: "BlockStatement", path: t.path, params: t.params, hash: t.hash, program: n, openStrip: {}, inverseStrip: {}, closeStrip: {}, loc: i };
1320
- }, e.prepareBlock = function (t, e, i, n, s, o) {
1321
- n && n.path && r(t, n);var l = /\*/.test(t.open);e.blockParams = t.blockParams;var c = void 0,
1322
- u = void 0;if (i) {
1323
- if (l) throw new a.default("Unexpected inverse block on decorator", i);i.chain && (i.program.body[0].closeStrip = n.strip), u = i.strip, c = i.program;
1324
- }return s && (s = c, c = e, e = s), { type: l ? "DecoratorBlock" : "BlockStatement", path: t.path, params: t.params, hash: t.hash, program: e, inverse: c, openStrip: t.strip, inverseStrip: u, closeStrip: n && n.strip, loc: this.locInfo(o) };
1264
+ }, e.prepareRawBlock = function (t, e, r, a) {
1265
+ i(t, r), a = this.locInfo(a);var n = { type: "Program", body: e, strip: {}, loc: a };return { type: "BlockStatement", path: t.path, params: t.params, hash: t.hash, program: n, openStrip: {}, inverseStrip: {}, closeStrip: {}, loc: a };
1266
+ }, e.prepareBlock = function (t, e, r, n, s, o) {
1267
+ n && n.path && i(t, n);var l = /\*/.test(t.open);e.blockParams = t.blockParams;var c = void 0,
1268
+ u = void 0;if (r) {
1269
+ if (l) throw new a.default("Unexpected inverse block on decorator", r);r.chain && (r.program.body[0].closeStrip = n.strip), u = r.strip, c = r.program;
1270
+ }s && (s = c, c = e, e = s);return { type: l ? "DecoratorBlock" : "BlockStatement", path: t.path, params: t.params, hash: t.hash, program: e, inverse: c, openStrip: t.strip, inverseStrip: u, closeStrip: n && n.strip, loc: this.locInfo(o) };
1325
1271
  }, e.prepareProgram = function (t, e) {
1326
1272
  if (!e && t.length) {
1327
1273
  var r = t[0].loc,
1328
1274
  a = t[t.length - 1].loc;r && a && (e = { source: r.source, start: { line: r.start.line, column: r.start.column }, end: { line: a.end.line, column: a.end.column } });
1329
1275
  }return { type: "Program", body: t, strip: {}, loc: e };
1330
- }, e.preparePartialBlock = function (t, e, a, i) {
1331
- return r(t, a), { type: "PartialBlockStatement", name: t.path, params: t.params, hash: t.hash, program: e, openStrip: t.strip, closeStrip: a && a.strip, loc: this.locInfo(i) };
1332
- };var a = function (t) {
1333
- return t && t.__esModule ? t : { default: t };
1334
- }(exception);
1276
+ }, e.preparePartialBlock = function (t, e, r, a) {
1277
+ return i(t, r), { type: "PartialBlockStatement", name: t.path, params: t.params, hash: t.hash, program: e, openStrip: t.strip, closeStrip: r && r.strip, loc: this.locInfo(a) };
1278
+ };var r,
1279
+ a = (r = exception) && r.__esModule ? r : { default: r };function i(t, e) {
1280
+ if (e = e.path ? e.path.original : e, t.path.original !== e) {
1281
+ var r = { loc: t.path.loc };throw new a.default(t.path.original + " doesn't match " + e, r);
1282
+ }
1283
+ }
1335
1284
  });unwrapExports(helpers$2);var base$2 = createCommonjsModule(function (t, e) {
1336
1285
  function r(t) {
1337
1286
  return t && t.__esModule ? t : { default: t };
1338
1287
  }e.__esModule = !0, e.parse = function (t, e) {
1339
- return "Program" === t.type ? t : (a.default.yy = s, s.locInfo = function (t) {
1288
+ if ("Program" === t.type) return t;return a.default.yy = s, s.locInfo = function (t) {
1340
1289
  return new s.SourceLocation(e && e.srcName, t);
1341
- }, new i.default(e).accept(a.default.parse(t)));
1290
+ }, new i.default(e).accept(a.default.parse(t));
1342
1291
  };var a = r(parser),
1343
1292
  i = r(whitespaceControl),
1344
1293
  n = function (t) {
@@ -1349,39 +1298,39 @@ var visitors = {
1349
1298
  });unwrapExports(base$2);var compiler = createCommonjsModule(function (t, e) {
1350
1299
  function r(t) {
1351
1300
  return t && t.__esModule ? t : { default: t };
1352
- }function a() {}function i(t, e) {
1301
+ }e.__esModule = !0, e.Compiler = s, e.precompile = function (t, e, r) {
1302
+ if (null == t || "string" != typeof t && "Program" !== t.type) throw new a.default("You must pass a string or Handlebars AST to Handlebars.precompile. You passed " + t);"data" in (e = e || {}) || (e.data = !0);e.compat && (e.useDepths = !0);var i = r.parse(t, e),
1303
+ n = new r.Compiler().compile(i, e);return new r.JavaScriptCompiler().compile(n, e);
1304
+ }, e.compile = function (t, e, r) {
1305
+ void 0 === e && (e = {});if (null == t || "string" != typeof t && "Program" !== t.type) throw new a.default("You must pass a string or Handlebars AST to Handlebars.compile. You passed " + t);"data" in (e = utils.extend({}, e)) || (e.data = !0);e.compat && (e.useDepths = !0);var i = void 0;function n() {
1306
+ var a = r.parse(t, e),
1307
+ i = new r.Compiler().compile(a, e),
1308
+ n = new r.JavaScriptCompiler().compile(i, e, void 0, !0);return r.template(n);
1309
+ }function s(t, e) {
1310
+ return i || (i = n()), i.call(this, t, e);
1311
+ }return s._setup = function (t) {
1312
+ return i || (i = n()), i._setup(t);
1313
+ }, s._child = function (t, e, r, a) {
1314
+ return i || (i = n()), i._child(t, e, r, a);
1315
+ }, s;
1316
+ };var a = r(exception),
1317
+ i = r(ast),
1318
+ n = [].slice;function s() {}function o(t, e) {
1353
1319
  if (t === e) return !0;if (utils.isArray(t) && utils.isArray(e) && t.length === e.length) {
1354
1320
  for (var r = 0; r < t.length; r++) {
1355
- if (!i(t[r], e[r])) return !1;
1321
+ if (!o(t[r], e[r])) return !1;
1356
1322
  }return !0;
1357
1323
  }
1358
- }function n(t) {
1324
+ }function l(t) {
1359
1325
  if (!t.path.parts) {
1360
1326
  var e = t.path;t.path = { type: "PathExpression", data: !1, depth: 0, parts: [e.original + ""], original: e.original + "", loc: e.loc };
1361
1327
  }
1362
- }e.__esModule = !0, e.Compiler = a, e.precompile = function (t, e, r) {
1363
- if (null == t || "string" != typeof t && "Program" !== t.type) throw new s.default("You must pass a string or Handlebars AST to Handlebars.precompile. You passed " + t);"data" in (e = e || {}) || (e.data = !0), e.compat && (e.useDepths = !0);var a = r.parse(t, e),
1364
- i = new r.Compiler().compile(a, e);return new r.JavaScriptCompiler().compile(i, e);
1365
- }, e.compile = function (t, e, r) {
1366
- function a() {
1367
- var a = r.parse(t, e),
1368
- i = new r.Compiler().compile(a, e),
1369
- n = new r.JavaScriptCompiler().compile(i, e, void 0, !0);return r.template(n);
1370
- }function i(t, e) {
1371
- return n || (n = a()), n.call(this, t, e);
1372
- }if (void 0 === e && (e = {}), null == t || "string" != typeof t && "Program" !== t.type) throw new s.default("You must pass a string or Handlebars AST to Handlebars.compile. You passed " + t);"data" in (e = utils.extend({}, e)) || (e.data = !0), e.compat && (e.useDepths = !0);var n = void 0;return i._setup = function (t) {
1373
- return n || (n = a()), n._setup(t);
1374
- }, i._child = function (t, e, r, i) {
1375
- return n || (n = a()), n._child(t, e, r, i);
1376
- }, i;
1377
- };var s = r(exception),
1378
- o = r(ast),
1379
- l = [].slice;a.prototype = { compiler: a, equals: function equals(t) {
1380
- var e = this.opcodes.length;if (t.opcodes.length !== e) return !1;for (n = 0; n < e; n++) {
1381
- var r = this.opcodes[n],
1382
- a = t.opcodes[n];if (r.opcode !== a.opcode || !i(r.args, a.args)) return !1;
1383
- }e = this.children.length;for (var n = 0; n < e; n++) {
1384
- if (!this.children[n].equals(t.children[n])) return !1;
1328
+ }s.prototype = { compiler: s, equals: function equals(t) {
1329
+ var e = this.opcodes.length;if (t.opcodes.length !== e) return !1;for (var r = 0; r < e; r++) {
1330
+ var a = this.opcodes[r],
1331
+ i = t.opcodes[r];if (a.opcode !== i.opcode || !o(a.args, i.args)) return !1;
1332
+ }e = this.children.length;for (r = 0; r < e; r++) {
1333
+ if (!this.children[r].equals(t.children[r])) return !1;
1385
1334
  }return !0;
1386
1335
  }, guid: 0, compile: function compile(t, e) {
1387
1336
  this.sourceNode = [], this.opcodes = [], this.children = [], this.options = e, this.stringParams = e.stringParams, this.trackIds = e.trackIds, e.blockParams = e.blockParams || [];var r = e.knownHelpers;if (e.knownHelpers = { helperMissing: !0, blockHelperMissing: !0, each: !0, if: !0, unless: !0, with: !0, log: !0, lookup: !0 }, r) for (var a in r) {
@@ -1391,21 +1340,21 @@ var visitors = {
1391
1340
  var e = new this.compiler().compile(t, this.options),
1392
1341
  r = this.guid++;return this.usePartial = this.usePartial || e.usePartial, this.children[r] = e, this.useDepths = this.useDepths || e.useDepths, r;
1393
1342
  }, accept: function accept(t) {
1394
- if (!this[t.type]) throw new s.default("Unknown type: " + t.type, t);this.sourceNode.unshift(t);var e = this[t.type](t);return this.sourceNode.shift(), e;
1343
+ if (!this[t.type]) throw new a.default("Unknown type: " + t.type, t);this.sourceNode.unshift(t);var e = this[t.type](t);return this.sourceNode.shift(), e;
1395
1344
  }, Program: function Program(t) {
1396
1345
  this.options.blockParams.unshift(t.blockParams);for (var e = t.body, r = e.length, a = 0; a < r; a++) {
1397
1346
  this.accept(e[a]);
1398
1347
  }return this.options.blockParams.shift(), this.isSimple = 1 === r, this.blockParams = t.blockParams ? t.blockParams.length : 0, this;
1399
1348
  }, BlockStatement: function BlockStatement(t) {
1400
- n(t);var e = t.program,
1349
+ l(t);var e = t.program,
1401
1350
  r = t.inverse;e = e && this.compileProgram(e), r = r && this.compileProgram(r);var a = this.classifySexpr(t);"helper" === a ? this.helperSexpr(t, e, r) : "simple" === a ? (this.simpleSexpr(t), this.opcode("pushProgram", e), this.opcode("pushProgram", r), this.opcode("emptyHash"), this.opcode("blockValue", t.path.original)) : (this.ambiguousSexpr(t, e, r), this.opcode("pushProgram", e), this.opcode("pushProgram", r), this.opcode("emptyHash"), this.opcode("ambiguousBlockValue")), this.opcode("append");
1402
1351
  }, DecoratorBlock: function DecoratorBlock(t) {
1403
1352
  var e = t.program && this.compileProgram(t.program),
1404
1353
  r = this.setupFullMustacheParams(t, e, void 0),
1405
1354
  a = t.path;this.useDecorators = !0, this.opcode("registerDecorator", r.length, a.original);
1406
1355
  }, PartialStatement: function PartialStatement(t) {
1407
- this.usePartial = !0;var e = t.program;e && (e = this.compileProgram(t.program));var r = t.params;if (r.length > 1) throw new s.default("Unsupported number of partial arguments: " + r.length, t);r.length || (this.options.explicitPartialContext ? this.opcode("pushLiteral", "undefined") : r.push({ type: "PathExpression", parts: [], depth: 0 }));var a = t.name.original,
1408
- i = "SubExpression" === t.name.type;i && this.accept(t.name), this.setupFullMustacheParams(t, e, void 0, !0);var n = t.indent || "";this.options.preventIndent && n && (this.opcode("appendContent", n), n = ""), this.opcode("invokePartial", i, a, n), this.opcode("append");
1356
+ this.usePartial = !0;var e = t.program;e && (e = this.compileProgram(t.program));var r = t.params;if (r.length > 1) throw new a.default("Unsupported number of partial arguments: " + r.length, t);r.length || (this.options.explicitPartialContext ? this.opcode("pushLiteral", "undefined") : r.push({ type: "PathExpression", parts: [], depth: 0 }));var i = t.name.original,
1357
+ n = "SubExpression" === t.name.type;n && this.accept(t.name), this.setupFullMustacheParams(t, e, void 0, !0);var s = t.indent || "";this.options.preventIndent && s && (this.opcode("appendContent", s), s = ""), this.opcode("invokePartial", n, i, s), this.opcode("append");
1409
1358
  }, PartialBlockStatement: function PartialBlockStatement(t) {
1410
1359
  this.PartialStatement(t);
1411
1360
  }, MustacheStatement: function MustacheStatement(t) {
@@ -1415,7 +1364,7 @@ var visitors = {
1415
1364
  }, ContentStatement: function ContentStatement(t) {
1416
1365
  t.value && this.opcode("appendContent", t.value);
1417
1366
  }, CommentStatement: function CommentStatement() {}, SubExpression: function SubExpression(t) {
1418
- n(t);var e = this.classifySexpr(t);"simple" === e ? this.simpleSexpr(t) : "helper" === e ? this.helperSexpr(t) : this.ambiguousSexpr(t);
1367
+ l(t);var e = this.classifySexpr(t);"simple" === e ? this.simpleSexpr(t) : "helper" === e ? this.helperSexpr(t) : this.ambiguousSexpr(t);
1419
1368
  }, ambiguousSexpr: function ambiguousSexpr(t, e, r) {
1420
1369
  var a = t.path,
1421
1370
  i = a.parts[0],
@@ -1423,14 +1372,14 @@ var visitors = {
1423
1372
  }, simpleSexpr: function simpleSexpr(t) {
1424
1373
  var e = t.path;e.strict = !0, this.accept(e), this.opcode("resolvePossibleLambda");
1425
1374
  }, helperSexpr: function helperSexpr(t, e, r) {
1426
- var a = this.setupFullMustacheParams(t, e, r),
1427
- i = t.path,
1428
- n = i.parts[0];if (this.options.knownHelpers[n]) this.opcode("invokeKnownHelper", a.length, n);else {
1429
- if (this.options.knownHelpersOnly) throw new s.default("You specified knownHelpersOnly, but used the unknown helper " + n, t);i.strict = !0, i.falsy = !0, this.accept(i), this.opcode("invokeHelper", a.length, i.original, o.default.helpers.simpleId(i));
1375
+ var n = this.setupFullMustacheParams(t, e, r),
1376
+ s = t.path,
1377
+ o = s.parts[0];if (this.options.knownHelpers[o]) this.opcode("invokeKnownHelper", n.length, o);else {
1378
+ if (this.options.knownHelpersOnly) throw new a.default("You specified knownHelpersOnly, but used the unknown helper " + o, t);s.strict = !0, s.falsy = !0, this.accept(s), this.opcode("invokeHelper", n.length, s.original, i.default.helpers.simpleId(s));
1430
1379
  }
1431
1380
  }, PathExpression: function PathExpression(t) {
1432
1381
  this.addDepth(t.depth), this.opcode("getContext", t.depth);var e = t.parts[0],
1433
- r = o.default.helpers.scopedId(t),
1382
+ r = i.default.helpers.scopedId(t),
1434
1383
  a = !t.depth && !r && this.blockParamIndex(e);a ? this.opcode("lookupBlockParam", a, t.parts) : e ? t.data ? (this.options.data = !0, this.opcode("lookupData", t.depth, t.parts, t.strict)) : this.opcode("lookupOnContext", t.parts, t.falsy, t.strict, r) : this.opcode("pushContext");
1435
1384
  }, StringLiteral: function StringLiteral(t) {
1436
1385
  this.opcode("pushString", t.value);
@@ -1451,17 +1400,17 @@ var visitors = {
1451
1400
  this.opcode("assignToHash", e[r].key);
1452
1401
  }this.opcode("popHash");
1453
1402
  }, opcode: function opcode(t) {
1454
- this.opcodes.push({ opcode: t, args: l.call(arguments, 1), loc: this.sourceNode[0].loc });
1403
+ this.opcodes.push({ opcode: t, args: n.call(arguments, 1), loc: this.sourceNode[0].loc });
1455
1404
  }, addDepth: function addDepth(t) {
1456
1405
  t && (this.useDepths = !0);
1457
1406
  }, classifySexpr: function classifySexpr(t) {
1458
- var e = o.default.helpers.simpleId(t.path),
1407
+ var e = i.default.helpers.simpleId(t.path),
1459
1408
  r = e && !!this.blockParamIndex(t.path.parts[0]),
1460
- a = !r && o.default.helpers.helperExpression(t),
1461
- i = !r && (a || e);if (i && !a) {
1462
- var n = t.path.parts[0],
1463
- s = this.options;s.knownHelpers[n] ? a = !0 : s.knownHelpersOnly && (i = !1);
1464
- }return a ? "helper" : i ? "ambiguous" : "simple";
1409
+ a = !r && i.default.helpers.helperExpression(t),
1410
+ n = !r && (a || e);if (n && !a) {
1411
+ var s = t.path.parts[0],
1412
+ o = this.options;o.knownHelpers[s] ? a = !0 : o.knownHelpersOnly && (n = !1);
1413
+ }return a ? "helper" : n ? "ambiguous" : "simple";
1465
1414
  }, pushParams: function pushParams(t) {
1466
1415
  for (var e = 0, r = t.length; e < r; e++) {
1467
1416
  this.pushParam(t[e]);
@@ -1469,7 +1418,7 @@ var visitors = {
1469
1418
  }, pushParam: function pushParam(t) {
1470
1419
  var e = null != t.value ? t.value : t.original || "";if (this.stringParams) e.replace && (e = e.replace(/^(\.?\.\/)*/g, "").replace(/\//g, ".")), t.depth && this.addDepth(t.depth), this.opcode("getContext", t.depth || 0), this.opcode("pushStringParam", e, t.type), "SubExpression" === t.type && this.accept(t);else {
1471
1420
  if (this.trackIds) {
1472
- var r = void 0;if (!t.parts || o.default.helpers.scopedId(t) || t.depth || (r = this.blockParamIndex(t.parts[0])), r) {
1421
+ var r = void 0;if (!t.parts || i.default.helpers.scopedId(t) || t.depth || (r = this.blockParamIndex(t.parts[0])), r) {
1473
1422
  var a = t.parts.slice(1).join(".");this.opcode("pushId", "BlockParam", r, a);
1474
1423
  } else (e = t.original || e).replace && (e = e.replace(/^this(?:\.|$)/, "").replace(/^\.\//, "").replace(/^\.$/, "")), this.opcode("pushId", t.type, e);
1475
1424
  }this.accept(t);
@@ -1483,17 +1432,17 @@ var visitors = {
1483
1432
  }
1484
1433
  } };
1485
1434
  });unwrapExports(compiler);var codeGen = createCommonjsModule(function (t, e) {
1486
- function r(t, e, r) {
1435
+ e.__esModule = !0;var r = void 0;try {
1436
+ var a = require("source-map");r = a.SourceNode;
1437
+ } catch (t) {}function i(t, e, r) {
1487
1438
  if (utils.isArray(t)) {
1488
1439
  for (var a = [], i = 0, n = t.length; i < n; i++) {
1489
1440
  a.push(e.wrap(t[i], r));
1490
1441
  }return a;
1491
1442
  }return "boolean" == typeof t || "number" == typeof t ? t + "" : t;
1492
- }function a(t) {
1443
+ }function n(t) {
1493
1444
  this.srcFile = t, this.source = [];
1494
- }e.__esModule = !0;var i = void 0;try {
1495
- var n = require("source-map");i = n.SourceNode;
1496
- } catch (t) {}i || ((i = function i(t, e, r, a) {
1445
+ }r || ((r = function r(t, e, _r7, a) {
1497
1446
  this.src = "", a && this.add(a);
1498
1447
  }).prototype = { add: function add(t) {
1499
1448
  utils.isArray(t) && (t = t.join("")), this.src += t;
@@ -1503,7 +1452,7 @@ var visitors = {
1503
1452
  return { code: this.toString() };
1504
1453
  }, toString: function toString() {
1505
1454
  return this.src;
1506
- } }), a.prototype = { isEmpty: function isEmpty() {
1455
+ } }), n.prototype = { isEmpty: function isEmpty() {
1507
1456
  return !this.source.length;
1508
1457
  }, prepend: function prepend(t, e) {
1509
1458
  this.source.unshift(this.wrap(t, e));
@@ -1518,40 +1467,34 @@ var visitors = {
1518
1467
  t(this.source[e]);
1519
1468
  }
1520
1469
  }, empty: function empty() {
1521
- var t = this.currentLocation || { start: {} };return new i(t.start.line, t.start.column, this.srcFile);
1470
+ var t = this.currentLocation || { start: {} };return new r(t.start.line, t.start.column, this.srcFile);
1522
1471
  }, wrap: function wrap(t) {
1523
- var e = arguments.length <= 1 || void 0 === arguments[1] ? this.currentLocation || { start: {} } : arguments[1];return t instanceof i ? t : (t = r(t, this, e), new i(e.start.line, e.start.column, this.srcFile, t));
1472
+ var e = arguments.length <= 1 || void 0 === arguments[1] ? this.currentLocation || { start: {} } : arguments[1];return t instanceof r ? t : (t = i(t, this, e), new r(e.start.line, e.start.column, this.srcFile, t));
1524
1473
  }, functionCall: function functionCall(t, e, r) {
1525
1474
  return r = this.generateList(r), this.wrap([t, e ? "." + e + "(" : "(", r, ")"]);
1526
1475
  }, quotedString: function quotedString(t) {
1527
1476
  return '"' + (t + "").replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029") + '"';
1528
1477
  }, objectLiteral: function objectLiteral(t) {
1529
- var e = [];for (var a in t) {
1530
- if (t.hasOwnProperty(a)) {
1531
- var i = r(t[a], this);"undefined" !== i && e.push([this.quotedString(a), ":", i]);
1478
+ var e = [];for (var r in t) {
1479
+ if (t.hasOwnProperty(r)) {
1480
+ var a = i(t[r], this);"undefined" !== a && e.push([this.quotedString(r), ":", a]);
1532
1481
  }
1533
1482
  }var n = this.generateList(e);return n.prepend("{"), n.add("}"), n;
1534
1483
  }, generateList: function generateList(t) {
1535
- for (var e = this.empty(), a = 0, i = t.length; a < i; a++) {
1536
- a && e.add(","), e.add(r(t[a], this));
1484
+ for (var e = this.empty(), r = 0, a = t.length; r < a; r++) {
1485
+ r && e.add(","), e.add(i(t[r], this));
1537
1486
  }return e;
1538
1487
  }, generateArray: function generateArray(t) {
1539
1488
  var e = this.generateList(t);return e.prepend("["), e.add("]"), e;
1540
- } }, e.default = a, t.exports = e.default;
1489
+ } }, e.default = n, t.exports = e.default;
1541
1490
  });unwrapExports(codeGen);var javascriptCompiler = createCommonjsModule(function (t, e) {
1542
1491
  function r(t) {
1543
1492
  return t && t.__esModule ? t : { default: t };
1544
- }function a(t) {
1493
+ }e.__esModule = !0;var a = r(exception),
1494
+ i = r(codeGen);function n(t) {
1545
1495
  this.value = t;
1546
- }function i() {}function n(t, e, r, a) {
1547
- var i = e.popStack(),
1548
- n = 0,
1549
- s = r.length;for (t && s--; n < s; n++) {
1550
- i = e.nameLookup(i, r[n], a);
1551
- }return t ? [e.aliasable("container.strict"), "(", i, ", ", e.quotedString(r[n]), ")"] : i;
1552
- }e.__esModule = !0;var s = r(exception),
1553
- o = r(codeGen);i.prototype = { nameLookup: function nameLookup(t, e) {
1554
- return i.isValidJavaScriptVariableName(e) ? [t, ".", e] : [t, "[", JSON.stringify(e), "]"];
1496
+ }function s() {}s.prototype = { nameLookup: function nameLookup(t, e) {
1497
+ return s.isValidJavaScriptVariableName(e) ? [t, ".", e] : [t, "[", JSON.stringify(e), "]"];
1555
1498
  }, depthedLookup: function depthedLookup(t) {
1556
1499
  return [this.aliasable("container.lookup"), '(depths, "', t, '")'];
1557
1500
  }, compilerInfo: function compilerInfo() {
@@ -1560,20 +1503,20 @@ var visitors = {
1560
1503
  return utils.isArray(t) || (t = [t]), t = this.source.wrap(t, e), this.environment.isSimple ? ["return ", t, ";"] : r ? ["buffer += ", t, ";"] : (t.appendToBuffer = !0, t);
1561
1504
  }, initializeBuffer: function initializeBuffer() {
1562
1505
  return this.quotedString("");
1563
- }, compile: function compile(t, e, r, a) {
1564
- this.environment = t, this.options = e, this.stringParams = this.options.stringParams, this.trackIds = this.options.trackIds, this.precompile = !a, this.name = this.environment.name, this.isChild = !!r, this.context = r || { decorators: [], programs: [], environments: [] }, this.preamble(), this.stackSlot = 0, this.stackVars = [], this.aliases = {}, this.registers = { list: [] }, this.hashes = [], this.compileStack = [], this.inlineStack = [], this.blockParams = [], this.compileChildren(t, e), this.useDepths = this.useDepths || t.useDepths || t.useDecorators || this.options.compat, this.useBlockParams = this.useBlockParams || t.useBlockParams;var i = t.opcodes,
1565
- n = void 0,
1506
+ }, compile: function compile(t, e, r, i) {
1507
+ this.environment = t, this.options = e, this.stringParams = this.options.stringParams, this.trackIds = this.options.trackIds, this.precompile = !i, this.name = this.environment.name, this.isChild = !!r, this.context = r || { decorators: [], programs: [], environments: [] }, this.preamble(), this.stackSlot = 0, this.stackVars = [], this.aliases = {}, this.registers = { list: [] }, this.hashes = [], this.compileStack = [], this.inlineStack = [], this.blockParams = [], this.compileChildren(t, e), this.useDepths = this.useDepths || t.useDepths || t.useDecorators || this.options.compat, this.useBlockParams = this.useBlockParams || t.useBlockParams;var n = t.opcodes,
1508
+ s = void 0,
1566
1509
  o = void 0,
1567
1510
  l = void 0,
1568
- c = void 0;for (l = 0, c = i.length; l < c; l++) {
1569
- n = i[l], this.source.currentLocation = n.loc, o = o || n.loc, this[n.opcode].apply(this, n.args);
1570
- }if (this.source.currentLocation = o, this.pushSource(""), this.stackSlot || this.inlineStack.length || this.compileStack.length) throw new s.default("Compile completed with content left on stack");this.decorators.isEmpty() ? this.decorators = void 0 : (this.useDecorators = !0, this.decorators.prepend("var decorators = container.decorators;\n"), this.decorators.push("return fn;"), a ? this.decorators = Function.apply(this, ["fn", "props", "container", "depth0", "data", "blockParams", "depths", this.decorators.merge()]) : (this.decorators.prepend("function(fn, props, container, depth0, data, blockParams, depths) {\n"), this.decorators.push("}\n"), this.decorators = this.decorators.merge()));var u = this.createFunctionContext(a);if (this.isChild) return u;var p = { compiler: this.compilerInfo(), main: u };this.decorators && (p.main_d = this.decorators, p.useDecorators = !0);var h = this.context,
1511
+ c = void 0;for (l = 0, c = n.length; l < c; l++) {
1512
+ s = n[l], this.source.currentLocation = s.loc, o = o || s.loc, this[s.opcode].apply(this, s.args);
1513
+ }if (this.source.currentLocation = o, this.pushSource(""), this.stackSlot || this.inlineStack.length || this.compileStack.length) throw new a.default("Compile completed with content left on stack");this.decorators.isEmpty() ? this.decorators = void 0 : (this.useDecorators = !0, this.decorators.prepend("var decorators = container.decorators;\n"), this.decorators.push("return fn;"), i ? this.decorators = Function.apply(this, ["fn", "props", "container", "depth0", "data", "blockParams", "depths", this.decorators.merge()]) : (this.decorators.prepend("function(fn, props, container, depth0, data, blockParams, depths) {\n"), this.decorators.push("}\n"), this.decorators = this.decorators.merge()));var u = this.createFunctionContext(i);if (this.isChild) return u;var p = { compiler: this.compilerInfo(), main: u };this.decorators && (p.main_d = this.decorators, p.useDecorators = !0);var h = this.context,
1571
1514
  d = h.programs,
1572
1515
  m = h.decorators;for (l = 0, c = d.length; l < c; l++) {
1573
1516
  d[l] && (p[l] = d[l], m[l] && (p[l + "_d"] = m[l], p.useDecorators = !0));
1574
- }return this.environment.usePartial && (p.usePartial = !0), this.options.data && (p.useData = !0), this.useDepths && (p.useDepths = !0), this.useBlockParams && (p.useBlockParams = !0), this.options.compat && (p.compat = !0), a ? p.compilerOptions = this.options : (p.compiler = JSON.stringify(p.compiler), this.source.currentLocation = { start: { line: 1, column: 0 } }, p = this.objectLiteral(p), e.srcName ? (p = p.toStringWithSourceMap({ file: e.destName })).map = p.map && p.map.toString() : p = p.toString()), p;
1517
+ }return this.environment.usePartial && (p.usePartial = !0), this.options.data && (p.useData = !0), this.useDepths && (p.useDepths = !0), this.useBlockParams && (p.useBlockParams = !0), this.options.compat && (p.compat = !0), i ? p.compilerOptions = this.options : (p.compiler = JSON.stringify(p.compiler), this.source.currentLocation = { start: { line: 1, column: 0 } }, p = this.objectLiteral(p), e.srcName ? (p = p.toStringWithSourceMap({ file: e.destName })).map = p.map && p.map.toString() : p = p.toString()), p;
1575
1518
  }, preamble: function preamble() {
1576
- this.lastContext = 0, this.source = new o.default(this.options.srcName), this.decorators = new o.default(this.options.srcName);
1519
+ this.lastContext = 0, this.source = new i.default(this.options.srcName), this.decorators = new i.default(this.options.srcName);
1577
1520
  }, createFunctionContext: function createFunctionContext(t) {
1578
1521
  var e = "",
1579
1522
  r = this.stackVars.concat(this.registers.list);r.length > 0 && (e += ", " + r.join(", "));var a = 0;for (var i in this.aliases) {
@@ -1615,9 +1558,15 @@ var visitors = {
1615
1558
  }, lookupData: function lookupData(t, e, r) {
1616
1559
  t ? this.pushStackLiteral("container.data(data, " + t + ")") : this.pushStackLiteral("data"), this.resolvePath("data", e, 0, !0, r);
1617
1560
  }, resolvePath: function resolvePath(t, e, r, a, i) {
1618
- var s = this;if (this.options.strict || this.options.assumeObjects) this.push(n(this.options.strict && i, this, e, t));else for (var o = e.length; r < o; r++) {
1561
+ var n = this;if (this.options.strict || this.options.assumeObjects) this.push(function (t, e, r, a) {
1562
+ var i = e.popStack(),
1563
+ n = 0,
1564
+ s = r.length;t && s--;for (; n < s; n++) {
1565
+ i = e.nameLookup(i, r[n], a);
1566
+ }return t ? [e.aliasable("container.strict"), "(", i, ", ", e.quotedString(r[n]), ")"] : i;
1567
+ }(this.options.strict && i, this, e, t));else for (var s = e.length; r < s; r++) {
1619
1568
  this.replaceStack(function (i) {
1620
- var n = s.nameLookup(i, e[r], t);return a ? [" && ", n] : [" != null ? ", n, " : ", i];
1569
+ var s = n.nameLookup(i, e[r], t);return a ? [" && ", s] : [" != null ? ", s, " : ", i];
1621
1570
  });
1622
1571
  }
1623
1572
  }, resolvePossibleLambda: function resolvePossibleLambda() {
@@ -1659,7 +1608,7 @@ var visitors = {
1659
1608
  i = void 0;this.trackIds && (i = this.popStack()), this.stringParams && (a = this.popStack(), r = this.popStack());var n = this.hash;r && (n.contexts[t] = r), a && (n.types[t] = a), i && (n.ids[t] = i), n.values[t] = e;
1660
1609
  }, pushId: function pushId(t, e, r) {
1661
1610
  "BlockParam" === t ? this.pushStackLiteral("blockParams[" + e[0] + "].path[" + e[1] + "]" + (r ? " + " + JSON.stringify("." + r) : "")) : "PathExpression" === t ? this.pushString(e) : "SubExpression" === t ? this.pushStackLiteral("true") : this.pushStackLiteral("null");
1662
- }, compiler: i, compileChildren: function compileChildren(t, e) {
1611
+ }, compiler: s, compileChildren: function compileChildren(t, e) {
1663
1612
  for (var r = t.children, a = void 0, i = void 0, n = 0, s = r.length; n < s; n++) {
1664
1613
  a = r[n], i = new this.compiler();var o = this.matchExistingProgram(a);if (null == o) {
1665
1614
  this.context.programs.push("");var l = this.context.programs.length;a.index = l, a.name = "program" + l, this.context.programs[l] = i.compile(a, e, this.context, !this.precompile), this.context.decorators[l] = i.decorators, this.context.environments[l] = a, this.useDepths = this.useDepths || i.useDepths, this.useBlockParams = this.useBlockParams || i.useBlockParams, a.useDepths = this.useDepths, a.useBlockParams = this.useBlockParams;
@@ -1675,38 +1624,38 @@ var visitors = {
1675
1624
  }, useRegister: function useRegister(t) {
1676
1625
  this.registers[t] || (this.registers[t] = !0, this.registers.list.push(t));
1677
1626
  }, push: function push(t) {
1678
- return t instanceof a || (t = this.source.wrap(t)), this.inlineStack.push(t), t;
1627
+ return t instanceof n || (t = this.source.wrap(t)), this.inlineStack.push(t), t;
1679
1628
  }, pushStackLiteral: function pushStackLiteral(t) {
1680
- this.push(new a(t));
1629
+ this.push(new n(t));
1681
1630
  }, pushSource: function pushSource(t) {
1682
1631
  this.pendingContent && (this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent), this.pendingLocation)), this.pendingContent = void 0), t && this.source.push(t);
1683
1632
  }, replaceStack: function replaceStack(t) {
1684
1633
  var e = ["("],
1685
1634
  r = void 0,
1686
1635
  i = void 0,
1687
- n = void 0;if (!this.isInline()) throw new s.default("replaceStack on non-inline");var o = this.popStack(!0);if (o instanceof a) e = ["(", r = [o.value]], n = !0;else {
1636
+ s = void 0;if (!this.isInline()) throw new a.default("replaceStack on non-inline");var o = this.popStack(!0);if (o instanceof n) e = ["(", r = [o.value]], s = !0;else {
1688
1637
  i = !0;var l = this.incrStack();e = ["((", this.push(l), " = ", o, ")"], r = this.topStack();
1689
- }var c = t.call(this, r);n || this.popStack(), i && this.stackSlot--, this.push(e.concat(c, ")"));
1638
+ }var c = t.call(this, r);s || this.popStack(), i && this.stackSlot--, this.push(e.concat(c, ")"));
1690
1639
  }, incrStack: function incrStack() {
1691
- return ++this.stackSlot > this.stackVars.length && this.stackVars.push("stack" + this.stackSlot), this.topStackName();
1640
+ return this.stackSlot++, this.stackSlot > this.stackVars.length && this.stackVars.push("stack" + this.stackSlot), this.topStackName();
1692
1641
  }, topStackName: function topStackName() {
1693
1642
  return "stack" + this.stackSlot;
1694
1643
  }, flushInline: function flushInline() {
1695
1644
  var t = this.inlineStack;this.inlineStack = [];for (var e = 0, r = t.length; e < r; e++) {
1696
- var i = t[e];if (i instanceof a) this.compileStack.push(i);else {
1697
- var n = this.incrStack();this.pushSource([n, " = ", i, ";"]), this.compileStack.push(n);
1645
+ var a = t[e];if (a instanceof n) this.compileStack.push(a);else {
1646
+ var i = this.incrStack();this.pushSource([i, " = ", a, ";"]), this.compileStack.push(i);
1698
1647
  }
1699
1648
  }
1700
1649
  }, isInline: function isInline() {
1701
1650
  return this.inlineStack.length;
1702
1651
  }, popStack: function popStack(t) {
1703
1652
  var e = this.isInline(),
1704
- r = (e ? this.inlineStack : this.compileStack).pop();if (!t && r instanceof a) return r.value;if (!e) {
1705
- if (!this.stackSlot) throw new s.default("Invalid stack pop");this.stackSlot--;
1653
+ r = (e ? this.inlineStack : this.compileStack).pop();if (!t && r instanceof n) return r.value;if (!e) {
1654
+ if (!this.stackSlot) throw new a.default("Invalid stack pop");this.stackSlot--;
1706
1655
  }return r;
1707
1656
  }, topStack: function topStack() {
1708
1657
  var t = this.isInline() ? this.inlineStack : this.compileStack,
1709
- e = t[t.length - 1];return e instanceof a ? e.value : e;
1658
+ e = t[t.length - 1];return e instanceof n ? e.value : e;
1710
1659
  }, contextName: function contextName(t) {
1711
1660
  return this.useDepths && t ? "depths[" + t + "]" : "depth" + t;
1712
1661
  }, quotedString: function quotedString(t) {
@@ -1714,7 +1663,7 @@ var visitors = {
1714
1663
  }, objectLiteral: function objectLiteral(t) {
1715
1664
  return this.source.objectLiteral(t);
1716
1665
  }, aliasable: function aliasable(t) {
1717
- var e = this.aliases[t];return e ? (e.referenceCount++, e) : (e = this.aliases[t] = this.source.wrap(t), e.aliasable = !0, e.referenceCount = 1, e);
1666
+ var e = this.aliases[t];return e ? (e.referenceCount++, e) : ((e = this.aliases[t] = this.source.wrap(t)).aliasable = !0, e.referenceCount = 1, e);
1718
1667
  }, setupHelper: function setupHelper(t, e, r) {
1719
1668
  var a = [];return { params: a, paramsInit: this.setupHelperArgs(e, t, a, r), name: this.nameLookup("helpers", e, "helper"), callParams: [this.aliasable(this.contextName(0) + " != null ? " + this.contextName(0) + " : (container.nullContext || {})")].concat(a) };
1720
1669
  }, setupParams: function setupParams(t, e, r) {
@@ -1730,40 +1679,38 @@ var visitors = {
1730
1679
  }, setupHelperArgs: function setupHelperArgs(t, e, r, a) {
1731
1680
  var i = this.setupParams(t, e, r);return i = this.objectLiteral(i), a ? (this.useRegister("options"), r.push("options"), ["options=", i]) : r ? (r.push(i), "") : i;
1732
1681
  } }, function () {
1733
- for (var t = "break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield await null true false".split(" "), e = i.RESERVED_WORDS = {}, r = 0, a = t.length; r < a; r++) {
1682
+ for (var t = "break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield await null true false".split(" "), e = s.RESERVED_WORDS = {}, r = 0, a = t.length; r < a; r++) {
1734
1683
  e[t[r]] = !0;
1735
1684
  }
1736
- }(), i.isValidJavaScriptVariableName = function (t) {
1737
- return !i.RESERVED_WORDS[t] && /^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(t);
1738
- }, e.default = i, t.exports = e.default;
1685
+ }(), s.isValidJavaScriptVariableName = function (t) {
1686
+ return !s.RESERVED_WORDS[t] && /^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(t);
1687
+ }, e.default = s, t.exports = e.default;
1739
1688
  });unwrapExports(javascriptCompiler);var handlebars$1 = createCommonjsModule(function (t, e) {
1740
1689
  function r(t) {
1741
1690
  return t && t.__esModule ? t : { default: t };
1742
- }function a() {
1743
- var t = c();return t.compile = function (e, r) {
1691
+ }e.__esModule = !0;var a = r(handlebars_runtime),
1692
+ i = r(ast),
1693
+ n = r(javascriptCompiler),
1694
+ s = r(visitor),
1695
+ o = r(noConflict),
1696
+ l = a.default.create;function c() {
1697
+ var t = l();return t.compile = function (e, r) {
1744
1698
  return compiler.compile(e, r, t);
1745
1699
  }, t.precompile = function (e, r) {
1746
1700
  return compiler.precompile(e, r, t);
1747
- }, t.AST = n.default, t.Compiler = compiler.Compiler, t.JavaScriptCompiler = s.default, t.Parser = base$2.parser, t.parse = base$2.parse, t;
1748
- }e.__esModule = !0;var i = r(handlebars_runtime),
1749
- n = r(ast),
1750
- s = r(javascriptCompiler),
1751
- o = r(visitor),
1752
- l = r(noConflict),
1753
- c = i.default.create,
1754
- u = a();u.create = a, l.default(u), u.Visitor = o.default, u.default = u, e.default = u, t.exports = e.default;
1701
+ }, t.AST = i.default, t.Compiler = compiler.Compiler, t.JavaScriptCompiler = n.default, t.Parser = base$2.parser, t.parse = base$2.parse, t;
1702
+ }var u = c();u.create = c, o.default(u), u.Visitor = s.default, u.default = u, e.default = u, t.exports = e.default;
1755
1703
  });unwrapExports(handlebars$1);var printer = createCommonjsModule(function (t, e) {
1756
- function r() {
1704
+ e.__esModule = !0, e.print = function (t) {
1705
+ return new i().accept(t);
1706
+ }, e.PrintVisitor = i;var r,
1707
+ a = (r = visitor) && r.__esModule ? r : { default: r };function i() {
1757
1708
  this.padding = 0;
1758
- }e.__esModule = !0, e.print = function (t) {
1759
- return new r().accept(t);
1760
- }, e.PrintVisitor = r;var a = function (t) {
1761
- return t && t.__esModule ? t : { default: t };
1762
- }(visitor);(r.prototype = new a.default()).pad = function (t) {
1709
+ }i.prototype = new a.default(), i.prototype.pad = function (t) {
1763
1710
  for (var e = "", r = 0, a = this.padding; r < a; r++) {
1764
1711
  e += " ";
1765
1712
  }return e += t + "\n";
1766
- }, r.prototype.Program = function (t) {
1713
+ }, i.prototype.Program = function (t) {
1767
1714
  var e = "",
1768
1715
  r = t.body,
1769
1716
  a = void 0,
@@ -1774,44 +1721,46 @@ var visitors = {
1774
1721
  }for (a = 0, i = r.length; a < i; a++) {
1775
1722
  e += this.accept(r[a]);
1776
1723
  }return this.padding--, e;
1777
- }, r.prototype.MustacheStatement = function (t) {
1724
+ }, i.prototype.MustacheStatement = function (t) {
1778
1725
  return this.pad("{{ " + this.SubExpression(t) + " }}");
1779
- }, r.prototype.Decorator = function (t) {
1726
+ }, i.prototype.Decorator = function (t) {
1780
1727
  return this.pad("{{ DIRECTIVE " + this.SubExpression(t) + " }}");
1781
- }, r.prototype.BlockStatement = r.prototype.DecoratorBlock = function (t) {
1728
+ }, i.prototype.BlockStatement = i.prototype.DecoratorBlock = function (t) {
1782
1729
  var e = "";return e += this.pad(("DecoratorBlock" === t.type ? "DIRECTIVE " : "") + "BLOCK:"), this.padding++, e += this.pad(this.SubExpression(t)), t.program && (e += this.pad("PROGRAM:"), this.padding++, e += this.accept(t.program), this.padding--), t.inverse && (t.program && this.padding++, e += this.pad("{{^}}"), this.padding++, e += this.accept(t.inverse), this.padding--, t.program && this.padding--), this.padding--, e;
1783
- }, r.prototype.PartialStatement = function (t) {
1730
+ }, i.prototype.PartialStatement = function (t) {
1784
1731
  var e = "PARTIAL:" + t.name.original;return t.params[0] && (e += " " + this.accept(t.params[0])), t.hash && (e += " " + this.accept(t.hash)), this.pad("{{> " + e + " }}");
1785
- }, r.prototype.PartialBlockStatement = function (t) {
1732
+ }, i.prototype.PartialBlockStatement = function (t) {
1786
1733
  var e = "PARTIAL BLOCK:" + t.name.original;return t.params[0] && (e += " " + this.accept(t.params[0])), t.hash && (e += " " + this.accept(t.hash)), e += " " + this.pad("PROGRAM:"), this.padding++, e += this.accept(t.program), this.padding--, this.pad("{{> " + e + " }}");
1787
- }, r.prototype.ContentStatement = function (t) {
1734
+ }, i.prototype.ContentStatement = function (t) {
1788
1735
  return this.pad("CONTENT[ '" + t.value + "' ]");
1789
- }, r.prototype.CommentStatement = function (t) {
1736
+ }, i.prototype.CommentStatement = function (t) {
1790
1737
  return this.pad("{{! '" + t.value + "' }}");
1791
- }, r.prototype.SubExpression = function (t) {
1792
- for (var e = t.params, r = [], a = void 0, i = 0, n = e.length; i < n; i++) {
1793
- r.push(this.accept(e[i]));
1794
- }return e = "[" + r.join(", ") + "]", a = t.hash ? " " + this.accept(t.hash) : "", this.accept(t.path) + " " + e + a;
1795
- }, r.prototype.PathExpression = function (t) {
1738
+ }, i.prototype.SubExpression = function (t) {
1739
+ for (var e, r = t.params, a = [], i = 0, n = r.length; i < n; i++) {
1740
+ a.push(this.accept(r[i]));
1741
+ }return r = "[" + a.join(", ") + "]", e = t.hash ? " " + this.accept(t.hash) : "", this.accept(t.path) + " " + r + e;
1742
+ }, i.prototype.PathExpression = function (t) {
1796
1743
  var e = t.parts.join("/");return (t.data ? "@" : "") + "PATH:" + e;
1797
- }, r.prototype.StringLiteral = function (t) {
1744
+ }, i.prototype.StringLiteral = function (t) {
1798
1745
  return '"' + t.value + '"';
1799
- }, r.prototype.NumberLiteral = function (t) {
1746
+ }, i.prototype.NumberLiteral = function (t) {
1800
1747
  return "NUMBER{" + t.value + "}";
1801
- }, r.prototype.BooleanLiteral = function (t) {
1748
+ }, i.prototype.BooleanLiteral = function (t) {
1802
1749
  return "BOOLEAN{" + t.value + "}";
1803
- }, r.prototype.UndefinedLiteral = function () {
1750
+ }, i.prototype.UndefinedLiteral = function () {
1804
1751
  return "UNDEFINED";
1805
- }, r.prototype.NullLiteral = function () {
1752
+ }, i.prototype.NullLiteral = function () {
1806
1753
  return "NULL";
1807
- }, r.prototype.Hash = function (t) {
1754
+ }, i.prototype.Hash = function (t) {
1808
1755
  for (var e = t.pairs, r = [], a = 0, i = e.length; a < i; a++) {
1809
1756
  r.push(this.accept(e[a]));
1810
1757
  }return "HASH{" + r.join(", ") + "}";
1811
- }, r.prototype.HashPair = function (t) {
1758
+ }, i.prototype.HashPair = function (t) {
1812
1759
  return t.key + "=" + this.accept(t.value);
1813
1760
  };
1814
- });unwrapExports(printer);var handlebars = handlebars$1.default;handlebars.PrintVisitor = printer.PrintVisitor, handlebars.print = printer.print;var lib = handlebars;"undefined" != typeof require && require.extensions && (require.extensions[".handlebars"] = extension, require.extensions[".hbs"] = extension);var lib_1 = lib.parse;var voidMap = Object.create(null);var voidTagNames = "area base br col command embed hr img input keygen link meta param source track wbr";voidTagNames.split(" ").forEach(function (t) {
1761
+ });unwrapExports(printer);var handlebars = handlebars$1.default;handlebars.PrintVisitor = printer.PrintVisitor, handlebars.print = printer.print;var lib = handlebars;function extension(t, e) {
1762
+ var r = fs.readFileSync(e, "utf8");t.exports = handlebars.compile(r);
1763
+ }"undefined" != typeof require && require.extensions && (require.extensions[".handlebars"] = extension, require.extensions[".hbs"] = extension);var lib_1 = lib.parse;var voidMap = Object.create(null);var voidTagNames = "area base br col command embed hr img input keygen link meta param source track wbr";voidTagNames.split(" ").forEach(function (t) {
1815
1764
  voidMap[t] = !0;
1816
1765
  });
1817
1766
  var TokenizerEventHandlers = function (_HandlebarsNodeVisito) {
@@ -1960,5 +1909,38 @@ var TokenizerEventHandlers = function (_HandlebarsNodeVisito) {
1960
1909
  return TokenizerEventHandlers;
1961
1910
  }(HandlebarsNodeVisitors);
1962
1911
 
1963
- var syntax = { parse: preprocess, builders: b, print: build, traverse: traverse, Walker: Walker };var es2017 = Object.freeze({ AST: nodes, preprocess: preprocess, builders: b, TraversalError: TraversalError, cannotRemoveNode: cannotRemoveNode, cannotReplaceNode: cannotReplaceNode, cannotReplaceOrRemoveInKeyHandlerYet: cannotReplaceOrRemoveInKeyHandlerYet, traverse: traverse, Walker: Walker, print: build, SyntaxError: SyntaxError$1, isLiteral: isLiteral$1, printLiteral: printLiteral }),
1964
- parserGlimmer = parse;module.exports = parserGlimmer;
1912
+ function assembleAttributeValue(t, e, r, a) {
1913
+ if (r) {
1914
+ if (e) return assembleConcatenatedValue(t);if (1 === t.length || 2 === t.length && "TextNode" === t[1].type && "/" === t[1].chars) return t[0];throw new SyntaxError$1("An unquoted attribute value must be a string or a mustache, preceeded by whitespace or a '=' character, and " + ("followed by whitespace, a '>' character, or '/>' (on line " + a + ")"), b.loc(a, 0));
1915
+ }return t.length > 0 ? t[0] : b.text("");
1916
+ }function assembleConcatenatedValue(t) {
1917
+ for (var e = 0; e < t.length; e++) {
1918
+ var r = t[e];if ("MustacheStatement" !== r.type && "TextNode" !== r.type) throw new SyntaxError$1("Unsupported node in quoted attribute value: " + r.type, r.loc);
1919
+ }return b.concat(t);
1920
+ }function validateEndTag(t, e, r) {
1921
+ var a = void 0;if (voidMap[t.name] && !r ? a = "Invalid end tag " + formatEndTagInfo(t) + " (void elements cannot have end tags)." : void 0 === e.tag ? a = "Closing tag " + formatEndTagInfo(t) + " without an open tag." : e.tag !== t.name && (a = "Closing tag " + formatEndTagInfo(t) + " did not match last open tag `" + e.tag + "` (on line " + e.loc.start.line + ")."), a) throw new SyntaxError$1(a, e.loc);
1922
+ }function formatEndTagInfo(t) {
1923
+ return "`" + t.name + "` (on line " + t.loc.end.line + ")";
1924
+ }var syntax = { parse: preprocess, builders: b, print: build, traverse: traverse, Walker: Walker };function preprocess(t, e) {
1925
+ var r = "object" == (typeof t === "undefined" ? "undefined" : _typeof(t)) ? t : lib_1(t),
1926
+ a = new TokenizerEventHandlers(t, e).acceptNode(r);if (e && e.plugins && e.plugins.ast) for (var _t4 = 0, _r8 = e.plugins.ast.length; _t4 < _r8; _t4++) {
1927
+ traverse(a, (0, e.plugins.ast[_t4])(assign({}, e, { syntax: syntax }, { plugins: void 0 })).visitor);
1928
+ }return a;
1929
+ }var es2017 = Object.freeze({ AST: nodes, preprocess: preprocess, builders: b, TraversalError: TraversalError, cannotRemoveNode: cannotRemoveNode, cannotReplaceNode: cannotReplaceNode, cannotReplaceOrRemoveInKeyHandlerYet: cannotReplaceOrRemoveInKeyHandlerYet, traverse: traverse, Walker: Walker, print: build, SyntaxError: SyntaxError$1, isLiteral: isLiteral$1, printLiteral: printLiteral });function removeEmptyNodes(t) {
1930
+ return "TextNode" !== t.type || "TextNode" === t.type && "" !== t.chars.replace(/^\s+/, "").replace(/\s+$/, "");
1931
+ }function removeWhiteSpace() {
1932
+ return { visitor: {
1933
+ Program: function Program(t) {
1934
+ t.body = t.body.filter(removeEmptyNodes);
1935
+ },
1936
+ ElementNode: function ElementNode(t) {
1937
+ t.children = t.children.filter(removeEmptyNodes);
1938
+ }
1939
+ } };
1940
+ }function parse(t) {
1941
+ try {
1942
+ return (0, es2017.preprocess)(t, { plugins: { ast: [removeWhiteSpace] } });
1943
+ } catch (t) {
1944
+ var e = t.message.match(/on line (\d+)/);throw e ? parserCreateError(t.message, { start: { line: +e[1], column: 0 }, end: { line: +e[1], column: 80 } }) : t;
1945
+ }
1946
+ }var parserGlimmer = parse;module.exports = parserGlimmer;