From e8ea610d454673394ba60c27a2cd984e4bbbea77 Mon Sep 17 00:00:00 2001
From: 7Wate
Date: Sun, 16 Jul 2023 22:35:06 +0800
Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=EF=BC=9A=E5=BE=AE=E4=BF=A1?=
=?UTF-8?q?=E8=AF=BB=E4=B9=A6=E6=8F=92=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.obsidian/community-plugins.json | 3 +-
.../plugins/obsidian-weread-plugin/data.json | 19 +
.../plugins/obsidian-weread-plugin/main.js | 18245 ++++++++++++++++
.../obsidian-weread-plugin/manifest.json | 10 +
4 files changed, 18276 insertions(+), 1 deletion(-)
create mode 100644 .obsidian/plugins/obsidian-weread-plugin/data.json
create mode 100644 .obsidian/plugins/obsidian-weread-plugin/main.js
create mode 100644 .obsidian/plugins/obsidian-weread-plugin/manifest.json
diff --git a/.obsidian/community-plugins.json b/.obsidian/community-plugins.json
index 3b4e97a0..196cd0aa 100644
--- a/.obsidian/community-plugins.json
+++ b/.obsidian/community-plugins.json
@@ -4,5 +4,6 @@
"templater-obsidian",
"periodic-notes",
"obsidian-git",
- "obsidian-minimal-settings"
+ "obsidian-minimal-settings",
+ "obsidian-weread-plugin"
]
\ No newline at end of file
diff --git a/.obsidian/plugins/obsidian-weread-plugin/data.json b/.obsidian/plugins/obsidian-weread-plugin/data.json
new file mode 100644
index 00000000..53d5a771
--- /dev/null
+++ b/.obsidian/plugins/obsidian-weread-plugin/data.json
@@ -0,0 +1,19 @@
+{
+ "cookies": [
+ ],
+ "noteLocation": "book",
+ "dailyNotesLocation": "/",
+ "insertAfter": "",
+ "insertBefore": "",
+ "dailyNotesFormat": "YYYY-MM-DD",
+ "lastCookieTime": 1689517284425,
+ "isCookieValid": true,
+ "user": "仲平",
+ "userVid": "389106381",
+ "template": "---\n---\n\n## 简介\n\n- **书名**:《{{metaData.title}}》\n- **作者**: {{metaData.author}}\n- **分类**: {{metaData.category}}\n- **ISBN**:{{metaData.isbn}}\n- **出版社**:{{metaData.publisher}}\n\n## 概述\n\n{{metaData.intro}}\n\n## 划线 \n{% for chapter in chapterHighlights %}{% for highlight in chapter.highlights %}{% if not highlight.reviewContent %} \n\n> {{ highlight.markText | trim }}{% endif %}{% endfor %}{% endfor %}\n\n## 笔记\n{% for chapter in bookReview.chapterReviews %}{% if chapter.reviews or chapter.chapterReview %}{% if chapter.chapterReviews %}{% for chapterReview in chapter.chapterReviews %}\n\n> 💭{{ chapterReview.content }}{% endfor %}{% endif %}{% if chapter.reviews %}{% for review in chapter.reviews %}\n\n> {{ review.abstract | trim }}\n> 💭 {{review.content}}{% endfor %}{% endif %}{% endif %}{% endfor %}\n\n## 书评\n{% if bookReview.bookReviews %}{% for bookReview in bookReview.bookReviews %}\n> ✨{{ bookReview.mdContent }}{% endfor %}{% endif %}\n\n## 点评\n",
+ "noteCountLimit": -1,
+ "subFolderType": "category",
+ "fileNameType": "BOOK_NAME",
+ "dailyNotesToggle": false,
+ "notesBlacklist": ""
+}
\ No newline at end of file
diff --git a/.obsidian/plugins/obsidian-weread-plugin/main.js b/.obsidian/plugins/obsidian-weread-plugin/main.js
new file mode 100644
index 00000000..ef181f00
--- /dev/null
+++ b/.obsidian/plugins/obsidian-weread-plugin/main.js
@@ -0,0 +1,18245 @@
+/*! For license information please see main.js.LICENSE.txt */
+(() => {
+ var e = {
+ 1073: (e) => {
+ e.exports = {
+ trueFunc: function () {
+ return !0;
+ },
+ falseFunc: function () {
+ return !1;
+ },
+ };
+ },
+ 996: (e, t, r) => {
+ "use strict";
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.attributeRules = void 0);
+ var n = r(1073),
+ i = /[-[\]{}()*+?.,\\^$|#\s]/g;
+ function o(e) {
+ return e.replace(i, "\\$&");
+ }
+ var a = new Set([
+ "accept",
+ "accept-charset",
+ "align",
+ "alink",
+ "axis",
+ "bgcolor",
+ "charset",
+ "checked",
+ "clear",
+ "codetype",
+ "color",
+ "compact",
+ "declare",
+ "defer",
+ "dir",
+ "direction",
+ "disabled",
+ "enctype",
+ "face",
+ "frame",
+ "hreflang",
+ "http-equiv",
+ "lang",
+ "language",
+ "link",
+ "media",
+ "method",
+ "multiple",
+ "nohref",
+ "noresize",
+ "noshade",
+ "nowrap",
+ "readonly",
+ "rel",
+ "rev",
+ "rules",
+ "scope",
+ "scrolling",
+ "selected",
+ "shape",
+ "target",
+ "text",
+ "type",
+ "valign",
+ "valuetype",
+ "vlink",
+ ]);
+ function s(e, t) {
+ return "boolean" == typeof e.ignoreCase
+ ? e.ignoreCase
+ : "quirks" === e.ignoreCase
+ ? !!t.quirksMode
+ : !t.xmlMode && a.has(e.name);
+ }
+ t.attributeRules = {
+ equals: function (e, t, r) {
+ var n = r.adapter,
+ i = t.name,
+ o = t.value;
+ return s(t, r)
+ ? ((o = o.toLowerCase()),
+ function (t) {
+ var r = n.getAttributeValue(t, i);
+ return (
+ null != r &&
+ r.length === o.length &&
+ r.toLowerCase() === o &&
+ e(t)
+ );
+ })
+ : function (t) {
+ return n.getAttributeValue(t, i) === o && e(t);
+ };
+ },
+ hyphen: function (e, t, r) {
+ var n = r.adapter,
+ i = t.name,
+ o = t.value,
+ a = o.length;
+ return s(t, r)
+ ? ((o = o.toLowerCase()),
+ function (t) {
+ var r = n.getAttributeValue(t, i);
+ return (
+ null != r &&
+ (r.length === a || "-" === r.charAt(a)) &&
+ r.substr(0, a).toLowerCase() === o &&
+ e(t)
+ );
+ })
+ : function (t) {
+ var r = n.getAttributeValue(t, i);
+ return (
+ null != r &&
+ (r.length === a || "-" === r.charAt(a)) &&
+ r.substr(0, a) === o &&
+ e(t)
+ );
+ };
+ },
+ element: function (e, t, r) {
+ var i = r.adapter,
+ a = t.name,
+ l = t.value;
+ if (/\s/.test(l)) return n.falseFunc;
+ var c = new RegExp(
+ "(?:^|\\s)".concat(o(l), "(?:$|\\s)"),
+ s(t, r) ? "i" : ""
+ );
+ return function (t) {
+ var r = i.getAttributeValue(t, a);
+ return null != r && r.length >= l.length && c.test(r) && e(t);
+ };
+ },
+ exists: function (e, t, r) {
+ var n = t.name,
+ i = r.adapter;
+ return function (t) {
+ return i.hasAttrib(t, n) && e(t);
+ };
+ },
+ start: function (e, t, r) {
+ var i = r.adapter,
+ o = t.name,
+ a = t.value,
+ l = a.length;
+ return 0 === l
+ ? n.falseFunc
+ : s(t, r)
+ ? ((a = a.toLowerCase()),
+ function (t) {
+ var r = i.getAttributeValue(t, o);
+ return (
+ null != r &&
+ r.length >= l &&
+ r.substr(0, l).toLowerCase() === a &&
+ e(t)
+ );
+ })
+ : function (t) {
+ var r;
+ return (
+ !!(null === (r = i.getAttributeValue(t, o)) || void 0 === r
+ ? void 0
+ : r.startsWith(a)) && e(t)
+ );
+ };
+ },
+ end: function (e, t, r) {
+ var i = r.adapter,
+ o = t.name,
+ a = t.value,
+ l = -a.length;
+ return 0 === l
+ ? n.falseFunc
+ : s(t, r)
+ ? ((a = a.toLowerCase()),
+ function (t) {
+ var r;
+ return (
+ (null === (r = i.getAttributeValue(t, o)) || void 0 === r
+ ? void 0
+ : r.substr(l).toLowerCase()) === a && e(t)
+ );
+ })
+ : function (t) {
+ var r;
+ return (
+ !!(null === (r = i.getAttributeValue(t, o)) || void 0 === r
+ ? void 0
+ : r.endsWith(a)) && e(t)
+ );
+ };
+ },
+ any: function (e, t, r) {
+ var i = r.adapter,
+ a = t.name,
+ l = t.value;
+ if ("" === l) return n.falseFunc;
+ if (s(t, r)) {
+ var c = new RegExp(o(l), "i");
+ return function (t) {
+ var r = i.getAttributeValue(t, a);
+ return null != r && r.length >= l.length && c.test(r) && e(t);
+ };
+ }
+ return function (t) {
+ var r;
+ return (
+ !!(null === (r = i.getAttributeValue(t, a)) || void 0 === r
+ ? void 0
+ : r.includes(l)) && e(t)
+ );
+ };
+ },
+ not: function (e, t, r) {
+ var n = r.adapter,
+ i = t.name,
+ o = t.value;
+ return "" === o
+ ? function (t) {
+ return !!n.getAttributeValue(t, i) && e(t);
+ }
+ : s(t, r)
+ ? ((o = o.toLowerCase()),
+ function (t) {
+ var r = n.getAttributeValue(t, i);
+ return (
+ (null == r ||
+ r.length !== o.length ||
+ r.toLowerCase() !== o) &&
+ e(t)
+ );
+ })
+ : function (t) {
+ return n.getAttributeValue(t, i) !== o && e(t);
+ };
+ },
+ };
+ },
+ 8866: function (e, t, r) {
+ "use strict";
+ var n =
+ (this && this.__importDefault) ||
+ function (e) {
+ return e && e.__esModule ? e : { default: e };
+ };
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.compileToken = t.compileUnsafe = t.compile = void 0);
+ var i = r(7763),
+ o = r(1073),
+ a = n(r(7353)),
+ s = r(7177),
+ l = r(3621),
+ c = r(1768);
+ function u(e, t, r) {
+ return m("string" == typeof e ? (0, i.parse)(e) : e, t, r);
+ }
+ function p(e) {
+ return (
+ "pseudo" === e.type &&
+ ("scope" === e.name ||
+ (Array.isArray(e.data) &&
+ e.data.some(function (e) {
+ return e.some(p);
+ })))
+ );
+ }
+ (t.compile = function (e, t, r) {
+ var n = u(e, t, r);
+ return (0, c.ensureIsTag)(n, t.adapter);
+ }),
+ (t.compileUnsafe = u);
+ var d = { type: i.SelectorType.Descendant },
+ f = { type: "_flexibleDescendant" },
+ h = { type: i.SelectorType.Pseudo, name: "scope", data: null };
+ function m(e, t, r) {
+ var n;
+ (e = e.filter(function (e) {
+ return e.length > 0;
+ })).forEach(a.default),
+ (r = null !== (n = t.context) && void 0 !== n ? n : r);
+ var i = Array.isArray(r),
+ u = r && (Array.isArray(r) ? r : [r]);
+ !(function (e, t, r) {
+ for (
+ var n = t.adapter,
+ i = !!(null == r
+ ? void 0
+ : r.every(function (e) {
+ var t = n.isTag(e) && n.getParent(e);
+ return e === c.PLACEHOLDER_ELEMENT || (t && n.isTag(t));
+ })),
+ o = 0,
+ a = e;
+ o < a.length;
+ o++
+ ) {
+ var l = a[o];
+ if (
+ l.length > 0 &&
+ (0, s.isTraversal)(l[0]) &&
+ "descendant" !== l[0].type
+ );
+ else {
+ if (!i || l.some(p)) continue;
+ l.unshift(d);
+ }
+ l.unshift(h);
+ }
+ })(e, t, u);
+ var v = !1,
+ b = e
+ .map(function (e) {
+ if (e.length >= 2) {
+ var r = e[0],
+ n = e[1];
+ "pseudo" !== r.type ||
+ "scope" !== r.name ||
+ (i && "descendant" === n.type
+ ? (e[1] = f)
+ : ("adjacent" !== n.type && "sibling" !== n.type) ||
+ (v = !0));
+ }
+ return (function (e, t, r) {
+ var n;
+ return e.reduce(
+ function (e, n) {
+ return e === o.falseFunc
+ ? o.falseFunc
+ : (0, l.compileGeneralSelector)(e, n, t, r, m);
+ },
+ null !== (n = t.rootFunc) && void 0 !== n ? n : o.trueFunc
+ );
+ })(e, t, u);
+ })
+ .reduce(g, o.falseFunc);
+ return (b.shouldTestNextSiblings = v), b;
+ }
+ function g(e, t) {
+ return t === o.falseFunc || e === o.trueFunc
+ ? e
+ : e === o.falseFunc || t === o.trueFunc
+ ? t
+ : function (r) {
+ return e(r) || t(r);
+ };
+ }
+ t.compileToken = m;
+ },
+ 3621: (e, t, r) => {
+ "use strict";
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.compileGeneralSelector = void 0);
+ var n = r(996),
+ i = r(8677),
+ o = r(7763);
+ t.compileGeneralSelector = function (e, t, r, a, s) {
+ var l = r.adapter,
+ c = r.equals;
+ switch (t.type) {
+ case o.SelectorType.PseudoElement:
+ throw new Error(
+ "Pseudo-elements are not supported by css-select"
+ );
+ case o.SelectorType.ColumnCombinator:
+ throw new Error(
+ "Column combinators are not yet supported by css-select"
+ );
+ case o.SelectorType.Attribute:
+ if (null != t.namespace)
+ throw new Error(
+ "Namespaced attributes are not yet supported by css-select"
+ );
+ return (
+ (r.xmlMode && !r.lowerCaseAttributeNames) ||
+ (t.name = t.name.toLowerCase()),
+ n.attributeRules[t.action](e, t, r)
+ );
+ case o.SelectorType.Pseudo:
+ return (0, i.compilePseudoSelector)(e, t, r, a, s);
+ case o.SelectorType.Tag:
+ if (null != t.namespace)
+ throw new Error(
+ "Namespaced tag names are not yet supported by css-select"
+ );
+ var u = t.name;
+ return (
+ (r.xmlMode && !r.lowerCaseTags) || (u = u.toLowerCase()),
+ function (t) {
+ return l.getName(t) === u && e(t);
+ }
+ );
+ case o.SelectorType.Descendant:
+ if (!1 === r.cacheResults || "undefined" == typeof WeakSet)
+ return function (t) {
+ for (var r = t; (r = l.getParent(r)); )
+ if (l.isTag(r) && e(r)) return !0;
+ return !1;
+ };
+ var p = new WeakSet();
+ return function (t) {
+ for (var r = t; (r = l.getParent(r)); )
+ if (!p.has(r)) {
+ if (l.isTag(r) && e(r)) return !0;
+ p.add(r);
+ }
+ return !1;
+ };
+ case "_flexibleDescendant":
+ return function (t) {
+ var r = t;
+ do {
+ if (l.isTag(r) && e(r)) return !0;
+ } while ((r = l.getParent(r)));
+ return !1;
+ };
+ case o.SelectorType.Parent:
+ return function (t) {
+ return l.getChildren(t).some(function (t) {
+ return l.isTag(t) && e(t);
+ });
+ };
+ case o.SelectorType.Child:
+ return function (t) {
+ var r = l.getParent(t);
+ return null != r && l.isTag(r) && e(r);
+ };
+ case o.SelectorType.Sibling:
+ return function (t) {
+ for (var r = l.getSiblings(t), n = 0; n < r.length; n++) {
+ var i = r[n];
+ if (c(t, i)) break;
+ if (l.isTag(i) && e(i)) return !0;
+ }
+ return !1;
+ };
+ case o.SelectorType.Adjacent:
+ return l.prevElementSibling
+ ? function (t) {
+ var r = l.prevElementSibling(t);
+ return null != r && e(r);
+ }
+ : function (t) {
+ for (
+ var r, n = l.getSiblings(t), i = 0;
+ i < n.length;
+ i++
+ ) {
+ var o = n[i];
+ if (c(t, o)) break;
+ l.isTag(o) && (r = o);
+ }
+ return !!r && e(r);
+ };
+ case o.SelectorType.Universal:
+ if (null != t.namespace && "*" !== t.namespace)
+ throw new Error(
+ "Namespaced universal selectors are not yet supported by css-select"
+ );
+ return e;
+ }
+ };
+ },
+ 5366: function (e, t, r) {
+ "use strict";
+ var n =
+ (this && this.__createBinding) ||
+ (Object.create
+ ? function (e, t, r, n) {
+ void 0 === n && (n = r);
+ var i = Object.getOwnPropertyDescriptor(t, r);
+ (i &&
+ !("get" in i
+ ? !t.__esModule
+ : i.writable || i.configurable)) ||
+ (i = {
+ enumerable: !0,
+ get: function () {
+ return t[r];
+ },
+ }),
+ Object.defineProperty(e, n, i);
+ }
+ : function (e, t, r, n) {
+ void 0 === n && (n = r), (e[n] = t[r]);
+ }),
+ i =
+ (this && this.__setModuleDefault) ||
+ (Object.create
+ ? function (e, t) {
+ Object.defineProperty(e, "default", {
+ enumerable: !0,
+ value: t,
+ });
+ }
+ : function (e, t) {
+ e.default = t;
+ }),
+ o =
+ (this && this.__importStar) ||
+ function (e) {
+ if (e && e.__esModule) return e;
+ var t = {};
+ if (null != e)
+ for (var r in e)
+ "default" !== r &&
+ Object.prototype.hasOwnProperty.call(e, r) &&
+ n(t, e, r);
+ return i(t, e), t;
+ };
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.aliases =
+ t.pseudos =
+ t.filters =
+ t.is =
+ t.selectOne =
+ t.selectAll =
+ t.prepareContext =
+ t._compileToken =
+ t._compileUnsafe =
+ t.compile =
+ void 0);
+ var a = o(r(9432)),
+ s = r(1073),
+ l = r(8866),
+ c = r(1768),
+ u = function (e, t) {
+ return e === t;
+ },
+ p = { adapter: a, equals: u };
+ function d(e) {
+ var t,
+ r,
+ n,
+ i,
+ o = null != e ? e : p;
+ return (
+ (null !== (t = o.adapter) && void 0 !== t) || (o.adapter = a),
+ (null !== (r = o.equals) && void 0 !== r) ||
+ (o.equals =
+ null !==
+ (i =
+ null === (n = o.adapter) || void 0 === n
+ ? void 0
+ : n.equals) && void 0 !== i
+ ? i
+ : u),
+ o
+ );
+ }
+ function f(e) {
+ return function (t, r, n) {
+ var i = d(r);
+ return e(t, i, n);
+ };
+ }
+ function h(e) {
+ return function (t, r, n) {
+ var i = d(n);
+ "function" != typeof t && (t = (0, l.compileUnsafe)(t, i, r));
+ var o = m(r, i.adapter, t.shouldTestNextSiblings);
+ return e(t, o, i);
+ };
+ }
+ function m(e, t, r) {
+ return (
+ void 0 === r && (r = !1),
+ r &&
+ (e = (function (e, t) {
+ for (
+ var r = Array.isArray(e) ? e.slice(0) : [e],
+ n = r.length,
+ i = 0;
+ i < n;
+ i++
+ ) {
+ var o = (0, c.getNextSiblings)(r[i], t);
+ r.push.apply(r, o);
+ }
+ return r;
+ })(e, t)),
+ Array.isArray(e) ? t.removeSubsets(e) : t.getChildren(e)
+ );
+ }
+ (t.compile = f(l.compile)),
+ (t._compileUnsafe = f(l.compileUnsafe)),
+ (t._compileToken = f(l.compileToken)),
+ (t.prepareContext = m),
+ (t.selectAll = h(function (e, t, r) {
+ return e !== s.falseFunc && t && 0 !== t.length
+ ? r.adapter.findAll(e, t)
+ : [];
+ })),
+ (t.selectOne = h(function (e, t, r) {
+ return e !== s.falseFunc && t && 0 !== t.length
+ ? r.adapter.findOne(e, t)
+ : null;
+ })),
+ (t.is = function (e, t, r) {
+ var n = d(r);
+ return ("function" == typeof t ? t : (0, l.compile)(t, n))(e);
+ }),
+ (t.default = t.selectAll);
+ var g = r(8677);
+ Object.defineProperty(t, "filters", {
+ enumerable: !0,
+ get: function () {
+ return g.filters;
+ },
+ }),
+ Object.defineProperty(t, "pseudos", {
+ enumerable: !0,
+ get: function () {
+ return g.pseudos;
+ },
+ }),
+ Object.defineProperty(t, "aliases", {
+ enumerable: !0,
+ get: function () {
+ return g.aliases;
+ },
+ });
+ },
+ 7177: (e, t) => {
+ "use strict";
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.isTraversal = t.procedure = void 0),
+ (t.procedure = {
+ universal: 50,
+ tag: 30,
+ attribute: 1,
+ pseudo: 0,
+ "pseudo-element": 0,
+ "column-combinator": -1,
+ descendant: -1,
+ child: -1,
+ parent: -1,
+ sibling: -1,
+ adjacent: -1,
+ _flexibleDescendant: -1,
+ }),
+ (t.isTraversal = function (e) {
+ return t.procedure[e.type] < 0;
+ });
+ },
+ 2968: (e, t) => {
+ "use strict";
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.aliases = void 0),
+ (t.aliases = {
+ "any-link": ":is(a, area, link)[href]",
+ link: ":any-link:not(:visited)",
+ disabled:
+ ":is(\n :is(button, input, select, textarea, optgroup, option)[disabled],\n optgroup[disabled] > option,\n fieldset[disabled]:not(fieldset[disabled] legend:first-of-type *)\n )",
+ enabled: ":not(:disabled)",
+ checked:
+ ":is(:is(input[type=radio], input[type=checkbox])[checked], option:selected)",
+ required: ":is(input, select, textarea)[required]",
+ optional: ":is(input, select, textarea):not([required])",
+ selected:
+ "option:is([selected], select:not([multiple]):not(:has(> option[selected])) > :first-of-type)",
+ checkbox: "[type=checkbox]",
+ file: "[type=file]",
+ password: "[type=password]",
+ radio: "[type=radio]",
+ reset: "[type=reset]",
+ image: "[type=image]",
+ submit: "[type=submit]",
+ parent: ":not(:empty)",
+ header: ":is(h1, h2, h3, h4, h5, h6)",
+ button: ":is(button, input[type=button])",
+ input: ":is(input, textarea, select, button)",
+ text: "input:is(:not([type!='']), [type=text])",
+ });
+ },
+ 7689: function (e, t, r) {
+ "use strict";
+ var n =
+ (this && this.__importDefault) ||
+ function (e) {
+ return e && e.__esModule ? e : { default: e };
+ };
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.filters = void 0);
+ var i = n(r(7540)),
+ o = r(1073);
+ function a(e, t) {
+ return function (r) {
+ var n = t.getParent(r);
+ return null != n && t.isTag(n) && e(r);
+ };
+ }
+ function s(e) {
+ return function (t, r, n) {
+ var i = n.adapter[e];
+ return "function" != typeof i
+ ? o.falseFunc
+ : function (e) {
+ return i(e) && t(e);
+ };
+ };
+ }
+ t.filters = {
+ contains: function (e, t, r) {
+ var n = r.adapter;
+ return function (r) {
+ return e(r) && n.getText(r).includes(t);
+ };
+ },
+ icontains: function (e, t, r) {
+ var n = r.adapter,
+ i = t.toLowerCase();
+ return function (t) {
+ return e(t) && n.getText(t).toLowerCase().includes(i);
+ };
+ },
+ "nth-child": function (e, t, r) {
+ var n = r.adapter,
+ s = r.equals,
+ l = (0, i.default)(t);
+ return l === o.falseFunc
+ ? o.falseFunc
+ : l === o.trueFunc
+ ? a(e, n)
+ : function (t) {
+ for (
+ var r = n.getSiblings(t), i = 0, o = 0;
+ o < r.length && !s(t, r[o]);
+ o++
+ )
+ n.isTag(r[o]) && i++;
+ return l(i) && e(t);
+ };
+ },
+ "nth-last-child": function (e, t, r) {
+ var n = r.adapter,
+ s = r.equals,
+ l = (0, i.default)(t);
+ return l === o.falseFunc
+ ? o.falseFunc
+ : l === o.trueFunc
+ ? a(e, n)
+ : function (t) {
+ for (
+ var r = n.getSiblings(t), i = 0, o = r.length - 1;
+ o >= 0 && !s(t, r[o]);
+ o--
+ )
+ n.isTag(r[o]) && i++;
+ return l(i) && e(t);
+ };
+ },
+ "nth-of-type": function (e, t, r) {
+ var n = r.adapter,
+ s = r.equals,
+ l = (0, i.default)(t);
+ return l === o.falseFunc
+ ? o.falseFunc
+ : l === o.trueFunc
+ ? a(e, n)
+ : function (t) {
+ for (
+ var r = n.getSiblings(t), i = 0, o = 0;
+ o < r.length;
+ o++
+ ) {
+ var a = r[o];
+ if (s(t, a)) break;
+ n.isTag(a) && n.getName(a) === n.getName(t) && i++;
+ }
+ return l(i) && e(t);
+ };
+ },
+ "nth-last-of-type": function (e, t, r) {
+ var n = r.adapter,
+ s = r.equals,
+ l = (0, i.default)(t);
+ return l === o.falseFunc
+ ? o.falseFunc
+ : l === o.trueFunc
+ ? a(e, n)
+ : function (t) {
+ for (
+ var r = n.getSiblings(t), i = 0, o = r.length - 1;
+ o >= 0;
+ o--
+ ) {
+ var a = r[o];
+ if (s(t, a)) break;
+ n.isTag(a) && n.getName(a) === n.getName(t) && i++;
+ }
+ return l(i) && e(t);
+ };
+ },
+ root: function (e, t, r) {
+ var n = r.adapter;
+ return function (t) {
+ var r = n.getParent(t);
+ return (null == r || !n.isTag(r)) && e(t);
+ };
+ },
+ scope: function (e, r, n, i) {
+ var o = n.equals;
+ return i && 0 !== i.length
+ ? 1 === i.length
+ ? function (t) {
+ return o(i[0], t) && e(t);
+ }
+ : function (t) {
+ return i.includes(t) && e(t);
+ }
+ : t.filters.root(e, r, n);
+ },
+ hover: s("isHovered"),
+ visited: s("isVisited"),
+ active: s("isActive"),
+ };
+ },
+ 8677: (e, t, r) => {
+ "use strict";
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.compilePseudoSelector =
+ t.aliases =
+ t.pseudos =
+ t.filters =
+ void 0);
+ var n = r(1073),
+ i = r(7763),
+ o = r(7689);
+ Object.defineProperty(t, "filters", {
+ enumerable: !0,
+ get: function () {
+ return o.filters;
+ },
+ });
+ var a = r(7221);
+ Object.defineProperty(t, "pseudos", {
+ enumerable: !0,
+ get: function () {
+ return a.pseudos;
+ },
+ });
+ var s = r(2968);
+ Object.defineProperty(t, "aliases", {
+ enumerable: !0,
+ get: function () {
+ return s.aliases;
+ },
+ });
+ var l = r(1768);
+ t.compilePseudoSelector = function (e, t, r, c, u) {
+ var p = t.name,
+ d = t.data;
+ if (Array.isArray(d)) return l.subselects[p](e, d, r, c, u);
+ if (p in s.aliases) {
+ if (null != d)
+ throw new Error(
+ "Pseudo ".concat(p, " doesn't have any arguments")
+ );
+ var f = (0, i.parse)(s.aliases[p]);
+ return l.subselects.is(e, f, r, c, u);
+ }
+ if (p in o.filters) return o.filters[p](e, d, r, c);
+ if (p in a.pseudos) {
+ var h = a.pseudos[p];
+ return (
+ (0, a.verifyPseudoArgs)(h, p, d),
+ h === n.falseFunc
+ ? n.falseFunc
+ : e === n.trueFunc
+ ? function (e) {
+ return h(e, r, d);
+ }
+ : function (t) {
+ return h(t, r, d) && e(t);
+ }
+ );
+ }
+ throw new Error("unmatched pseudo-class :".concat(p));
+ };
+ },
+ 7221: (e, t) => {
+ "use strict";
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.verifyPseudoArgs = t.pseudos = void 0),
+ (t.pseudos = {
+ empty: function (e, t) {
+ var r = t.adapter;
+ return !r.getChildren(e).some(function (e) {
+ return r.isTag(e) || "" !== r.getText(e);
+ });
+ },
+ "first-child": function (e, t) {
+ var r = t.adapter,
+ n = t.equals,
+ i = r.getSiblings(e).find(function (e) {
+ return r.isTag(e);
+ });
+ return null != i && n(e, i);
+ },
+ "last-child": function (e, t) {
+ for (
+ var r = t.adapter,
+ n = t.equals,
+ i = r.getSiblings(e),
+ o = i.length - 1;
+ o >= 0;
+ o--
+ ) {
+ if (n(e, i[o])) return !0;
+ if (r.isTag(i[o])) break;
+ }
+ return !1;
+ },
+ "first-of-type": function (e, t) {
+ for (
+ var r = t.adapter,
+ n = t.equals,
+ i = r.getSiblings(e),
+ o = r.getName(e),
+ a = 0;
+ a < i.length;
+ a++
+ ) {
+ var s = i[a];
+ if (n(e, s)) return !0;
+ if (r.isTag(s) && r.getName(s) === o) break;
+ }
+ return !1;
+ },
+ "last-of-type": function (e, t) {
+ for (
+ var r = t.adapter,
+ n = t.equals,
+ i = r.getSiblings(e),
+ o = r.getName(e),
+ a = i.length - 1;
+ a >= 0;
+ a--
+ ) {
+ var s = i[a];
+ if (n(e, s)) return !0;
+ if (r.isTag(s) && r.getName(s) === o) break;
+ }
+ return !1;
+ },
+ "only-of-type": function (e, t) {
+ var r = t.adapter,
+ n = t.equals,
+ i = r.getName(e);
+ return r.getSiblings(e).every(function (t) {
+ return n(e, t) || !r.isTag(t) || r.getName(t) !== i;
+ });
+ },
+ "only-child": function (e, t) {
+ var r = t.adapter,
+ n = t.equals;
+ return r.getSiblings(e).every(function (t) {
+ return n(e, t) || !r.isTag(t);
+ });
+ },
+ }),
+ (t.verifyPseudoArgs = function (e, t, r) {
+ if (null === r) {
+ if (e.length > 2)
+ throw new Error(
+ "pseudo-selector :".concat(t, " requires an argument")
+ );
+ } else if (2 === e.length)
+ throw new Error(
+ "pseudo-selector :".concat(t, " doesn't have any arguments")
+ );
+ });
+ },
+ 1768: function (e, t, r) {
+ "use strict";
+ var n =
+ (this && this.__spreadArray) ||
+ function (e, t, r) {
+ if (r || 2 === arguments.length)
+ for (var n, i = 0, o = t.length; i < o; i++)
+ (!n && i in t) ||
+ (n || (n = Array.prototype.slice.call(t, 0, i)),
+ (n[i] = t[i]));
+ return e.concat(n || Array.prototype.slice.call(t));
+ };
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.subselects =
+ t.getNextSiblings =
+ t.ensureIsTag =
+ t.PLACEHOLDER_ELEMENT =
+ void 0);
+ var i = r(1073),
+ o = r(7177);
+ function a(e, t) {
+ return e === i.falseFunc
+ ? i.falseFunc
+ : function (r) {
+ return t.isTag(r) && e(r);
+ };
+ }
+ function s(e, t) {
+ var r = t.getSiblings(e);
+ if (r.length <= 1) return [];
+ var n = r.indexOf(e);
+ return n < 0 || n === r.length - 1
+ ? []
+ : r.slice(n + 1).filter(t.isTag);
+ }
+ (t.PLACEHOLDER_ELEMENT = {}),
+ (t.ensureIsTag = a),
+ (t.getNextSiblings = s);
+ var l = function (e, t, r, n, i) {
+ var o = i(
+ t,
+ { xmlMode: !!r.xmlMode, adapter: r.adapter, equals: r.equals },
+ n
+ );
+ return function (t) {
+ return o(t) && e(t);
+ };
+ };
+ t.subselects = {
+ is: l,
+ matches: l,
+ where: l,
+ not: function (e, t, r, n, o) {
+ var a = o(
+ t,
+ { xmlMode: !!r.xmlMode, adapter: r.adapter, equals: r.equals },
+ n
+ );
+ return a === i.falseFunc
+ ? e
+ : a === i.trueFunc
+ ? i.falseFunc
+ : function (t) {
+ return !a(t) && e(t);
+ };
+ },
+ has: function (e, r, l, c, u) {
+ var p = l.adapter,
+ d = { xmlMode: !!l.xmlMode, adapter: p, equals: l.equals },
+ f = r.some(function (e) {
+ return e.some(o.isTraversal);
+ })
+ ? [t.PLACEHOLDER_ELEMENT]
+ : void 0,
+ h = u(r, d, f);
+ if (h === i.falseFunc) return i.falseFunc;
+ if (h === i.trueFunc)
+ return function (t) {
+ return p.getChildren(t).some(p.isTag) && e(t);
+ };
+ var m = a(h, p),
+ g = h.shouldTestNextSiblings,
+ v = void 0 !== g && g;
+ return f
+ ? function (t) {
+ f[0] = t;
+ var r = p.getChildren(t),
+ i = v ? n(n([], r, !0), s(t, p), !0) : r;
+ return e(t) && p.existsOne(m, i);
+ }
+ : function (t) {
+ return e(t) && p.existsOne(m, p.getChildren(t));
+ };
+ },
+ };
+ },
+ 7353: (e, t, r) => {
+ "use strict";
+ Object.defineProperty(t, "__esModule", { value: !0 });
+ var n = r(7763),
+ i = r(7177),
+ o = {
+ exists: 10,
+ equals: 8,
+ not: 7,
+ start: 6,
+ end: 6,
+ any: 5,
+ hyphen: 4,
+ element: 4,
+ };
+ function a(e) {
+ var t = i.procedure[e.type];
+ if (e.type === n.SelectorType.Attribute)
+ (t = o[e.action]) === o.equals && "id" === e.name && (t = 9),
+ e.ignoreCase && (t >>= 1);
+ else if (e.type === n.SelectorType.Pseudo)
+ if (e.data)
+ if ("has" === e.name || "contains" === e.name) t = 0;
+ else if (Array.isArray(e.data)) {
+ t = 0;
+ for (var r = 0; r < e.data.length; r++)
+ if (1 === e.data[r].length) {
+ var s = a(e.data[r][0]);
+ if (0 === s) {
+ t = 0;
+ break;
+ }
+ s > t && (t = s);
+ }
+ e.data.length > 1 && t > 0 && (t -= 1);
+ } else t = 1;
+ else t = 3;
+ return t;
+ }
+ t.default = function (e) {
+ for (var t = e.map(a), r = 1; r < e.length; r++) {
+ var n = t[r];
+ if (!(n < 0))
+ for (var i = r - 1; i >= 0 && n < t[i]; i--) {
+ var o = e[i + 1];
+ (e[i + 1] = e[i]), (e[i] = o), (t[i + 1] = t[i]), (t[i] = n);
+ }
+ }
+ };
+ },
+ 7763: (e, t, r) => {
+ "use strict";
+ var n;
+ r.r(t),
+ r.d(t, {
+ AttributeAction: () => o,
+ IgnoreCaseMode: () => i,
+ SelectorType: () => n,
+ isTraversal: () => u,
+ parse: () => g,
+ stringify: () => T,
+ }),
+ (function (e) {
+ (e.Attribute = "attribute"),
+ (e.Pseudo = "pseudo"),
+ (e.PseudoElement = "pseudo-element"),
+ (e.Tag = "tag"),
+ (e.Universal = "universal"),
+ (e.Adjacent = "adjacent"),
+ (e.Child = "child"),
+ (e.Descendant = "descendant"),
+ (e.Parent = "parent"),
+ (e.Sibling = "sibling"),
+ (e.ColumnCombinator = "column-combinator");
+ })(n || (n = {}));
+ const i = {
+ Unknown: null,
+ QuirksMode: "quirks",
+ IgnoreCase: !0,
+ CaseSensitive: !1,
+ };
+ var o;
+ !(function (e) {
+ (e.Any = "any"),
+ (e.Element = "element"),
+ (e.End = "end"),
+ (e.Equals = "equals"),
+ (e.Exists = "exists"),
+ (e.Hyphen = "hyphen"),
+ (e.Not = "not"),
+ (e.Start = "start");
+ })(o || (o = {}));
+ const a = /^[^\\#]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\-\u00b0-\uFFFF])+/,
+ s = /\\([\da-f]{1,6}\s?|(\s)|.)/gi,
+ l = new Map([
+ [126, o.Element],
+ [94, o.Start],
+ [36, o.End],
+ [42, o.Any],
+ [33, o.Not],
+ [124, o.Hyphen],
+ ]),
+ c = new Set([
+ "has",
+ "not",
+ "matches",
+ "is",
+ "where",
+ "host",
+ "host-context",
+ ]);
+ function u(e) {
+ switch (e.type) {
+ case n.Adjacent:
+ case n.Child:
+ case n.Descendant:
+ case n.Parent:
+ case n.Sibling:
+ case n.ColumnCombinator:
+ return !0;
+ default:
+ return !1;
+ }
+ }
+ const p = new Set(["contains", "icontains"]);
+ function d(e, t, r) {
+ const n = parseInt(t, 16) - 65536;
+ return n != n || r
+ ? t
+ : n < 0
+ ? String.fromCharCode(n + 65536)
+ : String.fromCharCode((n >> 10) | 55296, (1023 & n) | 56320);
+ }
+ function f(e) {
+ return e.replace(s, d);
+ }
+ function h(e) {
+ return 39 === e || 34 === e;
+ }
+ function m(e) {
+ return 32 === e || 9 === e || 10 === e || 12 === e || 13 === e;
+ }
+ function g(e) {
+ const t = [],
+ r = v(t, `${e}`, 0);
+ if (r < e.length)
+ throw new Error(`Unmatched selector: ${e.slice(r)}`);
+ return t;
+ }
+ function v(e, t, r) {
+ let i = [];
+ function s(e) {
+ const n = t.slice(r + e).match(a);
+ if (!n) throw new Error(`Expected name, found ${t.slice(r)}`);
+ const [i] = n;
+ return (r += e + i.length), f(i);
+ }
+ function d(e) {
+ for (r += e; r < t.length && m(t.charCodeAt(r)); ) r++;
+ }
+ function g() {
+ const e = (r += 1);
+ let n = 1;
+ for (; n > 0 && r < t.length; r++)
+ 40 !== t.charCodeAt(r) || b(r)
+ ? 41 !== t.charCodeAt(r) || b(r) || n--
+ : n++;
+ if (n) throw new Error("Parenthesis not matched");
+ return f(t.slice(e, r - 1));
+ }
+ function b(e) {
+ let r = 0;
+ for (; 92 === t.charCodeAt(--e); ) r++;
+ return 1 == (1 & r);
+ }
+ function y() {
+ if (i.length > 0 && u(i[i.length - 1]))
+ throw new Error("Did not expect successive traversals.");
+ }
+ function w(e) {
+ i.length > 0 && i[i.length - 1].type === n.Descendant
+ ? (i[i.length - 1].type = e)
+ : (y(), i.push({ type: e }));
+ }
+ function E(e, t) {
+ i.push({
+ type: n.Attribute,
+ name: e,
+ action: t,
+ value: s(1),
+ namespace: null,
+ ignoreCase: "quirks",
+ });
+ }
+ function x() {
+ if (
+ (i.length && i[i.length - 1].type === n.Descendant && i.pop(),
+ 0 === i.length)
+ )
+ throw new Error("Empty sub-selector");
+ e.push(i);
+ }
+ if ((d(0), t.length === r)) return r;
+ e: for (; r < t.length; ) {
+ const e = t.charCodeAt(r);
+ switch (e) {
+ case 32:
+ case 9:
+ case 10:
+ case 12:
+ case 13:
+ (0 !== i.length && i[0].type === n.Descendant) ||
+ (y(), i.push({ type: n.Descendant })),
+ d(1);
+ break;
+ case 62:
+ w(n.Child), d(1);
+ break;
+ case 60:
+ w(n.Parent), d(1);
+ break;
+ case 126:
+ w(n.Sibling), d(1);
+ break;
+ case 43:
+ w(n.Adjacent), d(1);
+ break;
+ case 46:
+ E("class", o.Element);
+ break;
+ case 35:
+ E("id", o.Equals);
+ break;
+ case 91: {
+ let e;
+ d(1);
+ let a = null;
+ 124 === t.charCodeAt(r)
+ ? (e = s(1))
+ : t.startsWith("*|", r)
+ ? ((a = "*"), (e = s(2)))
+ : ((e = s(0)),
+ 124 === t.charCodeAt(r) &&
+ 61 !== t.charCodeAt(r + 1) &&
+ ((a = e), (e = s(1)))),
+ d(0);
+ let c = o.Exists;
+ const u = l.get(t.charCodeAt(r));
+ if (u) {
+ if (((c = u), 61 !== t.charCodeAt(r + 1)))
+ throw new Error("Expected `=`");
+ d(2);
+ } else 61 === t.charCodeAt(r) && ((c = o.Equals), d(1));
+ let p = "",
+ g = null;
+ if ("exists" !== c) {
+ if (h(t.charCodeAt(r))) {
+ const e = t.charCodeAt(r);
+ let n = r + 1;
+ for (; n < t.length && (t.charCodeAt(n) !== e || b(n)); )
+ n += 1;
+ if (t.charCodeAt(n) !== e)
+ throw new Error("Attribute value didn't end");
+ (p = f(t.slice(r + 1, n))), (r = n + 1);
+ } else {
+ const e = r;
+ for (
+ ;
+ r < t.length &&
+ ((!m(t.charCodeAt(r)) && 93 !== t.charCodeAt(r)) || b(r));
+
+ )
+ r += 1;
+ p = f(t.slice(e, r));
+ }
+ d(0);
+ const e = 32 | t.charCodeAt(r);
+ 115 === e ? ((g = !1), d(1)) : 105 === e && ((g = !0), d(1));
+ }
+ if (93 !== t.charCodeAt(r))
+ throw new Error("Attribute selector didn't terminate");
+ r += 1;
+ const v = {
+ type: n.Attribute,
+ name: e,
+ action: c,
+ value: p,
+ namespace: a,
+ ignoreCase: g,
+ };
+ i.push(v);
+ break;
+ }
+ case 58: {
+ if (58 === t.charCodeAt(r + 1)) {
+ i.push({
+ type: n.PseudoElement,
+ name: s(2).toLowerCase(),
+ data: 40 === t.charCodeAt(r) ? g() : null,
+ });
+ continue;
+ }
+ const e = s(1).toLowerCase();
+ let o = null;
+ if (40 === t.charCodeAt(r))
+ if (c.has(e)) {
+ if (h(t.charCodeAt(r + 1)))
+ throw new Error(`Pseudo-selector ${e} cannot be quoted`);
+ if (
+ ((o = []), (r = v(o, t, r + 1)), 41 !== t.charCodeAt(r))
+ )
+ throw new Error(
+ `Missing closing parenthesis in :${e} (${t})`
+ );
+ r += 1;
+ } else {
+ if (((o = g()), p.has(e))) {
+ const e = o.charCodeAt(0);
+ e === o.charCodeAt(o.length - 1) &&
+ h(e) &&
+ (o = o.slice(1, -1));
+ }
+ o = f(o);
+ }
+ i.push({ type: n.Pseudo, name: e, data: o });
+ break;
+ }
+ case 44:
+ x(), (i = []), d(1);
+ break;
+ default: {
+ if (t.startsWith("/*", r)) {
+ const e = t.indexOf("*/", r + 2);
+ if (e < 0) throw new Error("Comment was not terminated");
+ (r = e + 2), 0 === i.length && d(0);
+ break;
+ }
+ let o,
+ l = null;
+ if (42 === e) (r += 1), (o = "*");
+ else if (124 === e) {
+ if (((o = ""), 124 === t.charCodeAt(r + 1))) {
+ w(n.ColumnCombinator), d(2);
+ break;
+ }
+ } else {
+ if (!a.test(t.slice(r))) break e;
+ o = s(0);
+ }
+ 124 === t.charCodeAt(r) &&
+ 124 !== t.charCodeAt(r + 1) &&
+ ((l = o),
+ 42 === t.charCodeAt(r + 1)
+ ? ((o = "*"), (r += 2))
+ : (o = s(1))),
+ i.push(
+ "*" === o
+ ? { type: n.Universal, namespace: l }
+ : { type: n.Tag, name: o, namespace: l }
+ );
+ }
+ }
+ }
+ return x(), r;
+ }
+ const b = ["\\", '"'],
+ y = [...b, "(", ")"],
+ w = new Set(b.map((e) => e.charCodeAt(0))),
+ E = new Set(y.map((e) => e.charCodeAt(0))),
+ x = new Set(
+ [
+ ...y,
+ "~",
+ "^",
+ "$",
+ "*",
+ "+",
+ "!",
+ "|",
+ ":",
+ "[",
+ "]",
+ " ",
+ ".",
+ ].map((e) => e.charCodeAt(0))
+ );
+ function T(e) {
+ return e.map((e) => e.map(k).join("")).join(", ");
+ }
+ function k(e, t, r) {
+ switch (e.type) {
+ case n.Child:
+ return 0 === t ? "> " : " > ";
+ case n.Parent:
+ return 0 === t ? "< " : " < ";
+ case n.Sibling:
+ return 0 === t ? "~ " : " ~ ";
+ case n.Adjacent:
+ return 0 === t ? "+ " : " + ";
+ case n.Descendant:
+ return " ";
+ case n.ColumnCombinator:
+ return 0 === t ? "|| " : " || ";
+ case n.Universal:
+ return "*" === e.namespace &&
+ t + 1 < r.length &&
+ "name" in r[t + 1]
+ ? ""
+ : `${A(e.namespace)}*`;
+ case n.Tag:
+ return _(e);
+ case n.PseudoElement:
+ return `::${N(e.name, x)}${
+ null === e.data ? "" : `(${N(e.data, E)})`
+ }`;
+ case n.Pseudo:
+ return `:${N(e.name, x)}${
+ null === e.data
+ ? ""
+ : `(${"string" == typeof e.data ? N(e.data, E) : T(e.data)})`
+ }`;
+ case n.Attribute: {
+ if (
+ "id" === e.name &&
+ e.action === o.Equals &&
+ "quirks" === e.ignoreCase &&
+ !e.namespace
+ )
+ return `#${N(e.value, x)}`;
+ if (
+ "class" === e.name &&
+ e.action === o.Element &&
+ "quirks" === e.ignoreCase &&
+ !e.namespace
+ )
+ return `.${N(e.value, x)}`;
+ const t = _(e);
+ return e.action === o.Exists
+ ? `[${t}]`
+ : `[${t}${(function (e) {
+ switch (e) {
+ case o.Equals:
+ return "";
+ case o.Element:
+ return "~";
+ case o.Start:
+ return "^";
+ case o.End:
+ return "$";
+ case o.Any:
+ return "*";
+ case o.Not:
+ return "!";
+ case o.Hyphen:
+ return "|";
+ case o.Exists:
+ throw new Error("Shouldn't be here");
+ }
+ })(e.action)}="${N(e.value, w)}"${
+ null === e.ignoreCase ? "" : e.ignoreCase ? " i" : " s"
+ }]`;
+ }
+ }
+ }
+ function _(e) {
+ return `${A(e.namespace)}${N(e.name, x)}`;
+ }
+ function A(e) {
+ return null !== e ? `${"*" === e ? "*" : N(e, x)}|` : "";
+ }
+ function N(e, t) {
+ let r = 0,
+ n = "";
+ for (let i = 0; i < e.length; i++)
+ t.has(e.charCodeAt(i)) &&
+ ((n += `${e.slice(r, i)}\\${e.charAt(i)}`), (r = i + 1));
+ return n.length > 0 ? n + e.slice(r) : e;
+ }
+ },
+ 7837: (e, t) => {
+ "use strict";
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.attributeNames = t.elementNames = void 0),
+ (t.elementNames = new Map([
+ ["altglyph", "altGlyph"],
+ ["altglyphdef", "altGlyphDef"],
+ ["altglyphitem", "altGlyphItem"],
+ ["animatecolor", "animateColor"],
+ ["animatemotion", "animateMotion"],
+ ["animatetransform", "animateTransform"],
+ ["clippath", "clipPath"],
+ ["feblend", "feBlend"],
+ ["fecolormatrix", "feColorMatrix"],
+ ["fecomponenttransfer", "feComponentTransfer"],
+ ["fecomposite", "feComposite"],
+ ["feconvolvematrix", "feConvolveMatrix"],
+ ["fediffuselighting", "feDiffuseLighting"],
+ ["fedisplacementmap", "feDisplacementMap"],
+ ["fedistantlight", "feDistantLight"],
+ ["fedropshadow", "feDropShadow"],
+ ["feflood", "feFlood"],
+ ["fefunca", "feFuncA"],
+ ["fefuncb", "feFuncB"],
+ ["fefuncg", "feFuncG"],
+ ["fefuncr", "feFuncR"],
+ ["fegaussianblur", "feGaussianBlur"],
+ ["feimage", "feImage"],
+ ["femerge", "feMerge"],
+ ["femergenode", "feMergeNode"],
+ ["femorphology", "feMorphology"],
+ ["feoffset", "feOffset"],
+ ["fepointlight", "fePointLight"],
+ ["fespecularlighting", "feSpecularLighting"],
+ ["fespotlight", "feSpotLight"],
+ ["fetile", "feTile"],
+ ["feturbulence", "feTurbulence"],
+ ["foreignobject", "foreignObject"],
+ ["glyphref", "glyphRef"],
+ ["lineargradient", "linearGradient"],
+ ["radialgradient", "radialGradient"],
+ ["textpath", "textPath"],
+ ])),
+ (t.attributeNames = new Map([
+ ["definitionurl", "definitionURL"],
+ ["attributename", "attributeName"],
+ ["attributetype", "attributeType"],
+ ["basefrequency", "baseFrequency"],
+ ["baseprofile", "baseProfile"],
+ ["calcmode", "calcMode"],
+ ["clippathunits", "clipPathUnits"],
+ ["diffuseconstant", "diffuseConstant"],
+ ["edgemode", "edgeMode"],
+ ["filterunits", "filterUnits"],
+ ["glyphref", "glyphRef"],
+ ["gradienttransform", "gradientTransform"],
+ ["gradientunits", "gradientUnits"],
+ ["kernelmatrix", "kernelMatrix"],
+ ["kernelunitlength", "kernelUnitLength"],
+ ["keypoints", "keyPoints"],
+ ["keysplines", "keySplines"],
+ ["keytimes", "keyTimes"],
+ ["lengthadjust", "lengthAdjust"],
+ ["limitingconeangle", "limitingConeAngle"],
+ ["markerheight", "markerHeight"],
+ ["markerunits", "markerUnits"],
+ ["markerwidth", "markerWidth"],
+ ["maskcontentunits", "maskContentUnits"],
+ ["maskunits", "maskUnits"],
+ ["numoctaves", "numOctaves"],
+ ["pathlength", "pathLength"],
+ ["patterncontentunits", "patternContentUnits"],
+ ["patterntransform", "patternTransform"],
+ ["patternunits", "patternUnits"],
+ ["pointsatx", "pointsAtX"],
+ ["pointsaty", "pointsAtY"],
+ ["pointsatz", "pointsAtZ"],
+ ["preservealpha", "preserveAlpha"],
+ ["preserveaspectratio", "preserveAspectRatio"],
+ ["primitiveunits", "primitiveUnits"],
+ ["refx", "refX"],
+ ["refy", "refY"],
+ ["repeatcount", "repeatCount"],
+ ["repeatdur", "repeatDur"],
+ ["requiredextensions", "requiredExtensions"],
+ ["requiredfeatures", "requiredFeatures"],
+ ["specularconstant", "specularConstant"],
+ ["specularexponent", "specularExponent"],
+ ["spreadmethod", "spreadMethod"],
+ ["startoffset", "startOffset"],
+ ["stddeviation", "stdDeviation"],
+ ["stitchtiles", "stitchTiles"],
+ ["surfacescale", "surfaceScale"],
+ ["systemlanguage", "systemLanguage"],
+ ["tablevalues", "tableValues"],
+ ["targetx", "targetX"],
+ ["targety", "targetY"],
+ ["textlength", "textLength"],
+ ["viewbox", "viewBox"],
+ ["viewtarget", "viewTarget"],
+ ["xchannelselector", "xChannelSelector"],
+ ["ychannelselector", "yChannelSelector"],
+ ["zoomandpan", "zoomAndPan"],
+ ]));
+ },
+ 7220: function (e, t, r) {
+ "use strict";
+ var n =
+ (this && this.__assign) ||
+ function () {
+ return (
+ (n =
+ Object.assign ||
+ function (e) {
+ for (var t, r = 1, n = arguments.length; r < n; r++)
+ for (var i in (t = arguments[r]))
+ Object.prototype.hasOwnProperty.call(t, i) &&
+ (e[i] = t[i]);
+ return e;
+ }),
+ n.apply(this, arguments)
+ );
+ },
+ i =
+ (this && this.__createBinding) ||
+ (Object.create
+ ? function (e, t, r, n) {
+ void 0 === n && (n = r),
+ Object.defineProperty(e, n, {
+ enumerable: !0,
+ get: function () {
+ return t[r];
+ },
+ });
+ }
+ : function (e, t, r, n) {
+ void 0 === n && (n = r), (e[n] = t[r]);
+ }),
+ o =
+ (this && this.__setModuleDefault) ||
+ (Object.create
+ ? function (e, t) {
+ Object.defineProperty(e, "default", {
+ enumerable: !0,
+ value: t,
+ });
+ }
+ : function (e, t) {
+ e.default = t;
+ }),
+ a =
+ (this && this.__importStar) ||
+ function (e) {
+ if (e && e.__esModule) return e;
+ var t = {};
+ if (null != e)
+ for (var r in e)
+ "default" !== r &&
+ Object.prototype.hasOwnProperty.call(e, r) &&
+ i(t, e, r);
+ return o(t, e), t;
+ };
+ Object.defineProperty(t, "__esModule", { value: !0 });
+ var s = a(r(9960)),
+ l = r(5863),
+ c = r(7837),
+ u = new Set([
+ "style",
+ "script",
+ "xmp",
+ "iframe",
+ "noembed",
+ "noframes",
+ "plaintext",
+ "noscript",
+ ]),
+ p = new Set([
+ "area",
+ "base",
+ "basefont",
+ "br",
+ "col",
+ "command",
+ "embed",
+ "frame",
+ "hr",
+ "img",
+ "input",
+ "isindex",
+ "keygen",
+ "link",
+ "meta",
+ "param",
+ "source",
+ "track",
+ "wbr",
+ ]);
+ function d(e, t) {
+ void 0 === t && (t = {});
+ for (
+ var r = ("length" in e) ? e : [e], n = "", i = 0;
+ i < r.length;
+ i++
+ )
+ n += f(r[i], t);
+ return n;
+ }
+ function f(e, t) {
+ switch (e.type) {
+ case s.Root:
+ return d(e.children, t);
+ case s.Directive:
+ case s.Doctype:
+ return "<" + e.data + ">";
+ case s.Comment:
+ return "\x3c!--" + e.data + "--\x3e";
+ case s.CDATA:
+ return (function (e) {
+ return "";
+ })(e);
+ case s.Script:
+ case s.Style:
+ case s.Tag:
+ return (function (e, t) {
+ var r;
+ "foreign" === t.xmlMode &&
+ ((e.name =
+ null !== (r = c.elementNames.get(e.name)) && void 0 !== r
+ ? r
+ : e.name),
+ e.parent &&
+ h.has(e.parent.name) &&
+ (t = n(n({}, t), { xmlMode: !1 }))),
+ !t.xmlMode &&
+ m.has(e.name) &&
+ (t = n(n({}, t), { xmlMode: "foreign" }));
+ var i = "<" + e.name,
+ o = (function (e, t) {
+ if (e)
+ return Object.keys(e)
+ .map(function (r) {
+ var n,
+ i,
+ o = null !== (n = e[r]) && void 0 !== n ? n : "";
+ return (
+ "foreign" === t.xmlMode &&
+ (r =
+ null !== (i = c.attributeNames.get(r)) &&
+ void 0 !== i
+ ? i
+ : r),
+ t.emptyAttrs || t.xmlMode || "" !== o
+ ? r +
+ '="' +
+ (!1 !== t.decodeEntities
+ ? l.encodeXML(o)
+ : o.replace(/"/g, """)) +
+ '"'
+ : r
+ );
+ })
+ .join(" ");
+ })(e.attribs, t);
+ return (
+ o && (i += " " + o),
+ 0 === e.children.length &&
+ (t.xmlMode
+ ? !1 !== t.selfClosingTags
+ : t.selfClosingTags && p.has(e.name))
+ ? (t.xmlMode || (i += " "), (i += "/>"))
+ : ((i += ">"),
+ e.children.length > 0 && (i += d(e.children, t)),
+ (!t.xmlMode && p.has(e.name)) ||
+ (i += "" + e.name + ">")),
+ i
+ );
+ })(e, t);
+ case s.Text:
+ return (function (e, t) {
+ var r = e.data || "";
+ return (
+ !1 === t.decodeEntities ||
+ (!t.xmlMode && e.parent && u.has(e.parent.name)) ||
+ (r = l.encodeXML(r)),
+ r
+ );
+ })(e, t);
+ }
+ }
+ t.default = d;
+ var h = new Set([
+ "mi",
+ "mo",
+ "mn",
+ "ms",
+ "mtext",
+ "annotation-xml",
+ "foreignObject",
+ "desc",
+ "title",
+ ]),
+ m = new Set(["svg", "math"]);
+ },
+ 9960: (e, t) => {
+ "use strict";
+ var r;
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.Doctype =
+ t.CDATA =
+ t.Tag =
+ t.Style =
+ t.Script =
+ t.Comment =
+ t.Directive =
+ t.Text =
+ t.Root =
+ t.isTag =
+ t.ElementType =
+ void 0),
+ (function (e) {
+ (e.Root = "root"),
+ (e.Text = "text"),
+ (e.Directive = "directive"),
+ (e.Comment = "comment"),
+ (e.Script = "script"),
+ (e.Style = "style"),
+ (e.Tag = "tag"),
+ (e.CDATA = "cdata"),
+ (e.Doctype = "doctype");
+ })((r = t.ElementType || (t.ElementType = {}))),
+ (t.isTag = function (e) {
+ return (
+ e.type === r.Tag || e.type === r.Script || e.type === r.Style
+ );
+ }),
+ (t.Root = r.Root),
+ (t.Text = r.Text),
+ (t.Directive = r.Directive),
+ (t.Comment = r.Comment),
+ (t.Script = r.Script),
+ (t.Style = r.Style),
+ (t.Tag = r.Tag),
+ (t.CDATA = r.CDATA),
+ (t.Doctype = r.Doctype);
+ },
+ 7915: function (e, t, r) {
+ "use strict";
+ var n =
+ (this && this.__createBinding) ||
+ (Object.create
+ ? function (e, t, r, n) {
+ void 0 === n && (n = r);
+ var i = Object.getOwnPropertyDescriptor(t, r);
+ (i &&
+ !("get" in i
+ ? !t.__esModule
+ : i.writable || i.configurable)) ||
+ (i = {
+ enumerable: !0,
+ get: function () {
+ return t[r];
+ },
+ }),
+ Object.defineProperty(e, n, i);
+ }
+ : function (e, t, r, n) {
+ void 0 === n && (n = r), (e[n] = t[r]);
+ }),
+ i =
+ (this && this.__exportStar) ||
+ function (e, t) {
+ for (var r in e)
+ "default" === r ||
+ Object.prototype.hasOwnProperty.call(t, r) ||
+ n(t, e, r);
+ };
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.DomHandler = void 0);
+ var o = r(9960),
+ a = r(7790);
+ i(r(7790), t);
+ var s = /\s+/g,
+ l = {
+ normalizeWhitespace: !1,
+ withStartIndices: !1,
+ withEndIndices: !1,
+ xmlMode: !1,
+ },
+ c = (function () {
+ function e(e, t, r) {
+ (this.dom = []),
+ (this.root = new a.Document(this.dom)),
+ (this.done = !1),
+ (this.tagStack = [this.root]),
+ (this.lastNode = null),
+ (this.parser = null),
+ "function" == typeof t && ((r = t), (t = l)),
+ "object" == typeof e && ((t = e), (e = void 0)),
+ (this.callback = null != e ? e : null),
+ (this.options = null != t ? t : l),
+ (this.elementCB = null != r ? r : null);
+ }
+ return (
+ (e.prototype.onparserinit = function (e) {
+ this.parser = e;
+ }),
+ (e.prototype.onreset = function () {
+ (this.dom = []),
+ (this.root = new a.Document(this.dom)),
+ (this.done = !1),
+ (this.tagStack = [this.root]),
+ (this.lastNode = null),
+ (this.parser = null);
+ }),
+ (e.prototype.onend = function () {
+ this.done ||
+ ((this.done = !0),
+ (this.parser = null),
+ this.handleCallback(null));
+ }),
+ (e.prototype.onerror = function (e) {
+ this.handleCallback(e);
+ }),
+ (e.prototype.onclosetag = function () {
+ this.lastNode = null;
+ var e = this.tagStack.pop();
+ this.options.withEndIndices &&
+ (e.endIndex = this.parser.endIndex),
+ this.elementCB && this.elementCB(e);
+ }),
+ (e.prototype.onopentag = function (e, t) {
+ var r = this.options.xmlMode ? o.ElementType.Tag : void 0,
+ n = new a.Element(e, t, void 0, r);
+ this.addNode(n), this.tagStack.push(n);
+ }),
+ (e.prototype.ontext = function (e) {
+ var t = this.options.normalizeWhitespace,
+ r = this.lastNode;
+ if (r && r.type === o.ElementType.Text)
+ t ? (r.data = (r.data + e).replace(s, " ")) : (r.data += e),
+ this.options.withEndIndices &&
+ (r.endIndex = this.parser.endIndex);
+ else {
+ t && (e = e.replace(s, " "));
+ var n = new a.Text(e);
+ this.addNode(n), (this.lastNode = n);
+ }
+ }),
+ (e.prototype.oncomment = function (e) {
+ if (
+ this.lastNode &&
+ this.lastNode.type === o.ElementType.Comment
+ )
+ this.lastNode.data += e;
+ else {
+ var t = new a.Comment(e);
+ this.addNode(t), (this.lastNode = t);
+ }
+ }),
+ (e.prototype.oncommentend = function () {
+ this.lastNode = null;
+ }),
+ (e.prototype.oncdatastart = function () {
+ var e = new a.Text(""),
+ t = new a.NodeWithChildren(o.ElementType.CDATA, [e]);
+ this.addNode(t), (e.parent = t), (this.lastNode = e);
+ }),
+ (e.prototype.oncdataend = function () {
+ this.lastNode = null;
+ }),
+ (e.prototype.onprocessinginstruction = function (e, t) {
+ var r = new a.ProcessingInstruction(e, t);
+ this.addNode(r);
+ }),
+ (e.prototype.handleCallback = function (e) {
+ if ("function" == typeof this.callback)
+ this.callback(e, this.dom);
+ else if (e) throw e;
+ }),
+ (e.prototype.addNode = function (e) {
+ var t = this.tagStack[this.tagStack.length - 1],
+ r = t.children[t.children.length - 1];
+ this.options.withStartIndices &&
+ (e.startIndex = this.parser.startIndex),
+ this.options.withEndIndices &&
+ (e.endIndex = this.parser.endIndex),
+ t.children.push(e),
+ r && ((e.prev = r), (r.next = e)),
+ (e.parent = t),
+ (this.lastNode = null);
+ }),
+ e
+ );
+ })();
+ (t.DomHandler = c), (t.default = c);
+ },
+ 7790: function (e, t, r) {
+ "use strict";
+ var n,
+ i =
+ (this && this.__extends) ||
+ ((n = function (e, t) {
+ return (
+ (n =
+ Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array &&
+ function (e, t) {
+ e.__proto__ = t;
+ }) ||
+ function (e, t) {
+ for (var r in t)
+ Object.prototype.hasOwnProperty.call(t, r) &&
+ (e[r] = t[r]);
+ }),
+ n(e, t)
+ );
+ }),
+ function (e, t) {
+ if ("function" != typeof t && null !== t)
+ throw new TypeError(
+ "Class extends value " +
+ String(t) +
+ " is not a constructor or null"
+ );
+ function r() {
+ this.constructor = e;
+ }
+ n(e, t),
+ (e.prototype =
+ null === t
+ ? Object.create(t)
+ : ((r.prototype = t.prototype), new r()));
+ }),
+ o =
+ (this && this.__assign) ||
+ function () {
+ return (
+ (o =
+ Object.assign ||
+ function (e) {
+ for (var t, r = 1, n = arguments.length; r < n; r++)
+ for (var i in (t = arguments[r]))
+ Object.prototype.hasOwnProperty.call(t, i) &&
+ (e[i] = t[i]);
+ return e;
+ }),
+ o.apply(this, arguments)
+ );
+ };
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.cloneNode =
+ t.hasChildren =
+ t.isDocument =
+ t.isDirective =
+ t.isComment =
+ t.isText =
+ t.isCDATA =
+ t.isTag =
+ t.Element =
+ t.Document =
+ t.NodeWithChildren =
+ t.ProcessingInstruction =
+ t.Comment =
+ t.Text =
+ t.DataNode =
+ t.Node =
+ void 0);
+ var a = r(9960),
+ s = new Map([
+ [a.ElementType.Tag, 1],
+ [a.ElementType.Script, 1],
+ [a.ElementType.Style, 1],
+ [a.ElementType.Directive, 1],
+ [a.ElementType.Text, 3],
+ [a.ElementType.CDATA, 4],
+ [a.ElementType.Comment, 8],
+ [a.ElementType.Root, 9],
+ ]),
+ l = (function () {
+ function e(e) {
+ (this.type = e),
+ (this.parent = null),
+ (this.prev = null),
+ (this.next = null),
+ (this.startIndex = null),
+ (this.endIndex = null);
+ }
+ return (
+ Object.defineProperty(e.prototype, "nodeType", {
+ get: function () {
+ var e;
+ return null !== (e = s.get(this.type)) && void 0 !== e
+ ? e
+ : 1;
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ Object.defineProperty(e.prototype, "parentNode", {
+ get: function () {
+ return this.parent;
+ },
+ set: function (e) {
+ this.parent = e;
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ Object.defineProperty(e.prototype, "previousSibling", {
+ get: function () {
+ return this.prev;
+ },
+ set: function (e) {
+ this.prev = e;
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ Object.defineProperty(e.prototype, "nextSibling", {
+ get: function () {
+ return this.next;
+ },
+ set: function (e) {
+ this.next = e;
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ (e.prototype.cloneNode = function (e) {
+ return void 0 === e && (e = !1), x(this, e);
+ }),
+ e
+ );
+ })();
+ t.Node = l;
+ var c = (function (e) {
+ function t(t, r) {
+ var n = e.call(this, t) || this;
+ return (n.data = r), n;
+ }
+ return (
+ i(t, e),
+ Object.defineProperty(t.prototype, "nodeValue", {
+ get: function () {
+ return this.data;
+ },
+ set: function (e) {
+ this.data = e;
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ t
+ );
+ })(l);
+ t.DataNode = c;
+ var u = (function (e) {
+ function t(t) {
+ return e.call(this, a.ElementType.Text, t) || this;
+ }
+ return i(t, e), t;
+ })(c);
+ t.Text = u;
+ var p = (function (e) {
+ function t(t) {
+ return e.call(this, a.ElementType.Comment, t) || this;
+ }
+ return i(t, e), t;
+ })(c);
+ t.Comment = p;
+ var d = (function (e) {
+ function t(t, r) {
+ var n = e.call(this, a.ElementType.Directive, r) || this;
+ return (n.name = t), n;
+ }
+ return i(t, e), t;
+ })(c);
+ t.ProcessingInstruction = d;
+ var f = (function (e) {
+ function t(t, r) {
+ var n = e.call(this, t) || this;
+ return (n.children = r), n;
+ }
+ return (
+ i(t, e),
+ Object.defineProperty(t.prototype, "firstChild", {
+ get: function () {
+ var e;
+ return null !== (e = this.children[0]) && void 0 !== e
+ ? e
+ : null;
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ Object.defineProperty(t.prototype, "lastChild", {
+ get: function () {
+ return this.children.length > 0
+ ? this.children[this.children.length - 1]
+ : null;
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ Object.defineProperty(t.prototype, "childNodes", {
+ get: function () {
+ return this.children;
+ },
+ set: function (e) {
+ this.children = e;
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ t
+ );
+ })(l);
+ t.NodeWithChildren = f;
+ var h = (function (e) {
+ function t(t) {
+ return e.call(this, a.ElementType.Root, t) || this;
+ }
+ return i(t, e), t;
+ })(f);
+ t.Document = h;
+ var m = (function (e) {
+ function t(t, r, n, i) {
+ void 0 === n && (n = []),
+ void 0 === i &&
+ (i =
+ "script" === t
+ ? a.ElementType.Script
+ : "style" === t
+ ? a.ElementType.Style
+ : a.ElementType.Tag);
+ var o = e.call(this, i, n) || this;
+ return (o.name = t), (o.attribs = r), o;
+ }
+ return (
+ i(t, e),
+ Object.defineProperty(t.prototype, "tagName", {
+ get: function () {
+ return this.name;
+ },
+ set: function (e) {
+ this.name = e;
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ Object.defineProperty(t.prototype, "attributes", {
+ get: function () {
+ var e = this;
+ return Object.keys(this.attribs).map(function (t) {
+ var r, n;
+ return {
+ name: t,
+ value: e.attribs[t],
+ namespace:
+ null === (r = e["x-attribsNamespace"]) || void 0 === r
+ ? void 0
+ : r[t],
+ prefix:
+ null === (n = e["x-attribsPrefix"]) || void 0 === n
+ ? void 0
+ : n[t],
+ };
+ });
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ t
+ );
+ })(f);
+ function g(e) {
+ return (0, a.isTag)(e);
+ }
+ function v(e) {
+ return e.type === a.ElementType.CDATA;
+ }
+ function b(e) {
+ return e.type === a.ElementType.Text;
+ }
+ function y(e) {
+ return e.type === a.ElementType.Comment;
+ }
+ function w(e) {
+ return e.type === a.ElementType.Directive;
+ }
+ function E(e) {
+ return e.type === a.ElementType.Root;
+ }
+ function x(e, t) {
+ var r;
+ if ((void 0 === t && (t = !1), b(e))) r = new u(e.data);
+ else if (y(e)) r = new p(e.data);
+ else if (g(e)) {
+ var n = t ? T(e.children) : [],
+ i = new m(e.name, o({}, e.attribs), n);
+ n.forEach(function (e) {
+ return (e.parent = i);
+ }),
+ null != e.namespace && (i.namespace = e.namespace),
+ e["x-attribsNamespace"] &&
+ (i["x-attribsNamespace"] = o({}, e["x-attribsNamespace"])),
+ e["x-attribsPrefix"] &&
+ (i["x-attribsPrefix"] = o({}, e["x-attribsPrefix"])),
+ (r = i);
+ } else if (v(e)) {
+ n = t ? T(e.children) : [];
+ var s = new f(a.ElementType.CDATA, n);
+ n.forEach(function (e) {
+ return (e.parent = s);
+ }),
+ (r = s);
+ } else if (E(e)) {
+ n = t ? T(e.children) : [];
+ var l = new h(n);
+ n.forEach(function (e) {
+ return (e.parent = l);
+ }),
+ e["x-mode"] && (l["x-mode"] = e["x-mode"]),
+ (r = l);
+ } else {
+ if (!w(e)) throw new Error("Not implemented yet: ".concat(e.type));
+ var c = new d(e.name, e.data);
+ null != e["x-name"] &&
+ ((c["x-name"] = e["x-name"]),
+ (c["x-publicId"] = e["x-publicId"]),
+ (c["x-systemId"] = e["x-systemId"])),
+ (r = c);
+ }
+ return (
+ (r.startIndex = e.startIndex),
+ (r.endIndex = e.endIndex),
+ null != e.sourceCodeLocation &&
+ (r.sourceCodeLocation = e.sourceCodeLocation),
+ r
+ );
+ }
+ function T(e) {
+ for (
+ var t = e.map(function (e) {
+ return x(e, !0);
+ }),
+ r = 1;
+ r < t.length;
+ r++
+ )
+ (t[r].prev = t[r - 1]), (t[r - 1].next = t[r]);
+ return t;
+ }
+ (t.Element = m),
+ (t.isTag = g),
+ (t.isCDATA = v),
+ (t.isText = b),
+ (t.isComment = y),
+ (t.isDirective = w),
+ (t.isDocument = E),
+ (t.hasChildren = function (e) {
+ return Object.prototype.hasOwnProperty.call(e, "children");
+ }),
+ (t.cloneNode = x);
+ },
+ 6996: (e, t, r) => {
+ "use strict";
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.getFeed = void 0);
+ var n = r(3346),
+ i = r(3905);
+ t.getFeed = function (e) {
+ var t = l(p, e);
+ return t
+ ? "feed" === t.name
+ ? (function (e) {
+ var t,
+ r = e.children,
+ n = {
+ type: "atom",
+ items: (0, i.getElementsByTagName)("entry", r).map(
+ function (e) {
+ var t,
+ r = e.children,
+ n = { media: s(r) };
+ u(n, "id", "id", r), u(n, "title", "title", r);
+ var i =
+ null === (t = l("link", r)) || void 0 === t
+ ? void 0
+ : t.attribs.href;
+ i && (n.link = i);
+ var o = c("summary", r) || c("content", r);
+ o && (n.description = o);
+ var a = c("updated", r);
+ return a && (n.pubDate = new Date(a)), n;
+ }
+ ),
+ };
+ u(n, "id", "id", r), u(n, "title", "title", r);
+ var o =
+ null === (t = l("link", r)) || void 0 === t
+ ? void 0
+ : t.attribs.href;
+ o && (n.link = o), u(n, "description", "subtitle", r);
+ var a = c("updated", r);
+ return (
+ a && (n.updated = new Date(a)),
+ u(n, "author", "email", r, !0),
+ n
+ );
+ })(t)
+ : (function (e) {
+ var t,
+ r,
+ n =
+ null !==
+ (r =
+ null === (t = l("channel", e.children)) ||
+ void 0 === t
+ ? void 0
+ : t.children) && void 0 !== r
+ ? r
+ : [],
+ o = {
+ type: e.name.substr(0, 3),
+ id: "",
+ items: (0, i.getElementsByTagName)(
+ "item",
+ e.children
+ ).map(function (e) {
+ var t = e.children,
+ r = { media: s(t) };
+ u(r, "id", "guid", t),
+ u(r, "title", "title", t),
+ u(r, "link", "link", t),
+ u(r, "description", "description", t);
+ var n = c("pubDate", t);
+ return n && (r.pubDate = new Date(n)), r;
+ }),
+ };
+ u(o, "title", "title", n),
+ u(o, "link", "link", n),
+ u(o, "description", "description", n);
+ var a = c("lastBuildDate", n);
+ return (
+ a && (o.updated = new Date(a)),
+ u(o, "author", "managingEditor", n, !0),
+ o
+ );
+ })(t)
+ : null;
+ };
+ var o = ["url", "type", "lang"],
+ a = [
+ "fileSize",
+ "bitrate",
+ "framerate",
+ "samplingrate",
+ "channels",
+ "duration",
+ "height",
+ "width",
+ ];
+ function s(e) {
+ return (0, i.getElementsByTagName)("media:content", e).map(function (
+ e
+ ) {
+ for (
+ var t = e.attribs,
+ r = { medium: t.medium, isDefault: !!t.isDefault },
+ n = 0,
+ i = o;
+ n < i.length;
+ n++
+ )
+ t[(c = i[n])] && (r[c] = t[c]);
+ for (var s = 0, l = a; s < l.length; s++) {
+ var c;
+ t[(c = l[s])] && (r[c] = parseInt(t[c], 10));
+ }
+ return t.expression && (r.expression = t.expression), r;
+ });
+ }
+ function l(e, t) {
+ return (0, i.getElementsByTagName)(e, t, !0, 1)[0];
+ }
+ function c(e, t, r) {
+ return (
+ void 0 === r && (r = !1),
+ (0, n.textContent)((0, i.getElementsByTagName)(e, t, r, 1)).trim()
+ );
+ }
+ function u(e, t, r, n, i) {
+ void 0 === i && (i = !1);
+ var o = c(r, n, i);
+ o && (e[t] = o);
+ }
+ function p(e) {
+ return "rss" === e || "feed" === e || "rdf:RDF" === e;
+ }
+ },
+ 4975: (e, t, r) => {
+ "use strict";
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.uniqueSort = t.compareDocumentPosition = t.removeSubsets = void 0);
+ var n = r(7915);
+ function i(e, t) {
+ var r = [],
+ i = [];
+ if (e === t) return 0;
+ for (var o = (0, n.hasChildren)(e) ? e : e.parent; o; )
+ r.unshift(o), (o = o.parent);
+ for (o = (0, n.hasChildren)(t) ? t : t.parent; o; )
+ i.unshift(o), (o = o.parent);
+ for (
+ var a = Math.min(r.length, i.length), s = 0;
+ s < a && r[s] === i[s];
+
+ )
+ s++;
+ if (0 === s) return 1;
+ var l = r[s - 1],
+ c = l.children,
+ u = r[s],
+ p = i[s];
+ return c.indexOf(u) > c.indexOf(p)
+ ? l === t
+ ? 20
+ : 4
+ : l === e
+ ? 10
+ : 2;
+ }
+ (t.removeSubsets = function (e) {
+ for (var t = e.length; --t >= 0; ) {
+ var r = e[t];
+ if (t > 0 && e.lastIndexOf(r, t - 1) >= 0) e.splice(t, 1);
+ else
+ for (var n = r.parent; n; n = n.parent)
+ if (e.includes(n)) {
+ e.splice(t, 1);
+ break;
+ }
+ }
+ return e;
+ }),
+ (t.compareDocumentPosition = i),
+ (t.uniqueSort = function (e) {
+ return (
+ (e = e.filter(function (e, t, r) {
+ return !r.includes(e, t + 1);
+ })),
+ e.sort(function (e, t) {
+ var r = i(e, t);
+ return 2 & r ? -1 : 4 & r ? 1 : 0;
+ }),
+ e
+ );
+ });
+ },
+ 9432: function (e, t, r) {
+ "use strict";
+ var n =
+ (this && this.__createBinding) ||
+ (Object.create
+ ? function (e, t, r, n) {
+ void 0 === n && (n = r),
+ Object.defineProperty(e, n, {
+ enumerable: !0,
+ get: function () {
+ return t[r];
+ },
+ });
+ }
+ : function (e, t, r, n) {
+ void 0 === n && (n = r), (e[n] = t[r]);
+ }),
+ i =
+ (this && this.__exportStar) ||
+ function (e, t) {
+ for (var r in e)
+ "default" === r ||
+ Object.prototype.hasOwnProperty.call(t, r) ||
+ n(t, e, r);
+ };
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.hasChildren =
+ t.isDocument =
+ t.isComment =
+ t.isText =
+ t.isCDATA =
+ t.isTag =
+ void 0),
+ i(r(3346), t),
+ i(r(5010), t),
+ i(r(6765), t),
+ i(r(8043), t),
+ i(r(3905), t),
+ i(r(4975), t),
+ i(r(6996), t);
+ var o = r(7915);
+ Object.defineProperty(t, "isTag", {
+ enumerable: !0,
+ get: function () {
+ return o.isTag;
+ },
+ }),
+ Object.defineProperty(t, "isCDATA", {
+ enumerable: !0,
+ get: function () {
+ return o.isCDATA;
+ },
+ }),
+ Object.defineProperty(t, "isText", {
+ enumerable: !0,
+ get: function () {
+ return o.isText;
+ },
+ }),
+ Object.defineProperty(t, "isComment", {
+ enumerable: !0,
+ get: function () {
+ return o.isComment;
+ },
+ }),
+ Object.defineProperty(t, "isDocument", {
+ enumerable: !0,
+ get: function () {
+ return o.isDocument;
+ },
+ }),
+ Object.defineProperty(t, "hasChildren", {
+ enumerable: !0,
+ get: function () {
+ return o.hasChildren;
+ },
+ });
+ },
+ 3905: (e, t, r) => {
+ "use strict";
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.getElementsByTagType =
+ t.getElementsByTagName =
+ t.getElementById =
+ t.getElements =
+ t.testElement =
+ void 0);
+ var n = r(7915),
+ i = r(8043),
+ o = {
+ tag_name: function (e) {
+ return "function" == typeof e
+ ? function (t) {
+ return (0, n.isTag)(t) && e(t.name);
+ }
+ : "*" === e
+ ? n.isTag
+ : function (t) {
+ return (0, n.isTag)(t) && t.name === e;
+ };
+ },
+ tag_type: function (e) {
+ return "function" == typeof e
+ ? function (t) {
+ return e(t.type);
+ }
+ : function (t) {
+ return t.type === e;
+ };
+ },
+ tag_contains: function (e) {
+ return "function" == typeof e
+ ? function (t) {
+ return (0, n.isText)(t) && e(t.data);
+ }
+ : function (t) {
+ return (0, n.isText)(t) && t.data === e;
+ };
+ },
+ };
+ function a(e, t) {
+ return "function" == typeof t
+ ? function (r) {
+ return (0, n.isTag)(r) && t(r.attribs[e]);
+ }
+ : function (r) {
+ return (0, n.isTag)(r) && r.attribs[e] === t;
+ };
+ }
+ function s(e, t) {
+ return function (r) {
+ return e(r) || t(r);
+ };
+ }
+ function l(e) {
+ var t = Object.keys(e).map(function (t) {
+ var r = e[t];
+ return Object.prototype.hasOwnProperty.call(o, t)
+ ? o[t](r)
+ : a(t, r);
+ });
+ return 0 === t.length ? null : t.reduce(s);
+ }
+ (t.testElement = function (e, t) {
+ var r = l(e);
+ return !r || r(t);
+ }),
+ (t.getElements = function (e, t, r, n) {
+ void 0 === n && (n = 1 / 0);
+ var o = l(e);
+ return o ? (0, i.filter)(o, t, r, n) : [];
+ }),
+ (t.getElementById = function (e, t, r) {
+ return (
+ void 0 === r && (r = !0),
+ Array.isArray(t) || (t = [t]),
+ (0, i.findOne)(a("id", e), t, r)
+ );
+ }),
+ (t.getElementsByTagName = function (e, t, r, n) {
+ return (
+ void 0 === r && (r = !0),
+ void 0 === n && (n = 1 / 0),
+ (0, i.filter)(o.tag_name(e), t, r, n)
+ );
+ }),
+ (t.getElementsByTagType = function (e, t, r, n) {
+ return (
+ void 0 === r && (r = !0),
+ void 0 === n && (n = 1 / 0),
+ (0, i.filter)(o.tag_type(e), t, r, n)
+ );
+ });
+ },
+ 6765: (e, t) => {
+ "use strict";
+ function r(e) {
+ if (
+ (e.prev && (e.prev.next = e.next),
+ e.next && (e.next.prev = e.prev),
+ e.parent)
+ ) {
+ var t = e.parent.children;
+ t.splice(t.lastIndexOf(e), 1);
+ }
+ }
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.prepend =
+ t.prependChild =
+ t.append =
+ t.appendChild =
+ t.replaceElement =
+ t.removeElement =
+ void 0),
+ (t.removeElement = r),
+ (t.replaceElement = function (e, t) {
+ var r = (t.prev = e.prev);
+ r && (r.next = t);
+ var n = (t.next = e.next);
+ n && (n.prev = t);
+ var i = (t.parent = e.parent);
+ if (i) {
+ var o = i.children;
+ o[o.lastIndexOf(e)] = t;
+ }
+ }),
+ (t.appendChild = function (e, t) {
+ if (
+ (r(t), (t.next = null), (t.parent = e), e.children.push(t) > 1)
+ ) {
+ var n = e.children[e.children.length - 2];
+ (n.next = t), (t.prev = n);
+ } else t.prev = null;
+ }),
+ (t.append = function (e, t) {
+ r(t);
+ var n = e.parent,
+ i = e.next;
+ if (((t.next = i), (t.prev = e), (e.next = t), (t.parent = n), i)) {
+ if (((i.prev = t), n)) {
+ var o = n.children;
+ o.splice(o.lastIndexOf(i), 0, t);
+ }
+ } else n && n.children.push(t);
+ }),
+ (t.prependChild = function (e, t) {
+ if (
+ (r(t),
+ (t.parent = e),
+ (t.prev = null),
+ 1 !== e.children.unshift(t))
+ ) {
+ var n = e.children[1];
+ (n.prev = t), (t.next = n);
+ } else t.next = null;
+ }),
+ (t.prepend = function (e, t) {
+ r(t);
+ var n = e.parent;
+ if (n) {
+ var i = n.children;
+ i.splice(i.indexOf(e), 0, t);
+ }
+ e.prev && (e.prev.next = t),
+ (t.parent = n),
+ (t.prev = e.prev),
+ (t.next = e),
+ (e.prev = t);
+ });
+ },
+ 8043: (e, t, r) => {
+ "use strict";
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.findAll =
+ t.existsOne =
+ t.findOne =
+ t.findOneChild =
+ t.find =
+ t.filter =
+ void 0);
+ var n = r(7915);
+ function i(e, t, r, o) {
+ for (var a = [], s = 0, l = t; s < l.length; s++) {
+ var c = l[s];
+ if (e(c) && (a.push(c), --o <= 0)) break;
+ if (r && (0, n.hasChildren)(c) && c.children.length > 0) {
+ var u = i(e, c.children, r, o);
+ if ((a.push.apply(a, u), (o -= u.length) <= 0)) break;
+ }
+ }
+ return a;
+ }
+ (t.filter = function (e, t, r, n) {
+ return (
+ void 0 === r && (r = !0),
+ void 0 === n && (n = 1 / 0),
+ Array.isArray(t) || (t = [t]),
+ i(e, t, r, n)
+ );
+ }),
+ (t.find = i),
+ (t.findOneChild = function (e, t) {
+ return t.find(e);
+ }),
+ (t.findOne = function e(t, r, i) {
+ void 0 === i && (i = !0);
+ for (var o = null, a = 0; a < r.length && !o; a++) {
+ var s = r[a];
+ (0, n.isTag)(s) &&
+ (t(s)
+ ? (o = s)
+ : i && s.children.length > 0 && (o = e(t, s.children)));
+ }
+ return o;
+ }),
+ (t.existsOne = function e(t, r) {
+ return r.some(function (r) {
+ return (
+ (0, n.isTag)(r) &&
+ (t(r) || (r.children.length > 0 && e(t, r.children)))
+ );
+ });
+ }),
+ (t.findAll = function (e, t) {
+ for (var r, i, o = [], a = t.filter(n.isTag); (i = a.shift()); ) {
+ var s =
+ null === (r = i.children) || void 0 === r
+ ? void 0
+ : r.filter(n.isTag);
+ s && s.length > 0 && a.unshift.apply(a, s), e(i) && o.push(i);
+ }
+ return o;
+ });
+ },
+ 3346: function (e, t, r) {
+ "use strict";
+ var n =
+ (this && this.__importDefault) ||
+ function (e) {
+ return e && e.__esModule ? e : { default: e };
+ };
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.innerText =
+ t.textContent =
+ t.getText =
+ t.getInnerHTML =
+ t.getOuterHTML =
+ void 0);
+ var i = r(7915),
+ o = n(r(7220)),
+ a = r(9960);
+ function s(e, t) {
+ return (0, o.default)(e, t);
+ }
+ (t.getOuterHTML = s),
+ (t.getInnerHTML = function (e, t) {
+ return (0, i.hasChildren)(e)
+ ? e.children
+ .map(function (e) {
+ return s(e, t);
+ })
+ .join("")
+ : "";
+ }),
+ (t.getText = function e(t) {
+ return Array.isArray(t)
+ ? t.map(e).join("")
+ : (0, i.isTag)(t)
+ ? "br" === t.name
+ ? "\n"
+ : e(t.children)
+ : (0, i.isCDATA)(t)
+ ? e(t.children)
+ : (0, i.isText)(t)
+ ? t.data
+ : "";
+ }),
+ (t.textContent = function e(t) {
+ return Array.isArray(t)
+ ? t.map(e).join("")
+ : (0, i.hasChildren)(t) && !(0, i.isComment)(t)
+ ? e(t.children)
+ : (0, i.isText)(t)
+ ? t.data
+ : "";
+ }),
+ (t.innerText = function e(t) {
+ return Array.isArray(t)
+ ? t.map(e).join("")
+ : (0, i.hasChildren)(t) &&
+ (t.type === a.ElementType.Tag || (0, i.isCDATA)(t))
+ ? e(t.children)
+ : (0, i.isText)(t)
+ ? t.data
+ : "";
+ });
+ },
+ 5010: (e, t, r) => {
+ "use strict";
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.prevElementSibling =
+ t.nextElementSibling =
+ t.getName =
+ t.hasAttrib =
+ t.getAttributeValue =
+ t.getSiblings =
+ t.getParent =
+ t.getChildren =
+ void 0);
+ var n = r(7915),
+ i = [];
+ function o(e) {
+ var t;
+ return null !== (t = e.children) && void 0 !== t ? t : i;
+ }
+ function a(e) {
+ return e.parent || null;
+ }
+ (t.getChildren = o),
+ (t.getParent = a),
+ (t.getSiblings = function (e) {
+ var t = a(e);
+ if (null != t) return o(t);
+ for (var r = [e], n = e.prev, i = e.next; null != n; )
+ r.unshift(n), (n = n.prev);
+ for (; null != i; ) r.push(i), (i = i.next);
+ return r;
+ }),
+ (t.getAttributeValue = function (e, t) {
+ var r;
+ return null === (r = e.attribs) || void 0 === r ? void 0 : r[t];
+ }),
+ (t.hasAttrib = function (e, t) {
+ return (
+ null != e.attribs &&
+ Object.prototype.hasOwnProperty.call(e.attribs, t) &&
+ null != e.attribs[t]
+ );
+ }),
+ (t.getName = function (e) {
+ return e.name;
+ }),
+ (t.nextElementSibling = function (e) {
+ for (var t = e.next; null !== t && !(0, n.isTag)(t); ) t = t.next;
+ return t;
+ }),
+ (t.prevElementSibling = function (e) {
+ for (var t = e.prev; null !== t && !(0, n.isTag)(t); ) t = t.prev;
+ return t;
+ });
+ },
+ 4076: function (e, t, r) {
+ "use strict";
+ var n =
+ (this && this.__importDefault) ||
+ function (e) {
+ return e && e.__esModule ? e : { default: e };
+ };
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.decodeHTML = t.decodeHTMLStrict = t.decodeXML = void 0);
+ var i = n(r(9323)),
+ o = n(r(9591)),
+ a = n(r(2586)),
+ s = n(r(26)),
+ l = /&(?:[a-zA-Z0-9]+|#[xX][\da-fA-F]+|#\d+);/g;
+ function c(e) {
+ var t = p(e);
+ return function (e) {
+ return String(e).replace(l, t);
+ };
+ }
+ (t.decodeXML = c(a.default)), (t.decodeHTMLStrict = c(i.default));
+ var u = function (e, t) {
+ return e < t ? 1 : -1;
+ };
+ function p(e) {
+ return function (t) {
+ if ("#" === t.charAt(1)) {
+ var r = t.charAt(2);
+ return "X" === r || "x" === r
+ ? s.default(parseInt(t.substr(3), 16))
+ : s.default(parseInt(t.substr(2), 10));
+ }
+ return e[t.slice(1, -1)] || t;
+ };
+ }
+ t.decodeHTML = (function () {
+ for (
+ var e = Object.keys(o.default).sort(u),
+ t = Object.keys(i.default).sort(u),
+ r = 0,
+ n = 0;
+ r < t.length;
+ r++
+ )
+ e[n] === t[r] ? ((t[r] += ";?"), n++) : (t[r] += ";");
+ var a = new RegExp(
+ "&(?:" + t.join("|") + "|#[xX][\\da-fA-F]+;?|#\\d+;?)",
+ "g"
+ ),
+ s = p(i.default);
+ function l(e) {
+ return ";" !== e.substr(-1) && (e += ";"), s(e);
+ }
+ return function (e) {
+ return String(e).replace(a, l);
+ };
+ })();
+ },
+ 26: function (e, t, r) {
+ "use strict";
+ var n =
+ (this && this.__importDefault) ||
+ function (e) {
+ return e && e.__esModule ? e : { default: e };
+ };
+ Object.defineProperty(t, "__esModule", { value: !0 });
+ var i = n(r(3600)),
+ o =
+ String.fromCodePoint ||
+ function (e) {
+ var t = "";
+ return (
+ e > 65535 &&
+ ((e -= 65536),
+ (t += String.fromCharCode(((e >>> 10) & 1023) | 55296)),
+ (e = 56320 | (1023 & e))),
+ t + String.fromCharCode(e)
+ );
+ };
+ t.default = function (e) {
+ return (e >= 55296 && e <= 57343) || e > 1114111
+ ? "�"
+ : (e in i.default && (e = i.default[e]), o(e));
+ };
+ },
+ 7322: function (e, t, r) {
+ "use strict";
+ var n =
+ (this && this.__importDefault) ||
+ function (e) {
+ return e && e.__esModule ? e : { default: e };
+ };
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.escapeUTF8 =
+ t.escape =
+ t.encodeNonAsciiHTML =
+ t.encodeHTML =
+ t.encodeXML =
+ void 0);
+ var i = u(n(r(2586)).default),
+ o = p(i);
+ t.encodeXML = g(i);
+ var a,
+ s,
+ l = u(n(r(9323)).default),
+ c = p(l);
+ function u(e) {
+ return Object.keys(e)
+ .sort()
+ .reduce(function (t, r) {
+ return (t[e[r]] = "&" + r + ";"), t;
+ }, {});
+ }
+ function p(e) {
+ for (
+ var t = [], r = [], n = 0, i = Object.keys(e);
+ n < i.length;
+ n++
+ ) {
+ var o = i[n];
+ 1 === o.length ? t.push("\\" + o) : r.push(o);
+ }
+ t.sort();
+ for (var a = 0; a < t.length - 1; a++) {
+ for (
+ var s = a;
+ s < t.length - 1 &&
+ t[s].charCodeAt(1) + 1 === t[s + 1].charCodeAt(1);
+
+ )
+ s += 1;
+ var l = 1 + s - a;
+ l < 3 || t.splice(a, l, t[a] + "-" + t[s]);
+ }
+ return (
+ r.unshift("[" + t.join("") + "]"), new RegExp(r.join("|"), "g")
+ );
+ }
+ (t.encodeHTML =
+ ((a = l),
+ (s = c),
+ function (e) {
+ return e
+ .replace(s, function (e) {
+ return a[e];
+ })
+ .replace(d, h);
+ })),
+ (t.encodeNonAsciiHTML = g(l));
+ var d =
+ /(?:[\x80-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/g,
+ f =
+ null != String.prototype.codePointAt
+ ? function (e) {
+ return e.codePointAt(0);
+ }
+ : function (e) {
+ return (
+ 1024 * (e.charCodeAt(0) - 55296) +
+ e.charCodeAt(1) -
+ 56320 +
+ 65536
+ );
+ };
+ function h(e) {
+ return (
+ "" +
+ (e.length > 1 ? f(e) : e.charCodeAt(0)).toString(16).toUpperCase() +
+ ";"
+ );
+ }
+ var m = new RegExp(o.source + "|" + d.source, "g");
+ function g(e) {
+ return function (t) {
+ return t.replace(m, function (t) {
+ return e[t] || h(t);
+ });
+ };
+ }
+ (t.escape = function (e) {
+ return e.replace(m, h);
+ }),
+ (t.escapeUTF8 = function (e) {
+ return e.replace(o, h);
+ });
+ },
+ 5863: (e, t, r) => {
+ "use strict";
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.decodeXMLStrict =
+ t.decodeHTML5Strict =
+ t.decodeHTML4Strict =
+ t.decodeHTML5 =
+ t.decodeHTML4 =
+ t.decodeHTMLStrict =
+ t.decodeHTML =
+ t.decodeXML =
+ t.encodeHTML5 =
+ t.encodeHTML4 =
+ t.escapeUTF8 =
+ t.escape =
+ t.encodeNonAsciiHTML =
+ t.encodeHTML =
+ t.encodeXML =
+ t.encode =
+ t.decodeStrict =
+ t.decode =
+ void 0);
+ var n = r(4076),
+ i = r(7322);
+ (t.decode = function (e, t) {
+ return (!t || t <= 0 ? n.decodeXML : n.decodeHTML)(e);
+ }),
+ (t.decodeStrict = function (e, t) {
+ return (!t || t <= 0 ? n.decodeXML : n.decodeHTMLStrict)(e);
+ }),
+ (t.encode = function (e, t) {
+ return (!t || t <= 0 ? i.encodeXML : i.encodeHTML)(e);
+ });
+ var o = r(7322);
+ Object.defineProperty(t, "encodeXML", {
+ enumerable: !0,
+ get: function () {
+ return o.encodeXML;
+ },
+ }),
+ Object.defineProperty(t, "encodeHTML", {
+ enumerable: !0,
+ get: function () {
+ return o.encodeHTML;
+ },
+ }),
+ Object.defineProperty(t, "encodeNonAsciiHTML", {
+ enumerable: !0,
+ get: function () {
+ return o.encodeNonAsciiHTML;
+ },
+ }),
+ Object.defineProperty(t, "escape", {
+ enumerable: !0,
+ get: function () {
+ return o.escape;
+ },
+ }),
+ Object.defineProperty(t, "escapeUTF8", {
+ enumerable: !0,
+ get: function () {
+ return o.escapeUTF8;
+ },
+ }),
+ Object.defineProperty(t, "encodeHTML4", {
+ enumerable: !0,
+ get: function () {
+ return o.encodeHTML;
+ },
+ }),
+ Object.defineProperty(t, "encodeHTML5", {
+ enumerable: !0,
+ get: function () {
+ return o.encodeHTML;
+ },
+ });
+ var a = r(4076);
+ Object.defineProperty(t, "decodeXML", {
+ enumerable: !0,
+ get: function () {
+ return a.decodeXML;
+ },
+ }),
+ Object.defineProperty(t, "decodeHTML", {
+ enumerable: !0,
+ get: function () {
+ return a.decodeHTML;
+ },
+ }),
+ Object.defineProperty(t, "decodeHTMLStrict", {
+ enumerable: !0,
+ get: function () {
+ return a.decodeHTMLStrict;
+ },
+ }),
+ Object.defineProperty(t, "decodeHTML4", {
+ enumerable: !0,
+ get: function () {
+ return a.decodeHTML;
+ },
+ }),
+ Object.defineProperty(t, "decodeHTML5", {
+ enumerable: !0,
+ get: function () {
+ return a.decodeHTML;
+ },
+ }),
+ Object.defineProperty(t, "decodeHTML4Strict", {
+ enumerable: !0,
+ get: function () {
+ return a.decodeHTMLStrict;
+ },
+ }),
+ Object.defineProperty(t, "decodeHTML5Strict", {
+ enumerable: !0,
+ get: function () {
+ return a.decodeHTMLStrict;
+ },
+ }),
+ Object.defineProperty(t, "decodeXMLStrict", {
+ enumerable: !0,
+ get: function () {
+ return a.decodeXML;
+ },
+ });
+ },
+ 6492: function (e, t, r) {
+ var n;
+ (e = r.nmd(e)),
+ (function (i) {
+ var o = (e && e.exports, "object" == typeof global && global);
+ o.global !== o && o.window;
+ var a = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g,
+ s = /[\x01-\x7F]/g,
+ l =
+ /[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,
+ c =
+ /<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,
+ u = {
+ "": "shy",
+ "": "zwnj",
+ "": "zwj",
+ "": "lrm",
+ "": "ic",
+ "": "it",
+ "": "af",
+ "": "rlm",
+ "": "ZeroWidthSpace",
+ "": "NoBreak",
+ "̑": "DownBreve",
+ "⃛": "tdot",
+ "⃜": "DotDot",
+ "\t": "Tab",
+ "\n": "NewLine",
+ " ": "puncsp",
+ " ": "MediumSpace",
+ " ": "thinsp",
+ " ": "hairsp",
+ " ": "emsp13",
+ " ": "ensp",
+ " ": "emsp14",
+ " ": "emsp",
+ " ": "numsp",
+ " ": "nbsp",
+ " ": "ThickSpace",
+ "‾": "oline",
+ _: "lowbar",
+ "‐": "dash",
+ "–": "ndash",
+ "—": "mdash",
+ "―": "horbar",
+ ",": "comma",
+ ";": "semi",
+ "⁏": "bsemi",
+ ":": "colon",
+ "⩴": "Colone",
+ "!": "excl",
+ "¡": "iexcl",
+ "?": "quest",
+ "¿": "iquest",
+ ".": "period",
+ "‥": "nldr",
+ "…": "mldr",
+ "·": "middot",
+ "'": "apos",
+ "‘": "lsquo",
+ "’": "rsquo",
+ "‚": "sbquo",
+ "‹": "lsaquo",
+ "›": "rsaquo",
+ '"': "quot",
+ "“": "ldquo",
+ "”": "rdquo",
+ "„": "bdquo",
+ "«": "laquo",
+ "»": "raquo",
+ "(": "lpar",
+ ")": "rpar",
+ "[": "lsqb",
+ "]": "rsqb",
+ "{": "lcub",
+ "}": "rcub",
+ "⌈": "lceil",
+ "⌉": "rceil",
+ "⌊": "lfloor",
+ "⌋": "rfloor",
+ "⦅": "lopar",
+ "⦆": "ropar",
+ "⦋": "lbrke",
+ "⦌": "rbrke",
+ "⦍": "lbrkslu",
+ "⦎": "rbrksld",
+ "⦏": "lbrksld",
+ "⦐": "rbrkslu",
+ "⦑": "langd",
+ "⦒": "rangd",
+ "⦓": "lparlt",
+ "⦔": "rpargt",
+ "⦕": "gtlPar",
+ "⦖": "ltrPar",
+ "⟦": "lobrk",
+ "⟧": "robrk",
+ "⟨": "lang",
+ "⟩": "rang",
+ "⟪": "Lang",
+ "⟫": "Rang",
+ "⟬": "loang",
+ "⟭": "roang",
+ "❲": "lbbrk",
+ "❳": "rbbrk",
+ "‖": "Vert",
+ "§": "sect",
+ "¶": "para",
+ "@": "commat",
+ "*": "ast",
+ "/": "sol",
+ undefined: null,
+ "&": "amp",
+ "#": "num",
+ "%": "percnt",
+ "‰": "permil",
+ "‱": "pertenk",
+ "†": "dagger",
+ "‡": "Dagger",
+ "•": "bull",
+ "⁃": "hybull",
+ "′": "prime",
+ "″": "Prime",
+ "‴": "tprime",
+ "⁗": "qprime",
+ "‵": "bprime",
+ "⁁": "caret",
+ "`": "grave",
+ "´": "acute",
+ "˜": "tilde",
+ "^": "Hat",
+ "¯": "macr",
+ "˘": "breve",
+ "˙": "dot",
+ "¨": "die",
+ "˚": "ring",
+ "˝": "dblac",
+ "¸": "cedil",
+ "˛": "ogon",
+ ˆ: "circ",
+ ˇ: "caron",
+ "°": "deg",
+ "©": "copy",
+ "®": "reg",
+ "℗": "copysr",
+ ℘: "wp",
+ "℞": "rx",
+ "℧": "mho",
+ "℩": "iiota",
+ "←": "larr",
+ "↚": "nlarr",
+ "→": "rarr",
+ "↛": "nrarr",
+ "↑": "uarr",
+ "↓": "darr",
+ "↔": "harr",
+ "↮": "nharr",
+ "↕": "varr",
+ "↖": "nwarr",
+ "↗": "nearr",
+ "↘": "searr",
+ "↙": "swarr",
+ "↝": "rarrw",
+ "↝̸": "nrarrw",
+ "↞": "Larr",
+ "↟": "Uarr",
+ "↠": "Rarr",
+ "↡": "Darr",
+ "↢": "larrtl",
+ "↣": "rarrtl",
+ "↤": "mapstoleft",
+ "↥": "mapstoup",
+ "↦": "map",
+ "↧": "mapstodown",
+ "↩": "larrhk",
+ "↪": "rarrhk",
+ "↫": "larrlp",
+ "↬": "rarrlp",
+ "↭": "harrw",
+ "↰": "lsh",
+ "↱": "rsh",
+ "↲": "ldsh",
+ "↳": "rdsh",
+ "↵": "crarr",
+ "↶": "cularr",
+ "↷": "curarr",
+ "↺": "olarr",
+ "↻": "orarr",
+ "↼": "lharu",
+ "↽": "lhard",
+ "↾": "uharr",
+ "↿": "uharl",
+ "⇀": "rharu",
+ "⇁": "rhard",
+ "⇂": "dharr",
+ "⇃": "dharl",
+ "⇄": "rlarr",
+ "⇅": "udarr",
+ "⇆": "lrarr",
+ "⇇": "llarr",
+ "⇈": "uuarr",
+ "⇉": "rrarr",
+ "⇊": "ddarr",
+ "⇋": "lrhar",
+ "⇌": "rlhar",
+ "⇐": "lArr",
+ "⇍": "nlArr",
+ "⇑": "uArr",
+ "⇒": "rArr",
+ "⇏": "nrArr",
+ "⇓": "dArr",
+ "⇔": "iff",
+ "⇎": "nhArr",
+ "⇕": "vArr",
+ "⇖": "nwArr",
+ "⇗": "neArr",
+ "⇘": "seArr",
+ "⇙": "swArr",
+ "⇚": "lAarr",
+ "⇛": "rAarr",
+ "⇝": "zigrarr",
+ "⇤": "larrb",
+ "⇥": "rarrb",
+ "⇵": "duarr",
+ "⇽": "loarr",
+ "⇾": "roarr",
+ "⇿": "hoarr",
+ "∀": "forall",
+ "∁": "comp",
+ "∂": "part",
+ "∂̸": "npart",
+ "∃": "exist",
+ "∄": "nexist",
+ "∅": "empty",
+ "∇": "Del",
+ "∈": "in",
+ "∉": "notin",
+ "∋": "ni",
+ "∌": "notni",
+ "϶": "bepsi",
+ "∏": "prod",
+ "∐": "coprod",
+ "∑": "sum",
+ "+": "plus",
+ "±": "pm",
+ "÷": "div",
+ "×": "times",
+ "<": "lt",
+ "≮": "nlt",
+ "<⃒": "nvlt",
+ "=": "equals",
+ "≠": "ne",
+ "=⃥": "bne",
+ "⩵": "Equal",
+ ">": "gt",
+ "≯": "ngt",
+ ">⃒": "nvgt",
+ "¬": "not",
+ "|": "vert",
+ "¦": "brvbar",
+ "−": "minus",
+ "∓": "mp",
+ "∔": "plusdo",
+ "⁄": "frasl",
+ "∖": "setmn",
+ "∗": "lowast",
+ "∘": "compfn",
+ "√": "Sqrt",
+ "∝": "prop",
+ "∞": "infin",
+ "∟": "angrt",
+ "∠": "ang",
+ "∠⃒": "nang",
+ "∡": "angmsd",
+ "∢": "angsph",
+ "∣": "mid",
+ "∤": "nmid",
+ "∥": "par",
+ "∦": "npar",
+ "∧": "and",
+ "∨": "or",
+ "∩": "cap",
+ "∩︀": "caps",
+ "∪": "cup",
+ "∪︀": "cups",
+ "∫": "int",
+ "∬": "Int",
+ "∭": "tint",
+ "⨌": "qint",
+ "∮": "oint",
+ "∯": "Conint",
+ "∰": "Cconint",
+ "∱": "cwint",
+ "∲": "cwconint",
+ "∳": "awconint",
+ "∴": "there4",
+ "∵": "becaus",
+ "∶": "ratio",
+ "∷": "Colon",
+ "∸": "minusd",
+ "∺": "mDDot",
+ "∻": "homtht",
+ "∼": "sim",
+ "≁": "nsim",
+ "∼⃒": "nvsim",
+ "∽": "bsim",
+ "∽̱": "race",
+ "∾": "ac",
+ "∾̳": "acE",
+ "∿": "acd",
+ "≀": "wr",
+ "≂": "esim",
+ "≂̸": "nesim",
+ "≃": "sime",
+ "≄": "nsime",
+ "≅": "cong",
+ "≇": "ncong",
+ "≆": "simne",
+ "≈": "ap",
+ "≉": "nap",
+ "≊": "ape",
+ "≋": "apid",
+ "≋̸": "napid",
+ "≌": "bcong",
+ "≍": "CupCap",
+ "≭": "NotCupCap",
+ "≍⃒": "nvap",
+ "≎": "bump",
+ "≎̸": "nbump",
+ "≏": "bumpe",
+ "≏̸": "nbumpe",
+ "≐": "doteq",
+ "≐̸": "nedot",
+ "≑": "eDot",
+ "≒": "efDot",
+ "≓": "erDot",
+ "≔": "colone",
+ "≕": "ecolon",
+ "≖": "ecir",
+ "≗": "cire",
+ "≙": "wedgeq",
+ "≚": "veeeq",
+ "≜": "trie",
+ "≟": "equest",
+ "≡": "equiv",
+ "≢": "nequiv",
+ "≡⃥": "bnequiv",
+ "≤": "le",
+ "≰": "nle",
+ "≤⃒": "nvle",
+ "≥": "ge",
+ "≱": "nge",
+ "≥⃒": "nvge",
+ "≦": "lE",
+ "≦̸": "nlE",
+ "≧": "gE",
+ "≧̸": "ngE",
+ "≨︀": "lvnE",
+ "≨": "lnE",
+ "≩": "gnE",
+ "≩︀": "gvnE",
+ "≪": "ll",
+ "≪̸": "nLtv",
+ "≪⃒": "nLt",
+ "≫": "gg",
+ "≫̸": "nGtv",
+ "≫⃒": "nGt",
+ "≬": "twixt",
+ "≲": "lsim",
+ "≴": "nlsim",
+ "≳": "gsim",
+ "≵": "ngsim",
+ "≶": "lg",
+ "≸": "ntlg",
+ "≷": "gl",
+ "≹": "ntgl",
+ "≺": "pr",
+ "⊀": "npr",
+ "≻": "sc",
+ "⊁": "nsc",
+ "≼": "prcue",
+ "⋠": "nprcue",
+ "≽": "sccue",
+ "⋡": "nsccue",
+ "≾": "prsim",
+ "≿": "scsim",
+ "≿̸": "NotSucceedsTilde",
+ "⊂": "sub",
+ "⊄": "nsub",
+ "⊂⃒": "vnsub",
+ "⊃": "sup",
+ "⊅": "nsup",
+ "⊃⃒": "vnsup",
+ "⊆": "sube",
+ "⊈": "nsube",
+ "⊇": "supe",
+ "⊉": "nsupe",
+ "⊊︀": "vsubne",
+ "⊊": "subne",
+ "⊋︀": "vsupne",
+ "⊋": "supne",
+ "⊍": "cupdot",
+ "⊎": "uplus",
+ "⊏": "sqsub",
+ "⊏̸": "NotSquareSubset",
+ "⊐": "sqsup",
+ "⊐̸": "NotSquareSuperset",
+ "⊑": "sqsube",
+ "⋢": "nsqsube",
+ "⊒": "sqsupe",
+ "⋣": "nsqsupe",
+ "⊓": "sqcap",
+ "⊓︀": "sqcaps",
+ "⊔": "sqcup",
+ "⊔︀": "sqcups",
+ "⊕": "oplus",
+ "⊖": "ominus",
+ "⊗": "otimes",
+ "⊘": "osol",
+ "⊙": "odot",
+ "⊚": "ocir",
+ "⊛": "oast",
+ "⊝": "odash",
+ "⊞": "plusb",
+ "⊟": "minusb",
+ "⊠": "timesb",
+ "⊡": "sdotb",
+ "⊢": "vdash",
+ "⊬": "nvdash",
+ "⊣": "dashv",
+ "⊤": "top",
+ "⊥": "bot",
+ "⊧": "models",
+ "⊨": "vDash",
+ "⊭": "nvDash",
+ "⊩": "Vdash",
+ "⊮": "nVdash",
+ "⊪": "Vvdash",
+ "⊫": "VDash",
+ "⊯": "nVDash",
+ "⊰": "prurel",
+ "⊲": "vltri",
+ "⋪": "nltri",
+ "⊳": "vrtri",
+ "⋫": "nrtri",
+ "⊴": "ltrie",
+ "⋬": "nltrie",
+ "⊴⃒": "nvltrie",
+ "⊵": "rtrie",
+ "⋭": "nrtrie",
+ "⊵⃒": "nvrtrie",
+ "⊶": "origof",
+ "⊷": "imof",
+ "⊸": "mumap",
+ "⊹": "hercon",
+ "⊺": "intcal",
+ "⊻": "veebar",
+ "⊽": "barvee",
+ "⊾": "angrtvb",
+ "⊿": "lrtri",
+ "⋀": "Wedge",
+ "⋁": "Vee",
+ "⋂": "xcap",
+ "⋃": "xcup",
+ "⋄": "diam",
+ "⋅": "sdot",
+ "⋆": "Star",
+ "⋇": "divonx",
+ "⋈": "bowtie",
+ "⋉": "ltimes",
+ "⋊": "rtimes",
+ "⋋": "lthree",
+ "⋌": "rthree",
+ "⋍": "bsime",
+ "⋎": "cuvee",
+ "⋏": "cuwed",
+ "⋐": "Sub",
+ "⋑": "Sup",
+ "⋒": "Cap",
+ "⋓": "Cup",
+ "⋔": "fork",
+ "⋕": "epar",
+ "⋖": "ltdot",
+ "⋗": "gtdot",
+ "⋘": "Ll",
+ "⋘̸": "nLl",
+ "⋙": "Gg",
+ "⋙̸": "nGg",
+ "⋚︀": "lesg",
+ "⋚": "leg",
+ "⋛": "gel",
+ "⋛︀": "gesl",
+ "⋞": "cuepr",
+ "⋟": "cuesc",
+ "⋦": "lnsim",
+ "⋧": "gnsim",
+ "⋨": "prnsim",
+ "⋩": "scnsim",
+ "⋮": "vellip",
+ "⋯": "ctdot",
+ "⋰": "utdot",
+ "⋱": "dtdot",
+ "⋲": "disin",
+ "⋳": "isinsv",
+ "⋴": "isins",
+ "⋵": "isindot",
+ "⋵̸": "notindot",
+ "⋶": "notinvc",
+ "⋷": "notinvb",
+ "⋹": "isinE",
+ "⋹̸": "notinE",
+ "⋺": "nisd",
+ "⋻": "xnis",
+ "⋼": "nis",
+ "⋽": "notnivc",
+ "⋾": "notnivb",
+ "⌅": "barwed",
+ "⌆": "Barwed",
+ "⌌": "drcrop",
+ "⌍": "dlcrop",
+ "⌎": "urcrop",
+ "⌏": "ulcrop",
+ "⌐": "bnot",
+ "⌒": "profline",
+ "⌓": "profsurf",
+ "⌕": "telrec",
+ "⌖": "target",
+ "⌜": "ulcorn",
+ "⌝": "urcorn",
+ "⌞": "dlcorn",
+ "⌟": "drcorn",
+ "⌢": "frown",
+ "⌣": "smile",
+ "⌭": "cylcty",
+ "⌮": "profalar",
+ "⌶": "topbot",
+ "⌽": "ovbar",
+ "⌿": "solbar",
+ "⍼": "angzarr",
+ "⎰": "lmoust",
+ "⎱": "rmoust",
+ "⎴": "tbrk",
+ "⎵": "bbrk",
+ "⎶": "bbrktbrk",
+ "⏜": "OverParenthesis",
+ "⏝": "UnderParenthesis",
+ "⏞": "OverBrace",
+ "⏟": "UnderBrace",
+ "⏢": "trpezium",
+ "⏧": "elinters",
+ "␣": "blank",
+ "─": "boxh",
+ "│": "boxv",
+ "┌": "boxdr",
+ "┐": "boxdl",
+ "└": "boxur",
+ "┘": "boxul",
+ "├": "boxvr",
+ "┤": "boxvl",
+ "┬": "boxhd",
+ "┴": "boxhu",
+ "┼": "boxvh",
+ "═": "boxH",
+ "║": "boxV",
+ "╒": "boxdR",
+ "╓": "boxDr",
+ "╔": "boxDR",
+ "╕": "boxdL",
+ "╖": "boxDl",
+ "╗": "boxDL",
+ "╘": "boxuR",
+ "╙": "boxUr",
+ "╚": "boxUR",
+ "╛": "boxuL",
+ "╜": "boxUl",
+ "╝": "boxUL",
+ "╞": "boxvR",
+ "╟": "boxVr",
+ "╠": "boxVR",
+ "╡": "boxvL",
+ "╢": "boxVl",
+ "╣": "boxVL",
+ "╤": "boxHd",
+ "╥": "boxhD",
+ "╦": "boxHD",
+ "╧": "boxHu",
+ "╨": "boxhU",
+ "╩": "boxHU",
+ "╪": "boxvH",
+ "╫": "boxVh",
+ "╬": "boxVH",
+ "▀": "uhblk",
+ "▄": "lhblk",
+ "█": "block",
+ "░": "blk14",
+ "▒": "blk12",
+ "▓": "blk34",
+ "□": "squ",
+ "▪": "squf",
+ "▫": "EmptyVerySmallSquare",
+ "▭": "rect",
+ "▮": "marker",
+ "▱": "fltns",
+ "△": "xutri",
+ "▴": "utrif",
+ "▵": "utri",
+ "▸": "rtrif",
+ "▹": "rtri",
+ "▽": "xdtri",
+ "▾": "dtrif",
+ "▿": "dtri",
+ "◂": "ltrif",
+ "◃": "ltri",
+ "◊": "loz",
+ "○": "cir",
+ "◬": "tridot",
+ "◯": "xcirc",
+ "◸": "ultri",
+ "◹": "urtri",
+ "◺": "lltri",
+ "◻": "EmptySmallSquare",
+ "◼": "FilledSmallSquare",
+ "★": "starf",
+ "☆": "star",
+ "☎": "phone",
+ "♀": "female",
+ "♂": "male",
+ "♠": "spades",
+ "♣": "clubs",
+ "♥": "hearts",
+ "♦": "diams",
+ "♪": "sung",
+ "✓": "check",
+ "✗": "cross",
+ "✠": "malt",
+ "✶": "sext",
+ "❘": "VerticalSeparator",
+ "⟈": "bsolhsub",
+ "⟉": "suphsol",
+ "⟵": "xlarr",
+ "⟶": "xrarr",
+ "⟷": "xharr",
+ "⟸": "xlArr",
+ "⟹": "xrArr",
+ "⟺": "xhArr",
+ "⟼": "xmap",
+ "⟿": "dzigrarr",
+ "⤂": "nvlArr",
+ "⤃": "nvrArr",
+ "⤄": "nvHarr",
+ "⤅": "Map",
+ "⤌": "lbarr",
+ "⤍": "rbarr",
+ "⤎": "lBarr",
+ "⤏": "rBarr",
+ "⤐": "RBarr",
+ "⤑": "DDotrahd",
+ "⤒": "UpArrowBar",
+ "⤓": "DownArrowBar",
+ "⤖": "Rarrtl",
+ "⤙": "latail",
+ "⤚": "ratail",
+ "⤛": "lAtail",
+ "⤜": "rAtail",
+ "⤝": "larrfs",
+ "⤞": "rarrfs",
+ "⤟": "larrbfs",
+ "⤠": "rarrbfs",
+ "⤣": "nwarhk",
+ "⤤": "nearhk",
+ "⤥": "searhk",
+ "⤦": "swarhk",
+ "⤧": "nwnear",
+ "⤨": "toea",
+ "⤩": "tosa",
+ "⤪": "swnwar",
+ "⤳": "rarrc",
+ "⤳̸": "nrarrc",
+ "⤵": "cudarrr",
+ "⤶": "ldca",
+ "⤷": "rdca",
+ "⤸": "cudarrl",
+ "⤹": "larrpl",
+ "⤼": "curarrm",
+ "⤽": "cularrp",
+ "⥅": "rarrpl",
+ "⥈": "harrcir",
+ "⥉": "Uarrocir",
+ "⥊": "lurdshar",
+ "⥋": "ldrushar",
+ "⥎": "LeftRightVector",
+ "⥏": "RightUpDownVector",
+ "⥐": "DownLeftRightVector",
+ "⥑": "LeftUpDownVector",
+ "⥒": "LeftVectorBar",
+ "⥓": "RightVectorBar",
+ "⥔": "RightUpVectorBar",
+ "⥕": "RightDownVectorBar",
+ "⥖": "DownLeftVectorBar",
+ "⥗": "DownRightVectorBar",
+ "⥘": "LeftUpVectorBar",
+ "⥙": "LeftDownVectorBar",
+ "⥚": "LeftTeeVector",
+ "⥛": "RightTeeVector",
+ "⥜": "RightUpTeeVector",
+ "⥝": "RightDownTeeVector",
+ "⥞": "DownLeftTeeVector",
+ "⥟": "DownRightTeeVector",
+ "⥠": "LeftUpTeeVector",
+ "⥡": "LeftDownTeeVector",
+ "⥢": "lHar",
+ "⥣": "uHar",
+ "⥤": "rHar",
+ "⥥": "dHar",
+ "⥦": "luruhar",
+ "⥧": "ldrdhar",
+ "⥨": "ruluhar",
+ "⥩": "rdldhar",
+ "⥪": "lharul",
+ "⥫": "llhard",
+ "⥬": "rharul",
+ "⥭": "lrhard",
+ "⥮": "udhar",
+ "⥯": "duhar",
+ "⥰": "RoundImplies",
+ "⥱": "erarr",
+ "⥲": "simrarr",
+ "⥳": "larrsim",
+ "⥴": "rarrsim",
+ "⥵": "rarrap",
+ "⥶": "ltlarr",
+ "⥸": "gtrarr",
+ "⥹": "subrarr",
+ "⥻": "suplarr",
+ "⥼": "lfisht",
+ "⥽": "rfisht",
+ "⥾": "ufisht",
+ "⥿": "dfisht",
+ "⦚": "vzigzag",
+ "⦜": "vangrt",
+ "⦝": "angrtvbd",
+ "⦤": "ange",
+ "⦥": "range",
+ "⦦": "dwangle",
+ "⦧": "uwangle",
+ "⦨": "angmsdaa",
+ "⦩": "angmsdab",
+ "⦪": "angmsdac",
+ "⦫": "angmsdad",
+ "⦬": "angmsdae",
+ "⦭": "angmsdaf",
+ "⦮": "angmsdag",
+ "⦯": "angmsdah",
+ "⦰": "bemptyv",
+ "⦱": "demptyv",
+ "⦲": "cemptyv",
+ "⦳": "raemptyv",
+ "⦴": "laemptyv",
+ "⦵": "ohbar",
+ "⦶": "omid",
+ "⦷": "opar",
+ "⦹": "operp",
+ "⦻": "olcross",
+ "⦼": "odsold",
+ "⦾": "olcir",
+ "⦿": "ofcir",
+ "⧀": "olt",
+ "⧁": "ogt",
+ "⧂": "cirscir",
+ "⧃": "cirE",
+ "⧄": "solb",
+ "⧅": "bsolb",
+ "⧉": "boxbox",
+ "⧍": "trisb",
+ "⧎": "rtriltri",
+ "⧏": "LeftTriangleBar",
+ "⧏̸": "NotLeftTriangleBar",
+ "⧐": "RightTriangleBar",
+ "⧐̸": "NotRightTriangleBar",
+ "⧜": "iinfin",
+ "⧝": "infintie",
+ "⧞": "nvinfin",
+ "⧣": "eparsl",
+ "⧤": "smeparsl",
+ "⧥": "eqvparsl",
+ "⧫": "lozf",
+ "⧴": "RuleDelayed",
+ "⧶": "dsol",
+ "⨀": "xodot",
+ "⨁": "xoplus",
+ "⨂": "xotime",
+ "⨄": "xuplus",
+ "⨆": "xsqcup",
+ "⨍": "fpartint",
+ "⨐": "cirfnint",
+ "⨑": "awint",
+ "⨒": "rppolint",
+ "⨓": "scpolint",
+ "⨔": "npolint",
+ "⨕": "pointint",
+ "⨖": "quatint",
+ "⨗": "intlarhk",
+ "⨢": "pluscir",
+ "⨣": "plusacir",
+ "⨤": "simplus",
+ "⨥": "plusdu",
+ "⨦": "plussim",
+ "⨧": "plustwo",
+ "⨩": "mcomma",
+ "⨪": "minusdu",
+ "⨭": "loplus",
+ "⨮": "roplus",
+ "⨯": "Cross",
+ "⨰": "timesd",
+ "⨱": "timesbar",
+ "⨳": "smashp",
+ "⨴": "lotimes",
+ "⨵": "rotimes",
+ "⨶": "otimesas",
+ "⨷": "Otimes",
+ "⨸": "odiv",
+ "⨹": "triplus",
+ "⨺": "triminus",
+ "⨻": "tritime",
+ "⨼": "iprod",
+ "⨿": "amalg",
+ "⩀": "capdot",
+ "⩂": "ncup",
+ "⩃": "ncap",
+ "⩄": "capand",
+ "⩅": "cupor",
+ "⩆": "cupcap",
+ "⩇": "capcup",
+ "⩈": "cupbrcap",
+ "⩉": "capbrcup",
+ "⩊": "cupcup",
+ "⩋": "capcap",
+ "⩌": "ccups",
+ "⩍": "ccaps",
+ "⩐": "ccupssm",
+ "⩓": "And",
+ "⩔": "Or",
+ "⩕": "andand",
+ "⩖": "oror",
+ "⩗": "orslope",
+ "⩘": "andslope",
+ "⩚": "andv",
+ "⩛": "orv",
+ "⩜": "andd",
+ "⩝": "ord",
+ "⩟": "wedbar",
+ "⩦": "sdote",
+ "⩪": "simdot",
+ "⩭": "congdot",
+ "⩭̸": "ncongdot",
+ "⩮": "easter",
+ "⩯": "apacir",
+ "⩰": "apE",
+ "⩰̸": "napE",
+ "⩱": "eplus",
+ "⩲": "pluse",
+ "⩳": "Esim",
+ "⩷": "eDDot",
+ "⩸": "equivDD",
+ "⩹": "ltcir",
+ "⩺": "gtcir",
+ "⩻": "ltquest",
+ "⩼": "gtquest",
+ "⩽": "les",
+ "⩽̸": "nles",
+ "⩾": "ges",
+ "⩾̸": "nges",
+ "⩿": "lesdot",
+ "⪀": "gesdot",
+ "⪁": "lesdoto",
+ "⪂": "gesdoto",
+ "⪃": "lesdotor",
+ "⪄": "gesdotol",
+ "⪅": "lap",
+ "⪆": "gap",
+ "⪇": "lne",
+ "⪈": "gne",
+ "⪉": "lnap",
+ "⪊": "gnap",
+ "⪋": "lEg",
+ "⪌": "gEl",
+ "⪍": "lsime",
+ "⪎": "gsime",
+ "⪏": "lsimg",
+ "⪐": "gsiml",
+ "⪑": "lgE",
+ "⪒": "glE",
+ "⪓": "lesges",
+ "⪔": "gesles",
+ "⪕": "els",
+ "⪖": "egs",
+ "⪗": "elsdot",
+ "⪘": "egsdot",
+ "⪙": "el",
+ "⪚": "eg",
+ "⪝": "siml",
+ "⪞": "simg",
+ "⪟": "simlE",
+ "⪠": "simgE",
+ "⪡": "LessLess",
+ "⪡̸": "NotNestedLessLess",
+ "⪢": "GreaterGreater",
+ "⪢̸": "NotNestedGreaterGreater",
+ "⪤": "glj",
+ "⪥": "gla",
+ "⪦": "ltcc",
+ "⪧": "gtcc",
+ "⪨": "lescc",
+ "⪩": "gescc",
+ "⪪": "smt",
+ "⪫": "lat",
+ "⪬": "smte",
+ "⪬︀": "smtes",
+ "⪭": "late",
+ "⪭︀": "lates",
+ "⪮": "bumpE",
+ "⪯": "pre",
+ "⪯̸": "npre",
+ "⪰": "sce",
+ "⪰̸": "nsce",
+ "⪳": "prE",
+ "⪴": "scE",
+ "⪵": "prnE",
+ "⪶": "scnE",
+ "⪷": "prap",
+ "⪸": "scap",
+ "⪹": "prnap",
+ "⪺": "scnap",
+ "⪻": "Pr",
+ "⪼": "Sc",
+ "⪽": "subdot",
+ "⪾": "supdot",
+ "⪿": "subplus",
+ "⫀": "supplus",
+ "⫁": "submult",
+ "⫂": "supmult",
+ "⫃": "subedot",
+ "⫄": "supedot",
+ "⫅": "subE",
+ "⫅̸": "nsubE",
+ "⫆": "supE",
+ "⫆̸": "nsupE",
+ "⫇": "subsim",
+ "⫈": "supsim",
+ "⫋︀": "vsubnE",
+ "⫋": "subnE",
+ "⫌︀": "vsupnE",
+ "⫌": "supnE",
+ "⫏": "csub",
+ "⫐": "csup",
+ "⫑": "csube",
+ "⫒": "csupe",
+ "⫓": "subsup",
+ "⫔": "supsub",
+ "⫕": "subsub",
+ "⫖": "supsup",
+ "⫗": "suphsub",
+ "⫘": "supdsub",
+ "⫙": "forkv",
+ "⫚": "topfork",
+ "⫛": "mlcp",
+ "⫤": "Dashv",
+ "⫦": "Vdashl",
+ "⫧": "Barv",
+ "⫨": "vBar",
+ "⫩": "vBarv",
+ "⫫": "Vbar",
+ "⫬": "Not",
+ "⫭": "bNot",
+ "⫮": "rnmid",
+ "⫯": "cirmid",
+ "⫰": "midcir",
+ "⫱": "topcir",
+ "⫲": "nhpar",
+ "⫳": "parsim",
+ "⫽": "parsl",
+ "⫽⃥": "nparsl",
+ "♭": "flat",
+ "♮": "natur",
+ "♯": "sharp",
+ "¤": "curren",
+ "¢": "cent",
+ $: "dollar",
+ "£": "pound",
+ "¥": "yen",
+ "€": "euro",
+ "¹": "sup1",
+ "½": "half",
+ "⅓": "frac13",
+ "¼": "frac14",
+ "⅕": "frac15",
+ "⅙": "frac16",
+ "⅛": "frac18",
+ "²": "sup2",
+ "⅔": "frac23",
+ "⅖": "frac25",
+ "³": "sup3",
+ "¾": "frac34",
+ "⅗": "frac35",
+ "⅜": "frac38",
+ "⅘": "frac45",
+ "⅚": "frac56",
+ "⅝": "frac58",
+ "⅞": "frac78",
+ 𝒶: "ascr",
+ 𝕒: "aopf",
+ 𝔞: "afr",
+ 𝔸: "Aopf",
+ 𝔄: "Afr",
+ 𝒜: "Ascr",
+ ª: "ordf",
+ á: "aacute",
+ Á: "Aacute",
+ à: "agrave",
+ À: "Agrave",
+ ă: "abreve",
+ Ă: "Abreve",
+ â: "acirc",
+ Â: "Acirc",
+ å: "aring",
+ Å: "angst",
+ ä: "auml",
+ Ä: "Auml",
+ ã: "atilde",
+ Ã: "Atilde",
+ ą: "aogon",
+ Ą: "Aogon",
+ ā: "amacr",
+ Ā: "Amacr",
+ æ: "aelig",
+ Æ: "AElig",
+ 𝒷: "bscr",
+ 𝕓: "bopf",
+ 𝔟: "bfr",
+ 𝔹: "Bopf",
+ ℬ: "Bscr",
+ 𝔅: "Bfr",
+ 𝔠: "cfr",
+ 𝒸: "cscr",
+ 𝕔: "copf",
+ ℭ: "Cfr",
+ 𝒞: "Cscr",
+ ℂ: "Copf",
+ ć: "cacute",
+ Ć: "Cacute",
+ ĉ: "ccirc",
+ Ĉ: "Ccirc",
+ č: "ccaron",
+ Č: "Ccaron",
+ ċ: "cdot",
+ Ċ: "Cdot",
+ ç: "ccedil",
+ Ç: "Ccedil",
+ "℅": "incare",
+ 𝔡: "dfr",
+ ⅆ: "dd",
+ 𝕕: "dopf",
+ 𝒹: "dscr",
+ 𝒟: "Dscr",
+ 𝔇: "Dfr",
+ ⅅ: "DD",
+ 𝔻: "Dopf",
+ ď: "dcaron",
+ Ď: "Dcaron",
+ đ: "dstrok",
+ Đ: "Dstrok",
+ ð: "eth",
+ Ð: "ETH",
+ ⅇ: "ee",
+ ℯ: "escr",
+ 𝔢: "efr",
+ 𝕖: "eopf",
+ ℰ: "Escr",
+ 𝔈: "Efr",
+ 𝔼: "Eopf",
+ é: "eacute",
+ É: "Eacute",
+ è: "egrave",
+ È: "Egrave",
+ ê: "ecirc",
+ Ê: "Ecirc",
+ ě: "ecaron",
+ Ě: "Ecaron",
+ ë: "euml",
+ Ë: "Euml",
+ ė: "edot",
+ Ė: "Edot",
+ ę: "eogon",
+ Ę: "Eogon",
+ ē: "emacr",
+ Ē: "Emacr",
+ 𝔣: "ffr",
+ 𝕗: "fopf",
+ 𝒻: "fscr",
+ 𝔉: "Ffr",
+ 𝔽: "Fopf",
+ ℱ: "Fscr",
+ ff: "fflig",
+ ffi: "ffilig",
+ ffl: "ffllig",
+ fi: "filig",
+ fj: "fjlig",
+ fl: "fllig",
+ ƒ: "fnof",
+ ℊ: "gscr",
+ 𝕘: "gopf",
+ 𝔤: "gfr",
+ 𝒢: "Gscr",
+ 𝔾: "Gopf",
+ 𝔊: "Gfr",
+ ǵ: "gacute",
+ ğ: "gbreve",
+ Ğ: "Gbreve",
+ ĝ: "gcirc",
+ Ĝ: "Gcirc",
+ ġ: "gdot",
+ Ġ: "Gdot",
+ Ģ: "Gcedil",
+ 𝔥: "hfr",
+ ℎ: "planckh",
+ 𝒽: "hscr",
+ 𝕙: "hopf",
+ ℋ: "Hscr",
+ ℌ: "Hfr",
+ ℍ: "Hopf",
+ ĥ: "hcirc",
+ Ĥ: "Hcirc",
+ ℏ: "hbar",
+ ħ: "hstrok",
+ Ħ: "Hstrok",
+ 𝕚: "iopf",
+ 𝔦: "ifr",
+ 𝒾: "iscr",
+ ⅈ: "ii",
+ 𝕀: "Iopf",
+ ℐ: "Iscr",
+ ℑ: "Im",
+ í: "iacute",
+ Í: "Iacute",
+ ì: "igrave",
+ Ì: "Igrave",
+ î: "icirc",
+ Î: "Icirc",
+ ï: "iuml",
+ Ï: "Iuml",
+ ĩ: "itilde",
+ Ĩ: "Itilde",
+ İ: "Idot",
+ į: "iogon",
+ Į: "Iogon",
+ ī: "imacr",
+ Ī: "Imacr",
+ ij: "ijlig",
+ IJ: "IJlig",
+ ı: "imath",
+ 𝒿: "jscr",
+ 𝕛: "jopf",
+ 𝔧: "jfr",
+ 𝒥: "Jscr",
+ 𝔍: "Jfr",
+ 𝕁: "Jopf",
+ ĵ: "jcirc",
+ Ĵ: "Jcirc",
+ ȷ: "jmath",
+ 𝕜: "kopf",
+ 𝓀: "kscr",
+ 𝔨: "kfr",
+ 𝒦: "Kscr",
+ 𝕂: "Kopf",
+ 𝔎: "Kfr",
+ ķ: "kcedil",
+ Ķ: "Kcedil",
+ 𝔩: "lfr",
+ 𝓁: "lscr",
+ ℓ: "ell",
+ 𝕝: "lopf",
+ ℒ: "Lscr",
+ 𝔏: "Lfr",
+ 𝕃: "Lopf",
+ ĺ: "lacute",
+ Ĺ: "Lacute",
+ ľ: "lcaron",
+ Ľ: "Lcaron",
+ ļ: "lcedil",
+ Ļ: "Lcedil",
+ ł: "lstrok",
+ Ł: "Lstrok",
+ ŀ: "lmidot",
+ Ŀ: "Lmidot",
+ 𝔪: "mfr",
+ 𝕞: "mopf",
+ 𝓂: "mscr",
+ 𝔐: "Mfr",
+ 𝕄: "Mopf",
+ ℳ: "Mscr",
+ 𝔫: "nfr",
+ 𝕟: "nopf",
+ 𝓃: "nscr",
+ ℕ: "Nopf",
+ 𝒩: "Nscr",
+ 𝔑: "Nfr",
+ ń: "nacute",
+ Ń: "Nacute",
+ ň: "ncaron",
+ Ň: "Ncaron",
+ ñ: "ntilde",
+ Ñ: "Ntilde",
+ ņ: "ncedil",
+ Ņ: "Ncedil",
+ "№": "numero",
+ ŋ: "eng",
+ Ŋ: "ENG",
+ 𝕠: "oopf",
+ 𝔬: "ofr",
+ ℴ: "oscr",
+ 𝒪: "Oscr",
+ 𝔒: "Ofr",
+ 𝕆: "Oopf",
+ º: "ordm",
+ ó: "oacute",
+ Ó: "Oacute",
+ ò: "ograve",
+ Ò: "Ograve",
+ ô: "ocirc",
+ Ô: "Ocirc",
+ ö: "ouml",
+ Ö: "Ouml",
+ ő: "odblac",
+ Ő: "Odblac",
+ õ: "otilde",
+ Õ: "Otilde",
+ ø: "oslash",
+ Ø: "Oslash",
+ ō: "omacr",
+ Ō: "Omacr",
+ œ: "oelig",
+ Œ: "OElig",
+ 𝔭: "pfr",
+ 𝓅: "pscr",
+ 𝕡: "popf",
+ ℙ: "Popf",
+ 𝔓: "Pfr",
+ 𝒫: "Pscr",
+ 𝕢: "qopf",
+ 𝔮: "qfr",
+ 𝓆: "qscr",
+ 𝒬: "Qscr",
+ 𝔔: "Qfr",
+ ℚ: "Qopf",
+ ĸ: "kgreen",
+ 𝔯: "rfr",
+ 𝕣: "ropf",
+ 𝓇: "rscr",
+ ℛ: "Rscr",
+ ℜ: "Re",
+ ℝ: "Ropf",
+ ŕ: "racute",
+ Ŕ: "Racute",
+ ř: "rcaron",
+ Ř: "Rcaron",
+ ŗ: "rcedil",
+ Ŗ: "Rcedil",
+ 𝕤: "sopf",
+ 𝓈: "sscr",
+ 𝔰: "sfr",
+ 𝕊: "Sopf",
+ 𝔖: "Sfr",
+ 𝒮: "Sscr",
+ "Ⓢ": "oS",
+ ś: "sacute",
+ Ś: "Sacute",
+ ŝ: "scirc",
+ Ŝ: "Scirc",
+ š: "scaron",
+ Š: "Scaron",
+ ş: "scedil",
+ Ş: "Scedil",
+ ß: "szlig",
+ 𝔱: "tfr",
+ 𝓉: "tscr",
+ 𝕥: "topf",
+ 𝒯: "Tscr",
+ 𝔗: "Tfr",
+ 𝕋: "Topf",
+ ť: "tcaron",
+ Ť: "Tcaron",
+ ţ: "tcedil",
+ Ţ: "Tcedil",
+ "™": "trade",
+ ŧ: "tstrok",
+ Ŧ: "Tstrok",
+ 𝓊: "uscr",
+ 𝕦: "uopf",
+ 𝔲: "ufr",
+ 𝕌: "Uopf",
+ 𝔘: "Ufr",
+ 𝒰: "Uscr",
+ ú: "uacute",
+ Ú: "Uacute",
+ ù: "ugrave",
+ Ù: "Ugrave",
+ ŭ: "ubreve",
+ Ŭ: "Ubreve",
+ û: "ucirc",
+ Û: "Ucirc",
+ ů: "uring",
+ Ů: "Uring",
+ ü: "uuml",
+ Ü: "Uuml",
+ ű: "udblac",
+ Ű: "Udblac",
+ ũ: "utilde",
+ Ũ: "Utilde",
+ ų: "uogon",
+ Ų: "Uogon",
+ ū: "umacr",
+ Ū: "Umacr",
+ 𝔳: "vfr",
+ 𝕧: "vopf",
+ 𝓋: "vscr",
+ 𝔙: "Vfr",
+ 𝕍: "Vopf",
+ 𝒱: "Vscr",
+ 𝕨: "wopf",
+ 𝓌: "wscr",
+ 𝔴: "wfr",
+ 𝒲: "Wscr",
+ 𝕎: "Wopf",
+ 𝔚: "Wfr",
+ ŵ: "wcirc",
+ Ŵ: "Wcirc",
+ 𝔵: "xfr",
+ 𝓍: "xscr",
+ 𝕩: "xopf",
+ 𝕏: "Xopf",
+ 𝔛: "Xfr",
+ 𝒳: "Xscr",
+ 𝔶: "yfr",
+ 𝓎: "yscr",
+ 𝕪: "yopf",
+ 𝒴: "Yscr",
+ 𝔜: "Yfr",
+ 𝕐: "Yopf",
+ ý: "yacute",
+ Ý: "Yacute",
+ ŷ: "ycirc",
+ Ŷ: "Ycirc",
+ ÿ: "yuml",
+ Ÿ: "Yuml",
+ 𝓏: "zscr",
+ 𝔷: "zfr",
+ 𝕫: "zopf",
+ ℨ: "Zfr",
+ ℤ: "Zopf",
+ 𝒵: "Zscr",
+ ź: "zacute",
+ Ź: "Zacute",
+ ž: "zcaron",
+ Ž: "Zcaron",
+ ż: "zdot",
+ Ż: "Zdot",
+ Ƶ: "imped",
+ þ: "thorn",
+ Þ: "THORN",
+ ʼn: "napos",
+ α: "alpha",
+ Α: "Alpha",
+ β: "beta",
+ Β: "Beta",
+ γ: "gamma",
+ Γ: "Gamma",
+ δ: "delta",
+ Δ: "Delta",
+ ε: "epsi",
+ ϵ: "epsiv",
+ Ε: "Epsilon",
+ ϝ: "gammad",
+ Ϝ: "Gammad",
+ ζ: "zeta",
+ Ζ: "Zeta",
+ η: "eta",
+ Η: "Eta",
+ θ: "theta",
+ ϑ: "thetav",
+ Θ: "Theta",
+ ι: "iota",
+ Ι: "Iota",
+ κ: "kappa",
+ ϰ: "kappav",
+ Κ: "Kappa",
+ λ: "lambda",
+ Λ: "Lambda",
+ μ: "mu",
+ µ: "micro",
+ Μ: "Mu",
+ ν: "nu",
+ Ν: "Nu",
+ ξ: "xi",
+ Ξ: "Xi",
+ ο: "omicron",
+ Ο: "Omicron",
+ π: "pi",
+ ϖ: "piv",
+ Π: "Pi",
+ ρ: "rho",
+ ϱ: "rhov",
+ Ρ: "Rho",
+ σ: "sigma",
+ Σ: "Sigma",
+ ς: "sigmaf",
+ τ: "tau",
+ Τ: "Tau",
+ υ: "upsi",
+ Υ: "Upsilon",
+ ϒ: "Upsi",
+ φ: "phi",
+ ϕ: "phiv",
+ Φ: "Phi",
+ χ: "chi",
+ Χ: "Chi",
+ ψ: "psi",
+ Ψ: "Psi",
+ ω: "omega",
+ Ω: "ohm",
+ а: "acy",
+ А: "Acy",
+ б: "bcy",
+ Б: "Bcy",
+ в: "vcy",
+ В: "Vcy",
+ г: "gcy",
+ Г: "Gcy",
+ ѓ: "gjcy",
+ Ѓ: "GJcy",
+ д: "dcy",
+ Д: "Dcy",
+ ђ: "djcy",
+ Ђ: "DJcy",
+ е: "iecy",
+ Е: "IEcy",
+ ё: "iocy",
+ Ё: "IOcy",
+ є: "jukcy",
+ Є: "Jukcy",
+ ж: "zhcy",
+ Ж: "ZHcy",
+ з: "zcy",
+ З: "Zcy",
+ ѕ: "dscy",
+ Ѕ: "DScy",
+ и: "icy",
+ И: "Icy",
+ і: "iukcy",
+ І: "Iukcy",
+ ї: "yicy",
+ Ї: "YIcy",
+ й: "jcy",
+ Й: "Jcy",
+ ј: "jsercy",
+ Ј: "Jsercy",
+ к: "kcy",
+ К: "Kcy",
+ ќ: "kjcy",
+ Ќ: "KJcy",
+ л: "lcy",
+ Л: "Lcy",
+ љ: "ljcy",
+ Љ: "LJcy",
+ м: "mcy",
+ М: "Mcy",
+ н: "ncy",
+ Н: "Ncy",
+ њ: "njcy",
+ Њ: "NJcy",
+ о: "ocy",
+ О: "Ocy",
+ п: "pcy",
+ П: "Pcy",
+ р: "rcy",
+ Р: "Rcy",
+ с: "scy",
+ С: "Scy",
+ т: "tcy",
+ Т: "Tcy",
+ ћ: "tshcy",
+ Ћ: "TSHcy",
+ у: "ucy",
+ У: "Ucy",
+ ў: "ubrcy",
+ Ў: "Ubrcy",
+ ф: "fcy",
+ Ф: "Fcy",
+ х: "khcy",
+ Х: "KHcy",
+ ц: "tscy",
+ Ц: "TScy",
+ ч: "chcy",
+ Ч: "CHcy",
+ џ: "dzcy",
+ Џ: "DZcy",
+ ш: "shcy",
+ Ш: "SHcy",
+ щ: "shchcy",
+ Щ: "SHCHcy",
+ ъ: "hardcy",
+ Ъ: "HARDcy",
+ ы: "ycy",
+ Ы: "Ycy",
+ ь: "softcy",
+ Ь: "SOFTcy",
+ э: "ecy",
+ Э: "Ecy",
+ ю: "yucy",
+ Ю: "YUcy",
+ я: "yacy",
+ Я: "YAcy",
+ ℵ: "aleph",
+ ℶ: "beth",
+ ℷ: "gimel",
+ ℸ: "daleth",
+ },
+ p = /["&'<>`]/g,
+ d = {
+ '"': """,
+ "&": "&",
+ "'": "'",
+ "<": "<",
+ ">": ">",
+ "`": "`",
+ },
+ f = /(?:[xX][^a-fA-F0-9]|[^0-9xX])/,
+ h =
+ /[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,
+ m =
+ /&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|([0-9]+)(;?)|[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g,
+ g = {
+ 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: "",
+ },
+ v = {
+ aacute: "á",
+ Aacute: "Á",
+ acirc: "â",
+ Acirc: "Â",
+ acute: "´",
+ aelig: "æ",
+ AElig: "Æ",
+ agrave: "à",
+ Agrave: "À",
+ amp: "&",
+ AMP: "&",
+ aring: "å",
+ Aring: "Å",
+ atilde: "ã",
+ Atilde: "Ã",
+ auml: "ä",
+ Auml: "Ä",
+ brvbar: "¦",
+ ccedil: "ç",
+ Ccedil: "Ç",
+ cedil: "¸",
+ cent: "¢",
+ copy: "©",
+ COPY: "©",
+ curren: "¤",
+ deg: "°",
+ divide: "÷",
+ eacute: "é",
+ Eacute: "É",
+ ecirc: "ê",
+ Ecirc: "Ê",
+ egrave: "è",
+ Egrave: "È",
+ eth: "ð",
+ ETH: "Ð",
+ euml: "ë",
+ Euml: "Ë",
+ frac12: "½",
+ frac14: "¼",
+ frac34: "¾",
+ gt: ">",
+ GT: ">",
+ iacute: "í",
+ Iacute: "Í",
+ icirc: "î",
+ Icirc: "Î",
+ iexcl: "¡",
+ igrave: "ì",
+ Igrave: "Ì",
+ iquest: "¿",
+ iuml: "ï",
+ Iuml: "Ï",
+ laquo: "«",
+ lt: "<",
+ LT: "<",
+ macr: "¯",
+ micro: "µ",
+ middot: "·",
+ nbsp: " ",
+ not: "¬",
+ ntilde: "ñ",
+ Ntilde: "Ñ",
+ oacute: "ó",
+ Oacute: "Ó",
+ ocirc: "ô",
+ Ocirc: "Ô",
+ ograve: "ò",
+ Ograve: "Ò",
+ ordf: "ª",
+ ordm: "º",
+ oslash: "ø",
+ Oslash: "Ø",
+ otilde: "õ",
+ Otilde: "Õ",
+ ouml: "ö",
+ Ouml: "Ö",
+ para: "¶",
+ plusmn: "±",
+ pound: "£",
+ quot: '"',
+ QUOT: '"',
+ raquo: "»",
+ reg: "®",
+ REG: "®",
+ sect: "§",
+ shy: "",
+ sup1: "¹",
+ sup2: "²",
+ sup3: "³",
+ szlig: "ß",
+ thorn: "þ",
+ THORN: "Þ",
+ times: "×",
+ uacute: "ú",
+ Uacute: "Ú",
+ ucirc: "û",
+ Ucirc: "Û",
+ ugrave: "ù",
+ Ugrave: "Ù",
+ uml: "¨",
+ uuml: "ü",
+ Uuml: "Ü",
+ yacute: "ý",
+ Yacute: "Ý",
+ yen: "¥",
+ yuml: "ÿ",
+ },
+ b = {
+ 0: "�",
+ 128: "€",
+ 130: "‚",
+ 131: "ƒ",
+ 132: "„",
+ 133: "…",
+ 134: "†",
+ 135: "‡",
+ 136: "ˆ",
+ 137: "‰",
+ 138: "Š",
+ 139: "‹",
+ 140: "Œ",
+ 142: "Ž",
+ 145: "‘",
+ 146: "’",
+ 147: "“",
+ 148: "”",
+ 149: "•",
+ 150: "–",
+ 151: "—",
+ 152: "˜",
+ 153: "™",
+ 154: "š",
+ 155: "›",
+ 156: "œ",
+ 158: "ž",
+ 159: "Ÿ",
+ },
+ y = [
+ 1, 2, 3, 4, 5, 6, 7, 8, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 127, 128, 129, 130, 131,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
+ 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
+ 158, 159, 64976, 64977, 64978, 64979, 64980, 64981, 64982,
+ 64983, 64984, 64985, 64986, 64987, 64988, 64989, 64990, 64991,
+ 64992, 64993, 64994, 64995, 64996, 64997, 64998, 64999, 65e3,
+ 65001, 65002, 65003, 65004, 65005, 65006, 65007, 65534, 65535,
+ 131070, 131071, 196606, 196607, 262142, 262143, 327678, 327679,
+ 393214, 393215, 458750, 458751, 524286, 524287, 589822, 589823,
+ 655358, 655359, 720894, 720895, 786430, 786431, 851966, 851967,
+ 917502, 917503, 983038, 983039, 1048574, 1048575, 1114110,
+ 1114111,
+ ],
+ w = String.fromCharCode,
+ E = {}.hasOwnProperty,
+ x = function (e, t) {
+ return E.call(e, t);
+ },
+ T = function (e, t) {
+ if (!e) return t;
+ var r,
+ n = {};
+ for (r in t) n[r] = x(e, r) ? e[r] : t[r];
+ return n;
+ },
+ k = function (e, t) {
+ var r = "";
+ return (e >= 55296 && e <= 57343) || e > 1114111
+ ? (t &&
+ N(
+ "character reference outside the permissible Unicode range"
+ ),
+ "�")
+ : x(b, e)
+ ? (t && N("disallowed character reference"), b[e])
+ : (t &&
+ (function (e, t) {
+ for (var r = -1, n = e.length; ++r < n; )
+ if (e[r] == t) return !0;
+ return !1;
+ })(y, e) &&
+ N("disallowed character reference"),
+ e > 65535 &&
+ ((r += w((((e -= 65536) >>> 10) & 1023) | 55296)),
+ (e = 56320 | (1023 & e))),
+ (r += w(e)));
+ },
+ _ = function (e) {
+ return "" + e.toString(16).toUpperCase() + ";";
+ },
+ A = function (e) {
+ return "" + e + ";";
+ },
+ N = function (e) {
+ throw Error("Parse error: " + e);
+ },
+ L = function (e, t) {
+ (t = T(t, L.options)).strict &&
+ h.test(e) &&
+ N("forbidden code point");
+ var r = t.encodeEverything,
+ n = t.useNamedReferences,
+ i = t.allowUnsafeSymbols,
+ o = t.decimal ? A : _,
+ d = function (e) {
+ return o(e.charCodeAt(0));
+ };
+ return (
+ r
+ ? ((e = e.replace(s, function (e) {
+ return n && x(u, e) ? "&" + u[e] + ";" : d(e);
+ })),
+ n &&
+ (e = e
+ .replace(/>\u20D2/g, ">⃒")
+ .replace(/<\u20D2/g, "<⃒")
+ .replace(/fj/g, "fj")),
+ n &&
+ (e = e.replace(c, function (e) {
+ return "&" + u[e] + ";";
+ })))
+ : n
+ ? (i ||
+ (e = e.replace(p, function (e) {
+ return "&" + u[e] + ";";
+ })),
+ (e = (e = e
+ .replace(/>\u20D2/g, ">⃒")
+ .replace(/<\u20D2/g, "<⃒")).replace(
+ c,
+ function (e) {
+ return "&" + u[e] + ";";
+ }
+ )))
+ : i || (e = e.replace(p, d)),
+ e
+ .replace(a, function (e) {
+ var t = e.charCodeAt(0),
+ r = e.charCodeAt(1);
+ return o(1024 * (t - 55296) + r - 56320 + 65536);
+ })
+ .replace(l, d)
+ );
+ };
+ L.options = {
+ allowUnsafeSymbols: !1,
+ encodeEverything: !1,
+ strict: !1,
+ useNamedReferences: !1,
+ decimal: !1,
+ };
+ var O = function (e, t) {
+ var r = (t = T(t, O.options)).strict;
+ return (
+ r && f.test(e) && N("malformed character reference"),
+ e.replace(m, function (e, n, i, o, a, s, l, c, u) {
+ var p, d, f, h, m, b;
+ return n
+ ? g[(m = n)]
+ : i
+ ? ((m = i),
+ (b = o) && t.isAttributeValue
+ ? (r &&
+ "=" == b &&
+ N("`&` did not start a character reference"),
+ e)
+ : (r &&
+ N(
+ "named character reference was not terminated by a semicolon"
+ ),
+ v[m] + (b || "")))
+ : a
+ ? ((f = a),
+ (d = s),
+ r &&
+ !d &&
+ N(
+ "character reference was not terminated by a semicolon"
+ ),
+ (p = parseInt(f, 10)),
+ k(p, r))
+ : l
+ ? ((h = l),
+ (d = c),
+ r &&
+ !d &&
+ N(
+ "character reference was not terminated by a semicolon"
+ ),
+ (p = parseInt(h, 16)),
+ k(p, r))
+ : (r &&
+ N(
+ "named character reference was not terminated by a semicolon"
+ ),
+ e);
+ })
+ );
+ };
+ O.options = { isAttributeValue: !1, strict: !1 };
+ var S = {
+ version: "1.2.0",
+ encode: L,
+ decode: O,
+ escape: function (e) {
+ return e.replace(p, function (e) {
+ return d[e];
+ });
+ },
+ unescape: O,
+ };
+ void 0 ===
+ (n = function () {
+ return S;
+ }.call(t, r, t, e)) || (e.exports = n);
+ })();
+ },
+ 6040: (e, t, r) => {
+ e = r.nmd(e);
+ var n = "__lodash_hash_undefined__",
+ i = 1,
+ o = 2,
+ a = 1 / 0,
+ s = 9007199254740991,
+ l = "[object Arguments]",
+ c = "[object Array]",
+ u = "[object Boolean]",
+ p = "[object Date]",
+ d = "[object Error]",
+ f = "[object Function]",
+ h = "[object GeneratorFunction]",
+ m = "[object Map]",
+ g = "[object Number]",
+ v = "[object Object]",
+ b = "[object Promise]",
+ y = "[object RegExp]",
+ w = "[object Set]",
+ E = "[object String]",
+ x = "[object Symbol]",
+ T = "[object WeakMap]",
+ k = "[object ArrayBuffer]",
+ _ = "[object DataView]",
+ A = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
+ N = /^\w*$/,
+ L = /^\./,
+ O =
+ /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,
+ S = /\\(\\)?/g,
+ C = /^\[object .+?Constructor\]$/,
+ D = /^(?:0|[1-9]\d*)$/,
+ q = {};
+ (q["[object Float32Array]"] =
+ q["[object Float64Array]"] =
+ q["[object Int8Array]"] =
+ q["[object Int16Array]"] =
+ q["[object Int32Array]"] =
+ q["[object Uint8Array]"] =
+ q["[object Uint8ClampedArray]"] =
+ q["[object Uint16Array]"] =
+ q["[object Uint32Array]"] =
+ !0),
+ (q[l] =
+ q[c] =
+ q[k] =
+ q[u] =
+ q[_] =
+ q[p] =
+ q[d] =
+ q[f] =
+ q[m] =
+ q[g] =
+ q[v] =
+ q[y] =
+ q[w] =
+ q[E] =
+ q[T] =
+ !1);
+ var R =
+ "object" == typeof global &&
+ global &&
+ global.Object === Object &&
+ global,
+ j = "object" == typeof self && self && self.Object === Object && self,
+ P = R || j || Function("return this")(),
+ B = t && !t.nodeType && t,
+ F = B && e && !e.nodeType && e,
+ M = F && F.exports === B && R.process,
+ I = (function () {
+ try {
+ return M && M.binding("util");
+ } catch (e) {}
+ })(),
+ U = I && I.isTypedArray;
+ function V(e, t) {
+ for (var r = -1, n = t.length, i = e.length; ++r < n; )
+ e[i + r] = t[r];
+ return e;
+ }
+ function H(e, t) {
+ for (var r = -1, n = e ? e.length : 0; ++r < n; )
+ if (t(e[r], r, e)) return !0;
+ return !1;
+ }
+ function G(e) {
+ var t = !1;
+ if (null != e && "function" != typeof e.toString)
+ try {
+ t = !!(e + "");
+ } catch (e) {}
+ return t;
+ }
+ function K(e) {
+ var t = -1,
+ r = Array(e.size);
+ return (
+ e.forEach(function (e, n) {
+ r[++t] = [n, e];
+ }),
+ r
+ );
+ }
+ function $(e, t) {
+ return function (r) {
+ return e(t(r));
+ };
+ }
+ function z(e) {
+ var t = -1,
+ r = Array(e.size);
+ return (
+ e.forEach(function (e) {
+ r[++t] = e;
+ }),
+ r
+ );
+ }
+ var Y,
+ W = Array.prototype,
+ J = Function.prototype,
+ X = Object.prototype,
+ Z = P["__core-js_shared__"],
+ Q = (Y = /[^.]+$/.exec((Z && Z.keys && Z.keys.IE_PROTO) || ""))
+ ? "Symbol(src)_1." + Y
+ : "",
+ ee = J.toString,
+ te = X.hasOwnProperty,
+ re = X.toString,
+ ne = RegExp(
+ "^" +
+ ee
+ .call(te)
+ .replace(/[\\^$.*+?()[\]{}|]/g, "\\$&")
+ .replace(
+ /hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,
+ "$1.*?"
+ ) +
+ "$"
+ ),
+ ie = P.Symbol,
+ oe = P.Uint8Array,
+ ae = $(Object.getPrototypeOf, Object),
+ se = X.propertyIsEnumerable,
+ le = W.splice,
+ ce = Object.getOwnPropertySymbols,
+ ue = $(Object.keys, Object),
+ pe = Fe(P, "DataView"),
+ de = Fe(P, "Map"),
+ fe = Fe(P, "Promise"),
+ he = Fe(P, "Set"),
+ me = Fe(P, "WeakMap"),
+ ge = Fe(Object, "create"),
+ ve = We(pe),
+ be = We(de),
+ ye = We(fe),
+ we = We(he),
+ Ee = We(me),
+ xe = ie ? ie.prototype : void 0,
+ Te = xe ? xe.valueOf : void 0,
+ ke = xe ? xe.toString : void 0;
+ function _e(e) {
+ var t = -1,
+ r = e ? e.length : 0;
+ for (this.clear(); ++t < r; ) {
+ var n = e[t];
+ this.set(n[0], n[1]);
+ }
+ }
+ function Ae(e) {
+ var t = -1,
+ r = e ? e.length : 0;
+ for (this.clear(); ++t < r; ) {
+ var n = e[t];
+ this.set(n[0], n[1]);
+ }
+ }
+ function Ne(e) {
+ var t = -1,
+ r = e ? e.length : 0;
+ for (this.clear(); ++t < r; ) {
+ var n = e[t];
+ this.set(n[0], n[1]);
+ }
+ }
+ function Le(e) {
+ var t = -1,
+ r = e ? e.length : 0;
+ for (this.__data__ = new Ne(); ++t < r; ) this.add(e[t]);
+ }
+ function Oe(e) {
+ this.__data__ = new Ae(e);
+ }
+ function Se(e, t) {
+ var r =
+ Qe(e) || Ze(e)
+ ? (function (e, t) {
+ for (var r = -1, n = Array(e); ++r < e; ) n[r] = t(r);
+ return n;
+ })(e.length, String)
+ : [],
+ n = r.length,
+ i = !!n;
+ for (var o in e)
+ (!t && !te.call(e, o)) ||
+ (i && ("length" == o || Ve(o, n))) ||
+ r.push(o);
+ return r;
+ }
+ function Ce(e, t) {
+ for (var r = e.length; r--; ) if (Xe(e[r][0], t)) return r;
+ return -1;
+ }
+ function De(e, t) {
+ for (
+ var r = 0, n = (t = He(t, e) ? [t] : je(t)).length;
+ null != e && r < n;
+
+ )
+ e = e[Ye(t[r++])];
+ return r && r == n ? e : void 0;
+ }
+ function qe(e, t) {
+ return null != e && t in Object(e);
+ }
+ function Re(e, t, r, n, a) {
+ return (
+ e === t ||
+ (null == e || null == t || (!nt(e) && !it(t))
+ ? e != e && t != t
+ : (function (e, t, r, n, a, s) {
+ var f = Qe(e),
+ h = Qe(t),
+ b = c,
+ T = c;
+ f || (b = (b = Ue(e)) == l ? v : b),
+ h || (T = (T = Ue(t)) == l ? v : T);
+ var A = b == v && !G(e),
+ N = T == v && !G(t),
+ L = b == T;
+ if (L && !A)
+ return (
+ s || (s = new Oe()),
+ f || st(e)
+ ? Pe(e, t, r, n, a, s)
+ : (function (e, t, r, n, a, s, l) {
+ switch (r) {
+ case _:
+ if (
+ e.byteLength != t.byteLength ||
+ e.byteOffset != t.byteOffset
+ )
+ return !1;
+ (e = e.buffer), (t = t.buffer);
+ case k:
+ return !(
+ e.byteLength != t.byteLength ||
+ !n(new oe(e), new oe(t))
+ );
+ case u:
+ case p:
+ case g:
+ return Xe(+e, +t);
+ case d:
+ return (
+ e.name == t.name && e.message == t.message
+ );
+ case y:
+ case E:
+ return e == t + "";
+ case m:
+ var c = K;
+ case w:
+ var f = s & o;
+ if ((c || (c = z), e.size != t.size && !f))
+ return !1;
+ var h = l.get(e);
+ if (h) return h == t;
+ (s |= i), l.set(e, t);
+ var v = Pe(c(e), c(t), n, a, s, l);
+ return l.delete(e), v;
+ case x:
+ if (Te) return Te.call(e) == Te.call(t);
+ }
+ return !1;
+ })(e, t, b, r, n, a, s)
+ );
+ if (!(a & o)) {
+ var O = A && te.call(e, "__wrapped__"),
+ S = N && te.call(t, "__wrapped__");
+ if (O || S) {
+ var C = O ? e.value() : e,
+ D = S ? t.value() : t;
+ return s || (s = new Oe()), r(C, D, n, a, s);
+ }
+ }
+ return (
+ !!L &&
+ (s || (s = new Oe()),
+ (function (e, t, r, n, i, a) {
+ var s = i & o,
+ l = lt(e),
+ c = l.length;
+ if (c != lt(t).length && !s) return !1;
+ for (var u = c; u--; ) {
+ var p = l[u];
+ if (!(s ? p in t : te.call(t, p))) return !1;
+ }
+ var d = a.get(e);
+ if (d && a.get(t)) return d == t;
+ var f = !0;
+ a.set(e, t), a.set(t, e);
+ for (var h = s; ++u < c; ) {
+ var m = e[(p = l[u])],
+ g = t[p];
+ if (n)
+ var v = s ? n(g, m, p, t, e, a) : n(m, g, p, e, t, a);
+ if (!(void 0 === v ? m === g || r(m, g, n, i, a) : v)) {
+ f = !1;
+ break;
+ }
+ h || (h = "constructor" == p);
+ }
+ if (f && !h) {
+ var b = e.constructor,
+ y = t.constructor;
+ b == y ||
+ !("constructor" in e) ||
+ !("constructor" in t) ||
+ ("function" == typeof b &&
+ b instanceof b &&
+ "function" == typeof y &&
+ y instanceof y) ||
+ (f = !1);
+ }
+ return a.delete(e), a.delete(t), f;
+ })(e, t, r, n, a, s))
+ );
+ })(e, t, Re, r, n, a))
+ );
+ }
+ function je(e) {
+ return Qe(e) ? e : ze(e);
+ }
+ function Pe(e, t, r, n, a, s) {
+ var l = a & o,
+ c = e.length,
+ u = t.length;
+ if (c != u && !(l && u > c)) return !1;
+ var p = s.get(e);
+ if (p && s.get(t)) return p == t;
+ var d = -1,
+ f = !0,
+ h = a & i ? new Le() : void 0;
+ for (s.set(e, t), s.set(t, e); ++d < c; ) {
+ var m = e[d],
+ g = t[d];
+ if (n) var v = l ? n(g, m, d, t, e, s) : n(m, g, d, e, t, s);
+ if (void 0 !== v) {
+ if (v) continue;
+ f = !1;
+ break;
+ }
+ if (h) {
+ if (
+ !H(t, function (e, t) {
+ if (!h.has(t) && (m === e || r(m, e, n, a, s)))
+ return h.add(t);
+ })
+ ) {
+ f = !1;
+ break;
+ }
+ } else if (m !== g && !r(m, g, n, a, s)) {
+ f = !1;
+ break;
+ }
+ }
+ return s.delete(e), s.delete(t), f;
+ }
+ function Be(e, t) {
+ var r,
+ n,
+ i = e.__data__;
+ return (
+ "string" == (n = typeof (r = t)) ||
+ "number" == n ||
+ "symbol" == n ||
+ "boolean" == n
+ ? "__proto__" !== r
+ : null === r
+ )
+ ? i["string" == typeof t ? "string" : "hash"]
+ : i.map;
+ }
+ function Fe(e, t) {
+ var r = (function (e, t) {
+ return null == e ? void 0 : e[t];
+ })(e, t);
+ return (function (e) {
+ return (
+ !(!nt(e) || ((t = e), Q && Q in t)) &&
+ (tt(e) || G(e) ? ne : C).test(We(e))
+ );
+ var t;
+ })(r)
+ ? r
+ : void 0;
+ }
+ (_e.prototype.clear = function () {
+ this.__data__ = ge ? ge(null) : {};
+ }),
+ (_e.prototype.delete = function (e) {
+ return this.has(e) && delete this.__data__[e];
+ }),
+ (_e.prototype.get = function (e) {
+ var t = this.__data__;
+ if (ge) {
+ var r = t[e];
+ return r === n ? void 0 : r;
+ }
+ return te.call(t, e) ? t[e] : void 0;
+ }),
+ (_e.prototype.has = function (e) {
+ var t = this.__data__;
+ return ge ? void 0 !== t[e] : te.call(t, e);
+ }),
+ (_e.prototype.set = function (e, t) {
+ return (this.__data__[e] = ge && void 0 === t ? n : t), this;
+ }),
+ (Ae.prototype.clear = function () {
+ this.__data__ = [];
+ }),
+ (Ae.prototype.delete = function (e) {
+ var t = this.__data__,
+ r = Ce(t, e);
+ return !(
+ r < 0 || (r == t.length - 1 ? t.pop() : le.call(t, r, 1), 0)
+ );
+ }),
+ (Ae.prototype.get = function (e) {
+ var t = this.__data__,
+ r = Ce(t, e);
+ return r < 0 ? void 0 : t[r][1];
+ }),
+ (Ae.prototype.has = function (e) {
+ return Ce(this.__data__, e) > -1;
+ }),
+ (Ae.prototype.set = function (e, t) {
+ var r = this.__data__,
+ n = Ce(r, e);
+ return n < 0 ? r.push([e, t]) : (r[n][1] = t), this;
+ }),
+ (Ne.prototype.clear = function () {
+ this.__data__ = {
+ hash: new _e(),
+ map: new (de || Ae)(),
+ string: new _e(),
+ };
+ }),
+ (Ne.prototype.delete = function (e) {
+ return Be(this, e).delete(e);
+ }),
+ (Ne.prototype.get = function (e) {
+ return Be(this, e).get(e);
+ }),
+ (Ne.prototype.has = function (e) {
+ return Be(this, e).has(e);
+ }),
+ (Ne.prototype.set = function (e, t) {
+ return Be(this, e).set(e, t), this;
+ }),
+ (Le.prototype.add = Le.prototype.push =
+ function (e) {
+ return this.__data__.set(e, n), this;
+ }),
+ (Le.prototype.has = function (e) {
+ return this.__data__.has(e);
+ }),
+ (Oe.prototype.clear = function () {
+ this.__data__ = new Ae();
+ }),
+ (Oe.prototype.delete = function (e) {
+ return this.__data__.delete(e);
+ }),
+ (Oe.prototype.get = function (e) {
+ return this.__data__.get(e);
+ }),
+ (Oe.prototype.has = function (e) {
+ return this.__data__.has(e);
+ }),
+ (Oe.prototype.set = function (e, t) {
+ var r = this.__data__;
+ if (r instanceof Ae) {
+ var n = r.__data__;
+ if (!de || n.length < 199) return n.push([e, t]), this;
+ r = this.__data__ = new Ne(n);
+ }
+ return r.set(e, t), this;
+ });
+ var Me = ce ? $(ce, Object) : pt,
+ Ie = ce
+ ? function (e) {
+ for (var t = []; e; ) V(t, Me(e)), (e = ae(e));
+ return t;
+ }
+ : pt,
+ Ue = function (e) {
+ return re.call(e);
+ };
+ function Ve(e, t) {
+ return (
+ !!(t = null == t ? s : t) &&
+ ("number" == typeof e || D.test(e)) &&
+ e > -1 &&
+ e % 1 == 0 &&
+ e < t
+ );
+ }
+ function He(e, t) {
+ if (Qe(e)) return !1;
+ var r = typeof e;
+ return (
+ !(
+ "number" != r &&
+ "symbol" != r &&
+ "boolean" != r &&
+ null != e &&
+ !ot(e)
+ ) ||
+ N.test(e) ||
+ !A.test(e) ||
+ (null != t && e in Object(t))
+ );
+ }
+ function Ge(e) {
+ var t = e && e.constructor;
+ return e === (("function" == typeof t && t.prototype) || X);
+ }
+ function Ke(e) {
+ return e == e && !nt(e);
+ }
+ function $e(e, t) {
+ return function (r) {
+ return null != r && r[e] === t && (void 0 !== t || e in Object(r));
+ };
+ }
+ ((pe && Ue(new pe(new ArrayBuffer(1))) != _) ||
+ (de && Ue(new de()) != m) ||
+ (fe && Ue(fe.resolve()) != b) ||
+ (he && Ue(new he()) != w) ||
+ (me && Ue(new me()) != T)) &&
+ (Ue = function (e) {
+ var t = re.call(e),
+ r = t == v ? e.constructor : void 0,
+ n = r ? We(r) : void 0;
+ if (n)
+ switch (n) {
+ case ve:
+ return _;
+ case be:
+ return m;
+ case ye:
+ return b;
+ case we:
+ return w;
+ case Ee:
+ return T;
+ }
+ return t;
+ });
+ var ze = Je(function (e) {
+ var t;
+ e =
+ null == (t = e)
+ ? ""
+ : (function (e) {
+ if ("string" == typeof e) return e;
+ if (ot(e)) return ke ? ke.call(e) : "";
+ var t = e + "";
+ return "0" == t && 1 / e == -a ? "-0" : t;
+ })(t);
+ var r = [];
+ return (
+ L.test(e) && r.push(""),
+ e.replace(O, function (e, t, n, i) {
+ r.push(n ? i.replace(S, "$1") : t || e);
+ }),
+ r
+ );
+ });
+ function Ye(e) {
+ if ("string" == typeof e || ot(e)) return e;
+ var t = e + "";
+ return "0" == t && 1 / e == -a ? "-0" : t;
+ }
+ function We(e) {
+ if (null != e) {
+ try {
+ return ee.call(e);
+ } catch (e) {}
+ try {
+ return e + "";
+ } catch (e) {}
+ }
+ return "";
+ }
+ function Je(e, t) {
+ if ("function" != typeof e || (t && "function" != typeof t))
+ throw new TypeError("Expected a function");
+ var r = function () {
+ var n = arguments,
+ i = t ? t.apply(this, n) : n[0],
+ o = r.cache;
+ if (o.has(i)) return o.get(i);
+ var a = e.apply(this, n);
+ return (r.cache = o.set(i, a)), a;
+ };
+ return (r.cache = new (Je.Cache || Ne)()), r;
+ }
+ function Xe(e, t) {
+ return e === t || (e != e && t != t);
+ }
+ function Ze(e) {
+ return (
+ (function (e) {
+ return it(e) && et(e);
+ })(e) &&
+ te.call(e, "callee") &&
+ (!se.call(e, "callee") || re.call(e) == l)
+ );
+ }
+ Je.Cache = Ne;
+ var Qe = Array.isArray;
+ function et(e) {
+ return null != e && rt(e.length) && !tt(e);
+ }
+ function tt(e) {
+ var t = nt(e) ? re.call(e) : "";
+ return t == f || t == h;
+ }
+ function rt(e) {
+ return "number" == typeof e && e > -1 && e % 1 == 0 && e <= s;
+ }
+ function nt(e) {
+ var t = typeof e;
+ return !!e && ("object" == t || "function" == t);
+ }
+ function it(e) {
+ return !!e && "object" == typeof e;
+ }
+ function ot(e) {
+ return "symbol" == typeof e || (it(e) && re.call(e) == x);
+ }
+ var at,
+ st = U
+ ? ((at = U),
+ function (e) {
+ return at(e);
+ })
+ : function (e) {
+ return it(e) && rt(e.length) && !!q[re.call(e)];
+ };
+ function lt(e) {
+ return et(e)
+ ? Se(e)
+ : (function (e) {
+ if (!Ge(e)) return ue(e);
+ var t = [];
+ for (var r in Object(e))
+ te.call(e, r) && "constructor" != r && t.push(r);
+ return t;
+ })(e);
+ }
+ function ct(e) {
+ return et(e)
+ ? Se(e, !0)
+ : (function (e) {
+ if (!nt(e))
+ return (function (e) {
+ var t = [];
+ if (null != e) for (var r in Object(e)) t.push(r);
+ return t;
+ })(e);
+ var t = Ge(e),
+ r = [];
+ for (var n in e)
+ ("constructor" != n || (!t && te.call(e, n))) && r.push(n);
+ return r;
+ })(e);
+ }
+ function ut(e) {
+ return e;
+ }
+ function pt() {
+ return [];
+ }
+ e.exports = function (e, t) {
+ return null == e
+ ? {}
+ : (function (e, t, r) {
+ for (var n = -1, i = t.length, o = {}; ++n < i; ) {
+ var a = t[n],
+ s = e[a];
+ r(s, a) && (o[a] = s);
+ }
+ return o;
+ })(
+ e,
+ (function (e) {
+ return (function (e, t, r) {
+ var n = t(e);
+ return Qe(e) ? n : V(n, r(e));
+ })(e, ct, Ie);
+ })(e),
+ "function" == typeof (r = t)
+ ? r
+ : null == r
+ ? ut
+ : "object" == typeof r
+ ? Qe(r)
+ ? (function (e, t) {
+ return He(e) && Ke(t)
+ ? $e(Ye(e), t)
+ : function (r) {
+ var n = (function (e, t, r) {
+ var n = null == e ? void 0 : De(e, t);
+ return void 0 === n ? void 0 : n;
+ })(r, e);
+ return void 0 === n && n === t
+ ? (function (e, t) {
+ return (
+ null != e &&
+ (function (e, t, r) {
+ for (
+ var n,
+ i = -1,
+ o = (t = He(t, e) ? [t] : je(t))
+ .length;
+ ++i < o;
+
+ ) {
+ var a = Ye(t[i]);
+ if (!(n = null != e && r(e, a)))
+ break;
+ e = e[a];
+ }
+ return (
+ n ||
+ (!!(o = e ? e.length : 0) &&
+ rt(o) &&
+ Ve(a, o) &&
+ (Qe(e) || Ze(e)))
+ );
+ })(e, t, qe)
+ );
+ })(r, e)
+ : Re(t, n, void 0, i | o);
+ };
+ })(r[0], r[1])
+ : ((a = (function (e) {
+ for (var t = lt(e), r = t.length; r--; ) {
+ var n = t[r],
+ i = e[n];
+ t[r] = [n, i, Ke(i)];
+ }
+ return t;
+ })((n = r))),
+ 1 == a.length && a[0][2]
+ ? $e(a[0][0], a[0][1])
+ : function (e) {
+ return (
+ e === n ||
+ (function (e, t, r, n) {
+ var a = r.length,
+ s = a;
+ if (null == e) return !s;
+ for (e = Object(e); a--; ) {
+ var l = r[a];
+ if (l[2] ? l[1] !== e[l[0]] : !(l[0] in e))
+ return !1;
+ }
+ for (; ++a < s; ) {
+ var c = (l = r[a])[0],
+ u = e[c],
+ p = l[1];
+ if (l[2]) {
+ if (void 0 === u && !(c in e)) return !1;
+ } else {
+ var d,
+ f = new Oe();
+ if (
+ !(void 0 === d
+ ? Re(p, u, n, i | o, f)
+ : d)
+ )
+ return !1;
+ }
+ }
+ return !0;
+ })(e, 0, a)
+ );
+ })
+ : He((s = r))
+ ? ((l = Ye(s)),
+ function (e) {
+ return null == e ? void 0 : e[l];
+ })
+ : (function (e) {
+ return function (t) {
+ return De(t, e);
+ };
+ })(s)
+ );
+ var r, n, a, s, l;
+ };
+ },
+ 7690: (e, t, r) => {
+ "use strict";
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.nodeHtmlParserConfig =
+ t.aTagTranslatorConfig =
+ t.defaultCodeBlockTranslators =
+ t.tableCellTranslatorConfig =
+ t.tableRowTranslatorConfig =
+ t.tableTranslatorConfig =
+ t.defaultTranslators =
+ t.defaultOptions =
+ t.contentlessElements =
+ t.defaultIgnoreElements =
+ t.defaultBlockElements =
+ void 0);
+ const n = r(998),
+ i = r(4923);
+ (t.defaultBlockElements = [
+ "ADDRESS",
+ "ARTICLE",
+ "ASIDE",
+ "AUDIO",
+ "BLOCKQUOTE",
+ "BODY",
+ "CANVAS",
+ "CENTER",
+ "DD",
+ "DIR",
+ "DIV",
+ "DL",
+ "DT",
+ "FIELDSET",
+ "FIGCAPTION",
+ "FIGURE",
+ "FOOTER",
+ "FORM",
+ "FRAMESET",
+ "H1",
+ "H2",
+ "H3",
+ "H4",
+ "H5",
+ "H6",
+ "HEADER",
+ "HGROUP",
+ "HR",
+ "HTML",
+ "ISINDEX",
+ "LI",
+ "MAIN",
+ "MENU",
+ "NAV",
+ "NOFRAMES",
+ "NOSCRIPT",
+ "OL",
+ "OUTPUT",
+ "P",
+ "PRE",
+ "SECTION",
+ "TABLE",
+ "TBODY",
+ "TD",
+ "TFOOT",
+ "TH",
+ "THEAD",
+ "TR",
+ "UL",
+ ]),
+ (t.defaultIgnoreElements = [
+ "AREA",
+ "BASE",
+ "COL",
+ "COMMAND",
+ "EMBED",
+ "HEAD",
+ "INPUT",
+ "KEYGEN",
+ "LINK",
+ "META",
+ "PARAM",
+ "SCRIPT",
+ "SOURCE",
+ "STYLE",
+ "TRACK",
+ "WBR",
+ ]),
+ (t.contentlessElements = ["BR", "HR", "IMG"]),
+ (t.defaultOptions = Object.freeze({
+ preferNativeParser: !1,
+ codeFence: "```",
+ bulletMarker: "*",
+ indent: " ",
+ codeBlockStyle: "fenced",
+ emDelimiter: "_",
+ strongDelimiter: "**",
+ maxConsecutiveNewlines: 3,
+ globalEscape: [/[\\`*_~\[\]]/gm, "\\$&"],
+ lineStartEscape: [
+ /^(\s*?)((?:\+\s)|(?:[=>-])|(?:#{1,6}\s))|(?:(\d+)(\.\s))/gm,
+ "$1$3\\$2$4",
+ ],
+ })),
+ (t.defaultTranslators = {
+ pre: { noEscape: !0, preserveWhitespace: !0 },
+ br: { content: " \n", recurse: !1 },
+ hr: { content: "---", recurse: !1 },
+ "h1,h2,h3,h4,h5,h6": ({ node: e }) => ({
+ prefix: "#".repeat(+e.tagName.charAt(1)) + " ",
+ }),
+ "strong,b": {
+ spaceIfRepeatingChar: !0,
+ postprocess: ({ content: e, options: { strongDelimiter: t } }) =>
+ (0, n.isWhiteSpaceOnly)(e)
+ ? i.PostProcessResult.RemoveNode
+ : (0, n.tagSurround)(e, t),
+ },
+ "del,s,strike": {
+ spaceIfRepeatingChar: !0,
+ postprocess: ({ content: e }) =>
+ (0, n.isWhiteSpaceOnly)(e)
+ ? i.PostProcessResult.RemoveNode
+ : (0, n.tagSurround)(e, "~~"),
+ },
+ "em,i": {
+ spaceIfRepeatingChar: !0,
+ postprocess: ({ content: e, options: { emDelimiter: t } }) =>
+ (0, n.isWhiteSpaceOnly)(e)
+ ? i.PostProcessResult.RemoveNode
+ : (0, n.tagSurround)(e, t),
+ },
+ "ol,ul": ({ listKind: e }) => ({ surroundingNewlines: e ? 1 : 2 }),
+ li: ({
+ options: { bulletMarker: e },
+ indentLevel: t,
+ listKind: r,
+ listItemNumber: o,
+ }) => {
+ const a = +(t || 0);
+ return {
+ prefix:
+ " ".repeat(+(t || 0)) +
+ ("OL" === r && void 0 !== o ? `${o}. ` : `${e} `),
+ surroundingNewlines: 1,
+ postprocess: ({ content: e }) =>
+ (0, n.isWhiteSpaceOnly)(e)
+ ? i.PostProcessResult.RemoveNode
+ : e
+ .trim()
+ .replace(
+ /([^\r\n])(?:\r?\n)+/g,
+ `$1 \n${" ".repeat(a)}`
+ )
+ .replace(/(\S+?)[^\S\r\n]+$/gm, "$1 "),
+ };
+ },
+ blockquote: {
+ postprocess: ({ content: e }) =>
+ (0, n.trimNewLines)(e).replace(/^(>*)[^\S\r\n]?/gm, ">$1 "),
+ },
+ code: ({
+ node: e,
+ parent: t,
+ options: { codeFence: r, codeBlockStyle: i },
+ visitor: o,
+ }) => {
+ var a, s;
+ return ["PRE", "WRAPPED-PRE"].includes(
+ null == t ? void 0 : t.tagName
+ ) && t.childNodes.length < 2
+ ? "fenced" === i
+ ? {
+ noEscape: !0,
+ prefix:
+ r +
+ ((null ===
+ (s =
+ null === (a = e.getAttribute("class")) ||
+ void 0 === a
+ ? void 0
+ : a.match(/language-(\S+)/)) || void 0 === s
+ ? void 0
+ : s[1]) || "") +
+ "\n",
+ postfix: "\n" + r,
+ childTranslators: o.instance.codeBlockTranslators,
+ }
+ : {
+ noEscape: !0,
+ postprocess: ({ content: e }) => e.replace(/^/gm, " "),
+ childTranslators: o.instance.codeBlockTranslators,
+ }
+ : {
+ spaceIfRepeatingChar: !0,
+ noEscape: !0,
+ postprocess: ({ content: e }) => {
+ var t, r;
+ const i =
+ "`" +
+ ((null ===
+ (r =
+ null === (t = e.match(/`+/g)) || void 0 === t
+ ? void 0
+ : t.sort((e, t) => t.length - e.length)) ||
+ void 0 === r
+ ? void 0
+ : r[0]) || ""),
+ o = i.length > 1 ? " " : "";
+ return (0, n.surround)((0, n.surround)(e, o), i);
+ },
+ };
+ },
+ table: ({ visitor: e }) => ({
+ surroundingNewlines: 2,
+ childTranslators: e.instance.tableTranslators,
+ postprocess: ({ content: e, nodeMetadata: t, node: r }) => {
+ const o = (0, n.splitSpecial)(e).map(({ text: e }) =>
+ e.replace(/^(?:\|\s+)?(.+)\s*\|\s*$/, "$1")
+ ),
+ a = [];
+ let s = [];
+ for (const e of o) {
+ if (!e) continue;
+ const t = e
+ .split(" |")
+ .map(
+ (e, t) => (
+ (e = e.trim()),
+ (s.length < t + 1 || s[t] < e.length) &&
+ (s[t] = e.length),
+ e
+ )
+ );
+ a.push(t);
+ }
+ if (a.length < 1) return i.PostProcessResult.RemoveNode;
+ const l = s.length;
+ let c = "";
+ const u = t.get(r).tableMeta.caption;
+ return (
+ u && (c += u + "\n"),
+ a.forEach((e, t) => {
+ var r;
+ c += "| ";
+ for (let t = 0; t < l; t++) {
+ let n = null !== (r = e[t]) && void 0 !== r ? r : "";
+ (n += " ".repeat(Math.max(0, s[t] - n.length))),
+ (c += n + " |" + (t < l - 1 ? " " : ""));
+ }
+ (c += "\n"),
+ 0 === t &&
+ (c +=
+ "|" +
+ s.map((e) => " " + "-".repeat(e) + " |").join("") +
+ "\n");
+ }),
+ c
+ );
+ },
+ }),
+ a: ({ node: e, options: t, visitor: r }) => {
+ const n = e.getAttribute("href");
+ if (!n) return {};
+ let i = "";
+ for (const e of n)
+ switch (e) {
+ case "(":
+ i += "%28";
+ break;
+ case ")":
+ i += "%29";
+ break;
+ case "_":
+ i += "%5F";
+ break;
+ case "*":
+ i += "%2A";
+ break;
+ default:
+ i += e;
+ }
+ const o = e.getAttribute("title");
+ return e.textContent === n
+ ? { content: `<${i}>` }
+ : {
+ postprocess: ({ content: e }) =>
+ e.replace(/(?:\r?\n)+/g, " "),
+ childTranslators: r.instance.aTagTranslators,
+ prefix: "[",
+ postfix:
+ "]" +
+ (t.useLinkReferenceDefinitions
+ ? `[${r.addOrGetUrlDefinition(i)}]`
+ : `(${i}${o ? ` "${o}"` : ""})`),
+ };
+ },
+ img: ({ node: e, options: t }) => {
+ const r = e.getAttribute("src") || "";
+ if (!r || (!t.keepDataImages && /^data:/i.test(r)))
+ return { ignore: !0 };
+ const n = e.getAttribute("alt") || "",
+ i = e.getAttribute("title") || "";
+ return { content: `![${n}](${r}${i && ` "${i}"`})`, recurse: !1 };
+ },
+ }),
+ (t.tableTranslatorConfig = {
+ caption: ({ visitor: e }) => ({
+ surroundingNewlines: !1,
+ childTranslators: e.instance.tableCellTranslators,
+ postprocess: ({ content: e, nodeMetadata: t, node: r }) => {
+ const n = e.replace(/(?:\r?\n)+/g, " ").trim();
+ return (
+ n && (t.get(r).tableMeta.caption = "__" + n + "__"),
+ i.PostProcessResult.RemoveNode
+ );
+ },
+ }),
+ tr: ({ visitor: e }) => ({
+ surroundingNewlines: !1,
+ childTranslators: e.instance.tableRowTranslators,
+ postfix: "\n",
+ prefix: "| ",
+ postprocess: ({ content: e }) =>
+ / \|\s*$/.test(e) ? e : i.PostProcessResult.RemoveNode,
+ }),
+ "th,td": ({ visitor: e }) => ({
+ surroundingNewlines: !1,
+ childTranslators: e.instance.tableCellTranslators,
+ prefix: " ",
+ postfix: " |",
+ postprocess: ({ content: e }) =>
+ (0, n.trimNewLines)(e)
+ .replace("|", "\\|")
+ .replace(/(?:\r?\n)+/g, " ")
+ .trim(),
+ }),
+ }),
+ (t.tableRowTranslatorConfig = {
+ "th,td": t.tableTranslatorConfig["th,td"],
+ }),
+ (t.tableCellTranslatorConfig = {
+ a: t.defaultTranslators.a,
+ "strong,b": t.defaultTranslators["strong,b"],
+ "del,s,strike": t.defaultTranslators["del,s,strike"],
+ "em,i": t.defaultTranslators["em,i"],
+ img: t.defaultTranslators.img,
+ }),
+ (t.defaultCodeBlockTranslators = {
+ br: { content: "\n", recurse: !1 },
+ hr: { content: "---", recurse: !1 },
+ "h1,h2,h3,h4,h5,h6": { prefix: "[", postfix: "]" },
+ "ol,ul": t.defaultTranslators["ol,ul"],
+ li: t.defaultTranslators.li,
+ tr: { surroundingNewlines: !0 },
+ img: { recurse: !1 },
+ }),
+ (t.aTagTranslatorConfig = {
+ br: { content: "\n", recurse: !1 },
+ hr: { content: "\n", recurse: !1 },
+ pre: t.defaultTranslators.pre,
+ "strong,b": t.defaultTranslators["strong,b"],
+ "del,s,strike": t.defaultTranslators["del,s,strike"],
+ "em,i": t.defaultTranslators["em,i"],
+ img: t.defaultTranslators.img,
+ }),
+ (t.nodeHtmlParserConfig = {
+ lowerCaseTagName: !1,
+ comment: !1,
+ blockTextElements: { script: !1, noscript: !1, style: !1 },
+ });
+ },
+ 2245: (e, t, r) => {
+ "use strict";
+ t.dx = void 0;
+ var n = r(7352);
+ Object.defineProperty(t, "dx", {
+ enumerable: !0,
+ get: function () {
+ return n.NodeHtmlMarkdown;
+ },
+ });
+ r(4923);
+ },
+ 7352: (e, t, r) => {
+ "use strict";
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.NodeHtmlMarkdown = void 0);
+ const n = r(4923),
+ i = r(7690),
+ o = r(998),
+ a = r(390);
+ class s {
+ constructor(e, t, r) {
+ var o, a, s, l;
+ (this.translators = new n.TranslatorCollection()),
+ (this.aTagTranslators = new n.TranslatorCollection()),
+ (this.codeBlockTranslators = new n.TranslatorCollection()),
+ (this.tableTranslators = new n.TranslatorCollection()),
+ (this.tableRowTranslators = new n.TranslatorCollection()),
+ (this.tableCellTranslators = new n.TranslatorCollection()),
+ (this.options = Object.assign(
+ Object.assign({}, i.defaultOptions),
+ e
+ ));
+ const c =
+ null !==
+ (a =
+ null === (o = this.options.ignore) || void 0 === o
+ ? void 0
+ : o.concat(i.defaultIgnoreElements)) && void 0 !== a
+ ? a
+ : i.defaultIgnoreElements,
+ u =
+ null !==
+ (l =
+ null === (s = this.options.blockElements) || void 0 === s
+ ? void 0
+ : s.concat(i.defaultBlockElements)) && void 0 !== l
+ ? l
+ : i.defaultBlockElements;
+ null == c ||
+ c.forEach((e) => {
+ this.translators.set(e, { ignore: !0, recurse: !1 }),
+ this.codeBlockTranslators.set(e, { ignore: !0, recurse: !1 });
+ }),
+ null == u ||
+ u.forEach((e) => {
+ this.translators.set(e, { surroundingNewlines: 2 }),
+ this.codeBlockTranslators.set(e, {
+ surroundingNewlines: 2,
+ });
+ });
+ for (const [e, r] of Object.entries(
+ Object.assign(Object.assign({}, i.defaultTranslators), t)
+ ))
+ this.translators.set(e, r, !0);
+ for (const [e, t] of Object.entries(
+ Object.assign(Object.assign({}, i.defaultCodeBlockTranslators), r)
+ ))
+ this.codeBlockTranslators.set(e, t, !0);
+ for (const [e, t] of Object.entries(i.aTagTranslatorConfig))
+ this.aTagTranslators.set(e, t, !0);
+ for (const [e, t] of Object.entries(i.tableTranslatorConfig))
+ this.tableTranslators.set(e, t, !0);
+ for (const [e, t] of Object.entries(i.tableRowTranslatorConfig))
+ this.tableRowTranslators.set(e, t, !0);
+ for (const [e, t] of Object.entries(i.tableCellTranslatorConfig))
+ this.tableCellTranslators.set(e, t, !0);
+ this.options.textReplace || (this.options.textReplace = []),
+ this.options.textReplace.push([/^/gim, ""]);
+ }
+ static translate(e, t, r, n) {
+ return s.prototype.translateWorker.call(new s(t, r, n), e);
+ }
+ translate(e) {
+ return this.translateWorker(e);
+ }
+ translateWorker(e) {
+ const t = "string" != typeof e,
+ r = t ? e : { default: e },
+ n = {};
+ for (const [e, t] of Object.entries(r)) {
+ const r = (0, o.parseHTML)(t, this.options);
+ n[e] = (0, a.getMarkdownForHtmlNodes)(
+ this,
+ r,
+ "default" !== e ? e : void 0
+ );
+ }
+ return t ? n : n.default;
+ }
+ }
+ t.NodeHtmlMarkdown = s;
+ },
+ 5089: (e, t, r) => {
+ "use strict";
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.isElementNode =
+ t.isCommentNode =
+ t.isTextNode =
+ t.CommentNode =
+ t.NodeType =
+ void 0);
+ const n = r(698);
+ Object.defineProperty(t, "CommentNode", {
+ enumerable: !0,
+ get: function () {
+ return n.CommentNode;
+ },
+ }),
+ Object.defineProperty(t, "NodeType", {
+ enumerable: !0,
+ get: function () {
+ return n.NodeType;
+ },
+ }),
+ (t.isTextNode = (e) => e.nodeType === n.NodeType.TEXT_NODE),
+ (t.isCommentNode = (e) => e.nodeType === n.NodeType.COMMENT_NODE),
+ (t.isElementNode = (e) => e.nodeType === n.NodeType.ELEMENT_NODE);
+ },
+ 4923: (e, t) => {
+ "use strict";
+ var r;
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.createTranslatorContext =
+ t.isTranslatorConfig =
+ t.TranslatorCollection =
+ t.PostProcessResult =
+ void 0),
+ ((r = t.PostProcessResult || (t.PostProcessResult = {}))[
+ (r.NoChange = 0)
+ ] = "NoChange"),
+ (r[(r.RemoveNode = 1)] = "RemoveNode"),
+ (t.TranslatorCollection = class {
+ get size() {
+ return Object.keys(this).length;
+ }
+ set(e, r, n) {
+ e.split(",").forEach((e) => {
+ e = e.toUpperCase();
+ let i = r;
+ if (n) {
+ const n = this[e];
+ (0, t.isTranslatorConfig)(n) &&
+ (i = (0, t.isTranslatorConfig)(r)
+ ? Object.assign(Object.assign({}, n), r)
+ : Object.assign((...e) => r.apply(void 0, e), {
+ base: n,
+ }));
+ }
+ this[e] = i;
+ });
+ }
+ get(e) {
+ return this[e.toUpperCase()];
+ }
+ entries() {
+ return Object.entries(this);
+ }
+ remove(e) {
+ e.split(",").forEach((e) => delete this[e.toUpperCase()]);
+ }
+ }),
+ (t.isTranslatorConfig = (e) => "object" == typeof e),
+ (t.createTranslatorContext = function (e, t, r, n) {
+ const { instance: i, nodeMetadata: o } = e;
+ return Object.assign(
+ {
+ node: t,
+ options: i.options,
+ parent: t.parentNode,
+ nodeMetadata: o,
+ visitor: e,
+ base: n,
+ },
+ r
+ );
+ });
+ },
+ 998: (e, t, r) => {
+ "use strict";
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.perfStop =
+ t.perfStart =
+ t.getChildNodes =
+ t.parseHTML =
+ t.truthyStr =
+ t.getTrailingWhitespaceInfo =
+ t.tagSurround =
+ t.splitSpecial =
+ t.isWhiteSpaceOnly =
+ t.surround =
+ t.trimNewLines =
+ void 0);
+ const n = r(7690);
+ function i(e) {
+ const t = [],
+ r = e.length;
+ for (let n = 0, i = 0; n < r; ++n) {
+ let o = e.charAt(n),
+ a = "";
+ "\r" === o
+ ? (a = "\n" === e.charAt(n + 1) ? "\r\n" : o)
+ : "\n" === o && (a = o);
+ const s = a ? n : n === r - 1 ? n + 1 : void 0;
+ void 0 !== s &&
+ (t.push({ text: e.slice(i, s), newLineChar: a }),
+ (i = s + a.length),
+ a.length > 1 && ++n);
+ }
+ return t;
+ }
+ (t.trimNewLines = (e) => e.replace(/^\n+|\n+$/g, "")),
+ (t.surround = (e, t) => `${t}${e}${t}`),
+ (t.isWhiteSpaceOnly = (e) => !/\S/.test(e)),
+ (t.splitSpecial = i),
+ (t.tagSurround = function (e, t) {
+ e.indexOf(t) >= 0 &&
+ (e = e.replace(
+ new RegExp(`([^\\\\])\\${t.split("").join("\\")}`, "gm"),
+ "$1"
+ ));
+ const r = i(e);
+ let n = "";
+ for (const { text: e, newLineChar: i } of r) {
+ let r,
+ o,
+ a = 0;
+ for (; a >= 0 && a < e.length; )
+ /[\S]/.test(e[a]) &&
+ (void 0 === r
+ ? ((r = a), (a = e.length))
+ : ((o = a), (a = NaN))),
+ void 0 === r ? ++a : --a;
+ if (void 0 === r) {
+ n += e + i;
+ continue;
+ }
+ void 0 === o && (o = e.length - 1);
+ const s = r > 0 ? e[r - 1] : "",
+ l = o < e.length - 1 ? e[o + 1] : "";
+ n += s + t + e.slice(r, o + 1) + t + l + i;
+ }
+ return n;
+ }),
+ (t.getTrailingWhitespaceInfo = (e) => {
+ const t = { whitespace: 0, newLines: 0 },
+ r = Math.max(e.length - 10, 0);
+ for (let n = e.length - 1; n >= r; --n) {
+ const r = e.slice(n, n + 1);
+ if (!/\s/.test(r)) break;
+ ++t.whitespace, ["\r", "\n"].includes(r) && ++t.newLines;
+ }
+ return t;
+ }),
+ (t.truthyStr = (e, t) => (e ? (void 0 !== t ? t : String(e)) : ""));
+ const o = () => {
+ try {
+ return r(698).parse;
+ } catch (e) {
+ return;
+ }
+ };
+ function a(e) {
+ process.env.LOG_PERF && console.time(e);
+ }
+ function s(e) {
+ process.env.LOG_PERF && console.timeEnd(e);
+ }
+ (t.parseHTML = function (e, t) {
+ let r, i;
+ if ((a("parse"), t.preferNativeParser))
+ try {
+ i = (function (e) {
+ try {
+ if (
+ !(null === window || void 0 === window
+ ? void 0
+ : window.DOMParser) ||
+ !new window.DOMParser().parseFromString("", "text/html")
+ )
+ return;
+ } catch (e) {
+ return;
+ }
+ let t;
+ try {
+ t = document.implementation.createHTMLDocument("").open();
+ } catch (e) {
+ const { ActiveXObject: t } = window;
+ if (t) {
+ const e = t("htmlfile");
+ return (e.designMode = "on"), e.open();
+ }
+ throw e;
+ }
+ return (
+ t.write("" + e + ""),
+ t.close(),
+ t.documentElement
+ );
+ })(e);
+ } catch (e) {
+ if (((r = o()), !r)) throw e;
+ console.warn(
+ "Native DOM parser encountered an error during parse",
+ e
+ );
+ }
+ else r = o();
+ return i || (i = r(e, n.nodeHtmlParserConfig)), s("parse"), i;
+ }),
+ (t.getChildNodes = function (e) {
+ if (
+ null == (t = e.childNodes) &&
+ "function" != typeof t[Symbol.iterator]
+ )
+ return e.childNodes;
+ var t;
+ const r = [];
+ return e.childNodes.forEach((e) => r.push(e)), r;
+ }),
+ (t.perfStart = a),
+ (t.perfStop = s);
+ },
+ 390: (e, t, r) => {
+ "use strict";
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.getMarkdownForHtmlNodes = t.Visitor = void 0);
+ const n = r(5089),
+ i = r(998),
+ o = r(4923),
+ a = r(7690);
+ class s {
+ constructor(e, t, r) {
+ (this.instance = e),
+ (this.rootNode = t),
+ (this.fileName = r),
+ (this.nodeMetadata = new Map()),
+ (this.urlDefinitions = []),
+ (this.result = {
+ text: "",
+ trailingNewlineStats: { whitespace: 0, newLines: 0 },
+ }),
+ (this.options = e.options),
+ this.optimizeTree(t),
+ this.visitNode(t);
+ }
+ addOrGetUrlDefinition(e) {
+ let t = this.urlDefinitions.findIndex((t) => t === e);
+ return t < 0 && (t = this.urlDefinitions.push(e) - 1), t + 1;
+ }
+ appendResult(e, t, r) {
+ if (!e && void 0 === t) return;
+ const { result: n } = this;
+ void 0 !== t && (n.text = n.text.substr(0, t)),
+ (n.text += (r && n.text.slice(-1) === e[0] ? " " : "") + e),
+ (n.trailingNewlineStats = (0, i.getTrailingWhitespaceInfo)(
+ n.text
+ ));
+ }
+ appendNewlines(e) {
+ const { newLines: t } = this.result.trailingNewlineStats;
+ this.appendResult("\n".repeat(Math.max(0, +e - t)));
+ }
+ optimizeTree(e) {
+ (0, i.perfStart)("Optimize tree");
+ const { translators: t } = this.instance;
+ !(function e(r) {
+ let o = !1;
+ if (
+ (0, n.isTextNode)(r) ||
+ ((0, n.isElementNode)(r) &&
+ a.contentlessElements.includes(r.tagName))
+ )
+ o = !0;
+ else {
+ const n = (0, i.getChildNodes)(r);
+ if (n.length) for (const t of n) o ? e(t) : (o = e(t));
+ else {
+ const e = t[r.tagName];
+ ((null == e ? void 0 : e.preserveIfEmpty) ||
+ "function" == typeof e) &&
+ (o = !0);
+ }
+ }
+ return (r.preserve = o);
+ })(e),
+ (0, i.perfStop)("Optimize tree");
+ }
+ processText(e, t) {
+ let r = e;
+ if (
+ ((null == t ? void 0 : t.preserveWhitespace) ||
+ (r = r.replace(/\s+/g, " ")),
+ null == t ? void 0 : t.noEscape)
+ )
+ return r;
+ const {
+ lineStartEscape: n,
+ globalEscape: i,
+ textReplace: o,
+ } = this.options;
+ if (((r = r.replace(i[0], i[1]).replace(n[0], n[1])), o))
+ for (const [e, t] of o) r = r.replace(e, t);
+ return r;
+ }
+ visitNode(e, t, r) {
+ var a, s;
+ const { result: l } = this;
+ if (!e.preserve) return;
+ if ((0, n.isTextNode)(e))
+ return e.isWhitespace &&
+ !(null == r ? void 0 : r.preserveWhitespace)
+ ? !l.text.length || l.trailingNewlineStats.whitespace > 0
+ ? void 0
+ : this.appendResult(" ")
+ : this.appendResult(
+ this.processText(
+ (null == r ? void 0 : r.preserveWhitespace)
+ ? e.text
+ : e.trimmedText,
+ r
+ )
+ );
+ if (t || !(0, n.isElementNode)(e)) return;
+ const c = (null == r ? void 0 : r.translators)
+ ? r.translators[e.tagName]
+ : this.instance.translators[e.tagName];
+ switch (e.tagName) {
+ case "UL":
+ case "OL":
+ r = Object.assign(Object.assign({}, r), {
+ listItemNumber: 0,
+ listKind: e.tagName,
+ indentLevel:
+ (null !== (a = null == r ? void 0 : r.indentLevel) &&
+ void 0 !== a
+ ? a
+ : -1) + 1,
+ });
+ break;
+ case "LI":
+ "OL" === (null == r ? void 0 : r.listKind) &&
+ (r.listItemNumber =
+ (null !== (s = r.listItemNumber) && void 0 !== s ? s : 0) +
+ 1);
+ break;
+ case "PRE":
+ r = Object.assign(Object.assign({}, r), {
+ preserveWhitespace: !0,
+ });
+ break;
+ case "TABLE":
+ r = Object.assign(Object.assign({}, r), {
+ tableMeta: { node: e },
+ });
+ }
+ if ((r && this.nodeMetadata.set(e, r), !c)) {
+ for (const n of (0, i.getChildNodes)(e)) this.visitNode(n, t, r);
+ return;
+ }
+ let u, p;
+ if (
+ ((0, o.isTranslatorConfig)(c)
+ ? (u = c)
+ : ((p = (0, o.createTranslatorContext)(this, e, r, c.base)),
+ (u = Object.assign(Object.assign({}, c.base), c(p)))),
+ u.ignore)
+ )
+ return;
+ u.noEscape &&
+ !(null == r ? void 0 : r.noEscape) &&
+ ((r = Object.assign(Object.assign({}, r), {
+ noEscape: u.noEscape,
+ })),
+ this.nodeMetadata.set(e, r)),
+ u.childTranslators &&
+ u.childTranslators !== (null == r ? void 0 : r.translators) &&
+ ((r = Object.assign(Object.assign({}, r), {
+ translators: u.childTranslators,
+ })),
+ this.nodeMetadata.set(e, r));
+ const d = l.text.length;
+ if (
+ (u.surroundingNewlines &&
+ this.appendNewlines(+u.surroundingNewlines),
+ u.prefix && this.appendResult(u.prefix),
+ "string" == typeof u.content)
+ )
+ this.appendResult(u.content, void 0, u.spaceIfRepeatingChar);
+ else {
+ const t = l.text.length;
+ for (const t of (0, i.getChildNodes)(e))
+ this.visitNode(t, !1 === u.recurse, r);
+ if (u.postprocess) {
+ const n = u.postprocess(
+ Object.assign(
+ Object.assign(
+ {},
+ p || (0, o.createTranslatorContext)(this, e, r)
+ ),
+ { content: l.text.substr(t) }
+ )
+ );
+ if (n === o.PostProcessResult.RemoveNode)
+ return (
+ "LI" === e.tagName &&
+ (null == r ? void 0 : r.listItemNumber) &&
+ --r.listItemNumber,
+ this.appendResult("", d)
+ );
+ "string" == typeof n &&
+ this.appendResult(n, t, u.spaceIfRepeatingChar);
+ }
+ }
+ u.postfix && this.appendResult(u.postfix),
+ u.surroundingNewlines &&
+ this.appendNewlines(+u.surroundingNewlines);
+ }
+ }
+ (t.Visitor = s),
+ (t.getMarkdownForHtmlNodes = function (e, t, r) {
+ (0, i.perfStart)("walk");
+ const n = new s(e, t, r);
+ let o = n.result.text;
+ (0, i.perfStop)("walk"),
+ e.options.useLinkReferenceDefinitions &&
+ (/[^\r\n]/.test(o.slice(-1)) && (o += "\n"),
+ n.urlDefinitions.forEach((e, t) => {
+ o += `\n[${t + 1}]: ${e}`;
+ }));
+ const { maxConsecutiveNewlines: a } = e.options;
+ return (
+ a &&
+ (o = o.replace(
+ new RegExp(
+ String.raw`(?:\r?\n\s*)+((?:\r?\n\s*){${a}})`,
+ "g"
+ ),
+ "$1"
+ )),
+ (0, i.trimNewLines)(o)
+ );
+ });
+ },
+ 8701: (e, t) => {
+ "use strict";
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.default = function (e) {
+ return e[e.length - 1];
+ });
+ },
+ 698: function (e, t, r) {
+ "use strict";
+ var n =
+ (this && this.__importDefault) ||
+ function (e) {
+ return e && e.__esModule ? e : { default: e };
+ };
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.NodeType =
+ t.TextNode =
+ t.Node =
+ t.valid =
+ t.default =
+ t.parse =
+ t.HTMLElement =
+ t.CommentNode =
+ void 0);
+ var i = r(1271);
+ Object.defineProperty(t, "CommentNode", {
+ enumerable: !0,
+ get: function () {
+ return n(i).default;
+ },
+ });
+ var o = r(4382);
+ Object.defineProperty(t, "HTMLElement", {
+ enumerable: !0,
+ get: function () {
+ return n(o).default;
+ },
+ });
+ var a = r(8821);
+ Object.defineProperty(t, "parse", {
+ enumerable: !0,
+ get: function () {
+ return n(a).default;
+ },
+ }),
+ Object.defineProperty(t, "default", {
+ enumerable: !0,
+ get: function () {
+ return n(a).default;
+ },
+ });
+ var s = r(6389);
+ Object.defineProperty(t, "valid", {
+ enumerable: !0,
+ get: function () {
+ return n(s).default;
+ },
+ });
+ var l = r(4936);
+ Object.defineProperty(t, "Node", {
+ enumerable: !0,
+ get: function () {
+ return n(l).default;
+ },
+ });
+ var c = r(7923);
+ Object.defineProperty(t, "TextNode", {
+ enumerable: !0,
+ get: function () {
+ return n(c).default;
+ },
+ });
+ var u = r(9979);
+ Object.defineProperty(t, "NodeType", {
+ enumerable: !0,
+ get: function () {
+ return n(u).default;
+ },
+ });
+ },
+ 80: function (e, t, r) {
+ "use strict";
+ var n =
+ (this && this.__importDefault) ||
+ function (e) {
+ return e && e.__esModule ? e : { default: e };
+ };
+ Object.defineProperty(t, "__esModule", { value: !0 });
+ var i = n(r(9979));
+ function o(e) {
+ return e && e.nodeType === i.default.ELEMENT_NODE;
+ }
+ function a(e, t) {
+ return o(e) ? e.getAttribute(t) : void 0;
+ }
+ function s(e) {
+ return e && e.childNodes;
+ }
+ function l(e) {
+ return e ? e.parentNode : null;
+ }
+ t.default = {
+ isTag: o,
+ getAttributeValue: a,
+ getName: function (e) {
+ return ((e && e.rawTagName) || "").toLowerCase();
+ },
+ getChildren: s,
+ getParent: l,
+ getText: function (e) {
+ return e.text;
+ },
+ removeSubsets: function (e) {
+ for (var t, r, n, i = e.length; --i > -1; ) {
+ for (t = r = e[i], e[i] = null, n = !0; r; ) {
+ if (e.indexOf(r) > -1) {
+ (n = !1), e.splice(i, 1);
+ break;
+ }
+ r = l(r);
+ }
+ n && (e[i] = t);
+ }
+ return e;
+ },
+ existsOne: function e(t, r) {
+ return r.some(function (r) {
+ return !!o(r) && (t(r) || e(t, s(r)));
+ });
+ },
+ getSiblings: function (e) {
+ var t = l(e);
+ return t && s(t);
+ },
+ hasAttrib: function (e, t) {
+ return void 0 !== a(e, t);
+ },
+ findOne: function e(t, r) {
+ for (var n = null, i = 0, o = r.length; i < o && !n; i++) {
+ var a = r[i];
+ if (t(a)) n = a;
+ else {
+ var l = s(a);
+ l && l.length > 0 && (n = e(t, l));
+ }
+ }
+ return n;
+ },
+ findAll: function e(t, r) {
+ for (var n = [], i = 0, a = r.length; i < a; i++)
+ if (o(r[i])) {
+ t(r[i]) && n.push(r[i]);
+ var l = s(r[i]);
+ l && (n = n.concat(e(t, l)));
+ }
+ return n;
+ },
+ };
+ },
+ 1271: function (e, t, r) {
+ "use strict";
+ var n,
+ i =
+ (this && this.__extends) ||
+ ((n = function (e, t) {
+ return (
+ (n =
+ Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array &&
+ function (e, t) {
+ e.__proto__ = t;
+ }) ||
+ function (e, t) {
+ for (var r in t)
+ Object.prototype.hasOwnProperty.call(t, r) &&
+ (e[r] = t[r]);
+ }),
+ n(e, t)
+ );
+ }),
+ function (e, t) {
+ if ("function" != typeof t && null !== t)
+ throw new TypeError(
+ "Class extends value " +
+ String(t) +
+ " is not a constructor or null"
+ );
+ function r() {
+ this.constructor = e;
+ }
+ n(e, t),
+ (e.prototype =
+ null === t
+ ? Object.create(t)
+ : ((r.prototype = t.prototype), new r()));
+ }),
+ o =
+ (this && this.__importDefault) ||
+ function (e) {
+ return e && e.__esModule ? e : { default: e };
+ };
+ Object.defineProperty(t, "__esModule", { value: !0 });
+ var a = o(r(4936)),
+ s = o(r(9979)),
+ l = (function (e) {
+ function t(t, r, n) {
+ var i = e.call(this, r, n) || this;
+ return (i.rawText = t), (i.nodeType = s.default.COMMENT_NODE), i;
+ }
+ return (
+ i(t, e),
+ (t.prototype.clone = function () {
+ return new t(this.rawText, null);
+ }),
+ Object.defineProperty(t.prototype, "text", {
+ get: function () {
+ return this.rawText;
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ (t.prototype.toString = function () {
+ return "\x3c!--".concat(this.rawText, "--\x3e");
+ }),
+ t
+ );
+ })(a.default);
+ t.default = l;
+ },
+ 4382: function (e, t, r) {
+ "use strict";
+ var n,
+ i =
+ (this && this.__extends) ||
+ ((n = function (e, t) {
+ return (
+ (n =
+ Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array &&
+ function (e, t) {
+ e.__proto__ = t;
+ }) ||
+ function (e, t) {
+ for (var r in t)
+ Object.prototype.hasOwnProperty.call(t, r) &&
+ (e[r] = t[r]);
+ }),
+ n(e, t)
+ );
+ }),
+ function (e, t) {
+ if ("function" != typeof t && null !== t)
+ throw new TypeError(
+ "Class extends value " +
+ String(t) +
+ " is not a constructor or null"
+ );
+ function r() {
+ this.constructor = e;
+ }
+ n(e, t),
+ (e.prototype =
+ null === t
+ ? Object.create(t)
+ : ((r.prototype = t.prototype), new r()));
+ }),
+ o =
+ (this && this.__assign) ||
+ function () {
+ return (
+ (o =
+ Object.assign ||
+ function (e) {
+ for (var t, r = 1, n = arguments.length; r < n; r++)
+ for (var i in (t = arguments[r]))
+ Object.prototype.hasOwnProperty.call(t, i) &&
+ (e[i] = t[i]);
+ return e;
+ }),
+ o.apply(this, arguments)
+ );
+ },
+ a =
+ (this && this.__spreadArray) ||
+ function (e, t, r) {
+ if (r || 2 === arguments.length)
+ for (var n, i = 0, o = t.length; i < o; i++)
+ (!n && i in t) ||
+ (n || (n = Array.prototype.slice.call(t, 0, i)),
+ (n[i] = t[i]));
+ return e.concat(n || Array.prototype.slice.call(t));
+ },
+ s =
+ (this && this.__importDefault) ||
+ function (e) {
+ return e && e.__esModule ? e : { default: e };
+ };
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.parse = t.base_parse = void 0);
+ var l = r(5366),
+ c = s(r(6492)),
+ u = s(r(8701)),
+ p = s(r(80)),
+ d = s(r(1271)),
+ f = s(r(4936)),
+ h = s(r(7923)),
+ m = s(r(9979)),
+ g = new Set([
+ "area",
+ "base",
+ "br",
+ "col",
+ "embed",
+ "hr",
+ "img",
+ "input",
+ "link",
+ "meta",
+ "param",
+ "source",
+ "track",
+ "wbr",
+ ]);
+ function v(e) {
+ return JSON.parse(JSON.stringify(c.default.decode(e)));
+ }
+ var b = new Set();
+ !(function () {
+ for (var e = [], t = 0; t < arguments.length; t++)
+ e[t] = arguments[t];
+ for (
+ var r = function (e) {
+ for (var t = 0; t < e.length; t++) {
+ var r = e[t];
+ b.add(r), b.add(r.toUpperCase());
+ }
+ },
+ n = 0,
+ i = e;
+ n < i.length;
+ n++
+ )
+ r(i[n]);
+ })(
+ ["h1", "h2", "h3", "h4", "h5", "h6", "header", "hgroup"],
+ ["details", "dialog", "dd", "div", "dt"],
+ ["fieldset", "figcaption", "figure", "footer", "form"],
+ ["table", "td", "tr"],
+ [
+ "address",
+ "article",
+ "aside",
+ "blockquote",
+ "br",
+ "hr",
+ "li",
+ "main",
+ "nav",
+ "ol",
+ "p",
+ "pre",
+ "section",
+ "ul",
+ ]
+ );
+ var y = (function () {
+ function e(e, t) {
+ void 0 === e && (e = []),
+ void 0 === t &&
+ (t = function () {
+ return null;
+ }),
+ (this._set = new Set(e)),
+ (this._afterUpdate = t);
+ }
+ return (
+ (e.prototype._validate = function (e) {
+ if (/\s/.test(e))
+ throw new Error(
+ "DOMException in DOMTokenList.add: The token '".concat(
+ e,
+ "' contains HTML space characters, which are not valid in tokens."
+ )
+ );
+ }),
+ (e.prototype.add = function (e) {
+ this._validate(e), this._set.add(e), this._afterUpdate(this);
+ }),
+ (e.prototype.replace = function (e, t) {
+ this._validate(t),
+ this._set.delete(e),
+ this._set.add(t),
+ this._afterUpdate(this);
+ }),
+ (e.prototype.remove = function (e) {
+ this._set.delete(e) && this._afterUpdate(this);
+ }),
+ (e.prototype.toggle = function (e) {
+ this._validate(e),
+ this._set.has(e) ? this._set.delete(e) : this._set.add(e),
+ this._afterUpdate(this);
+ }),
+ (e.prototype.contains = function (e) {
+ return this._set.has(e);
+ }),
+ Object.defineProperty(e.prototype, "length", {
+ get: function () {
+ return this._set.size;
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ (e.prototype.values = function () {
+ return this._set.values();
+ }),
+ Object.defineProperty(e.prototype, "value", {
+ get: function () {
+ return Array.from(this._set.values());
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ (e.prototype.toString = function () {
+ return Array.from(this._set.values()).join(" ");
+ }),
+ e
+ );
+ })(),
+ w = (function (e) {
+ function t(t, r, n, i, o) {
+ void 0 === n && (n = "");
+ var a = e.call(this, i, o) || this;
+ if (
+ ((a.rawAttrs = n),
+ (a.nodeType = m.default.ELEMENT_NODE),
+ (a.rawTagName = t),
+ (a.rawAttrs = n || ""),
+ (a.id = r.id || ""),
+ (a.childNodes = []),
+ (a.classList = new y(
+ r.class ? r.class.split(/\s+/) : [],
+ function (e) {
+ return a.setAttribute("class", e.toString());
+ }
+ )),
+ r.id && (n || (a.rawAttrs = 'id="'.concat(r.id, '"'))),
+ r.class && !n)
+ ) {
+ var s = 'class="'.concat(a.classList.toString(), '"');
+ a.rawAttrs ? (a.rawAttrs += " ".concat(s)) : (a.rawAttrs = s);
+ }
+ return a;
+ }
+ return (
+ i(t, e),
+ (t.prototype.quoteAttribute = function (e) {
+ return null == e
+ ? "null"
+ : JSON.stringify(e.replace(/"/g, """));
+ }),
+ (t.prototype.removeChild = function (e) {
+ return (
+ (this.childNodes = this.childNodes.filter(function (t) {
+ return t !== e;
+ })),
+ this
+ );
+ }),
+ (t.prototype.exchangeChild = function (e, t) {
+ var r = this.childNodes;
+ return (
+ (this.childNodes = r.map(function (r) {
+ return r === e ? t : r;
+ })),
+ this
+ );
+ }),
+ Object.defineProperty(t.prototype, "tagName", {
+ get: function () {
+ return this.rawTagName
+ ? this.rawTagName.toUpperCase()
+ : this.rawTagName;
+ },
+ set: function (e) {
+ this.rawTagName = e.toLowerCase();
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ Object.defineProperty(t.prototype, "localName", {
+ get: function () {
+ return this.rawTagName.toLowerCase();
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ Object.defineProperty(t.prototype, "isVoidElement", {
+ get: function () {
+ return g.has(this.localName);
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ Object.defineProperty(t.prototype, "rawText", {
+ get: function () {
+ return this.childNodes.reduce(function (e, t) {
+ return e + t.rawText;
+ }, "");
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ Object.defineProperty(t.prototype, "textContent", {
+ get: function () {
+ return v(this.rawText);
+ },
+ set: function (e) {
+ var t = [new h.default(e, this)];
+ this.childNodes = t;
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ Object.defineProperty(t.prototype, "text", {
+ get: function () {
+ return v(this.rawText);
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ Object.defineProperty(t.prototype, "structuredText", {
+ get: function () {
+ var e = [],
+ t = [e];
+ return (
+ (function r(n) {
+ if (n.nodeType === m.default.ELEMENT_NODE)
+ b.has(n.rawTagName)
+ ? (e.length > 0 && t.push((e = [])),
+ n.childNodes.forEach(r),
+ e.length > 0 && t.push((e = [])))
+ : n.childNodes.forEach(r);
+ else if (n.nodeType === m.default.TEXT_NODE)
+ if (n.isWhitespace) e.prependWhitespace = !0;
+ else {
+ var i = n.trimmedText;
+ e.prependWhitespace &&
+ ((i = " ".concat(i)), (e.prependWhitespace = !1)),
+ e.push(i);
+ }
+ })(this),
+ t
+ .map(function (e) {
+ return e.join("").replace(/\s{2,}/g, " ");
+ })
+ .join("\n")
+ .replace(/\s+$/, "")
+ );
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ (t.prototype.toString = function () {
+ var e = this.rawTagName;
+ if (e) {
+ var t = this.rawAttrs ? " ".concat(this.rawAttrs) : "";
+ return this.isVoidElement
+ ? "<".concat(e).concat(t, ">")
+ : "<"
+ .concat(e)
+ .concat(t, ">")
+ .concat(this.innerHTML, "")
+ .concat(e, ">");
+ }
+ return this.innerHTML;
+ }),
+ Object.defineProperty(t.prototype, "innerHTML", {
+ get: function () {
+ return this.childNodes
+ .map(function (e) {
+ return e.toString();
+ })
+ .join("");
+ },
+ set: function (e) {
+ var t = L(e),
+ r = t.childNodes.length
+ ? t.childNodes
+ : [new h.default(e, this)];
+ O(r, this), O(this.childNodes, null), (this.childNodes = r);
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ (t.prototype.set_content = function (e, t) {
+ if ((void 0 === t && (t = {}), e instanceof f.default)) e = [e];
+ else if ("string" == typeof e) {
+ var r = L(e, t);
+ e = r.childNodes.length
+ ? r.childNodes
+ : [new h.default(e, this)];
+ }
+ return (
+ O(this.childNodes, null),
+ O(e, this),
+ (this.childNodes = e),
+ this
+ );
+ }),
+ (t.prototype.replaceWith = function () {
+ for (var e = this, t = [], r = 0; r < arguments.length; r++)
+ t[r] = arguments[r];
+ var n = this.parentNode,
+ i = t
+ .map(function (t) {
+ if (t instanceof f.default) return [t];
+ if ("string" == typeof t) {
+ var r = L(t);
+ return r.childNodes.length
+ ? r.childNodes
+ : [new h.default(t, e)];
+ }
+ return [];
+ })
+ .flat(),
+ o = n.childNodes.findIndex(function (t) {
+ return t === e;
+ });
+ O([this], null),
+ (n.childNodes = a(
+ a(a([], n.childNodes.slice(0, o), !0), O(i, n), !0),
+ n.childNodes.slice(o + 1),
+ !0
+ ));
+ }),
+ Object.defineProperty(t.prototype, "outerHTML", {
+ get: function () {
+ return this.toString();
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ (t.prototype.trimRight = function (e) {
+ for (var t = 0; t < this.childNodes.length; t++) {
+ var r = this.childNodes[t];
+ if (r.nodeType === m.default.ELEMENT_NODE) r.trimRight(e);
+ else {
+ var n = r.rawText.search(e);
+ n > -1 &&
+ ((r.rawText = r.rawText.substr(0, n)),
+ (this.childNodes.length = t + 1));
+ }
+ }
+ return this;
+ }),
+ Object.defineProperty(t.prototype, "structure", {
+ get: function () {
+ var e = [],
+ t = 0;
+ function r(r) {
+ e.push(" ".repeat(t) + r);
+ }
+ return (
+ (function e(n) {
+ var i = n.id ? "#".concat(n.id) : "",
+ o = n.classList.length
+ ? ".".concat(n.classList.value.join("."))
+ : "";
+ r("".concat(n.rawTagName).concat(i).concat(o)),
+ t++,
+ n.childNodes.forEach(function (t) {
+ t.nodeType === m.default.ELEMENT_NODE
+ ? e(t)
+ : t.nodeType === m.default.TEXT_NODE &&
+ (t.isWhitespace || r("#text"));
+ }),
+ t--;
+ })(this),
+ e.join("\n")
+ );
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ (t.prototype.removeWhitespace = function () {
+ var e = this,
+ t = 0;
+ return (
+ this.childNodes.forEach(function (r) {
+ if (r.nodeType === m.default.TEXT_NODE) {
+ if (r.isWhitespace) return;
+ r.rawText = r.trimmedRawText;
+ } else r.nodeType === m.default.ELEMENT_NODE && r.removeWhitespace();
+ e.childNodes[t++] = r;
+ }),
+ (this.childNodes.length = t),
+ this
+ );
+ }),
+ (t.prototype.querySelectorAll = function (e) {
+ return (0, l.selectAll)(e, this, {
+ xmlMode: !0,
+ adapter: p.default,
+ });
+ }),
+ (t.prototype.querySelector = function (e) {
+ return (0, l.selectOne)(e, this, {
+ xmlMode: !0,
+ adapter: p.default,
+ });
+ }),
+ (t.prototype.getElementsByTagName = function (e) {
+ for (
+ var t = e.toUpperCase(), r = [], n = [], i = this, o = 0;
+ void 0 !== o;
+
+ ) {
+ var a = void 0;
+ do {
+ a = i.childNodes[o++];
+ } while (o < i.childNodes.length && void 0 === a);
+ void 0 !== a
+ ? a.nodeType === m.default.ELEMENT_NODE &&
+ (("*" !== e && a.tagName !== t) || r.push(a),
+ a.childNodes.length > 0 && (n.push(o), (i = a), (o = 0)))
+ : ((i = i.parentNode), (o = n.pop()));
+ }
+ return r;
+ }),
+ (t.prototype.getElementById = function (e) {
+ for (var t = [], r = this, n = 0; void 0 !== n; ) {
+ var i = void 0;
+ do {
+ i = r.childNodes[n++];
+ } while (n < r.childNodes.length && void 0 === i);
+ if (void 0 !== i) {
+ if (i.nodeType === m.default.ELEMENT_NODE) {
+ if (i.id === e) return i;
+ i.childNodes.length > 0 && (t.push(n), (r = i), (n = 0));
+ }
+ } else (r = r.parentNode), (n = t.pop());
+ }
+ return null;
+ }),
+ (t.prototype.closest = function (e) {
+ var t = new Map(),
+ r = this,
+ n = null;
+ function i(e, r) {
+ for (var n = null, o = 0, a = r.length; o < a && !n; o++) {
+ var s = r[o];
+ if (e(s)) n = s;
+ else {
+ var l = t.get(s);
+ l && (n = i(e, [l]));
+ }
+ }
+ return n;
+ }
+ for (; r; ) t.set(r, n), (n = r), (r = r.parentNode);
+ for (r = this; r; ) {
+ var a = (0, l.selectOne)(e, r, {
+ xmlMode: !0,
+ adapter: o(o({}, p.default), {
+ getChildren: function (e) {
+ var r = t.get(e);
+ return r && [r];
+ },
+ getSiblings: function (e) {
+ return [e];
+ },
+ findOne: i,
+ findAll: function () {
+ return [];
+ },
+ }),
+ });
+ if (a) return a;
+ r = r.parentNode;
+ }
+ return null;
+ }),
+ (t.prototype.appendChild = function (e) {
+ return (
+ e.remove(), this.childNodes.push(e), (e.parentNode = this), e
+ );
+ }),
+ Object.defineProperty(t.prototype, "firstChild", {
+ get: function () {
+ return this.childNodes[0];
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ Object.defineProperty(t.prototype, "lastChild", {
+ get: function () {
+ return (0, u.default)(this.childNodes);
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ Object.defineProperty(t.prototype, "attrs", {
+ get: function () {
+ if (this._attrs) return this._attrs;
+ this._attrs = {};
+ var e = this.rawAttributes;
+ for (var t in e) {
+ var r = e[t] || "";
+ this._attrs[t.toLowerCase()] = v(r);
+ }
+ return this._attrs;
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ Object.defineProperty(t.prototype, "attributes", {
+ get: function () {
+ var e = {},
+ t = this.rawAttributes;
+ for (var r in t) {
+ var n = t[r] || "";
+ e[r] = v(n);
+ }
+ return e;
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ Object.defineProperty(t.prototype, "rawAttributes", {
+ get: function () {
+ if (this._rawAttrs) return this._rawAttrs;
+ var e = {};
+ if (this.rawAttrs)
+ for (
+ var t =
+ /([a-zA-Z()#][a-zA-Z0-9-_:()#]*)(?:\s*=\s*((?:'[^']*')|(?:"[^"]*")|\S+))?/g,
+ r = void 0;
+ (r = t.exec(this.rawAttrs));
+
+ ) {
+ var n = r[1],
+ i = r[2] || null;
+ !i ||
+ ("'" !== i[0] && '"' !== i[0]) ||
+ (i = i.slice(1, i.length - 1)),
+ (e[n] = i);
+ }
+ return (this._rawAttrs = e), e;
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ (t.prototype.removeAttribute = function (e) {
+ var t = this.rawAttributes;
+ return (
+ delete t[e],
+ this._attrs && delete this._attrs[e],
+ (this.rawAttrs = Object.keys(t)
+ .map(function (e) {
+ var r = JSON.stringify(t[e]);
+ return void 0 === r || "null" === r
+ ? e
+ : "".concat(e, "=").concat(r);
+ })
+ .join(" ")),
+ "id" === e && (this.id = ""),
+ this
+ );
+ }),
+ (t.prototype.hasAttribute = function (e) {
+ return e.toLowerCase() in this.attrs;
+ }),
+ (t.prototype.getAttribute = function (e) {
+ return this.attrs[e.toLowerCase()];
+ }),
+ (t.prototype.setAttribute = function (e, t) {
+ var r = this;
+ if (arguments.length < 2)
+ throw new Error(
+ "Failed to execute 'setAttribute' on 'Element'"
+ );
+ var n = e.toLowerCase(),
+ i = this.rawAttributes;
+ for (var o in i)
+ if (o.toLowerCase() === n) {
+ e = o;
+ break;
+ }
+ (i[e] = String(t)),
+ this._attrs && (this._attrs[n] = v(i[e])),
+ (this.rawAttrs = Object.keys(i)
+ .map(function (e) {
+ var t = r.quoteAttribute(i[e]);
+ return "null" === t || '""' === t
+ ? e
+ : "".concat(e, "=").concat(t);
+ })
+ .join(" ")),
+ "id" === e && (this.id = t);
+ }),
+ (t.prototype.setAttributes = function (e) {
+ var t = this;
+ return (
+ this._attrs && delete this._attrs,
+ this._rawAttrs && delete this._rawAttrs,
+ (this.rawAttrs = Object.keys(e)
+ .map(function (r) {
+ var n = e[r];
+ return "null" === n || '""' === n
+ ? r
+ : "".concat(r, "=").concat(t.quoteAttribute(String(n)));
+ })
+ .join(" ")),
+ this
+ );
+ }),
+ (t.prototype.insertAdjacentHTML = function (e, t) {
+ var r,
+ n,
+ i,
+ o = this;
+ if (arguments.length < 2)
+ throw new Error("2 arguments required");
+ var s = L(t);
+ if ("afterend" === e) {
+ var l = this.parentNode.childNodes.findIndex(function (e) {
+ return e === o;
+ });
+ O(s.childNodes, this.parentNode),
+ (r = this.parentNode.childNodes).splice.apply(
+ r,
+ a([l + 1, 0], s.childNodes, !1)
+ );
+ } else if ("afterbegin" === e)
+ O(s.childNodes, this),
+ (n = this.childNodes).unshift.apply(n, s.childNodes);
+ else if ("beforeend" === e)
+ s.childNodes.forEach(function (e) {
+ o.appendChild(e);
+ });
+ else {
+ if ("beforebegin" !== e)
+ throw new Error(
+ "The value provided ('".concat(
+ e,
+ "') is not one of 'beforebegin', 'afterbegin', 'beforeend', or 'afterend'"
+ )
+ );
+ (l = this.parentNode.childNodes.findIndex(function (e) {
+ return e === o;
+ })),
+ O(s.childNodes, this.parentNode),
+ (i = this.parentNode.childNodes).splice.apply(
+ i,
+ a([l, 0], s.childNodes, !1)
+ );
+ }
+ return this;
+ }),
+ Object.defineProperty(t.prototype, "nextSibling", {
+ get: function () {
+ if (this.parentNode) {
+ for (
+ var e = this.parentNode.childNodes, t = 0;
+ t < e.length;
+
+ )
+ if (this === e[t++]) return e[t] || null;
+ return null;
+ }
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ Object.defineProperty(t.prototype, "nextElementSibling", {
+ get: function () {
+ if (this.parentNode) {
+ for (
+ var e = this.parentNode.childNodes, r = 0, n = !1;
+ r < e.length;
+
+ ) {
+ var i = e[r++];
+ if (n) {
+ if (i instanceof t) return i || null;
+ } else this === i && (n = !0);
+ }
+ return null;
+ }
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ Object.defineProperty(t.prototype, "previousSibling", {
+ get: function () {
+ if (this.parentNode) {
+ for (
+ var e = this.parentNode.childNodes, t = e.length;
+ t > 0;
+
+ )
+ if (this === e[--t]) return e[t - 1] || null;
+ return null;
+ }
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ Object.defineProperty(t.prototype, "previousElementSibling", {
+ get: function () {
+ if (this.parentNode) {
+ for (
+ var e = this.parentNode.childNodes, r = e.length, n = !1;
+ r > 0;
+
+ ) {
+ var i = e[--r];
+ if (n) {
+ if (i instanceof t) return i || null;
+ } else this === i && (n = !0);
+ }
+ return null;
+ }
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ Object.defineProperty(t.prototype, "classNames", {
+ get: function () {
+ return this.classList.toString();
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ (t.prototype.clone = function () {
+ return L(this.toString()).firstChild;
+ }),
+ t
+ );
+ })(f.default);
+ t.default = w;
+ var E =
+ /|<(\/?)([a-zA-Z][-.:0-9_a-zA-Z]*)((?:\s+[^>]*?(?:(?:'[^']*')|(?:"[^"]*"))?)*)\s*(\/?)>/g,
+ x = /(?:^|\s)(id|class)\s*=\s*((?:'[^']*')|(?:"[^"]*")|\S+)/gi,
+ T = {
+ area: !0,
+ AREA: !0,
+ base: !0,
+ BASE: !0,
+ br: !0,
+ BR: !0,
+ col: !0,
+ COL: !0,
+ hr: !0,
+ HR: !0,
+ img: !0,
+ IMG: !0,
+ input: !0,
+ INPUT: !0,
+ link: !0,
+ LINK: !0,
+ meta: !0,
+ META: !0,
+ source: !0,
+ SOURCE: !0,
+ embed: !0,
+ EMBED: !0,
+ param: !0,
+ PARAM: !0,
+ track: !0,
+ TRACK: !0,
+ wbr: !0,
+ WBR: !0,
+ },
+ k = {
+ li: { li: !0, LI: !0 },
+ LI: { li: !0, LI: !0 },
+ p: { p: !0, div: !0, P: !0, DIV: !0 },
+ P: { p: !0, div: !0, P: !0, DIV: !0 },
+ b: { div: !0, DIV: !0 },
+ B: { div: !0, DIV: !0 },
+ td: { td: !0, th: !0, TD: !0, TH: !0 },
+ TD: { td: !0, th: !0, TD: !0, TH: !0 },
+ th: { td: !0, th: !0, TD: !0, TH: !0 },
+ TH: { td: !0, th: !0, TD: !0, TH: !0 },
+ h1: { h1: !0, H1: !0 },
+ H1: { h1: !0, H1: !0 },
+ h2: { h2: !0, H2: !0 },
+ H2: { h2: !0, H2: !0 },
+ h3: { h3: !0, H3: !0 },
+ H3: { h3: !0, H3: !0 },
+ h4: { h4: !0, H4: !0 },
+ H4: { h4: !0, H4: !0 },
+ h5: { h5: !0, H5: !0 },
+ H5: { h5: !0, H5: !0 },
+ h6: { h6: !0, H6: !0 },
+ H6: { h6: !0, H6: !0 },
+ },
+ _ = {
+ li: { ul: !0, ol: !0, UL: !0, OL: !0 },
+ LI: { ul: !0, ol: !0, UL: !0, OL: !0 },
+ a: { div: !0, DIV: !0 },
+ A: { div: !0, DIV: !0 },
+ b: { div: !0, DIV: !0 },
+ B: { div: !0, DIV: !0 },
+ i: { div: !0, DIV: !0 },
+ I: { div: !0, DIV: !0 },
+ p: { div: !0, DIV: !0 },
+ P: { div: !0, DIV: !0 },
+ td: { tr: !0, table: !0, TR: !0, TABLE: !0 },
+ TD: { tr: !0, table: !0, TR: !0, TABLE: !0 },
+ th: { tr: !0, table: !0, TR: !0, TABLE: !0 },
+ TH: { tr: !0, table: !0, TR: !0, TABLE: !0 },
+ },
+ A = "documentfragmentcontainer";
+ function N(e, t) {
+ void 0 === t && (t = { lowerCaseTagName: !1, comment: !1 });
+ var r = t.blockTextElements || {
+ script: !0,
+ noscript: !0,
+ style: !0,
+ pre: !0,
+ },
+ n = Object.keys(r),
+ i = n.map(function (e) {
+ return new RegExp("^".concat(e, "$"), "i");
+ }),
+ o = n
+ .filter(function (e) {
+ return r[e];
+ })
+ .map(function (e) {
+ return new RegExp("^".concat(e, "$"), "i");
+ });
+ function a(e) {
+ return o.some(function (t) {
+ return t.test(e);
+ });
+ }
+ function s(e) {
+ return i.some(function (t) {
+ return t.test(e);
+ });
+ }
+ var l,
+ c = function (e, t) {
+ return [e - N, t - N];
+ },
+ p = new w(null, {}, "", null, [0, e.length]),
+ f = p,
+ m = [p],
+ g = -1,
+ v = void 0;
+ e = "<".concat(A, ">").concat(e, "").concat(A, ">");
+ for (
+ var b = t.lowerCaseTagName,
+ y = e.length - (A.length + 2),
+ N = A.length + 2;
+ (l = E.exec(e));
+
+ ) {
+ var L = l[0],
+ O = l[1],
+ S = l[2],
+ C = l[3],
+ D = l[4],
+ q = L.length,
+ R = E.lastIndex - q,
+ j = E.lastIndex;
+ if (g > -1 && g + q < j) {
+ var P = e.substring(g, R);
+ f.appendChild(new h.default(P, f, c(g, R)));
+ }
+ if (((g = E.lastIndex), S !== A))
+ if ("!" !== L[1]) {
+ if ((b && (S = S.toLowerCase()), !O)) {
+ for (var B = {}, F = void 0; (F = x.exec(C)); ) {
+ var M = F[1],
+ I = F[2],
+ U = "'" === I[0] || '"' === I[0];
+ B[M.toLowerCase()] = U ? I.slice(1, I.length - 1) : I;
+ }
+ var V = f.rawTagName;
+ !D && k[V] && k[V][S] && (m.pop(), (f = (0, u.default)(m))),
+ ("a" !== S && "A" !== S) ||
+ (void 0 !== v && (m.splice(v), (f = (0, u.default)(m))),
+ (v = m.length));
+ var H = E.lastIndex,
+ G = H - q;
+ if (
+ ((f = f.appendChild(
+ new w(S, B, C.slice(1), null, c(G, H))
+ )),
+ m.push(f),
+ s(S))
+ ) {
+ var K = "".concat(S, ">"),
+ $ = b
+ ? e.toLocaleLowerCase().indexOf(K, E.lastIndex)
+ : e.indexOf(K, E.lastIndex),
+ z = -1 === $ ? y : $;
+ a(S) &&
+ (P = e.substring(H, z)).length > 0 &&
+ /\S/.test(P) &&
+ f.appendChild(new h.default(P, f, c(H, z))),
+ -1 === $
+ ? (g = E.lastIndex = e.length + 1)
+ : ((g = E.lastIndex = $ + K.length), (O = "/"));
+ }
+ }
+ if (O || D || T[S])
+ for (;;) {
+ if (
+ (("a" !== S && "A" !== S) || (v = void 0),
+ f.rawTagName === S)
+ ) {
+ (f.range[1] = c(-1, Math.max(g, j))[1]),
+ m.pop(),
+ (f = (0, u.default)(m));
+ break;
+ }
+ if (((V = f.tagName), !_[V] || !_[V][S])) break;
+ m.pop(), (f = (0, u.default)(m));
+ }
+ } else if (t.comment) {
+ P = e.substring(R + 4, j - 3);
+ f.appendChild(new d.default(P, f, c(R, j)));
+ }
+ }
+ return m;
+ }
+ function L(e, t) {
+ void 0 === t && (t = { lowerCaseTagName: !1, comment: !1 });
+ for (
+ var r = N(e, t),
+ n = r[0],
+ i = function () {
+ var e = r.pop(),
+ n = (0, u.default)(r);
+ e.parentNode &&
+ e.parentNode.parentNode &&
+ (e.parentNode === n && e.tagName === n.tagName
+ ? !0 !== t.parseNoneClosedTags &&
+ (n.removeChild(e),
+ e.childNodes.forEach(function (e) {
+ n.parentNode.appendChild(e);
+ }),
+ r.pop())
+ : !0 !== t.parseNoneClosedTags &&
+ (n.removeChild(e),
+ e.childNodes.forEach(function (e) {
+ n.appendChild(e);
+ })));
+ };
+ r.length > 1;
+
+ )
+ i();
+ return n;
+ }
+ function O(e, t) {
+ return e.map(function (e) {
+ return (e.parentNode = t), e;
+ });
+ }
+ (t.base_parse = N), (t.parse = L);
+ },
+ 4936: (e, t, r) => {
+ "use strict";
+ Object.defineProperty(t, "__esModule", { value: !0 });
+ var n = r(6492),
+ i = (function () {
+ function e(e, t) {
+ void 0 === e && (e = null),
+ (this.parentNode = e),
+ (this.childNodes = []),
+ Object.defineProperty(this, "range", {
+ enumerable: !1,
+ writable: !0,
+ configurable: !0,
+ value: null != t ? t : [-1, -1],
+ });
+ }
+ return (
+ (e.prototype.remove = function () {
+ var e = this;
+ if (this.parentNode) {
+ var t = this.parentNode.childNodes;
+ (this.parentNode.childNodes = t.filter(function (t) {
+ return e !== t;
+ })),
+ (this.parentNode = null);
+ }
+ return this;
+ }),
+ Object.defineProperty(e.prototype, "innerText", {
+ get: function () {
+ return this.rawText;
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ Object.defineProperty(e.prototype, "textContent", {
+ get: function () {
+ return (0, n.decode)(this.rawText);
+ },
+ set: function (e) {
+ this.rawText = (0, n.encode)(e);
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ e
+ );
+ })();
+ t.default = i;
+ },
+ 7923: function (e, t, r) {
+ "use strict";
+ var n,
+ i =
+ (this && this.__extends) ||
+ ((n = function (e, t) {
+ return (
+ (n =
+ Object.setPrototypeOf ||
+ ({ __proto__: [] } instanceof Array &&
+ function (e, t) {
+ e.__proto__ = t;
+ }) ||
+ function (e, t) {
+ for (var r in t)
+ Object.prototype.hasOwnProperty.call(t, r) &&
+ (e[r] = t[r]);
+ }),
+ n(e, t)
+ );
+ }),
+ function (e, t) {
+ if ("function" != typeof t && null !== t)
+ throw new TypeError(
+ "Class extends value " +
+ String(t) +
+ " is not a constructor or null"
+ );
+ function r() {
+ this.constructor = e;
+ }
+ n(e, t),
+ (e.prototype =
+ null === t
+ ? Object.create(t)
+ : ((r.prototype = t.prototype), new r()));
+ }),
+ o =
+ (this && this.__importDefault) ||
+ function (e) {
+ return e && e.__esModule ? e : { default: e };
+ };
+ Object.defineProperty(t, "__esModule", { value: !0 });
+ var a = r(6492),
+ s = o(r(4936)),
+ l = o(r(9979)),
+ c = (function (e) {
+ function t(t, r, n) {
+ var i = e.call(this, r, n) || this;
+ return (i.nodeType = l.default.TEXT_NODE), (i._rawText = t), i;
+ }
+ return (
+ i(t, e),
+ (t.prototype.clone = function () {
+ return new t(this._rawText, null);
+ }),
+ Object.defineProperty(t.prototype, "rawText", {
+ get: function () {
+ return this._rawText;
+ },
+ set: function (e) {
+ (this._rawText = e),
+ (this._trimmedRawText = void 0),
+ (this._trimmedText = void 0);
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ Object.defineProperty(t.prototype, "trimmedRawText", {
+ get: function () {
+ return (
+ void 0 !== this._trimmedRawText ||
+ (this._trimmedRawText = u(this.rawText)),
+ this._trimmedRawText
+ );
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ Object.defineProperty(t.prototype, "trimmedText", {
+ get: function () {
+ return (
+ void 0 !== this._trimmedText ||
+ (this._trimmedText = u(this.text)),
+ this._trimmedText
+ );
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ Object.defineProperty(t.prototype, "text", {
+ get: function () {
+ return (0, a.decode)(this.rawText);
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ Object.defineProperty(t.prototype, "isWhitespace", {
+ get: function () {
+ return /^(\s| )*$/.test(this.rawText);
+ },
+ enumerable: !1,
+ configurable: !0,
+ }),
+ (t.prototype.toString = function () {
+ return this.rawText;
+ }),
+ t
+ );
+ })(s.default);
+ function u(e) {
+ for (var t, r, n = 0; n >= 0 && n < e.length; )
+ /\S/.test(e[n]) &&
+ (void 0 === t
+ ? ((t = n), (n = e.length))
+ : ((r = n), (n = void 0))),
+ void 0 === t ? n++ : n--;
+ void 0 === t && (t = 0), void 0 === r && (r = e.length - 1);
+ var i = t > 0 && /[^\S\r\n]/.test(e[t - 1]),
+ o = r < e.length - 1 && /[^\S\r\n]/.test(e[r + 1]);
+ return (i ? " " : "") + e.slice(t, r + 1) + (o ? " " : "");
+ }
+ t.default = c;
+ },
+ 9979: (e, t) => {
+ "use strict";
+ var r;
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (function (e) {
+ (e[(e.ELEMENT_NODE = 1)] = "ELEMENT_NODE"),
+ (e[(e.TEXT_NODE = 3)] = "TEXT_NODE"),
+ (e[(e.COMMENT_NODE = 8)] = "COMMENT_NODE");
+ })(r || (r = {})),
+ (t.default = r);
+ },
+ 8821: (e, t, r) => {
+ "use strict";
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.default = void 0);
+ var n = r(4382);
+ Object.defineProperty(t, "default", {
+ enumerable: !0,
+ get: function () {
+ return n.parse;
+ },
+ });
+ },
+ 6389: (e, t, r) => {
+ "use strict";
+ Object.defineProperty(t, "__esModule", { value: !0 });
+ var n = r(4382);
+ t.default = function (e, t) {
+ void 0 === t && (t = { lowerCaseTagName: !1, comment: !1 });
+ var r = (0, n.base_parse)(e, t);
+ return Boolean(1 === r.length);
+ };
+ },
+ 9769: (e, t, r) => {
+ "use strict";
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.compile = void 0);
+ var n = r(1073);
+ t.compile = function (e) {
+ var t = e[0],
+ r = e[1] - 1;
+ if (r < 0 && t <= 0) return n.falseFunc;
+ if (-1 === t)
+ return function (e) {
+ return e <= r;
+ };
+ if (0 === t)
+ return function (e) {
+ return e === r;
+ };
+ if (1 === t)
+ return r < 0
+ ? n.trueFunc
+ : function (e) {
+ return e >= r;
+ };
+ var i = Math.abs(t),
+ o = ((r % i) + i) % i;
+ return t > 1
+ ? function (e) {
+ return e >= r && e % i === o;
+ }
+ : function (e) {
+ return e <= r && e % i === o;
+ };
+ };
+ },
+ 7540: (e, t, r) => {
+ "use strict";
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.compile = t.parse = void 0);
+ var n = r(7766);
+ Object.defineProperty(t, "parse", {
+ enumerable: !0,
+ get: function () {
+ return n.parse;
+ },
+ });
+ var i = r(9769);
+ Object.defineProperty(t, "compile", {
+ enumerable: !0,
+ get: function () {
+ return i.compile;
+ },
+ }),
+ (t.default = function (e) {
+ return (0, i.compile)((0, n.parse)(e));
+ });
+ },
+ 7766: (e, t) => {
+ "use strict";
+ Object.defineProperty(t, "__esModule", { value: !0 }),
+ (t.parse = void 0);
+ var r = new Set([9, 10, 12, 13, 32]),
+ n = "0".charCodeAt(0),
+ i = "9".charCodeAt(0);
+ t.parse = function (e) {
+ if ("even" === (e = e.trim().toLowerCase())) return [2, 0];
+ if ("odd" === e) return [2, 1];
+ var t = 0,
+ o = 0,
+ a = l(),
+ s = c();
+ if (
+ (t < e.length &&
+ "n" === e.charAt(t) &&
+ (t++,
+ (o = a * (null != s ? s : 1)),
+ u(),
+ t < e.length ? ((a = l()), u(), (s = c())) : (a = s = 0)),
+ null === s || t < e.length)
+ )
+ throw new Error("n-th rule couldn't be parsed ('" + e + "')");
+ return [o, a * s];
+ function l() {
+ return "-" === e.charAt(t)
+ ? (t++, -1)
+ : ("+" === e.charAt(t) && t++, 1);
+ }
+ function c() {
+ for (
+ var r = t, o = 0;
+ t < e.length && e.charCodeAt(t) >= n && e.charCodeAt(t) <= i;
+
+ )
+ (o = 10 * o + (e.charCodeAt(t) - n)), t++;
+ return t === r ? null : o;
+ }
+ function u() {
+ for (; t < e.length && r.has(e.charCodeAt(t)); ) t++;
+ }
+ };
+ },
+ 2985: function (e) {
+ var t;
+ "undefined" != typeof self && self,
+ (t = function () {
+ return (function (e) {
+ var t = {};
+ function r(n) {
+ if (t[n]) return t[n].exports;
+ var i = (t[n] = { i: n, l: !1, exports: {} });
+ return (
+ e[n].call(i.exports, i, i.exports, r), (i.l = !0), i.exports
+ );
+ }
+ return (
+ (r.m = e),
+ (r.c = t),
+ (r.d = function (e, t, n) {
+ r.o(e, t) ||
+ Object.defineProperty(e, t, {
+ configurable: !1,
+ enumerable: !0,
+ get: n,
+ });
+ }),
+ (r.n = function (e) {
+ var t =
+ e && e.__esModule
+ ? function () {
+ return e.default;
+ }
+ : function () {
+ return e;
+ };
+ return r.d(t, "a", t), t;
+ }),
+ (r.o = function (e, t) {
+ return Object.prototype.hasOwnProperty.call(e, t);
+ }),
+ (r.p = ""),
+ r((r.s = 11))
+ );
+ })([
+ function (e, t, r) {
+ "use strict";
+ var n = Array.prototype,
+ i = Object.prototype,
+ o = {
+ "&": "&",
+ '"': """,
+ "'": "'",
+ "<": "<",
+ ">": ">",
+ },
+ a = /[&"'<>]/g;
+ function s(e, t) {
+ return i.hasOwnProperty.call(e, t);
+ }
+ function l(e) {
+ return o[e];
+ }
+ function c(e, t, r) {
+ var n, i, o;
+ if (
+ (e instanceof Error &&
+ (e = (i = e).name + ": " + i.message),
+ Object.setPrototypeOf
+ ? ((n = new Error(e)),
+ Object.setPrototypeOf(n, c.prototype))
+ : ((n = this),
+ Object.defineProperty(n, "message", {
+ enumerable: !1,
+ writable: !0,
+ value: e,
+ })),
+ Object.defineProperty(n, "name", {
+ value: "Template render error",
+ }),
+ Error.captureStackTrace &&
+ Error.captureStackTrace(n, this.constructor),
+ i)
+ ) {
+ var a = Object.getOwnPropertyDescriptor(i, "stack");
+ (o =
+ a &&
+ (a.get ||
+ function () {
+ return a.value;
+ })) ||
+ (o = function () {
+ return i.stack;
+ });
+ } else {
+ var s = new Error(e).stack;
+ o = function () {
+ return s;
+ };
+ }
+ return (
+ Object.defineProperty(n, "stack", {
+ get: function () {
+ return o.call(n);
+ },
+ }),
+ Object.defineProperty(n, "cause", { value: i }),
+ (n.lineno = t),
+ (n.colno = r),
+ (n.firstUpdate = !0),
+ (n.Update = function (e) {
+ var t = "(" + (e || "unknown path") + ")";
+ return (
+ this.firstUpdate &&
+ (this.lineno && this.colno
+ ? (t +=
+ " [Line " +
+ this.lineno +
+ ", Column " +
+ this.colno +
+ "]")
+ : this.lineno &&
+ (t += " [Line " + this.lineno + "]")),
+ (t += "\n "),
+ this.firstUpdate && (t += " "),
+ (this.message = t + (this.message || "")),
+ (this.firstUpdate = !1),
+ this
+ );
+ }),
+ n
+ );
+ }
+ function u(e) {
+ return "[object Function]" === i.toString.call(e);
+ }
+ function p(e) {
+ return "[object Array]" === i.toString.call(e);
+ }
+ function d(e) {
+ return "[object String]" === i.toString.call(e);
+ }
+ function f(e) {
+ return "[object Object]" === i.toString.call(e);
+ }
+ function h(e) {
+ var t,
+ r = (t = e)
+ ? "string" == typeof t
+ ? t.split(".")
+ : [t]
+ : [];
+ return function (e) {
+ for (var t = e, n = 0; n < r.length; n++) {
+ var i = r[n];
+ if (!s(t, i)) return;
+ t = t[i];
+ }
+ return t;
+ };
+ }
+ function m(e) {
+ return Array.prototype.slice.call(e);
+ }
+ function g(e, t, r) {
+ return Array.prototype.indexOf.call(e || [], t, r);
+ }
+ function v(e) {
+ var t = [];
+ for (var r in e) s(e, r) && t.push(r);
+ return t;
+ }
+ ((t = e.exports = {}).hasOwnProp = s),
+ (t._prettifyError = function (e, r, n) {
+ if (
+ (n.Update || (n = new t.TemplateError(n)),
+ n.Update(e),
+ !r)
+ ) {
+ var i = n;
+ (n = new Error(i.message)).name = i.name;
+ }
+ return n;
+ }),
+ Object.setPrototypeOf
+ ? Object.setPrototypeOf(c.prototype, Error.prototype)
+ : (c.prototype = Object.create(Error.prototype, {
+ constructor: { value: c },
+ })),
+ (t.TemplateError = c),
+ (t.escape = function (e) {
+ return e.replace(a, l);
+ }),
+ (t.isFunction = u),
+ (t.isArray = p),
+ (t.isString = d),
+ (t.isObject = f),
+ (t.getAttrGetter = h),
+ (t.groupBy = function (e, t, r) {
+ for (
+ var n = {}, i = u(t) ? t : h(t), o = 0;
+ o < e.length;
+ o++
+ ) {
+ var a = e[o],
+ s = i(a, o);
+ if (void 0 === s && !0 === r)
+ throw new TypeError(
+ 'groupby: attribute "' + t + '" resolved to undefined'
+ );
+ (n[s] || (n[s] = [])).push(a);
+ }
+ return n;
+ }),
+ (t.toArray = m),
+ (t.without = function (e) {
+ var t = [];
+ if (!e) return t;
+ for (
+ var r = e.length, n = m(arguments).slice(1), i = -1;
+ ++i < r;
+
+ )
+ -1 === g(n, e[i]) && t.push(e[i]);
+ return t;
+ }),
+ (t.repeat = function (e, t) {
+ for (var r = "", n = 0; n < t; n++) r += e;
+ return r;
+ }),
+ (t.each = function (e, t, r) {
+ if (null != e)
+ if (n.forEach && e.forEach === n.forEach) e.forEach(t, r);
+ else if (e.length === +e.length)
+ for (var i = 0, o = e.length; i < o; i++)
+ t.call(r, e[i], i, e);
+ }),
+ (t.map = function (e, t) {
+ var r = [];
+ if (null == e) return r;
+ if (n.map && e.map === n.map) return e.map(t);
+ for (var i = 0; i < e.length; i++) r[r.length] = t(e[i], i);
+ return e.length === +e.length && (r.length = e.length), r;
+ }),
+ (t.asyncIter = function (e, t, r) {
+ var n = -1;
+ !(function i() {
+ ++n < e.length ? t(e[n], n, i, r) : r();
+ })();
+ }),
+ (t.asyncFor = function (e, t, r) {
+ var n = v(e || {}),
+ i = n.length,
+ o = -1;
+ !(function a() {
+ o++;
+ var s = n[o];
+ o < i ? t(s, e[s], o, i, a) : r();
+ })();
+ }),
+ (t.indexOf = g),
+ (t.keys = v),
+ (t._entries = function (e) {
+ return v(e).map(function (t) {
+ return [t, e[t]];
+ });
+ }),
+ (t._values = function (e) {
+ return v(e).map(function (t) {
+ return e[t];
+ });
+ }),
+ (t._assign = t.extend =
+ function (e, t) {
+ return (
+ (e = e || {}),
+ v(t).forEach(function (r) {
+ e[r] = t[r];
+ }),
+ e
+ );
+ }),
+ (t.inOperator = function (e, t) {
+ if (p(t) || d(t)) return -1 !== t.indexOf(e);
+ if (f(t)) return e in t;
+ throw new Error(
+ 'Cannot use "in" operator to search for "' +
+ e +
+ '" in unexpected types.'
+ );
+ });
+ },
+ function (e, t, r) {
+ "use strict";
+ function n(e, t) {
+ for (var r = 0; r < t.length; r++) {
+ var n = t[r];
+ (n.enumerable = n.enumerable || !1),
+ (n.configurable = !0),
+ "value" in n && (n.writable = !0),
+ Object.defineProperty(e, n.key, n);
+ }
+ }
+ function i(e, t, r) {
+ return t && n(e.prototype, t), r && n(e, r), e;
+ }
+ function o(e, t) {
+ (e.prototype = Object.create(t.prototype)),
+ (e.prototype.constructor = e),
+ a(e, t);
+ }
+ function a(e, t) {
+ return (
+ (a =
+ Object.setPrototypeOf ||
+ function (e, t) {
+ return (e.__proto__ = t), e;
+ }),
+ a(e, t)
+ );
+ }
+ var s = r(16),
+ l = r(0);
+ function c(e, t, r) {
+ (r = r || {}),
+ l.keys(r).forEach(function (t) {
+ var n, i;
+ r[t] =
+ ((n = e.prototype[t]),
+ (i = r[t]),
+ "function" != typeof n || "function" != typeof i
+ ? i
+ : function () {
+ var e = this.parent;
+ this.parent = n;
+ var t = i.apply(this, arguments);
+ return (this.parent = e), t;
+ });
+ });
+ var n = (function (e) {
+ function r() {
+ return e.apply(this, arguments) || this;
+ }
+ return (
+ o(r, e),
+ i(r, [
+ {
+ key: "typename",
+ get: function () {
+ return t;
+ },
+ },
+ ]),
+ r
+ );
+ })(e);
+ return l._assign(n.prototype, r), n;
+ }
+ var u = (function () {
+ function e() {
+ this.init.apply(this, arguments);
+ }
+ return (
+ (e.prototype.init = function () {}),
+ (e.extend = function (e, t) {
+ return (
+ "object" == typeof e && ((t = e), (e = "anonymous")),
+ c(this, e, t)
+ );
+ }),
+ i(e, [
+ {
+ key: "typename",
+ get: function () {
+ return this.constructor.name;
+ },
+ },
+ ]),
+ e
+ );
+ })(),
+ p = (function (e) {
+ function t() {
+ var t, r;
+ return (
+ (t = r = e.call(this) || this).init.apply(t, arguments),
+ r
+ );
+ }
+ return (
+ o(t, e),
+ (t.prototype.init = function () {}),
+ (t.extend = function (e, t) {
+ return (
+ "object" == typeof e && ((t = e), (e = "anonymous")),
+ c(this, e, t)
+ );
+ }),
+ i(t, [
+ {
+ key: "typename",
+ get: function () {
+ return this.constructor.name;
+ },
+ },
+ ]),
+ t
+ );
+ })(s);
+ e.exports = { Obj: u, EmitterObj: p };
+ },
+ function (e, t, r) {
+ "use strict";
+ var n = r(0),
+ i = Array.from,
+ o =
+ "function" == typeof Symbol &&
+ Symbol.iterator &&
+ "function" == typeof i,
+ a = (function () {
+ function e(e, t) {
+ (this.variables = Object.create(null)),
+ (this.parent = e),
+ (this.topLevel = !1),
+ (this.isolateWrites = t);
+ }
+ var t = e.prototype;
+ return (
+ (t.set = function (e, t, r) {
+ var n = e.split("."),
+ i = this.variables,
+ o = this;
+ if (r && (o = this.resolve(n[0], !0))) o.set(e, t);
+ else {
+ for (var a = 0; a < n.length - 1; a++) {
+ var s = n[a];
+ i[s] || (i[s] = {}), (i = i[s]);
+ }
+ i[n[n.length - 1]] = t;
+ }
+ }),
+ (t.get = function (e) {
+ var t = this.variables[e];
+ return void 0 !== t ? t : null;
+ }),
+ (t.lookup = function (e) {
+ var t = this.parent,
+ r = this.variables[e];
+ return void 0 !== r ? r : t && t.lookup(e);
+ }),
+ (t.resolve = function (e, t) {
+ var r = t && this.isolateWrites ? void 0 : this.parent;
+ return void 0 !== this.variables[e]
+ ? this
+ : r && r.resolve(e);
+ }),
+ (t.push = function (t) {
+ return new e(this, t);
+ }),
+ (t.pop = function () {
+ return this.parent;
+ }),
+ e
+ );
+ })();
+ function s(e) {
+ return (
+ e && Object.prototype.hasOwnProperty.call(e, "__keywords")
+ );
+ }
+ function l(e) {
+ var t = e.length;
+ return 0 === t ? 0 : s(e[t - 1]) ? t - 1 : t;
+ }
+ function c(e) {
+ if ("string" != typeof e) return e;
+ (this.val = e), (this.length = e.length);
+ }
+ (c.prototype = Object.create(String.prototype, {
+ length: { writable: !0, configurable: !0, value: 0 },
+ })),
+ (c.prototype.valueOf = function () {
+ return this.val;
+ }),
+ (c.prototype.toString = function () {
+ return this.val;
+ }),
+ (e.exports = {
+ Frame: a,
+ makeMacro: function (e, t, r) {
+ return function () {
+ for (
+ var n = arguments.length, i = new Array(n), o = 0;
+ o < n;
+ o++
+ )
+ i[o] = arguments[o];
+ var a,
+ c = l(i),
+ u = (function (e) {
+ var t = e.length;
+ if (t) {
+ var r = e[t - 1];
+ if (s(r)) return r;
+ }
+ return {};
+ })(i);
+ if (c > e.length)
+ (a = i.slice(0, e.length)),
+ i.slice(a.length, c).forEach(function (e, r) {
+ r < t.length && (u[t[r]] = e);
+ }),
+ a.push(u);
+ else if (c < e.length) {
+ a = i.slice(0, c);
+ for (var p = c; p < e.length; p++) {
+ var d = e[p];
+ a.push(u[d]), delete u[d];
+ }
+ a.push(u);
+ } else a = i;
+ return r.apply(this, a);
+ };
+ },
+ makeKeywordArgs: function (e) {
+ return (e.__keywords = !0), e;
+ },
+ numArgs: l,
+ suppressValue: function (e, t) {
+ return (
+ (e = null != e ? e : ""),
+ !t || e instanceof c || (e = n.escape(e.toString())),
+ e
+ );
+ },
+ ensureDefined: function (e, t, r) {
+ if (null == e)
+ throw new n.TemplateError(
+ "attempted to output null or undefined value",
+ t + 1,
+ r + 1
+ );
+ return e;
+ },
+ memberLookup: function (e, t) {
+ if (null != e)
+ return "function" == typeof e[t]
+ ? function () {
+ for (
+ var r = arguments.length,
+ n = new Array(r),
+ i = 0;
+ i < r;
+ i++
+ )
+ n[i] = arguments[i];
+ return e[t].apply(e, n);
+ }
+ : e[t];
+ },
+ contextOrFrameLookup: function (e, t, r) {
+ var n = t.lookup(r);
+ return void 0 !== n ? n : e.lookup(r);
+ },
+ callWrap: function (e, t, r, n) {
+ if (!e)
+ throw new Error(
+ "Unable to call `" +
+ t +
+ "`, which is undefined or falsey"
+ );
+ if ("function" != typeof e)
+ throw new Error(
+ "Unable to call `" + t + "`, which is not a function"
+ );
+ return e.apply(r, n);
+ },
+ handleError: function (e, t, r) {
+ return e.lineno ? e : new n.TemplateError(e, t, r);
+ },
+ isArray: n.isArray,
+ keys: n.keys,
+ SafeString: c,
+ copySafeness: function (e, t) {
+ return e instanceof c ? new c(t) : t.toString();
+ },
+ markSafe: function (e) {
+ var t = typeof e;
+ return "string" === t
+ ? new c(e)
+ : "function" !== t
+ ? e
+ : function (t) {
+ var r = e.apply(this, arguments);
+ return "string" == typeof r ? new c(r) : r;
+ };
+ },
+ asyncEach: function (e, t, r, i) {
+ if (n.isArray(e)) {
+ var o = e.length;
+ n.asyncIter(
+ e,
+ function (e, n, i) {
+ switch (t) {
+ case 1:
+ r(e, n, o, i);
+ break;
+ case 2:
+ r(e[0], e[1], n, o, i);
+ break;
+ case 3:
+ r(e[0], e[1], e[2], n, o, i);
+ break;
+ default:
+ e.push(n, o, i), r.apply(this, e);
+ }
+ },
+ i
+ );
+ } else
+ n.asyncFor(
+ e,
+ function (e, t, n, i, o) {
+ r(e, t, n, i, o);
+ },
+ i
+ );
+ },
+ asyncAll: function (e, t, r, i) {
+ var o,
+ a,
+ s = 0;
+ function l(e, t) {
+ s++, (a[e] = t), s === o && i(null, a.join(""));
+ }
+ if (n.isArray(e))
+ if (((o = e.length), (a = new Array(o)), 0 === o))
+ i(null, "");
+ else
+ for (var c = 0; c < e.length; c++) {
+ var u = e[c];
+ switch (t) {
+ case 1:
+ r(u, c, o, l);
+ break;
+ case 2:
+ r(u[0], u[1], c, o, l);
+ break;
+ case 3:
+ r(u[0], u[1], u[2], c, o, l);
+ break;
+ default:
+ u.push(c, o, l), r.apply(this, u);
+ }
+ }
+ else {
+ var p = n.keys(e || {});
+ if (((o = p.length), (a = new Array(o)), 0 === o))
+ i(null, "");
+ else
+ for (var d = 0; d < p.length; d++) {
+ var f = p[d];
+ r(f, e[f], d, o, l);
+ }
+ }
+ },
+ inOperator: n.inOperator,
+ fromIterator: function (e) {
+ return "object" != typeof e || null === e || n.isArray(e)
+ ? e
+ : o && Symbol.iterator in e
+ ? i(e)
+ : e;
+ },
+ });
+ },
+ function (e, t, r) {
+ "use strict";
+ function n(e, t) {
+ for (var r = 0; r < t.length; r++) {
+ var n = t[r];
+ (n.enumerable = n.enumerable || !1),
+ (n.configurable = !0),
+ "value" in n && (n.writable = !0),
+ Object.defineProperty(e, n.key, n);
+ }
+ }
+ function i(e, t, r) {
+ return t && n(e.prototype, t), r && n(e, r), e;
+ }
+ function o(e, t) {
+ (e.prototype = Object.create(t.prototype)),
+ (e.prototype.constructor = e),
+ a(e, t);
+ }
+ function a(e, t) {
+ return (
+ (a =
+ Object.setPrototypeOf ||
+ function (e, t) {
+ return (e.__proto__ = t), e;
+ }),
+ a(e, t)
+ );
+ }
+ function s(e, t, r) {
+ e instanceof t && r.push(e),
+ e instanceof l && e.findAll(t, r);
+ }
+ var l = (function (e) {
+ function t() {
+ return e.apply(this, arguments) || this;
+ }
+ o(t, e);
+ var r = t.prototype;
+ return (
+ (r.init = function (e, t) {
+ for (
+ var r = arguments,
+ n = this,
+ i = arguments.length,
+ o = new Array(i > 2 ? i - 2 : 0),
+ a = 2;
+ a < i;
+ a++
+ )
+ o[a - 2] = arguments[a];
+ (this.lineno = e),
+ (this.colno = t),
+ this.fields.forEach(function (e, t) {
+ var i = r[t + 2];
+ void 0 === i && (i = null), (n[e] = i);
+ });
+ }),
+ (r.findAll = function (e, t) {
+ var r = this;
+ return (
+ (t = t || []),
+ this instanceof u
+ ? this.children.forEach(function (r) {
+ return s(r, e, t);
+ })
+ : this.fields.forEach(function (n) {
+ return s(r[n], e, t);
+ }),
+ t
+ );
+ }),
+ (r.iterFields = function (e) {
+ var t = this;
+ this.fields.forEach(function (r) {
+ e(t[r], r);
+ });
+ }),
+ t
+ );
+ })(r(1).Obj),
+ c = (function (e) {
+ function t() {
+ return e.apply(this, arguments) || this;
+ }
+ return (
+ o(t, e),
+ i(t, [
+ {
+ key: "typename",
+ get: function () {
+ return "Value";
+ },
+ },
+ {
+ key: "fields",
+ get: function () {
+ return ["value"];
+ },
+ },
+ ]),
+ t
+ );
+ })(l),
+ u = (function (e) {
+ function t() {
+ return e.apply(this, arguments) || this;
+ }
+ o(t, e);
+ var r = t.prototype;
+ return (
+ (r.init = function (t, r, n) {
+ e.prototype.init.call(this, t, r, n || []);
+ }),
+ (r.addChild = function (e) {
+ this.children.push(e);
+ }),
+ i(t, [
+ {
+ key: "typename",
+ get: function () {
+ return "NodeList";
+ },
+ },
+ {
+ key: "fields",
+ get: function () {
+ return ["children"];
+ },
+ },
+ ]),
+ t
+ );
+ })(l),
+ p = u.extend("Root"),
+ d = c.extend("Literal"),
+ f = c.extend("Symbol"),
+ h = u.extend("Group"),
+ m = u.extend("Array"),
+ g = l.extend("Pair", { fields: ["key", "value"] }),
+ v = u.extend("Dict"),
+ b = l.extend("LookupVal", { fields: ["target", "val"] }),
+ y = l.extend("If", { fields: ["cond", "body", "else_"] }),
+ w = y.extend("IfAsync"),
+ E = l.extend("InlineIf", {
+ fields: ["cond", "body", "else_"],
+ }),
+ x = l.extend("For", {
+ fields: ["arr", "name", "body", "else_"],
+ }),
+ T = x.extend("AsyncEach"),
+ k = x.extend("AsyncAll"),
+ _ = l.extend("Macro", { fields: ["name", "args", "body"] }),
+ A = _.extend("Caller"),
+ N = l.extend("Import", {
+ fields: ["template", "target", "withContext"],
+ }),
+ L = (function (e) {
+ function t() {
+ return e.apply(this, arguments) || this;
+ }
+ return (
+ o(t, e),
+ (t.prototype.init = function (t, r, n, i, o) {
+ e.prototype.init.call(this, t, r, n, i || new u(), o);
+ }),
+ i(t, [
+ {
+ key: "typename",
+ get: function () {
+ return "FromImport";
+ },
+ },
+ {
+ key: "fields",
+ get: function () {
+ return ["template", "names", "withContext"];
+ },
+ },
+ ]),
+ t
+ );
+ })(l),
+ O = l.extend("FunCall", { fields: ["name", "args"] }),
+ S = O.extend("Filter"),
+ C = S.extend("FilterAsync", {
+ fields: ["name", "args", "symbol"],
+ }),
+ D = v.extend("KeywordArgs"),
+ q = l.extend("Block", { fields: ["name", "body"] }),
+ R = l.extend("Super", { fields: ["blockName", "symbol"] }),
+ j = l
+ .extend("TemplateRef", { fields: ["template"] })
+ .extend("Extends"),
+ P = l.extend("Include", {
+ fields: ["template", "ignoreMissing"],
+ }),
+ B = l.extend("Set", { fields: ["targets", "value"] }),
+ F = l.extend("Switch", {
+ fields: ["expr", "cases", "default"],
+ }),
+ M = l.extend("Case", { fields: ["cond", "body"] }),
+ I = u.extend("Output"),
+ U = l.extend("Capture", { fields: ["body"] }),
+ V = d.extend("TemplateData"),
+ H = l.extend("UnaryOp", { fields: ["target"] }),
+ G = l.extend("BinOp", { fields: ["left", "right"] }),
+ K = G.extend("In"),
+ $ = G.extend("Is"),
+ z = G.extend("Or"),
+ Y = G.extend("And"),
+ W = H.extend("Not"),
+ J = G.extend("Add"),
+ X = G.extend("Concat"),
+ Z = G.extend("Sub"),
+ Q = G.extend("Mul"),
+ ee = G.extend("Div"),
+ te = G.extend("FloorDiv"),
+ re = G.extend("Mod"),
+ ne = G.extend("Pow"),
+ ie = H.extend("Neg"),
+ oe = H.extend("Pos"),
+ ae = l.extend("Compare", { fields: ["expr", "ops"] }),
+ se = l.extend("CompareOperand", { fields: ["expr", "type"] }),
+ le = l.extend("CallExtension", {
+ init: function (e, t, r, n) {
+ this.parent(),
+ (this.extName = e.__name || e),
+ (this.prop = t),
+ (this.args = r || new u()),
+ (this.contentArgs = n || []),
+ (this.autoescape = e.autoescape);
+ },
+ fields: ["extName", "prop", "args", "contentArgs"],
+ }),
+ ce = le.extend("CallExtensionAsync");
+ function ue(e, t, r) {
+ var n = e.split("\n");
+ n.forEach(function (e, i) {
+ e &&
+ ((r && i > 0) || !r) &&
+ process.stdout.write(" ".repeat(t));
+ var o = i === n.length - 1 ? "" : "\n";
+ process.stdout.write("" + e + o);
+ });
+ }
+ e.exports = {
+ Node: l,
+ Root: p,
+ NodeList: u,
+ Value: c,
+ Literal: d,
+ Symbol: f,
+ Group: h,
+ Array: m,
+ Pair: g,
+ Dict: v,
+ Output: I,
+ Capture: U,
+ TemplateData: V,
+ If: y,
+ IfAsync: w,
+ InlineIf: E,
+ For: x,
+ AsyncEach: T,
+ AsyncAll: k,
+ Macro: _,
+ Caller: A,
+ Import: N,
+ FromImport: L,
+ FunCall: O,
+ Filter: S,
+ FilterAsync: C,
+ KeywordArgs: D,
+ Block: q,
+ Super: R,
+ Extends: j,
+ Include: P,
+ Set: B,
+ Switch: F,
+ Case: M,
+ LookupVal: b,
+ BinOp: G,
+ In: K,
+ Is: $,
+ Or: z,
+ And: Y,
+ Not: W,
+ Add: J,
+ Concat: X,
+ Sub: Z,
+ Mul: Q,
+ Div: ee,
+ FloorDiv: te,
+ Mod: re,
+ Pow: ne,
+ Neg: ie,
+ Pos: oe,
+ Compare: ae,
+ CompareOperand: se,
+ CallExtension: le,
+ CallExtensionAsync: ce,
+ printNodes: function e(t, r) {
+ if (
+ ((r = r || 0), ue(t.typename + ": ", r), t instanceof u)
+ )
+ ue("\n"),
+ t.children.forEach(function (t) {
+ e(t, r + 2);
+ });
+ else if (t instanceof le)
+ ue(t.extName + "." + t.prop + "\n"),
+ t.args && e(t.args, r + 2),
+ t.contentArgs &&
+ t.contentArgs.forEach(function (t) {
+ e(t, r + 2);
+ });
+ else {
+ var n = [],
+ i = null;
+ t.iterFields(function (e, t) {
+ e instanceof l
+ ? n.push([t, e])
+ : ((i = i || {})[t] = e);
+ }),
+ i
+ ? ue(JSON.stringify(i, null, 2) + "\n", null, !0)
+ : ue("\n"),
+ n.forEach(function (t) {
+ var n = t[0],
+ i = t[1];
+ ue("[" + n + "] =>", r + 2), e(i, r + 4);
+ });
+ }
+ },
+ };
+ },
+ function (e, t) {},
+ function (e, t, r) {
+ "use strict";
+ function n(e, t) {
+ return (
+ (n =
+ Object.setPrototypeOf ||
+ function (e, t) {
+ return (e.__proto__ = t), e;
+ }),
+ n(e, t)
+ );
+ }
+ var i = r(8),
+ o = r(17),
+ a = r(3),
+ s = r(0).TemplateError,
+ l = r(2).Frame,
+ c = r(1).Obj,
+ u = {
+ "==": "==",
+ "===": "===",
+ "!=": "!=",
+ "!==": "!==",
+ "<": "<",
+ ">": ">",
+ "<=": "<=",
+ ">=": ">=",
+ },
+ p = (function (e) {
+ var t, r;
+ function i() {
+ return e.apply(this, arguments) || this;
+ }
+ (r = e),
+ ((t = i).prototype = Object.create(r.prototype)),
+ (t.prototype.constructor = t),
+ n(t, r);
+ var o = i.prototype;
+ return (
+ (o.init = function (e, t) {
+ (this.templateName = e),
+ (this.codebuf = []),
+ (this.lastId = 0),
+ (this.buffer = null),
+ (this.bufferStack = []),
+ (this._scopeClosers = ""),
+ (this.inBlock = !1),
+ (this.throwOnUndefined = t);
+ }),
+ (o.fail = function (e, t, r) {
+ throw (
+ (void 0 !== t && (t += 1),
+ void 0 !== r && (r += 1),
+ new s(e, t, r))
+ );
+ }),
+ (o._pushBuffer = function () {
+ var e = this._tmpid();
+ return (
+ this.bufferStack.push(this.buffer),
+ (this.buffer = e),
+ this._emit("var " + this.buffer + ' = "";'),
+ e
+ );
+ }),
+ (o._popBuffer = function () {
+ this.buffer = this.bufferStack.pop();
+ }),
+ (o._emit = function (e) {
+ this.codebuf.push(e);
+ }),
+ (o._emitLine = function (e) {
+ this._emit(e + "\n");
+ }),
+ (o._emitLines = function () {
+ for (
+ var e = this,
+ t = arguments.length,
+ r = new Array(t),
+ n = 0;
+ n < t;
+ n++
+ )
+ r[n] = arguments[n];
+ r.forEach(function (t) {
+ return e._emitLine(t);
+ });
+ }),
+ (o._emitFuncBegin = function (e, t) {
+ (this.buffer = "output"),
+ (this._scopeClosers = ""),
+ this._emitLine(
+ "function " +
+ t +
+ "(env, context, frame, runtime, cb) {"
+ ),
+ this._emitLine("var lineno = " + e.lineno + ";"),
+ this._emitLine("var colno = " + e.colno + ";"),
+ this._emitLine("var " + this.buffer + ' = "";'),
+ this._emitLine("try {");
+ }),
+ (o._emitFuncEnd = function (e) {
+ e || this._emitLine("cb(null, " + this.buffer + ");"),
+ this._closeScopeLevels(),
+ this._emitLine("} catch (e) {"),
+ this._emitLine(
+ " cb(runtime.handleError(e, lineno, colno));"
+ ),
+ this._emitLine("}"),
+ this._emitLine("}"),
+ (this.buffer = null);
+ }),
+ (o._addScopeLevel = function () {
+ this._scopeClosers += "})";
+ }),
+ (o._closeScopeLevels = function () {
+ this._emitLine(this._scopeClosers + ";"),
+ (this._scopeClosers = "");
+ }),
+ (o._withScopedSyntax = function (e) {
+ var t = this._scopeClosers;
+ (this._scopeClosers = ""),
+ e.call(this),
+ this._closeScopeLevels(),
+ (this._scopeClosers = t);
+ }),
+ (o._makeCallback = function (e) {
+ var t = this._tmpid();
+ return (
+ "function(" +
+ t +
+ (e ? "," + e : "") +
+ ") {\nif(" +
+ t +
+ ") { cb(" +
+ t +
+ "); return; }"
+ );
+ }),
+ (o._tmpid = function () {
+ return this.lastId++, "t_" + this.lastId;
+ }),
+ (o._templateName = function () {
+ return null == this.templateName
+ ? "undefined"
+ : JSON.stringify(this.templateName);
+ }),
+ (o._compileChildren = function (e, t) {
+ var r = this;
+ e.children.forEach(function (e) {
+ r.compile(e, t);
+ });
+ }),
+ (o._compileAggregate = function (e, t, r, n) {
+ var i = this;
+ r && this._emit(r),
+ e.children.forEach(function (e, r) {
+ r > 0 && i._emit(","), i.compile(e, t);
+ }),
+ n && this._emit(n);
+ }),
+ (o._compileExpression = function (e, t) {
+ this.assertType(
+ e,
+ a.Literal,
+ a.Symbol,
+ a.Group,
+ a.Array,
+ a.Dict,
+ a.FunCall,
+ a.Caller,
+ a.Filter,
+ a.LookupVal,
+ a.Compare,
+ a.InlineIf,
+ a.In,
+ a.Is,
+ a.And,
+ a.Or,
+ a.Not,
+ a.Add,
+ a.Concat,
+ a.Sub,
+ a.Mul,
+ a.Div,
+ a.FloorDiv,
+ a.Mod,
+ a.Pow,
+ a.Neg,
+ a.Pos,
+ a.Compare,
+ a.NodeList
+ ),
+ this.compile(e, t);
+ }),
+ (o.assertType = function (e) {
+ for (
+ var t = arguments.length,
+ r = new Array(t > 1 ? t - 1 : 0),
+ n = 1;
+ n < t;
+ n++
+ )
+ r[n - 1] = arguments[n];
+ r.some(function (t) {
+ return e instanceof t;
+ }) ||
+ this.fail(
+ "assertType: invalid type: " + e.typename,
+ e.lineno,
+ e.colno
+ );
+ }),
+ (o.compileCallExtension = function (e, t, r) {
+ var n = this,
+ i = e.args,
+ o = e.contentArgs,
+ s = "boolean" != typeof e.autoescape || e.autoescape;
+ if (
+ (r ||
+ this._emit(
+ this.buffer + " += runtime.suppressValue("
+ ),
+ this._emit(
+ 'env.getExtension("' +
+ e.extName +
+ '")["' +
+ e.prop +
+ '"]('
+ ),
+ this._emit("context"),
+ (i || o) && this._emit(","),
+ i &&
+ (i instanceof a.NodeList ||
+ this.fail(
+ "compileCallExtension: arguments must be a NodeList, use `parser.parseSignature`"
+ ),
+ i.children.forEach(function (e, r) {
+ n._compileExpression(e, t),
+ (r !== i.children.length - 1 || o.length) &&
+ n._emit(",");
+ })),
+ o.length &&
+ o.forEach(function (e, r) {
+ if ((r > 0 && n._emit(","), e)) {
+ n._emitLine("function(cb) {"),
+ n._emitLine(
+ "if(!cb) { cb = function(err) { if(err) { throw err; }}}"
+ );
+ var i = n._pushBuffer();
+ n._withScopedSyntax(function () {
+ n.compile(e, t),
+ n._emitLine("cb(null, " + i + ");");
+ }),
+ n._popBuffer(),
+ n._emitLine("return " + i + ";"),
+ n._emitLine("}");
+ } else n._emit("null");
+ }),
+ r)
+ ) {
+ var l = this._tmpid();
+ this._emitLine(", " + this._makeCallback(l)),
+ this._emitLine(
+ this.buffer +
+ " += runtime.suppressValue(" +
+ l +
+ ", " +
+ s +
+ " && env.opts.autoescape);"
+ ),
+ this._addScopeLevel();
+ } else
+ this._emit(")"),
+ this._emit(
+ ", " + s + " && env.opts.autoescape);\n"
+ );
+ }),
+ (o.compileCallExtensionAsync = function (e, t) {
+ this.compileCallExtension(e, t, !0);
+ }),
+ (o.compileNodeList = function (e, t) {
+ this._compileChildren(e, t);
+ }),
+ (o.compileLiteral = function (e) {
+ if ("string" == typeof e.value) {
+ var t = e.value.replace(/\\/g, "\\\\");
+ (t = (t = (t = (t = (t = t.replace(
+ /"/g,
+ '\\"'
+ )).replace(/\n/g, "\\n")).replace(
+ /\r/g,
+ "\\r"
+ )).replace(/\t/g, "\\t")).replace(
+ /\u2028/g,
+ "\\u2028"
+ )),
+ this._emit('"' + t + '"');
+ } else
+ null === e.value
+ ? this._emit("null")
+ : this._emit(e.value.toString());
+ }),
+ (o.compileSymbol = function (e, t) {
+ var r = e.value,
+ n = t.lookup(r);
+ n
+ ? this._emit(n)
+ : this._emit(
+ 'runtime.contextOrFrameLookup(context, frame, "' +
+ r +
+ '")'
+ );
+ }),
+ (o.compileGroup = function (e, t) {
+ this._compileAggregate(e, t, "(", ")");
+ }),
+ (o.compileArray = function (e, t) {
+ this._compileAggregate(e, t, "[", "]");
+ }),
+ (o.compileDict = function (e, t) {
+ this._compileAggregate(e, t, "{", "}");
+ }),
+ (o.compilePair = function (e, t) {
+ var r = e.key,
+ n = e.value;
+ r instanceof a.Symbol
+ ? (r = new a.Literal(r.lineno, r.colno, r.value))
+ : (r instanceof a.Literal &&
+ "string" == typeof r.value) ||
+ this.fail(
+ "compilePair: Dict keys must be strings or names",
+ r.lineno,
+ r.colno
+ ),
+ this.compile(r, t),
+ this._emit(": "),
+ this._compileExpression(n, t);
+ }),
+ (o.compileInlineIf = function (e, t) {
+ this._emit("("),
+ this.compile(e.cond, t),
+ this._emit("?"),
+ this.compile(e.body, t),
+ this._emit(":"),
+ null !== e.else_
+ ? this.compile(e.else_, t)
+ : this._emit('""'),
+ this._emit(")");
+ }),
+ (o.compileIn = function (e, t) {
+ this._emit("runtime.inOperator("),
+ this.compile(e.left, t),
+ this._emit(","),
+ this.compile(e.right, t),
+ this._emit(")");
+ }),
+ (o.compileIs = function (e, t) {
+ var r = e.right.name
+ ? e.right.name.value
+ : e.right.value;
+ this._emit('env.getTest("' + r + '").call(context, '),
+ this.compile(e.left, t),
+ e.right.args &&
+ (this._emit(","), this.compile(e.right.args, t)),
+ this._emit(") === true");
+ }),
+ (o._binOpEmitter = function (e, t, r) {
+ this.compile(e.left, t),
+ this._emit(r),
+ this.compile(e.right, t);
+ }),
+ (o.compileOr = function (e, t) {
+ return this._binOpEmitter(e, t, " || ");
+ }),
+ (o.compileAnd = function (e, t) {
+ return this._binOpEmitter(e, t, " && ");
+ }),
+ (o.compileAdd = function (e, t) {
+ return this._binOpEmitter(e, t, " + ");
+ }),
+ (o.compileConcat = function (e, t) {
+ return this._binOpEmitter(e, t, ' + "" + ');
+ }),
+ (o.compileSub = function (e, t) {
+ return this._binOpEmitter(e, t, " - ");
+ }),
+ (o.compileMul = function (e, t) {
+ return this._binOpEmitter(e, t, " * ");
+ }),
+ (o.compileDiv = function (e, t) {
+ return this._binOpEmitter(e, t, " / ");
+ }),
+ (o.compileMod = function (e, t) {
+ return this._binOpEmitter(e, t, " % ");
+ }),
+ (o.compileNot = function (e, t) {
+ this._emit("!"), this.compile(e.target, t);
+ }),
+ (o.compileFloorDiv = function (e, t) {
+ this._emit("Math.floor("),
+ this.compile(e.left, t),
+ this._emit(" / "),
+ this.compile(e.right, t),
+ this._emit(")");
+ }),
+ (o.compilePow = function (e, t) {
+ this._emit("Math.pow("),
+ this.compile(e.left, t),
+ this._emit(", "),
+ this.compile(e.right, t),
+ this._emit(")");
+ }),
+ (o.compileNeg = function (e, t) {
+ this._emit("-"), this.compile(e.target, t);
+ }),
+ (o.compilePos = function (e, t) {
+ this._emit("+"), this.compile(e.target, t);
+ }),
+ (o.compileCompare = function (e, t) {
+ var r = this;
+ this.compile(e.expr, t),
+ e.ops.forEach(function (e) {
+ r._emit(" " + u[e.type] + " "),
+ r.compile(e.expr, t);
+ });
+ }),
+ (o.compileLookupVal = function (e, t) {
+ this._emit("runtime.memberLookup(("),
+ this._compileExpression(e.target, t),
+ this._emit("),"),
+ this._compileExpression(e.val, t),
+ this._emit(")");
+ }),
+ (o._getNodeName = function (e) {
+ switch (e.typename) {
+ case "Symbol":
+ return e.value;
+ case "FunCall":
+ return (
+ "the return value of (" +
+ this._getNodeName(e.name) +
+ ")"
+ );
+ case "LookupVal":
+ return (
+ this._getNodeName(e.target) +
+ '["' +
+ this._getNodeName(e.val) +
+ '"]'
+ );
+ case "Literal":
+ return e.value.toString();
+ default:
+ return "--expression--";
+ }
+ }),
+ (o.compileFunCall = function (e, t) {
+ this._emit(
+ "(lineno = " +
+ e.lineno +
+ ", colno = " +
+ e.colno +
+ ", "
+ ),
+ this._emit("runtime.callWrap("),
+ this._compileExpression(e.name, t),
+ this._emit(
+ ', "' +
+ this._getNodeName(e.name).replace(/"/g, '\\"') +
+ '", context, '
+ ),
+ this._compileAggregate(e.args, t, "[", "])"),
+ this._emit(")");
+ }),
+ (o.compileFilter = function (e, t) {
+ var r = e.name;
+ this.assertType(r, a.Symbol),
+ this._emit(
+ 'env.getFilter("' + r.value + '").call(context, '
+ ),
+ this._compileAggregate(e.args, t),
+ this._emit(")");
+ }),
+ (o.compileFilterAsync = function (e, t) {
+ var r = e.name,
+ n = e.symbol.value;
+ this.assertType(r, a.Symbol),
+ t.set(n, n),
+ this._emit(
+ 'env.getFilter("' + r.value + '").call(context, '
+ ),
+ this._compileAggregate(e.args, t),
+ this._emitLine(", " + this._makeCallback(n)),
+ this._addScopeLevel();
+ }),
+ (o.compileKeywordArgs = function (e, t) {
+ this._emit("runtime.makeKeywordArgs("),
+ this.compileDict(e, t),
+ this._emit(")");
+ }),
+ (o.compileSet = function (e, t) {
+ var r = this,
+ n = [];
+ e.targets.forEach(function (e) {
+ var i = e.value,
+ o = t.lookup(i);
+ null == o &&
+ ((o = r._tmpid()), r._emitLine("var " + o + ";")),
+ n.push(o);
+ }),
+ e.value
+ ? (this._emit(n.join(" = ") + " = "),
+ this._compileExpression(e.value, t),
+ this._emitLine(";"))
+ : (this._emit(n.join(" = ") + " = "),
+ this.compile(e.body, t),
+ this._emitLine(";")),
+ e.targets.forEach(function (e, t) {
+ var i = n[t],
+ o = e.value;
+ r._emitLine(
+ 'frame.set("' + o + '", ' + i + ", true);"
+ ),
+ r._emitLine("if(frame.topLevel) {"),
+ r._emitLine(
+ 'context.setVariable("' + o + '", ' + i + ");"
+ ),
+ r._emitLine("}"),
+ "_" !== o.charAt(0) &&
+ (r._emitLine("if(frame.topLevel) {"),
+ r._emitLine(
+ 'context.addExport("' + o + '", ' + i + ");"
+ ),
+ r._emitLine("}"));
+ });
+ }),
+ (o.compileSwitch = function (e, t) {
+ var r = this;
+ this._emit("switch ("),
+ this.compile(e.expr, t),
+ this._emit(") {"),
+ e.cases.forEach(function (e, n) {
+ r._emit("case "),
+ r.compile(e.cond, t),
+ r._emit(": "),
+ r.compile(e.body, t),
+ e.body.children.length && r._emitLine("break;");
+ }),
+ e.default &&
+ (this._emit("default:"),
+ this.compile(e.default, t)),
+ this._emit("}");
+ }),
+ (o.compileIf = function (e, t, r) {
+ var n = this;
+ this._emit("if("),
+ this._compileExpression(e.cond, t),
+ this._emitLine(") {"),
+ this._withScopedSyntax(function () {
+ n.compile(e.body, t), r && n._emit("cb()");
+ }),
+ e.else_
+ ? (this._emitLine("}\nelse {"),
+ this._withScopedSyntax(function () {
+ n.compile(e.else_, t), r && n._emit("cb()");
+ }))
+ : r &&
+ (this._emitLine("}\nelse {"), this._emit("cb()")),
+ this._emitLine("}");
+ }),
+ (o.compileIfAsync = function (e, t) {
+ this._emit("(function(cb) {"),
+ this.compileIf(e, t, !0),
+ this._emit("})(" + this._makeCallback()),
+ this._addScopeLevel();
+ }),
+ (o._emitLoopBindings = function (e, t, r, n) {
+ var i = this;
+ [
+ { name: "index", val: r + " + 1" },
+ { name: "index0", val: r },
+ { name: "revindex", val: n + " - " + r },
+ { name: "revindex0", val: n + " - " + r + " - 1" },
+ { name: "first", val: r + " === 0" },
+ { name: "last", val: r + " === " + n + " - 1" },
+ { name: "length", val: n },
+ ].forEach(function (e) {
+ i._emitLine(
+ 'frame.set("loop.' + e.name + '", ' + e.val + ");"
+ );
+ });
+ }),
+ (o.compileFor = function (e, t) {
+ var r = this,
+ n = this._tmpid(),
+ i = this._tmpid(),
+ o = this._tmpid();
+ if (
+ ((t = t.push()),
+ this._emitLine("frame = frame.push();"),
+ this._emit("var " + o + " = "),
+ this._compileExpression(e.arr, t),
+ this._emitLine(";"),
+ this._emit("if(" + o + ") {"),
+ this._emitLine(
+ o + " = runtime.fromIterator(" + o + ");"
+ ),
+ e.name instanceof a.Array)
+ ) {
+ this._emitLine("var " + n + ";"),
+ this._emitLine("if(runtime.isArray(" + o + ")) {"),
+ this._emitLine("var " + i + " = " + o + ".length;"),
+ this._emitLine(
+ "for(" +
+ n +
+ "=0; " +
+ n +
+ " < " +
+ o +
+ ".length; " +
+ n +
+ "++) {"
+ ),
+ e.name.children.forEach(function (i, a) {
+ var s = r._tmpid();
+ r._emitLine(
+ "var " +
+ s +
+ " = " +
+ o +
+ "[" +
+ n +
+ "][" +
+ a +
+ "];"
+ ),
+ r._emitLine(
+ 'frame.set("' +
+ i +
+ '", ' +
+ o +
+ "[" +
+ n +
+ "][" +
+ a +
+ "]);"
+ ),
+ t.set(e.name.children[a].value, s);
+ }),
+ this._emitLoopBindings(e, o, n, i),
+ this._withScopedSyntax(function () {
+ r.compile(e.body, t);
+ }),
+ this._emitLine("}"),
+ this._emitLine("} else {");
+ var s = e.name.children,
+ l = s[0],
+ c = s[1],
+ u = this._tmpid(),
+ p = this._tmpid();
+ t.set(l.value, u),
+ t.set(c.value, p),
+ this._emitLine(n + " = -1;"),
+ this._emitLine(
+ "var " + i + " = runtime.keys(" + o + ").length;"
+ ),
+ this._emitLine("for(var " + u + " in " + o + ") {"),
+ this._emitLine(n + "++;"),
+ this._emitLine(
+ "var " + p + " = " + o + "[" + u + "];"
+ ),
+ this._emitLine(
+ 'frame.set("' + l.value + '", ' + u + ");"
+ ),
+ this._emitLine(
+ 'frame.set("' + c.value + '", ' + p + ");"
+ ),
+ this._emitLoopBindings(e, o, n, i),
+ this._withScopedSyntax(function () {
+ r.compile(e.body, t);
+ }),
+ this._emitLine("}"),
+ this._emitLine("}");
+ } else {
+ var d = this._tmpid();
+ t.set(e.name.value, d),
+ this._emitLine("var " + i + " = " + o + ".length;"),
+ this._emitLine(
+ "for(var " +
+ n +
+ "=0; " +
+ n +
+ " < " +
+ o +
+ ".length; " +
+ n +
+ "++) {"
+ ),
+ this._emitLine(
+ "var " + d + " = " + o + "[" + n + "];"
+ ),
+ this._emitLine(
+ 'frame.set("' + e.name.value + '", ' + d + ");"
+ ),
+ this._emitLoopBindings(e, o, n, i),
+ this._withScopedSyntax(function () {
+ r.compile(e.body, t);
+ }),
+ this._emitLine("}");
+ }
+ this._emitLine("}"),
+ e.else_ &&
+ (this._emitLine("if (!" + i + ") {"),
+ this.compile(e.else_, t),
+ this._emitLine("}")),
+ this._emitLine("frame = frame.pop();");
+ }),
+ (o._compileAsyncLoop = function (e, t, r) {
+ var n = this,
+ i = this._tmpid(),
+ o = this._tmpid(),
+ s = this._tmpid(),
+ l = r ? "asyncAll" : "asyncEach";
+ if (
+ ((t = t.push()),
+ this._emitLine("frame = frame.push();"),
+ this._emit("var " + s + " = runtime.fromIterator("),
+ this._compileExpression(e.arr, t),
+ this._emitLine(");"),
+ e.name instanceof a.Array)
+ ) {
+ var c = e.name.children.length;
+ this._emit(
+ "runtime." + l + "(" + s + ", " + c + ", function("
+ ),
+ e.name.children.forEach(function (e) {
+ n._emit(e.value + ",");
+ }),
+ this._emit(i + "," + o + ",next) {"),
+ e.name.children.forEach(function (e) {
+ var r = e.value;
+ t.set(r, r),
+ n._emitLine(
+ 'frame.set("' + r + '", ' + r + ");"
+ );
+ });
+ } else {
+ var u = e.name.value;
+ this._emitLine(
+ "runtime." +
+ l +
+ "(" +
+ s +
+ ", 1, function(" +
+ u +
+ ", " +
+ i +
+ ", " +
+ o +
+ ",next) {"
+ ),
+ this._emitLine(
+ 'frame.set("' + u + '", ' + u + ");"
+ ),
+ t.set(u, u);
+ }
+ this._emitLoopBindings(e, s, i, o),
+ this._withScopedSyntax(function () {
+ var o;
+ r && (o = n._pushBuffer()),
+ n.compile(e.body, t),
+ n._emitLine(
+ "next(" + i + (o ? "," + o : "") + ");"
+ ),
+ r && n._popBuffer();
+ });
+ var p = this._tmpid();
+ this._emitLine("}, " + this._makeCallback(p)),
+ this._addScopeLevel(),
+ r && this._emitLine(this.buffer + " += " + p + ";"),
+ e.else_ &&
+ (this._emitLine("if (!" + s + ".length) {"),
+ this.compile(e.else_, t),
+ this._emitLine("}")),
+ this._emitLine("frame = frame.pop();");
+ }),
+ (o.compileAsyncEach = function (e, t) {
+ this._compileAsyncLoop(e, t);
+ }),
+ (o.compileAsyncAll = function (e, t) {
+ this._compileAsyncLoop(e, t, !0);
+ }),
+ (o._compileMacro = function (e, t) {
+ var r = this,
+ n = [],
+ i = null,
+ o = "macro_" + this._tmpid(),
+ s = void 0 !== t;
+ e.args.children.forEach(function (t, o) {
+ o === e.args.children.length - 1 &&
+ t instanceof a.Dict
+ ? (i = t)
+ : (r.assertType(t, a.Symbol), n.push(t));
+ });
+ var c,
+ u = [].concat(
+ n.map(function (e) {
+ return "l_" + e.value;
+ }),
+ ["kwargs"]
+ ),
+ p = n.map(function (e) {
+ return '"' + e.value + '"';
+ }),
+ d = ((i && i.children) || []).map(function (e) {
+ return '"' + e.key.value + '"';
+ });
+ (c = s ? t.push(!0) : new l()),
+ this._emitLines(
+ "var " + o + " = runtime.makeMacro(",
+ "[" + p.join(", ") + "], ",
+ "[" + d.join(", ") + "], ",
+ "function (" + u.join(", ") + ") {",
+ "var callerFrame = frame;",
+ "frame = " +
+ (s
+ ? "frame.push(true);"
+ : "new runtime.Frame();"),
+ "kwargs = kwargs || {};",
+ 'if (Object.prototype.hasOwnProperty.call(kwargs, "caller")) {',
+ 'frame.set("caller", kwargs.caller); }'
+ ),
+ n.forEach(function (e) {
+ r._emitLine(
+ 'frame.set("' + e.value + '", l_' + e.value + ");"
+ ),
+ c.set(e.value, "l_" + e.value);
+ }),
+ i &&
+ i.children.forEach(function (e) {
+ var t = e.key.value;
+ r._emit('frame.set("' + t + '", '),
+ r._emit(
+ 'Object.prototype.hasOwnProperty.call(kwargs, "' +
+ t +
+ '")'
+ ),
+ r._emit(' ? kwargs["' + t + '"] : '),
+ r._compileExpression(e.value, c),
+ r._emit(");");
+ });
+ var f = this._pushBuffer();
+ return (
+ this._withScopedSyntax(function () {
+ r.compile(e.body, c);
+ }),
+ this._emitLine(
+ "frame = " + (s ? "frame.pop();" : "callerFrame;")
+ ),
+ this._emitLine(
+ "return new runtime.SafeString(" + f + ");"
+ ),
+ this._emitLine("});"),
+ this._popBuffer(),
+ o
+ );
+ }),
+ (o.compileMacro = function (e, t) {
+ var r = this._compileMacro(e),
+ n = e.name.value;
+ t.set(n, r),
+ t.parent
+ ? this._emitLine(
+ 'frame.set("' + n + '", ' + r + ");"
+ )
+ : ("_" !== e.name.value.charAt(0) &&
+ this._emitLine(
+ 'context.addExport("' + n + '");'
+ ),
+ this._emitLine(
+ 'context.setVariable("' + n + '", ' + r + ");"
+ ));
+ }),
+ (o.compileCaller = function (e, t) {
+ this._emit("(function (){");
+ var r = this._compileMacro(e, t);
+ this._emit("return " + r + ";})()");
+ }),
+ (o._compileGetTemplate = function (e, t, r, n) {
+ var i = this._tmpid(),
+ o = this._templateName(),
+ a = this._makeCallback(i),
+ s = r ? "true" : "false",
+ l = n ? "true" : "false";
+ return (
+ this._emit("env.getTemplate("),
+ this._compileExpression(e.template, t),
+ this._emitLine(
+ ", " + s + ", " + o + ", " + l + ", " + a
+ ),
+ i
+ );
+ }),
+ (o.compileImport = function (e, t) {
+ var r = e.target.value,
+ n = this._compileGetTemplate(e, t, !1, !1);
+ this._addScopeLevel(),
+ this._emitLine(
+ n +
+ ".getExported(" +
+ (e.withContext
+ ? "context.getVariables(), frame, "
+ : "") +
+ this._makeCallback(n)
+ ),
+ this._addScopeLevel(),
+ t.set(r, n),
+ t.parent
+ ? this._emitLine(
+ 'frame.set("' + r + '", ' + n + ");"
+ )
+ : this._emitLine(
+ 'context.setVariable("' + r + '", ' + n + ");"
+ );
+ }),
+ (o.compileFromImport = function (e, t) {
+ var r = this,
+ n = this._compileGetTemplate(e, t, !1, !1);
+ this._addScopeLevel(),
+ this._emitLine(
+ n +
+ ".getExported(" +
+ (e.withContext
+ ? "context.getVariables(), frame, "
+ : "") +
+ this._makeCallback(n)
+ ),
+ this._addScopeLevel(),
+ e.names.children.forEach(function (e) {
+ var i,
+ o,
+ s = r._tmpid();
+ e instanceof a.Pair
+ ? ((i = e.key.value), (o = e.value.value))
+ : (o = i = e.value),
+ r._emitLine(
+ "if(Object.prototype.hasOwnProperty.call(" +
+ n +
+ ', "' +
+ i +
+ '")) {'
+ ),
+ r._emitLine(
+ "var " + s + " = " + n + "." + i + ";"
+ ),
+ r._emitLine("} else {"),
+ r._emitLine(
+ "cb(new Error(\"cannot import '" +
+ i +
+ "'\")); return;"
+ ),
+ r._emitLine("}"),
+ t.set(o, s),
+ t.parent
+ ? r._emitLine(
+ 'frame.set("' + o + '", ' + s + ");"
+ )
+ : r._emitLine(
+ 'context.setVariable("' +
+ o +
+ '", ' +
+ s +
+ ");"
+ );
+ });
+ }),
+ (o.compileBlock = function (e) {
+ var t = this._tmpid();
+ this.inBlock ||
+ this._emit(
+ '(parentTemplate ? function(e, c, f, r, cb) { cb(""); } : '
+ ),
+ this._emit(
+ 'context.getBlock("' + e.name.value + '")'
+ ),
+ this.inBlock || this._emit(")"),
+ this._emitLine(
+ "(env, context, frame, runtime, " +
+ this._makeCallback(t)
+ ),
+ this._emitLine(this.buffer + " += " + t + ";"),
+ this._addScopeLevel();
+ }),
+ (o.compileSuper = function (e, t) {
+ var r = e.blockName.value,
+ n = e.symbol.value,
+ i = this._makeCallback(n);
+ this._emitLine(
+ 'context.getSuper(env, "' +
+ r +
+ '", b_' +
+ r +
+ ", frame, runtime, " +
+ i
+ ),
+ this._emitLine(n + " = runtime.markSafe(" + n + ");"),
+ this._addScopeLevel(),
+ t.set(n, n);
+ }),
+ (o.compileExtends = function (e, t) {
+ var r = this._tmpid(),
+ n = this._compileGetTemplate(e, t, !0, !1);
+ this._emitLine("parentTemplate = " + n),
+ this._emitLine(
+ "for(var " + r + " in parentTemplate.blocks) {"
+ ),
+ this._emitLine(
+ "context.addBlock(" +
+ r +
+ ", parentTemplate.blocks[" +
+ r +
+ "]);"
+ ),
+ this._emitLine("}"),
+ this._addScopeLevel();
+ }),
+ (o.compileInclude = function (e, t) {
+ this._emitLine("var tasks = [];"),
+ this._emitLine("tasks.push("),
+ this._emitLine("function(callback) {");
+ var r = this._compileGetTemplate(
+ e,
+ t,
+ !1,
+ e.ignoreMissing
+ );
+ this._emitLine("callback(null," + r + ");});"),
+ this._emitLine("});");
+ var n = this._tmpid();
+ this._emitLine("tasks.push("),
+ this._emitLine("function(template, callback){"),
+ this._emitLine(
+ "template.render(context.getVariables(), frame, " +
+ this._makeCallback(n)
+ ),
+ this._emitLine("callback(null," + n + ");});"),
+ this._emitLine("});"),
+ this._emitLine("tasks.push("),
+ this._emitLine("function(result, callback){"),
+ this._emitLine(this.buffer + " += result;"),
+ this._emitLine("callback(null);"),
+ this._emitLine("});"),
+ this._emitLine("env.waterfall(tasks, function(){"),
+ this._addScopeLevel();
+ }),
+ (o.compileTemplateData = function (e, t) {
+ this.compileLiteral(e, t);
+ }),
+ (o.compileCapture = function (e, t) {
+ var r = this,
+ n = this.buffer;
+ (this.buffer = "output"),
+ this._emitLine("(function() {"),
+ this._emitLine('var output = "";'),
+ this._withScopedSyntax(function () {
+ r.compile(e.body, t);
+ }),
+ this._emitLine("return output;"),
+ this._emitLine("})()"),
+ (this.buffer = n);
+ }),
+ (o.compileOutput = function (e, t) {
+ var r = this;
+ e.children.forEach(function (n) {
+ n instanceof a.TemplateData
+ ? n.value &&
+ (r._emit(r.buffer + " += "),
+ r.compileLiteral(n, t),
+ r._emitLine(";"))
+ : (r._emit(r.buffer + " += runtime.suppressValue("),
+ r.throwOnUndefined &&
+ r._emit("runtime.ensureDefined("),
+ r.compile(n, t),
+ r.throwOnUndefined &&
+ r._emit("," + e.lineno + "," + e.colno + ")"),
+ r._emit(", env.opts.autoescape);\n"));
+ });
+ }),
+ (o.compileRoot = function (e, t) {
+ var r = this;
+ t &&
+ this.fail("compileRoot: root node can't have frame"),
+ (t = new l()),
+ this._emitFuncBegin(e, "root"),
+ this._emitLine("var parentTemplate = null;"),
+ this._compileChildren(e, t),
+ this._emitLine("if(parentTemplate) {"),
+ this._emitLine(
+ "parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);"
+ ),
+ this._emitLine("} else {"),
+ this._emitLine("cb(null, " + this.buffer + ");"),
+ this._emitLine("}"),
+ this._emitFuncEnd(!0),
+ (this.inBlock = !0);
+ var n = [],
+ i = e.findAll(a.Block);
+ i.forEach(function (e, t) {
+ var i = e.name.value;
+ if (-1 !== n.indexOf(i))
+ throw new Error(
+ 'Block "' + i + '" defined more than once.'
+ );
+ n.push(i), r._emitFuncBegin(e, "b_" + i);
+ var o = new l();
+ r._emitLine("var frame = frame.push(true);"),
+ r.compile(e.body, o),
+ r._emitFuncEnd();
+ }),
+ this._emitLine("return {"),
+ i.forEach(function (e, t) {
+ var n = "b_" + e.name.value;
+ r._emitLine(n + ": " + n + ",");
+ }),
+ this._emitLine("root: root\n};");
+ }),
+ (o.compile = function (e, t) {
+ var r = this["compile" + e.typename];
+ r
+ ? r.call(this, e, t)
+ : this.fail(
+ "compile: Cannot compile node: " + e.typename,
+ e.lineno,
+ e.colno
+ );
+ }),
+ (o.getCode = function () {
+ return this.codebuf.join("");
+ }),
+ i
+ );
+ })(c);
+ e.exports = {
+ compile: function (e, t, r, n, a) {
+ void 0 === a && (a = {});
+ var s = new p(n, a.throwOnUndefined),
+ l = (r || [])
+ .map(function (e) {
+ return e.preprocess;
+ })
+ .filter(function (e) {
+ return !!e;
+ })
+ .reduce(function (e, t) {
+ return t(e);
+ }, e);
+ return (
+ s.compile(o.transform(i.parse(l, r, a), t, n)),
+ s.getCode()
+ );
+ },
+ Compiler: p,
+ };
+ },
+ function (e, t, r) {
+ "use strict";
+ function n(e, t) {
+ return (
+ (n =
+ Object.setPrototypeOf ||
+ function (e, t) {
+ return (e.__proto__ = t), e;
+ }),
+ n(e, t)
+ );
+ }
+ var i = r(4),
+ o = r(1).EmitterObj;
+ e.exports = (function (e) {
+ var t, r;
+ function o() {
+ return e.apply(this, arguments) || this;
+ }
+ (r = e),
+ ((t = o).prototype = Object.create(r.prototype)),
+ (t.prototype.constructor = t),
+ n(t, r);
+ var a = o.prototype;
+ return (
+ (a.resolve = function (e, t) {
+ return i.resolve(i.dirname(e), t);
+ }),
+ (a.isRelative = function (e) {
+ return 0 === e.indexOf("./") || 0 === e.indexOf("../");
+ }),
+ o
+ );
+ })(o);
+ },
+ function (e, t, r) {
+ "use strict";
+ function n(e, t) {
+ (e.prototype = Object.create(t.prototype)),
+ (e.prototype.constructor = e),
+ i(e, t);
+ }
+ function i(e, t) {
+ return (
+ (i =
+ Object.setPrototypeOf ||
+ function (e, t) {
+ return (e.__proto__ = t), e;
+ }),
+ i(e, t)
+ );
+ }
+ var o = r(12),
+ a = r(15),
+ s = r(0),
+ l = r(5),
+ c = r(18),
+ u = r(10),
+ p = u.FileSystemLoader,
+ d = u.WebLoader,
+ f = u.PrecompiledLoader,
+ h = r(20),
+ m = r(21),
+ g = r(1),
+ v = g.Obj,
+ b = g.EmitterObj,
+ y = r(2),
+ w = y.handleError,
+ E = y.Frame,
+ x = r(22);
+ function T(e, t, r) {
+ o(function () {
+ e(t, r);
+ });
+ }
+ var k = {
+ type: "code",
+ obj: {
+ root: function (e, t, r, n, i) {
+ try {
+ i(null, "");
+ } catch (e) {
+ i(w(e, null, null));
+ }
+ },
+ },
+ },
+ _ = (function (e) {
+ function t() {
+ return e.apply(this, arguments) || this;
+ }
+ n(t, e);
+ var r = t.prototype;
+ return (
+ (r.init = function (e, t) {
+ var r = this;
+ (t = this.opts = t || {}),
+ (this.opts.dev = !!t.dev),
+ (this.opts.autoescape =
+ null == t.autoescape || t.autoescape),
+ (this.opts.throwOnUndefined = !!t.throwOnUndefined),
+ (this.opts.trimBlocks = !!t.trimBlocks),
+ (this.opts.lstripBlocks = !!t.lstripBlocks),
+ (this.loaders = []),
+ e
+ ? (this.loaders = s.isArray(e) ? e : [e])
+ : p
+ ? (this.loaders = [new p("views")])
+ : d && (this.loaders = [new d("/views")]),
+ "undefined" != typeof window &&
+ window.nunjucksPrecompiled &&
+ this.loaders.unshift(
+ new f(window.nunjucksPrecompiled)
+ ),
+ this._initLoaders(),
+ (this.globals = m()),
+ (this.filters = {}),
+ (this.tests = {}),
+ (this.asyncFilters = []),
+ (this.extensions = {}),
+ (this.extensionsList = []),
+ s._entries(c).forEach(function (e) {
+ var t = e[0],
+ n = e[1];
+ return r.addFilter(t, n);
+ }),
+ s._entries(h).forEach(function (e) {
+ var t = e[0],
+ n = e[1];
+ return r.addTest(t, n);
+ });
+ }),
+ (r._initLoaders = function () {
+ var e = this;
+ this.loaders.forEach(function (t) {
+ (t.cache = {}),
+ "function" == typeof t.on &&
+ (t.on("update", function (r, n) {
+ (t.cache[r] = null), e.emit("update", r, n, t);
+ }),
+ t.on("load", function (r, n) {
+ e.emit("load", r, n, t);
+ }));
+ });
+ }),
+ (r.invalidateCache = function () {
+ this.loaders.forEach(function (e) {
+ e.cache = {};
+ });
+ }),
+ (r.addExtension = function (e, t) {
+ return (
+ (t.__name = e),
+ (this.extensions[e] = t),
+ this.extensionsList.push(t),
+ this
+ );
+ }),
+ (r.removeExtension = function (e) {
+ var t = this.getExtension(e);
+ t &&
+ ((this.extensionsList = s.without(
+ this.extensionsList,
+ t
+ )),
+ delete this.extensions[e]);
+ }),
+ (r.getExtension = function (e) {
+ return this.extensions[e];
+ }),
+ (r.hasExtension = function (e) {
+ return !!this.extensions[e];
+ }),
+ (r.addGlobal = function (e, t) {
+ return (this.globals[e] = t), this;
+ }),
+ (r.getGlobal = function (e) {
+ if (void 0 === this.globals[e])
+ throw new Error("global not found: " + e);
+ return this.globals[e];
+ }),
+ (r.addFilter = function (e, t, r) {
+ var n = t;
+ return (
+ r && this.asyncFilters.push(e),
+ (this.filters[e] = n),
+ this
+ );
+ }),
+ (r.getFilter = function (e) {
+ if (!this.filters[e])
+ throw new Error("filter not found: " + e);
+ return this.filters[e];
+ }),
+ (r.addTest = function (e, t) {
+ return (this.tests[e] = t), this;
+ }),
+ (r.getTest = function (e) {
+ if (!this.tests[e])
+ throw new Error("test not found: " + e);
+ return this.tests[e];
+ }),
+ (r.resolveTemplate = function (e, t, r) {
+ return e.isRelative && t && e.isRelative(r) && e.resolve
+ ? e.resolve(t, r)
+ : r;
+ }),
+ (r.getTemplate = function (e, t, r, n, i) {
+ var o,
+ a = this,
+ l = this,
+ c = null;
+ if (
+ (e && e.raw && (e = e.raw),
+ s.isFunction(r) &&
+ ((i = r), (r = null), (t = t || !1)),
+ s.isFunction(t) && ((i = t), (t = !1)),
+ e instanceof N)
+ )
+ c = e;
+ else {
+ if ("string" != typeof e)
+ throw new Error(
+ "template names must be a string: " + e
+ );
+ for (var u = 0; u < this.loaders.length; u++) {
+ var p = this.loaders[u];
+ if ((c = p.cache[this.resolveTemplate(p, r, e)]))
+ break;
+ }
+ }
+ return c
+ ? (t && c.compile(), i ? void i(null, c) : c)
+ : (s.asyncIter(
+ this.loaders,
+ function (t, n, i, o) {
+ function a(e, r) {
+ e
+ ? o(e)
+ : r
+ ? ((r.loader = t), o(null, r))
+ : i();
+ }
+ (e = l.resolveTemplate(t, r, e)),
+ t.async
+ ? t.getSource(e, a)
+ : a(null, t.getSource(e));
+ },
+ function (r, s) {
+ if (
+ (s ||
+ r ||
+ n ||
+ (r = new Error("template not found: " + e)),
+ r)
+ ) {
+ if (i) return void i(r);
+ throw r;
+ }
+ var l;
+ s
+ ? ((l = new N(s.src, a, s.path, t)),
+ s.noCache || (s.loader.cache[e] = l))
+ : (l = new N(k, a, "", t)),
+ i ? i(null, l) : (o = l);
+ }
+ ),
+ o);
+ }),
+ (r.express = function (e) {
+ return x(this, e);
+ }),
+ (r.render = function (e, t, r) {
+ s.isFunction(t) && ((r = t), (t = null));
+ var n = null;
+ return (
+ this.getTemplate(e, function (e, i) {
+ if (e && r) T(r, e);
+ else {
+ if (e) throw e;
+ n = i.render(t, r);
+ }
+ }),
+ n
+ );
+ }),
+ (r.renderString = function (e, t, r, n) {
+ return (
+ s.isFunction(r) && ((n = r), (r = {})),
+ new N(e, this, (r = r || {}).path).render(t, n)
+ );
+ }),
+ (r.waterfall = function (e, t, r) {
+ return a(e, t, r);
+ }),
+ t
+ );
+ })(b),
+ A = (function (e) {
+ function t() {
+ return e.apply(this, arguments) || this;
+ }
+ n(t, e);
+ var r = t.prototype;
+ return (
+ (r.init = function (e, t, r) {
+ var n = this;
+ (this.env = r || new _()),
+ (this.ctx = s.extend({}, e)),
+ (this.blocks = {}),
+ (this.exported = []),
+ s.keys(t).forEach(function (e) {
+ n.addBlock(e, t[e]);
+ });
+ }),
+ (r.lookup = function (e) {
+ return e in this.env.globals && !(e in this.ctx)
+ ? this.env.globals[e]
+ : this.ctx[e];
+ }),
+ (r.setVariable = function (e, t) {
+ this.ctx[e] = t;
+ }),
+ (r.getVariables = function () {
+ return this.ctx;
+ }),
+ (r.addBlock = function (e, t) {
+ return (
+ (this.blocks[e] = this.blocks[e] || []),
+ this.blocks[e].push(t),
+ this
+ );
+ }),
+ (r.getBlock = function (e) {
+ if (!this.blocks[e])
+ throw new Error('unknown block "' + e + '"');
+ return this.blocks[e][0];
+ }),
+ (r.getSuper = function (e, t, r, n, i, o) {
+ var a = s.indexOf(this.blocks[t] || [], r),
+ l = this.blocks[t][a + 1];
+ if (-1 === a || !l)
+ throw new Error(
+ 'no super block available for "' + t + '"'
+ );
+ l(e, this, n, i, o);
+ }),
+ (r.addExport = function (e) {
+ this.exported.push(e);
+ }),
+ (r.getExported = function () {
+ var e = this,
+ t = {};
+ return (
+ this.exported.forEach(function (r) {
+ t[r] = e.ctx[r];
+ }),
+ t
+ );
+ }),
+ t
+ );
+ })(v),
+ N = (function (e) {
+ function t() {
+ return e.apply(this, arguments) || this;
+ }
+ n(t, e);
+ var r = t.prototype;
+ return (
+ (r.init = function (e, t, r, n) {
+ if (((this.env = t || new _()), s.isObject(e)))
+ switch (e.type) {
+ case "code":
+ this.tmplProps = e.obj;
+ break;
+ case "string":
+ this.tmplStr = e.obj;
+ break;
+ default:
+ throw new Error(
+ "Unexpected template object type " +
+ e.type +
+ "; expected 'code', or 'string'"
+ );
+ }
+ else {
+ if (!s.isString(e))
+ throw new Error(
+ "src must be a string or an object describing the source"
+ );
+ this.tmplStr = e;
+ }
+ if (((this.path = r), n))
+ try {
+ this._compile();
+ } catch (e) {
+ throw s._prettifyError(
+ this.path,
+ this.env.opts.dev,
+ e
+ );
+ }
+ else this.compiled = !1;
+ }),
+ (r.render = function (e, t, r) {
+ var n = this;
+ "function" == typeof e
+ ? ((r = e), (e = {}))
+ : "function" == typeof t && ((r = t), (t = null));
+ var i = !t;
+ try {
+ this.compile();
+ } catch (e) {
+ var o = s._prettifyError(
+ this.path,
+ this.env.opts.dev,
+ e
+ );
+ if (r) return T(r, o);
+ throw o;
+ }
+ var a = new A(e || {}, this.blocks, this.env),
+ l = t ? t.push(!0) : new E();
+ l.topLevel = !0;
+ var c = null,
+ u = !1;
+ return (
+ this.rootRenderFunc(
+ this.env,
+ a,
+ l,
+ y,
+ function (e, t) {
+ if (!u || !r || void 0 === t)
+ if (
+ (e &&
+ ((e = s._prettifyError(
+ n.path,
+ n.env.opts.dev,
+ e
+ )),
+ (u = !0)),
+ r)
+ )
+ i ? T(r, e, t) : r(e, t);
+ else {
+ if (e) throw e;
+ c = t;
+ }
+ }
+ ),
+ c
+ );
+ }),
+ (r.getExported = function (e, t, r) {
+ "function" == typeof e && ((r = e), (e = {})),
+ "function" == typeof t && ((r = t), (t = null));
+ try {
+ this.compile();
+ } catch (e) {
+ if (r) return r(e);
+ throw e;
+ }
+ var n = t ? t.push() : new E();
+ n.topLevel = !0;
+ var i = new A(e || {}, this.blocks, this.env);
+ this.rootRenderFunc(this.env, i, n, y, function (e) {
+ e ? r(e, null) : r(null, i.getExported());
+ });
+ }),
+ (r.compile = function () {
+ this.compiled || this._compile();
+ }),
+ (r._compile = function () {
+ var e;
+ if (this.tmplProps) e = this.tmplProps;
+ else {
+ var t = l.compile(
+ this.tmplStr,
+ this.env.asyncFilters,
+ this.env.extensionsList,
+ this.path,
+ this.env.opts
+ );
+ e = new Function(t)();
+ }
+ (this.blocks = this._getBlocks(e)),
+ (this.rootRenderFunc = e.root),
+ (this.compiled = !0);
+ }),
+ (r._getBlocks = function (e) {
+ var t = {};
+ return (
+ s.keys(e).forEach(function (r) {
+ "b_" === r.slice(0, 2) && (t[r.slice(2)] = e[r]);
+ }),
+ t
+ );
+ }),
+ t
+ );
+ })(v);
+ e.exports = { Environment: _, Template: N };
+ },
+ function (e, t, r) {
+ "use strict";
+ function n(e, t) {
+ return (
+ (n =
+ Object.setPrototypeOf ||
+ function (e, t) {
+ return (e.__proto__ = t), e;
+ }),
+ n(e, t)
+ );
+ }
+ var i = r(9),
+ o = r(3),
+ a = r(1).Obj,
+ s = r(0),
+ l = (function (e) {
+ var t, r;
+ function a() {
+ return e.apply(this, arguments) || this;
+ }
+ (r = e),
+ ((t = a).prototype = Object.create(r.prototype)),
+ (t.prototype.constructor = t),
+ n(t, r);
+ var l = a.prototype;
+ return (
+ (l.init = function (e) {
+ (this.tokens = e),
+ (this.peeked = null),
+ (this.breakOnBlocks = null),
+ (this.dropLeadingWhitespace = !1),
+ (this.extensions = []);
+ }),
+ (l.nextToken = function (e) {
+ var t;
+ if (this.peeked) {
+ if (e || this.peeked.type !== i.TOKEN_WHITESPACE)
+ return (t = this.peeked), (this.peeked = null), t;
+ this.peeked = null;
+ }
+ if (((t = this.tokens.nextToken()), !e))
+ for (; t && t.type === i.TOKEN_WHITESPACE; )
+ t = this.tokens.nextToken();
+ return t;
+ }),
+ (l.peekToken = function () {
+ return (
+ (this.peeked = this.peeked || this.nextToken()),
+ this.peeked
+ );
+ }),
+ (l.pushToken = function (e) {
+ if (this.peeked)
+ throw new Error(
+ "pushToken: can only push one token on between reads"
+ );
+ this.peeked = e;
+ }),
+ (l.error = function (e, t, r) {
+ if (void 0 === t || void 0 === r) {
+ var n = this.peekToken() || {};
+ (t = n.lineno), (r = n.colno);
+ }
+ return (
+ void 0 !== t && (t += 1),
+ void 0 !== r && (r += 1),
+ new s.TemplateError(e, t, r)
+ );
+ }),
+ (l.fail = function (e, t, r) {
+ throw this.error(e, t, r);
+ }),
+ (l.skip = function (e) {
+ var t = this.nextToken();
+ return !(!t || t.type !== e) || (this.pushToken(t), !1);
+ }),
+ (l.expect = function (e) {
+ var t = this.nextToken();
+ return (
+ t.type !== e &&
+ this.fail(
+ "expected " + e + ", got " + t.type,
+ t.lineno,
+ t.colno
+ ),
+ t
+ );
+ }),
+ (l.skipValue = function (e, t) {
+ var r = this.nextToken();
+ return (
+ !(!r || r.type !== e || r.value !== t) ||
+ (this.pushToken(r), !1)
+ );
+ }),
+ (l.skipSymbol = function (e) {
+ return this.skipValue(i.TOKEN_SYMBOL, e);
+ }),
+ (l.advanceAfterBlockEnd = function (e) {
+ var t;
+ return (
+ e ||
+ ((t = this.peekToken()) ||
+ this.fail("unexpected end of file"),
+ t.type !== i.TOKEN_SYMBOL &&
+ this.fail(
+ "advanceAfterBlockEnd: expected symbol token or explicit name to be passed"
+ ),
+ (e = this.nextToken().value)),
+ (t = this.nextToken()) && t.type === i.TOKEN_BLOCK_END
+ ? "-" === t.value.charAt(0) &&
+ (this.dropLeadingWhitespace = !0)
+ : this.fail(
+ "expected block end in " + e + " statement"
+ ),
+ t
+ );
+ }),
+ (l.advanceAfterVariableEnd = function () {
+ var e = this.nextToken();
+ e && e.type === i.TOKEN_VARIABLE_END
+ ? (this.dropLeadingWhitespace =
+ "-" ===
+ e.value.charAt(
+ e.value.length -
+ this.tokens.tags.VARIABLE_END.length -
+ 1
+ ))
+ : (this.pushToken(e),
+ this.fail("expected variable end"));
+ }),
+ (l.parseFor = function () {
+ var e,
+ t,
+ r = this.peekToken();
+ if (
+ (this.skipSymbol("for")
+ ? ((e = new o.For(r.lineno, r.colno)),
+ (t = "endfor"))
+ : this.skipSymbol("asyncEach")
+ ? ((e = new o.AsyncEach(r.lineno, r.colno)),
+ (t = "endeach"))
+ : this.skipSymbol("asyncAll")
+ ? ((e = new o.AsyncAll(r.lineno, r.colno)),
+ (t = "endall"))
+ : this.fail(
+ "parseFor: expected for{Async}",
+ r.lineno,
+ r.colno
+ ),
+ (e.name = this.parsePrimary()),
+ e.name instanceof o.Symbol ||
+ this.fail(
+ "parseFor: variable name expected for loop"
+ ),
+ this.peekToken().type === i.TOKEN_COMMA)
+ ) {
+ var n = e.name;
+ for (
+ e.name = new o.Array(n.lineno, n.colno),
+ e.name.addChild(n);
+ this.skip(i.TOKEN_COMMA);
+
+ ) {
+ var a = this.parsePrimary();
+ e.name.addChild(a);
+ }
+ }
+ return (
+ this.skipSymbol("in") ||
+ this.fail(
+ 'parseFor: expected "in" keyword for loop',
+ r.lineno,
+ r.colno
+ ),
+ (e.arr = this.parseExpression()),
+ this.advanceAfterBlockEnd(r.value),
+ (e.body = this.parseUntilBlocks(t, "else")),
+ this.skipSymbol("else") &&
+ (this.advanceAfterBlockEnd("else"),
+ (e.else_ = this.parseUntilBlocks(t))),
+ this.advanceAfterBlockEnd(),
+ e
+ );
+ }),
+ (l.parseMacro = function () {
+ var e = this.peekToken();
+ this.skipSymbol("macro") || this.fail("expected macro");
+ var t = this.parsePrimary(!0),
+ r = this.parseSignature(),
+ n = new o.Macro(e.lineno, e.colno, t, r);
+ return (
+ this.advanceAfterBlockEnd(e.value),
+ (n.body = this.parseUntilBlocks("endmacro")),
+ this.advanceAfterBlockEnd(),
+ n
+ );
+ }),
+ (l.parseCall = function () {
+ var e = this.peekToken();
+ this.skipSymbol("call") || this.fail("expected call");
+ var t = this.parseSignature(!0) || new o.NodeList(),
+ r = this.parsePrimary();
+ this.advanceAfterBlockEnd(e.value);
+ var n = this.parseUntilBlocks("endcall");
+ this.advanceAfterBlockEnd();
+ var i = new o.Symbol(e.lineno, e.colno, "caller"),
+ a = new o.Caller(e.lineno, e.colno, i, t, n),
+ s = r.args.children;
+ return (
+ s[s.length - 1] instanceof o.KeywordArgs ||
+ s.push(new o.KeywordArgs()),
+ s[s.length - 1].addChild(
+ new o.Pair(e.lineno, e.colno, i, a)
+ ),
+ new o.Output(e.lineno, e.colno, [r])
+ );
+ }),
+ (l.parseWithContext = function () {
+ var e = this.peekToken(),
+ t = null;
+ return (
+ this.skipSymbol("with")
+ ? (t = !0)
+ : this.skipSymbol("without") && (t = !1),
+ null !== t &&
+ (this.skipSymbol("context") ||
+ this.fail(
+ "parseFrom: expected context after with/without",
+ e.lineno,
+ e.colno
+ )),
+ t
+ );
+ }),
+ (l.parseImport = function () {
+ var e = this.peekToken();
+ this.skipSymbol("import") ||
+ this.fail(
+ "parseImport: expected import",
+ e.lineno,
+ e.colno
+ );
+ var t = this.parseExpression();
+ this.skipSymbol("as") ||
+ this.fail(
+ 'parseImport: expected "as" keyword',
+ e.lineno,
+ e.colno
+ );
+ var r = this.parseExpression(),
+ n = this.parseWithContext(),
+ i = new o.Import(e.lineno, e.colno, t, r, n);
+ return this.advanceAfterBlockEnd(e.value), i;
+ }),
+ (l.parseFrom = function () {
+ var e = this.peekToken();
+ this.skipSymbol("from") ||
+ this.fail("parseFrom: expected from");
+ var t = this.parseExpression();
+ this.skipSymbol("import") ||
+ this.fail(
+ "parseFrom: expected import",
+ e.lineno,
+ e.colno
+ );
+ for (var r, n = new o.NodeList(); ; ) {
+ var a = this.peekToken();
+ if (a.type === i.TOKEN_BLOCK_END) {
+ n.children.length ||
+ this.fail(
+ "parseFrom: Expected at least one import name",
+ e.lineno,
+ e.colno
+ ),
+ "-" === a.value.charAt(0) &&
+ (this.dropLeadingWhitespace = !0),
+ this.nextToken();
+ break;
+ }
+ n.children.length > 0 &&
+ !this.skip(i.TOKEN_COMMA) &&
+ this.fail(
+ "parseFrom: expected comma",
+ e.lineno,
+ e.colno
+ );
+ var s = this.parsePrimary();
+ if (
+ ("_" === s.value.charAt(0) &&
+ this.fail(
+ "parseFrom: names starting with an underscore cannot be imported",
+ s.lineno,
+ s.colno
+ ),
+ this.skipSymbol("as"))
+ ) {
+ var l = this.parsePrimary();
+ n.addChild(new o.Pair(s.lineno, s.colno, s, l));
+ } else n.addChild(s);
+ r = this.parseWithContext();
+ }
+ return new o.FromImport(e.lineno, e.colno, t, n, r);
+ }),
+ (l.parseBlock = function () {
+ var e = this.peekToken();
+ this.skipSymbol("block") ||
+ this.fail(
+ "parseBlock: expected block",
+ e.lineno,
+ e.colno
+ );
+ var t = new o.Block(e.lineno, e.colno);
+ (t.name = this.parsePrimary()),
+ t.name instanceof o.Symbol ||
+ this.fail(
+ "parseBlock: variable name expected",
+ e.lineno,
+ e.colno
+ ),
+ this.advanceAfterBlockEnd(e.value),
+ (t.body = this.parseUntilBlocks("endblock")),
+ this.skipSymbol("endblock"),
+ this.skipSymbol(t.name.value);
+ var r = this.peekToken();
+ return (
+ r ||
+ this.fail(
+ "parseBlock: expected endblock, got end of file"
+ ),
+ this.advanceAfterBlockEnd(r.value),
+ t
+ );
+ }),
+ (l.parseExtends = function () {
+ var e = "extends",
+ t = this.peekToken();
+ this.skipSymbol(e) ||
+ this.fail("parseTemplateRef: expected " + e);
+ var r = new o.Extends(t.lineno, t.colno);
+ return (
+ (r.template = this.parseExpression()),
+ this.advanceAfterBlockEnd(t.value),
+ r
+ );
+ }),
+ (l.parseInclude = function () {
+ var e = "include",
+ t = this.peekToken();
+ this.skipSymbol(e) ||
+ this.fail("parseInclude: expected " + e);
+ var r = new o.Include(t.lineno, t.colno);
+ return (
+ (r.template = this.parseExpression()),
+ this.skipSymbol("ignore") &&
+ this.skipSymbol("missing") &&
+ (r.ignoreMissing = !0),
+ this.advanceAfterBlockEnd(t.value),
+ r
+ );
+ }),
+ (l.parseIf = function () {
+ var e,
+ t = this.peekToken();
+ this.skipSymbol("if") ||
+ this.skipSymbol("elif") ||
+ this.skipSymbol("elseif")
+ ? (e = new o.If(t.lineno, t.colno))
+ : this.skipSymbol("ifAsync")
+ ? (e = new o.IfAsync(t.lineno, t.colno))
+ : this.fail(
+ "parseIf: expected if, elif, or elseif",
+ t.lineno,
+ t.colno
+ ),
+ (e.cond = this.parseExpression()),
+ this.advanceAfterBlockEnd(t.value),
+ (e.body = this.parseUntilBlocks(
+ "elif",
+ "elseif",
+ "else",
+ "endif"
+ ));
+ var r = this.peekToken();
+ switch (r && r.value) {
+ case "elseif":
+ case "elif":
+ e.else_ = this.parseIf();
+ break;
+ case "else":
+ this.advanceAfterBlockEnd(),
+ (e.else_ = this.parseUntilBlocks("endif")),
+ this.advanceAfterBlockEnd();
+ break;
+ case "endif":
+ (e.else_ = null), this.advanceAfterBlockEnd();
+ break;
+ default:
+ this.fail(
+ "parseIf: expected elif, else, or endif, got end of file"
+ );
+ }
+ return e;
+ }),
+ (l.parseSet = function () {
+ var e = this.peekToken();
+ this.skipSymbol("set") ||
+ this.fail(
+ "parseSet: expected set",
+ e.lineno,
+ e.colno
+ );
+ for (
+ var t, r = new o.Set(e.lineno, e.colno, []);
+ (t = this.parsePrimary()) &&
+ (r.targets.push(t), this.skip(i.TOKEN_COMMA));
+
+ );
+ return (
+ this.skipValue(i.TOKEN_OPERATOR, "=")
+ ? ((r.value = this.parseExpression()),
+ this.advanceAfterBlockEnd(e.value))
+ : this.skip(i.TOKEN_BLOCK_END)
+ ? ((r.body = new o.Capture(
+ e.lineno,
+ e.colno,
+ this.parseUntilBlocks("endset")
+ )),
+ (r.value = null),
+ this.advanceAfterBlockEnd())
+ : this.fail(
+ "parseSet: expected = or block end in set tag",
+ e.lineno,
+ e.colno
+ ),
+ r
+ );
+ }),
+ (l.parseSwitch = function () {
+ var e = "switch",
+ t = "endswitch",
+ r = "case",
+ n = "default",
+ i = this.peekToken();
+ this.skipSymbol(e) ||
+ this.skipSymbol(r) ||
+ this.skipSymbol(n) ||
+ this.fail(
+ 'parseSwitch: expected "switch," "case" or "default"',
+ i.lineno,
+ i.colno
+ );
+ var a = this.parseExpression();
+ this.advanceAfterBlockEnd(e),
+ this.parseUntilBlocks(r, n, t);
+ var s,
+ l = this.peekToken(),
+ c = [];
+ do {
+ this.skipSymbol(r);
+ var u = this.parseExpression();
+ this.advanceAfterBlockEnd(e);
+ var p = this.parseUntilBlocks(r, n, t);
+ c.push(new o.Case(l.line, l.col, u, p)),
+ (l = this.peekToken());
+ } while (l && l.value === r);
+ switch (l.value) {
+ case n:
+ this.advanceAfterBlockEnd(),
+ (s = this.parseUntilBlocks(t)),
+ this.advanceAfterBlockEnd();
+ break;
+ case t:
+ this.advanceAfterBlockEnd();
+ break;
+ default:
+ this.fail(
+ 'parseSwitch: expected "case," "default" or "endswitch," got EOF.'
+ );
+ }
+ return new o.Switch(i.lineno, i.colno, a, c, s);
+ }),
+ (l.parseStatement = function () {
+ var e = this.peekToken();
+ if (
+ (e.type !== i.TOKEN_SYMBOL &&
+ this.fail("tag name expected", e.lineno, e.colno),
+ this.breakOnBlocks &&
+ -1 !== s.indexOf(this.breakOnBlocks, e.value))
+ )
+ return null;
+ switch (e.value) {
+ case "raw":
+ return this.parseRaw();
+ case "verbatim":
+ return this.parseRaw("verbatim");
+ case "if":
+ case "ifAsync":
+ return this.parseIf();
+ case "for":
+ case "asyncEach":
+ case "asyncAll":
+ return this.parseFor();
+ case "block":
+ return this.parseBlock();
+ case "extends":
+ return this.parseExtends();
+ case "include":
+ return this.parseInclude();
+ case "set":
+ return this.parseSet();
+ case "macro":
+ return this.parseMacro();
+ case "call":
+ return this.parseCall();
+ case "import":
+ return this.parseImport();
+ case "from":
+ return this.parseFrom();
+ case "filter":
+ return this.parseFilterStatement();
+ case "switch":
+ return this.parseSwitch();
+ default:
+ if (this.extensions.length)
+ for (var t = 0; t < this.extensions.length; t++) {
+ var r = this.extensions[t];
+ if (-1 !== s.indexOf(r.tags || [], e.value))
+ return r.parse(this, o, i);
+ }
+ this.fail(
+ "unknown block tag: " + e.value,
+ e.lineno,
+ e.colno
+ );
+ }
+ }),
+ (l.parseRaw = function (e) {
+ for (
+ var t = "end" + (e = e || "raw"),
+ r = new RegExp(
+ "([\\s\\S]*?){%\\s*(" +
+ e +
+ "|" +
+ t +
+ ")\\s*(?=%})%}"
+ ),
+ n = 1,
+ i = "",
+ a = null,
+ s = this.advanceAfterBlockEnd();
+ (a = this.tokens._extractRegex(r)) && n > 0;
+
+ ) {
+ var l = a[0],
+ c = a[1],
+ u = a[2];
+ u === e ? (n += 1) : u === t && (n -= 1),
+ 0 === n
+ ? ((i += c),
+ this.tokens.backN(l.length - c.length))
+ : (i += l);
+ }
+ return new o.Output(s.lineno, s.colno, [
+ new o.TemplateData(s.lineno, s.colno, i),
+ ]);
+ }),
+ (l.parsePostfix = function (e) {
+ for (var t, r = this.peekToken(); r; ) {
+ if (r.type === i.TOKEN_LEFT_PAREN)
+ e = new o.FunCall(
+ r.lineno,
+ r.colno,
+ e,
+ this.parseSignature()
+ );
+ else if (r.type === i.TOKEN_LEFT_BRACKET)
+ (t = this.parseAggregate()).children.length > 1 &&
+ this.fail("invalid index"),
+ (e = new o.LookupVal(
+ r.lineno,
+ r.colno,
+ e,
+ t.children[0]
+ ));
+ else {
+ if (r.type !== i.TOKEN_OPERATOR || "." !== r.value)
+ break;
+ this.nextToken();
+ var n = this.nextToken();
+ n.type !== i.TOKEN_SYMBOL &&
+ this.fail(
+ "expected name as lookup value, got " + n.value,
+ n.lineno,
+ n.colno
+ ),
+ (t = new o.Literal(n.lineno, n.colno, n.value)),
+ (e = new o.LookupVal(r.lineno, r.colno, e, t));
+ }
+ r = this.peekToken();
+ }
+ return e;
+ }),
+ (l.parseExpression = function () {
+ return this.parseInlineIf();
+ }),
+ (l.parseInlineIf = function () {
+ var e = this.parseOr();
+ if (this.skipSymbol("if")) {
+ var t = this.parseOr(),
+ r = e;
+ ((e = new o.InlineIf(e.lineno, e.colno)).body = r),
+ (e.cond = t),
+ this.skipSymbol("else")
+ ? (e.else_ = this.parseOr())
+ : (e.else_ = null);
+ }
+ return e;
+ }),
+ (l.parseOr = function () {
+ for (var e = this.parseAnd(); this.skipSymbol("or"); ) {
+ var t = this.parseAnd();
+ e = new o.Or(e.lineno, e.colno, e, t);
+ }
+ return e;
+ }),
+ (l.parseAnd = function () {
+ for (
+ var e = this.parseNot();
+ this.skipSymbol("and");
+
+ ) {
+ var t = this.parseNot();
+ e = new o.And(e.lineno, e.colno, e, t);
+ }
+ return e;
+ }),
+ (l.parseNot = function () {
+ var e = this.peekToken();
+ return this.skipSymbol("not")
+ ? new o.Not(e.lineno, e.colno, this.parseNot())
+ : this.parseIn();
+ }),
+ (l.parseIn = function () {
+ for (var e = this.parseIs(); ; ) {
+ var t = this.nextToken();
+ if (!t) break;
+ var r =
+ t.type === i.TOKEN_SYMBOL && "not" === t.value;
+ if (
+ (r || this.pushToken(t), !this.skipSymbol("in"))
+ ) {
+ r && this.pushToken(t);
+ break;
+ }
+ var n = this.parseIs();
+ (e = new o.In(e.lineno, e.colno, e, n)),
+ r && (e = new o.Not(e.lineno, e.colno, e));
+ }
+ return e;
+ }),
+ (l.parseIs = function () {
+ var e = this.parseCompare();
+ if (this.skipSymbol("is")) {
+ var t = this.skipSymbol("not"),
+ r = this.parseCompare();
+ (e = new o.Is(e.lineno, e.colno, e, r)),
+ t && (e = new o.Not(e.lineno, e.colno, e));
+ }
+ return e;
+ }),
+ (l.parseCompare = function () {
+ for (
+ var e = [
+ "==",
+ "===",
+ "!=",
+ "!==",
+ "<",
+ ">",
+ "<=",
+ ">=",
+ ],
+ t = this.parseConcat(),
+ r = [];
+ ;
+
+ ) {
+ var n = this.nextToken();
+ if (!n) break;
+ if (-1 === e.indexOf(n.value)) {
+ this.pushToken(n);
+ break;
+ }
+ r.push(
+ new o.CompareOperand(
+ n.lineno,
+ n.colno,
+ this.parseConcat(),
+ n.value
+ )
+ );
+ }
+ return r.length
+ ? new o.Compare(r[0].lineno, r[0].colno, t, r)
+ : t;
+ }),
+ (l.parseConcat = function () {
+ for (
+ var e = this.parseAdd();
+ this.skipValue(i.TOKEN_TILDE, "~");
+
+ ) {
+ var t = this.parseAdd();
+ e = new o.Concat(e.lineno, e.colno, e, t);
+ }
+ return e;
+ }),
+ (l.parseAdd = function () {
+ for (
+ var e = this.parseSub();
+ this.skipValue(i.TOKEN_OPERATOR, "+");
+
+ ) {
+ var t = this.parseSub();
+ e = new o.Add(e.lineno, e.colno, e, t);
+ }
+ return e;
+ }),
+ (l.parseSub = function () {
+ for (
+ var e = this.parseMul();
+ this.skipValue(i.TOKEN_OPERATOR, "-");
+
+ ) {
+ var t = this.parseMul();
+ e = new o.Sub(e.lineno, e.colno, e, t);
+ }
+ return e;
+ }),
+ (l.parseMul = function () {
+ for (
+ var e = this.parseDiv();
+ this.skipValue(i.TOKEN_OPERATOR, "*");
+
+ ) {
+ var t = this.parseDiv();
+ e = new o.Mul(e.lineno, e.colno, e, t);
+ }
+ return e;
+ }),
+ (l.parseDiv = function () {
+ for (
+ var e = this.parseFloorDiv();
+ this.skipValue(i.TOKEN_OPERATOR, "/");
+
+ ) {
+ var t = this.parseFloorDiv();
+ e = new o.Div(e.lineno, e.colno, e, t);
+ }
+ return e;
+ }),
+ (l.parseFloorDiv = function () {
+ for (
+ var e = this.parseMod();
+ this.skipValue(i.TOKEN_OPERATOR, "//");
+
+ ) {
+ var t = this.parseMod();
+ e = new o.FloorDiv(e.lineno, e.colno, e, t);
+ }
+ return e;
+ }),
+ (l.parseMod = function () {
+ for (
+ var e = this.parsePow();
+ this.skipValue(i.TOKEN_OPERATOR, "%");
+
+ ) {
+ var t = this.parsePow();
+ e = new o.Mod(e.lineno, e.colno, e, t);
+ }
+ return e;
+ }),
+ (l.parsePow = function () {
+ for (
+ var e = this.parseUnary();
+ this.skipValue(i.TOKEN_OPERATOR, "**");
+
+ ) {
+ var t = this.parseUnary();
+ e = new o.Pow(e.lineno, e.colno, e, t);
+ }
+ return e;
+ }),
+ (l.parseUnary = function (e) {
+ var t,
+ r = this.peekToken();
+ return (
+ (t = this.skipValue(i.TOKEN_OPERATOR, "-")
+ ? new o.Neg(r.lineno, r.colno, this.parseUnary(!0))
+ : this.skipValue(i.TOKEN_OPERATOR, "+")
+ ? new o.Pos(r.lineno, r.colno, this.parseUnary(!0))
+ : this.parsePrimary()),
+ e || (t = this.parseFilter(t)),
+ t
+ );
+ }),
+ (l.parsePrimary = function (e) {
+ var t,
+ r = this.nextToken(),
+ n = null;
+ if (
+ (r
+ ? r.type === i.TOKEN_STRING
+ ? (t = r.value)
+ : r.type === i.TOKEN_INT
+ ? (t = parseInt(r.value, 10))
+ : r.type === i.TOKEN_FLOAT
+ ? (t = parseFloat(r.value))
+ : r.type === i.TOKEN_BOOLEAN
+ ? "true" === r.value
+ ? (t = !0)
+ : "false" === r.value
+ ? (t = !1)
+ : this.fail(
+ "invalid boolean: " + r.value,
+ r.lineno,
+ r.colno
+ )
+ : r.type === i.TOKEN_NONE
+ ? (t = null)
+ : r.type === i.TOKEN_REGEX &&
+ (t = new RegExp(r.value.body, r.value.flags))
+ : this.fail("expected expression, got end of file"),
+ void 0 !== t
+ ? (n = new o.Literal(r.lineno, r.colno, t))
+ : r.type === i.TOKEN_SYMBOL
+ ? (n = new o.Symbol(r.lineno, r.colno, r.value))
+ : (this.pushToken(r), (n = this.parseAggregate())),
+ e || (n = this.parsePostfix(n)),
+ n)
+ )
+ return n;
+ throw this.error(
+ "unexpected token: " + r.value,
+ r.lineno,
+ r.colno
+ );
+ }),
+ (l.parseFilterName = function () {
+ for (
+ var e = this.expect(i.TOKEN_SYMBOL), t = e.value;
+ this.skipValue(i.TOKEN_OPERATOR, ".");
+
+ )
+ t += "." + this.expect(i.TOKEN_SYMBOL).value;
+ return new o.Symbol(e.lineno, e.colno, t);
+ }),
+ (l.parseFilterArgs = function (e) {
+ return this.peekToken().type === i.TOKEN_LEFT_PAREN
+ ? this.parsePostfix(e).args.children
+ : [];
+ }),
+ (l.parseFilter = function (e) {
+ for (; this.skip(i.TOKEN_PIPE); ) {
+ var t = this.parseFilterName();
+ e = new o.Filter(
+ t.lineno,
+ t.colno,
+ t,
+ new o.NodeList(
+ t.lineno,
+ t.colno,
+ [e].concat(this.parseFilterArgs(e))
+ )
+ );
+ }
+ return e;
+ }),
+ (l.parseFilterStatement = function () {
+ var e = this.peekToken();
+ this.skipSymbol("filter") ||
+ this.fail("parseFilterStatement: expected filter");
+ var t = this.parseFilterName(),
+ r = this.parseFilterArgs(t);
+ this.advanceAfterBlockEnd(e.value);
+ var n = new o.Capture(
+ t.lineno,
+ t.colno,
+ this.parseUntilBlocks("endfilter")
+ );
+ this.advanceAfterBlockEnd();
+ var i = new o.Filter(
+ t.lineno,
+ t.colno,
+ t,
+ new o.NodeList(t.lineno, t.colno, [n].concat(r))
+ );
+ return new o.Output(t.lineno, t.colno, [i]);
+ }),
+ (l.parseAggregate = function () {
+ var e,
+ t = this.nextToken();
+ switch (t.type) {
+ case i.TOKEN_LEFT_PAREN:
+ e = new o.Group(t.lineno, t.colno);
+ break;
+ case i.TOKEN_LEFT_BRACKET:
+ e = new o.Array(t.lineno, t.colno);
+ break;
+ case i.TOKEN_LEFT_CURLY:
+ e = new o.Dict(t.lineno, t.colno);
+ break;
+ default:
+ return null;
+ }
+ for (;;) {
+ var r = this.peekToken().type;
+ if (
+ r === i.TOKEN_RIGHT_PAREN ||
+ r === i.TOKEN_RIGHT_BRACKET ||
+ r === i.TOKEN_RIGHT_CURLY
+ ) {
+ this.nextToken();
+ break;
+ }
+ if (
+ (e.children.length > 0 &&
+ (this.skip(i.TOKEN_COMMA) ||
+ this.fail(
+ "parseAggregate: expected comma after expression",
+ t.lineno,
+ t.colno
+ )),
+ e instanceof o.Dict)
+ ) {
+ var n = this.parsePrimary();
+ this.skip(i.TOKEN_COLON) ||
+ this.fail(
+ "parseAggregate: expected colon after dict key",
+ t.lineno,
+ t.colno
+ );
+ var a = this.parseExpression();
+ e.addChild(new o.Pair(n.lineno, n.colno, n, a));
+ } else {
+ var s = this.parseExpression();
+ e.addChild(s);
+ }
+ }
+ return e;
+ }),
+ (l.parseSignature = function (e, t) {
+ var r = this.peekToken();
+ if (!t && r.type !== i.TOKEN_LEFT_PAREN) {
+ if (e) return null;
+ this.fail("expected arguments", r.lineno, r.colno);
+ }
+ r.type === i.TOKEN_LEFT_PAREN && (r = this.nextToken());
+ for (
+ var n = new o.NodeList(r.lineno, r.colno),
+ a = new o.KeywordArgs(r.lineno, r.colno),
+ s = !1;
+ ;
+
+ ) {
+ if (
+ ((r = this.peekToken()),
+ !t && r.type === i.TOKEN_RIGHT_PAREN)
+ ) {
+ this.nextToken();
+ break;
+ }
+ if (t && r.type === i.TOKEN_BLOCK_END) break;
+ if (s && !this.skip(i.TOKEN_COMMA))
+ this.fail(
+ "parseSignature: expected comma after expression",
+ r.lineno,
+ r.colno
+ );
+ else {
+ var l = this.parseExpression();
+ this.skipValue(i.TOKEN_OPERATOR, "=")
+ ? a.addChild(
+ new o.Pair(
+ l.lineno,
+ l.colno,
+ l,
+ this.parseExpression()
+ )
+ )
+ : n.addChild(l);
+ }
+ s = !0;
+ }
+ return a.children.length && n.addChild(a), n;
+ }),
+ (l.parseUntilBlocks = function () {
+ for (
+ var e = this.breakOnBlocks,
+ t = arguments.length,
+ r = new Array(t),
+ n = 0;
+ n < t;
+ n++
+ )
+ r[n] = arguments[n];
+ this.breakOnBlocks = r;
+ var i = this.parse();
+ return (this.breakOnBlocks = e), i;
+ }),
+ (l.parseNodes = function () {
+ for (var e, t = []; (e = this.nextToken()); )
+ if (e.type === i.TOKEN_DATA) {
+ var r = e.value,
+ n = this.peekToken(),
+ a = n && n.value;
+ this.dropLeadingWhitespace &&
+ ((r = r.replace(/^\s*/, "")),
+ (this.dropLeadingWhitespace = !1)),
+ n &&
+ ((n.type === i.TOKEN_BLOCK_START &&
+ "-" === a.charAt(a.length - 1)) ||
+ (n.type === i.TOKEN_VARIABLE_START &&
+ "-" ===
+ a.charAt(
+ this.tokens.tags.VARIABLE_START.length
+ )) ||
+ (n.type === i.TOKEN_COMMENT &&
+ "-" ===
+ a.charAt(
+ this.tokens.tags.COMMENT_START.length
+ ))) &&
+ (r = r.replace(/\s*$/, "")),
+ t.push(
+ new o.Output(e.lineno, e.colno, [
+ new o.TemplateData(e.lineno, e.colno, r),
+ ])
+ );
+ } else if (e.type === i.TOKEN_BLOCK_START) {
+ this.dropLeadingWhitespace = !1;
+ var s = this.parseStatement();
+ if (!s) break;
+ t.push(s);
+ } else if (e.type === i.TOKEN_VARIABLE_START) {
+ var l = this.parseExpression();
+ (this.dropLeadingWhitespace = !1),
+ this.advanceAfterVariableEnd(),
+ t.push(new o.Output(e.lineno, e.colno, [l]));
+ } else
+ e.type === i.TOKEN_COMMENT
+ ? (this.dropLeadingWhitespace =
+ "-" ===
+ e.value.charAt(
+ e.value.length -
+ this.tokens.tags.COMMENT_END.length -
+ 1
+ ))
+ : this.fail(
+ "Unexpected token at top-level: " + e.type,
+ e.lineno,
+ e.colno
+ );
+ return t;
+ }),
+ (l.parse = function () {
+ return new o.NodeList(0, 0, this.parseNodes());
+ }),
+ (l.parseAsRoot = function () {
+ return new o.Root(0, 0, this.parseNodes());
+ }),
+ a
+ );
+ })(a);
+ e.exports = {
+ parse: function (e, t, r) {
+ var n = new l(i.lex(e, r));
+ return void 0 !== t && (n.extensions = t), n.parseAsRoot();
+ },
+ Parser: l,
+ };
+ },
+ function (e, t, r) {
+ "use strict";
+ var n = r(0),
+ i = " \n\t\r ",
+ o = "()[]{}%*-+~/#,:|.<>=!",
+ a = "string",
+ s = "whitespace",
+ l = "data",
+ c = "block-start",
+ u = "block-end",
+ p = "variable-start",
+ d = "variable-end",
+ f = "comment",
+ h = "left-paren",
+ m = "right-paren",
+ g = "left-bracket",
+ v = "right-bracket",
+ b = "left-curly",
+ y = "right-curly",
+ w = "operator",
+ E = "comma",
+ x = "colon",
+ T = "tilde",
+ k = "pipe",
+ _ = "float",
+ A = "boolean",
+ N = "none",
+ L = "symbol",
+ O = "regex";
+ function S(e, t, r, n) {
+ return { type: e, value: t, lineno: r, colno: n };
+ }
+ var C = (function () {
+ function e(e, t) {
+ (this.str = e),
+ (this.index = 0),
+ (this.len = e.length),
+ (this.lineno = 0),
+ (this.colno = 0),
+ (this.in_code = !1);
+ var r = (t = t || {}).tags || {};
+ (this.tags = {
+ BLOCK_START: r.blockStart || "{%",
+ BLOCK_END: r.blockEnd || "%}",
+ VARIABLE_START: r.variableStart || "{{",
+ VARIABLE_END: r.variableEnd || "}}",
+ COMMENT_START: r.commentStart || "{#",
+ COMMENT_END: r.commentEnd || "#}",
+ }),
+ (this.trimBlocks = !!t.trimBlocks),
+ (this.lstripBlocks = !!t.lstripBlocks);
+ }
+ var t = e.prototype;
+ return (
+ (t.nextToken = function () {
+ var e,
+ t = this.lineno,
+ r = this.colno;
+ if (this.in_code) {
+ var C = this.current();
+ if (this.isFinished()) return null;
+ if ('"' === C || "'" === C)
+ return S(a, this._parseString(C), t, r);
+ if ((e = this._extract(i))) return S(s, e, t, r);
+ if (
+ (e = this._extractString(this.tags.BLOCK_END)) ||
+ (e = this._extractString("-" + this.tags.BLOCK_END))
+ )
+ return (
+ (this.in_code = !1),
+ this.trimBlocks &&
+ ("\n" === (C = this.current())
+ ? this.forward()
+ : "\r" === C &&
+ (this.forward(),
+ "\n" === (C = this.current())
+ ? this.forward()
+ : this.back())),
+ S(u, e, t, r)
+ );
+ if (
+ (e = this._extractString(this.tags.VARIABLE_END)) ||
+ (e = this._extractString(
+ "-" + this.tags.VARIABLE_END
+ ))
+ )
+ return (this.in_code = !1), S(d, e, t, r);
+ if (
+ "r" === C &&
+ "/" === this.str.charAt(this.index + 1)
+ ) {
+ this.forwardN(2);
+ for (var D = ""; !this.isFinished(); ) {
+ if (
+ "/" === this.current() &&
+ "\\" !== this.previous()
+ ) {
+ this.forward();
+ break;
+ }
+ (D += this.current()), this.forward();
+ }
+ for (
+ var q = ["g", "i", "m", "y"], R = "";
+ !this.isFinished() &&
+ -1 !== q.indexOf(this.current());
+
+ )
+ (R += this.current()), this.forward();
+ return S(O, { body: D, flags: R }, t, r);
+ }
+ if (-1 !== o.indexOf(C)) {
+ this.forward();
+ var j,
+ P = [
+ "==",
+ "===",
+ "!=",
+ "!==",
+ "<=",
+ ">=",
+ "//",
+ "**",
+ ],
+ B = C + this.current();
+ switch (
+ (-1 !== n.indexOf(P, B) &&
+ (this.forward(),
+ (C = B),
+ -1 !== n.indexOf(P, B + this.current()) &&
+ ((C = B + this.current()), this.forward())),
+ C)
+ ) {
+ case "(":
+ j = h;
+ break;
+ case ")":
+ j = m;
+ break;
+ case "[":
+ j = g;
+ break;
+ case "]":
+ j = v;
+ break;
+ case "{":
+ j = b;
+ break;
+ case "}":
+ j = y;
+ break;
+ case ",":
+ j = E;
+ break;
+ case ":":
+ j = x;
+ break;
+ case "~":
+ j = T;
+ break;
+ case "|":
+ j = k;
+ break;
+ default:
+ j = w;
+ }
+ return S(j, C, t, r);
+ }
+ if (
+ (e = this._extractUntil(i + o)).match(/^[-+]?[0-9]+$/)
+ ) {
+ if ("." === this.current()) {
+ this.forward();
+ var F = this._extract("0123456789");
+ return S(_, e + "." + F, t, r);
+ }
+ return S("int", e, t, r);
+ }
+ if (e.match(/^(true|false)$/)) return S(A, e, t, r);
+ if ("none" === e) return S(N, e, t, r);
+ if ("null" === e) return S(N, e, t, r);
+ if (e) return S(L, e, t, r);
+ throw new Error("Unexpected value while parsing: " + e);
+ }
+ var M,
+ I =
+ this.tags.BLOCK_START.charAt(0) +
+ this.tags.VARIABLE_START.charAt(0) +
+ this.tags.COMMENT_START.charAt(0) +
+ this.tags.COMMENT_END.charAt(0);
+ if (this.isFinished()) return null;
+ if (
+ (e = this._extractString(
+ this.tags.BLOCK_START + "-"
+ )) ||
+ (e = this._extractString(this.tags.BLOCK_START))
+ )
+ return (this.in_code = !0), S(c, e, t, r);
+ if (
+ (e = this._extractString(
+ this.tags.VARIABLE_START + "-"
+ )) ||
+ (e = this._extractString(this.tags.VARIABLE_START))
+ )
+ return (this.in_code = !0), S(p, e, t, r);
+ e = "";
+ var U = !1;
+ for (
+ this._matches(this.tags.COMMENT_START) &&
+ ((U = !0),
+ (e = this._extractString(this.tags.COMMENT_START)));
+ null !== (M = this._extractUntil(I));
+
+ ) {
+ if (
+ ((e += M),
+ (this._matches(this.tags.BLOCK_START) ||
+ this._matches(this.tags.VARIABLE_START) ||
+ this._matches(this.tags.COMMENT_START)) &&
+ !U)
+ ) {
+ if (
+ this.lstripBlocks &&
+ this._matches(this.tags.BLOCK_START) &&
+ this.colno > 0 &&
+ this.colno <= e.length
+ ) {
+ var V = e.slice(-this.colno);
+ if (
+ /^\s+$/.test(V) &&
+ !(e = e.slice(0, -this.colno)).length
+ )
+ return this.nextToken();
+ }
+ break;
+ }
+ if (this._matches(this.tags.COMMENT_END)) {
+ if (!U) throw new Error("unexpected end of comment");
+ e += this._extractString(this.tags.COMMENT_END);
+ break;
+ }
+ (e += this.current()), this.forward();
+ }
+ if (null === M && U)
+ throw new Error(
+ "expected end of comment, got end of file"
+ );
+ return S(U ? f : l, e, t, r);
+ }),
+ (t._parseString = function (e) {
+ this.forward();
+ for (
+ var t = "";
+ !this.isFinished() && this.current() !== e;
+
+ ) {
+ var r = this.current();
+ if ("\\" === r) {
+ switch ((this.forward(), this.current())) {
+ case "n":
+ t += "\n";
+ break;
+ case "t":
+ t += "\t";
+ break;
+ case "r":
+ t += "\r";
+ break;
+ default:
+ t += this.current();
+ }
+ this.forward();
+ } else (t += r), this.forward();
+ }
+ return this.forward(), t;
+ }),
+ (t._matches = function (e) {
+ return this.index + e.length > this.len
+ ? null
+ : this.str.slice(this.index, this.index + e.length) ===
+ e;
+ }),
+ (t._extractString = function (e) {
+ return this._matches(e)
+ ? (this.forwardN(e.length), e)
+ : null;
+ }),
+ (t._extractUntil = function (e) {
+ return this._extractMatching(!0, e || "");
+ }),
+ (t._extract = function (e) {
+ return this._extractMatching(!1, e);
+ }),
+ (t._extractMatching = function (e, t) {
+ if (this.isFinished()) return null;
+ var r = t.indexOf(this.current());
+ if ((e && -1 === r) || (!e && -1 !== r)) {
+ var n = this.current();
+ this.forward();
+ for (
+ var i = t.indexOf(this.current());
+ ((e && -1 === i) || (!e && -1 !== i)) &&
+ !this.isFinished();
+
+ )
+ (n += this.current()),
+ this.forward(),
+ (i = t.indexOf(this.current()));
+ return n;
+ }
+ return "";
+ }),
+ (t._extractRegex = function (e) {
+ var t = this.currentStr().match(e);
+ return t ? (this.forwardN(t[0].length), t) : null;
+ }),
+ (t.isFinished = function () {
+ return this.index >= this.len;
+ }),
+ (t.forwardN = function (e) {
+ for (var t = 0; t < e; t++) this.forward();
+ }),
+ (t.forward = function () {
+ this.index++,
+ "\n" === this.previous()
+ ? (this.lineno++, (this.colno = 0))
+ : this.colno++;
+ }),
+ (t.backN = function (e) {
+ for (var t = 0; t < e; t++) this.back();
+ }),
+ (t.back = function () {
+ if ((this.index--, "\n" === this.current())) {
+ this.lineno--;
+ var e = this.src.lastIndexOf("\n", this.index - 1);
+ this.colno = -1 === e ? this.index : this.index - e;
+ } else this.colno--;
+ }),
+ (t.current = function () {
+ return this.isFinished()
+ ? ""
+ : this.str.charAt(this.index);
+ }),
+ (t.currentStr = function () {
+ return this.isFinished()
+ ? ""
+ : this.str.substr(this.index);
+ }),
+ (t.previous = function () {
+ return this.str.charAt(this.index - 1);
+ }),
+ e
+ );
+ })();
+ e.exports = {
+ lex: function (e, t) {
+ return new C(e, t);
+ },
+ TOKEN_STRING: a,
+ TOKEN_WHITESPACE: s,
+ TOKEN_DATA: l,
+ TOKEN_BLOCK_START: c,
+ TOKEN_BLOCK_END: u,
+ TOKEN_VARIABLE_START: p,
+ TOKEN_VARIABLE_END: d,
+ TOKEN_COMMENT: f,
+ TOKEN_LEFT_PAREN: h,
+ TOKEN_RIGHT_PAREN: m,
+ TOKEN_LEFT_BRACKET: g,
+ TOKEN_RIGHT_BRACKET: v,
+ TOKEN_LEFT_CURLY: b,
+ TOKEN_RIGHT_CURLY: y,
+ TOKEN_OPERATOR: w,
+ TOKEN_COMMA: E,
+ TOKEN_COLON: x,
+ TOKEN_TILDE: T,
+ TOKEN_PIPE: k,
+ TOKEN_INT: "int",
+ TOKEN_FLOAT: _,
+ TOKEN_BOOLEAN: A,
+ TOKEN_NONE: N,
+ TOKEN_SYMBOL: L,
+ TOKEN_SPECIAL: "special",
+ TOKEN_REGEX: O,
+ };
+ },
+ function (e, t, r) {
+ "use strict";
+ function n(e, t) {
+ return (
+ (n =
+ Object.setPrototypeOf ||
+ function (e, t) {
+ return (e.__proto__ = t), e;
+ }),
+ n(e, t)
+ );
+ }
+ var i = r(6),
+ o = r(19).PrecompiledLoader,
+ a = (function (e) {
+ var t, r;
+ function i(t, r) {
+ var n;
+ return (
+ ((n = e.call(this) || this).baseURL = t || "."),
+ (r = r || {}),
+ (n.useCache = !!r.useCache),
+ (n.async = !!r.async),
+ n
+ );
+ }
+ (r = e),
+ ((t = i).prototype = Object.create(r.prototype)),
+ (t.prototype.constructor = t),
+ n(t, r);
+ var o = i.prototype;
+ return (
+ (o.resolve = function (e, t) {
+ throw new Error(
+ "relative templates not support in the browser yet"
+ );
+ }),
+ (o.getSource = function (e, t) {
+ var r,
+ n = this,
+ i = this.useCache;
+ return (
+ this.fetch(this.baseURL + "/" + e, function (o, a) {
+ if (o)
+ if (t) t(o.content);
+ else {
+ if (404 !== o.status) throw o.content;
+ r = null;
+ }
+ else
+ (r = { src: a, path: e, noCache: !i }),
+ n.emit("load", e, r),
+ t && t(null, r);
+ }),
+ r
+ );
+ }),
+ (o.fetch = function (e, t) {
+ if ("undefined" == typeof window)
+ throw new Error(
+ "WebLoader can only by used in a browser"
+ );
+ var r = new XMLHttpRequest(),
+ n = !0;
+ (r.onreadystatechange = function () {
+ 4 === r.readyState &&
+ n &&
+ ((n = !1),
+ 0 === r.status || 200 === r.status
+ ? t(null, r.responseText)
+ : t({
+ status: r.status,
+ content: r.responseText,
+ }));
+ }),
+ (e +=
+ (-1 === e.indexOf("?") ? "?" : "&") +
+ "s=" +
+ new Date().getTime()),
+ r.open("GET", e, this.async),
+ r.send();
+ }),
+ i
+ );
+ })(i);
+ e.exports = { WebLoader: a, PrecompiledLoader: o };
+ },
+ function (e, t, r) {
+ "use strict";
+ var n,
+ i = r(0),
+ o = r(7),
+ a = o.Environment,
+ s = o.Template,
+ l = r(6),
+ c = r(10),
+ u = r(23),
+ p = r(5),
+ d = r(8),
+ f = r(9),
+ h = r(2),
+ m = r(3),
+ g = r(25);
+ function v(e, t) {
+ var r;
+ return (
+ (t = t || {}),
+ i.isObject(e) && ((t = e), (e = null)),
+ c.FileSystemLoader
+ ? (r = new c.FileSystemLoader(e, {
+ watch: t.watch,
+ noCache: t.noCache,
+ }))
+ : c.WebLoader &&
+ (r = new c.WebLoader(e, {
+ useCache: t.web && t.web.useCache,
+ async: t.web && t.web.async,
+ })),
+ (n = new a(r, t)),
+ t && t.express && n.express(t.express),
+ n
+ );
+ }
+ e.exports = {
+ Environment: a,
+ Template: s,
+ Loader: l,
+ FileSystemLoader: c.FileSystemLoader,
+ NodeResolveLoader: c.NodeResolveLoader,
+ PrecompiledLoader: c.PrecompiledLoader,
+ WebLoader: c.WebLoader,
+ compiler: p,
+ parser: d,
+ lexer: f,
+ runtime: h,
+ lib: i,
+ nodes: m,
+ installJinjaCompat: g,
+ configure: v,
+ reset: function () {
+ n = void 0;
+ },
+ compile: function (e, t, r, i) {
+ return n || v(), new s(e, t, r, i);
+ },
+ render: function (e, t, r) {
+ return n || v(), n.render(e, t, r);
+ },
+ renderString: function (e, t, r) {
+ return n || v(), n.renderString(e, t, r);
+ },
+ precompile: u ? u.precompile : void 0,
+ precompileString: u ? u.precompileString : void 0,
+ };
+ },
+ function (e, t, r) {
+ "use strict";
+ var n = r(13),
+ i = [],
+ o = [],
+ a = n.makeRequestCallFromTimer(function () {
+ if (o.length) throw o.shift();
+ });
+ function s(e) {
+ var t;
+ ((t = i.length ? i.pop() : new l()).task = e), n(t);
+ }
+ function l() {
+ this.task = null;
+ }
+ (e.exports = s),
+ (l.prototype.call = function () {
+ try {
+ this.task.call();
+ } catch (e) {
+ s.onerror ? s.onerror(e) : (o.push(e), a());
+ } finally {
+ (this.task = null), (i[i.length] = this);
+ }
+ });
+ },
+ function (e, t, r) {
+ "use strict";
+ (function (t) {
+ function r(e) {
+ i.length || n(), (i[i.length] = e);
+ }
+ e.exports = r;
+ var n,
+ i = [],
+ o = 0;
+ function a() {
+ for (; o < i.length; ) {
+ var e = o;
+ if (((o += 1), i[e].call(), o > 1024)) {
+ for (var t = 0, r = i.length - o; t < r; t++)
+ i[t] = i[t + o];
+ (i.length -= o), (o = 0);
+ }
+ }
+ (i.length = 0), (o = 0);
+ }
+ var s,
+ l,
+ c,
+ u = void 0 !== t ? t : self,
+ p = u.MutationObserver || u.WebKitMutationObserver;
+ function d(e) {
+ return function () {
+ var t = setTimeout(n, 0),
+ r = setInterval(n, 50);
+ function n() {
+ clearTimeout(t), clearInterval(r), e();
+ }
+ };
+ }
+ "function" == typeof p
+ ? ((s = 1),
+ (l = new p(a)),
+ (c = document.createTextNode("")),
+ l.observe(c, { characterData: !0 }),
+ (n = function () {
+ (s = -s), (c.data = s);
+ }))
+ : (n = d(a)),
+ (r.requestFlush = n),
+ (r.makeRequestCallFromTimer = d);
+ }).call(t, r(14));
+ },
+ function (e, t) {
+ var r;
+ r = (function () {
+ return this;
+ })();
+ try {
+ r = r || Function("return this")() || (0, eval)("this");
+ } catch (e) {
+ "object" == typeof window && (r = window);
+ }
+ e.exports = r;
+ },
+ function (e, t, r) {
+ var n;
+ !(function (r) {
+ "use strict";
+ var i = function () {
+ var e = Array.prototype.slice.call(arguments);
+ "function" == typeof e[0] &&
+ e[0].apply(null, e.splice(1));
+ },
+ o = function (e) {
+ "function" == typeof setImmediate
+ ? setImmediate(e)
+ : "undefined" != typeof process && process.nextTick
+ ? process.nextTick(e)
+ : setTimeout(e, 0);
+ },
+ a =
+ Array.isArray ||
+ function (e) {
+ return (
+ "[object Array]" === Object.prototype.toString.call(e)
+ );
+ },
+ s = function (e, t, r) {
+ var n = r ? o : i;
+ if (((t = t || function () {}), !a(e))) {
+ var s = new Error(
+ "First argument to waterfall must be an array of functions"
+ );
+ return t(s);
+ }
+ if (!e.length) return t();
+ var l = function (e) {
+ return function (r) {
+ if (r) t.apply(null, arguments), (t = function () {});
+ else {
+ var i = Array.prototype.slice.call(arguments, 1),
+ o = e.next();
+ o ? i.push(l(o)) : i.push(t),
+ n(function () {
+ e.apply(null, i);
+ });
+ }
+ };
+ };
+ l(
+ (function (e) {
+ var t = function (r) {
+ var n = function () {
+ return (
+ e.length && e[r].apply(null, arguments),
+ n.next()
+ );
+ };
+ return (
+ (n.next = function () {
+ return r < e.length - 1 ? t(r + 1) : null;
+ }),
+ n
+ );
+ };
+ return t(0);
+ })(e)
+ )();
+ };
+ void 0 ===
+ (n = function () {
+ return s;
+ }.apply(t, [])) || (e.exports = n);
+ })();
+ },
+ function (e, t, r) {
+ "use strict";
+ var n,
+ i = "object" == typeof Reflect ? Reflect : null,
+ o =
+ i && "function" == typeof i.apply
+ ? i.apply
+ : function (e, t, r) {
+ return Function.prototype.apply.call(e, t, r);
+ };
+ n =
+ i && "function" == typeof i.ownKeys
+ ? i.ownKeys
+ : Object.getOwnPropertySymbols
+ ? function (e) {
+ return Object.getOwnPropertyNames(e).concat(
+ Object.getOwnPropertySymbols(e)
+ );
+ }
+ : function (e) {
+ return Object.getOwnPropertyNames(e);
+ };
+ var a =
+ Number.isNaN ||
+ function (e) {
+ return e != e;
+ };
+ function s() {
+ s.init.call(this);
+ }
+ (e.exports = s),
+ (e.exports.once = function (e, t) {
+ return new Promise(function (r, n) {
+ function i() {
+ void 0 !== o && e.removeListener("error", o),
+ r([].slice.call(arguments));
+ }
+ var o;
+ "error" !== t &&
+ ((o = function (r) {
+ e.removeListener(t, i), n(r);
+ }),
+ e.once("error", o)),
+ e.once(t, i);
+ });
+ }),
+ (s.EventEmitter = s),
+ (s.prototype._events = void 0),
+ (s.prototype._eventsCount = 0),
+ (s.prototype._maxListeners = void 0);
+ var l = 10;
+ function c(e) {
+ if ("function" != typeof e)
+ throw new TypeError(
+ 'The "listener" argument must be of type Function. Received type ' +
+ typeof e
+ );
+ }
+ function u(e) {
+ return void 0 === e._maxListeners
+ ? s.defaultMaxListeners
+ : e._maxListeners;
+ }
+ function p(e, t, r, n) {
+ var i, o, a, s;
+ if (
+ (c(r),
+ void 0 === (o = e._events)
+ ? ((o = e._events = Object.create(null)),
+ (e._eventsCount = 0))
+ : (void 0 !== o.newListener &&
+ (e.emit(
+ "newListener",
+ t,
+ r.listener ? r.listener : r
+ ),
+ (o = e._events)),
+ (a = o[t])),
+ void 0 === a)
+ )
+ (a = o[t] = r), ++e._eventsCount;
+ else if (
+ ("function" == typeof a
+ ? (a = o[t] = n ? [r, a] : [a, r])
+ : n
+ ? a.unshift(r)
+ : a.push(r),
+ (i = u(e)) > 0 && a.length > i && !a.warned)
+ ) {
+ a.warned = !0;
+ var l = new Error(
+ "Possible EventEmitter memory leak detected. " +
+ a.length +
+ " " +
+ String(t) +
+ " listeners added. Use emitter.setMaxListeners() to increase limit"
+ );
+ (l.name = "MaxListenersExceededWarning"),
+ (l.emitter = e),
+ (l.type = t),
+ (l.count = a.length),
+ (s = l),
+ console && console.warn && console.warn(s);
+ }
+ return e;
+ }
+ function d() {
+ if (!this.fired)
+ return (
+ this.target.removeListener(this.type, this.wrapFn),
+ (this.fired = !0),
+ 0 === arguments.length
+ ? this.listener.call(this.target)
+ : this.listener.apply(this.target, arguments)
+ );
+ }
+ function f(e, t, r) {
+ var n = {
+ fired: !1,
+ wrapFn: void 0,
+ target: e,
+ type: t,
+ listener: r,
+ },
+ i = d.bind(n);
+ return (i.listener = r), (n.wrapFn = i), i;
+ }
+ function h(e, t, r) {
+ var n = e._events;
+ if (void 0 === n) return [];
+ var i = n[t];
+ return void 0 === i
+ ? []
+ : "function" == typeof i
+ ? r
+ ? [i.listener || i]
+ : [i]
+ : r
+ ? (function (e) {
+ for (
+ var t = new Array(e.length), r = 0;
+ r < t.length;
+ ++r
+ )
+ t[r] = e[r].listener || e[r];
+ return t;
+ })(i)
+ : g(i, i.length);
+ }
+ function m(e) {
+ var t = this._events;
+ if (void 0 !== t) {
+ var r = t[e];
+ if ("function" == typeof r) return 1;
+ if (void 0 !== r) return r.length;
+ }
+ return 0;
+ }
+ function g(e, t) {
+ for (var r = new Array(t), n = 0; n < t; ++n) r[n] = e[n];
+ return r;
+ }
+ Object.defineProperty(s, "defaultMaxListeners", {
+ enumerable: !0,
+ get: function () {
+ return l;
+ },
+ set: function (e) {
+ if ("number" != typeof e || e < 0 || a(e))
+ throw new RangeError(
+ 'The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' +
+ e +
+ "."
+ );
+ l = e;
+ },
+ }),
+ (s.init = function () {
+ (void 0 !== this._events &&
+ this._events !== Object.getPrototypeOf(this)._events) ||
+ ((this._events = Object.create(null)),
+ (this._eventsCount = 0)),
+ (this._maxListeners = this._maxListeners || void 0);
+ }),
+ (s.prototype.setMaxListeners = function (e) {
+ if ("number" != typeof e || e < 0 || a(e))
+ throw new RangeError(
+ 'The value of "n" is out of range. It must be a non-negative number. Received ' +
+ e +
+ "."
+ );
+ return (this._maxListeners = e), this;
+ }),
+ (s.prototype.getMaxListeners = function () {
+ return u(this);
+ }),
+ (s.prototype.emit = function (e) {
+ for (var t = [], r = 1; r < arguments.length; r++)
+ t.push(arguments[r]);
+ var n = "error" === e,
+ i = this._events;
+ if (void 0 !== i) n = n && void 0 === i.error;
+ else if (!n) return !1;
+ if (n) {
+ var a;
+ if ((t.length > 0 && (a = t[0]), a instanceof Error))
+ throw a;
+ var s = new Error(
+ "Unhandled error." + (a ? " (" + a.message + ")" : "")
+ );
+ throw ((s.context = a), s);
+ }
+ var l = i[e];
+ if (void 0 === l) return !1;
+ if ("function" == typeof l) o(l, this, t);
+ else {
+ var c = l.length,
+ u = g(l, c);
+ for (r = 0; r < c; ++r) o(u[r], this, t);
+ }
+ return !0;
+ }),
+ (s.prototype.addListener = function (e, t) {
+ return p(this, e, t, !1);
+ }),
+ (s.prototype.on = s.prototype.addListener),
+ (s.prototype.prependListener = function (e, t) {
+ return p(this, e, t, !0);
+ }),
+ (s.prototype.once = function (e, t) {
+ return c(t), this.on(e, f(this, e, t)), this;
+ }),
+ (s.prototype.prependOnceListener = function (e, t) {
+ return c(t), this.prependListener(e, f(this, e, t)), this;
+ }),
+ (s.prototype.removeListener = function (e, t) {
+ var r, n, i, o, a;
+ if ((c(t), void 0 === (n = this._events))) return this;
+ if (void 0 === (r = n[e])) return this;
+ if (r === t || r.listener === t)
+ 0 == --this._eventsCount
+ ? (this._events = Object.create(null))
+ : (delete n[e],
+ n.removeListener &&
+ this.emit("removeListener", e, r.listener || t));
+ else if ("function" != typeof r) {
+ for (i = -1, o = r.length - 1; o >= 0; o--)
+ if (r[o] === t || r[o].listener === t) {
+ (a = r[o].listener), (i = o);
+ break;
+ }
+ if (i < 0) return this;
+ 0 === i
+ ? r.shift()
+ : (function (e, t) {
+ for (; t + 1 < e.length; t++) e[t] = e[t + 1];
+ e.pop();
+ })(r, i),
+ 1 === r.length && (n[e] = r[0]),
+ void 0 !== n.removeListener &&
+ this.emit("removeListener", e, a || t);
+ }
+ return this;
+ }),
+ (s.prototype.off = s.prototype.removeListener),
+ (s.prototype.removeAllListeners = function (e) {
+ var t, r, n;
+ if (void 0 === (r = this._events)) return this;
+ if (void 0 === r.removeListener)
+ return (
+ 0 === arguments.length
+ ? ((this._events = Object.create(null)),
+ (this._eventsCount = 0))
+ : void 0 !== r[e] &&
+ (0 == --this._eventsCount
+ ? (this._events = Object.create(null))
+ : delete r[e]),
+ this
+ );
+ if (0 === arguments.length) {
+ var i,
+ o = Object.keys(r);
+ for (n = 0; n < o.length; ++n)
+ "removeListener" !== (i = o[n]) &&
+ this.removeAllListeners(i);
+ return (
+ this.removeAllListeners("removeListener"),
+ (this._events = Object.create(null)),
+ (this._eventsCount = 0),
+ this
+ );
+ }
+ if ("function" == typeof (t = r[e]))
+ this.removeListener(e, t);
+ else if (void 0 !== t)
+ for (n = t.length - 1; n >= 0; n--)
+ this.removeListener(e, t[n]);
+ return this;
+ }),
+ (s.prototype.listeners = function (e) {
+ return h(this, e, !0);
+ }),
+ (s.prototype.rawListeners = function (e) {
+ return h(this, e, !1);
+ }),
+ (s.listenerCount = function (e, t) {
+ return "function" == typeof e.listenerCount
+ ? e.listenerCount(t)
+ : m.call(e, t);
+ }),
+ (s.prototype.listenerCount = m),
+ (s.prototype.eventNames = function () {
+ return this._eventsCount > 0 ? n(this._events) : [];
+ });
+ },
+ function (e, t, r) {
+ "use strict";
+ var n = r(3),
+ i = r(0),
+ o = 0;
+ function a() {
+ return "hole_" + o++;
+ }
+ function s(e, t) {
+ for (var r = null, n = 0; n < e.length; n++) {
+ var i = t(e[n]);
+ i !== e[n] && (r || (r = e.slice()), (r[n] = i));
+ }
+ return r || e;
+ }
+ function l(e, t, r) {
+ if (!(e instanceof n.Node)) return e;
+ if (!r) {
+ var i = t(e);
+ if (i && i !== e) return i;
+ }
+ if (e instanceof n.NodeList) {
+ var o = s(e.children, function (e) {
+ return l(e, t, r);
+ });
+ o !== e.children &&
+ (e = new n[e.typename](e.lineno, e.colno, o));
+ } else if (e instanceof n.CallExtension) {
+ var a = l(e.args, t, r),
+ c = s(e.contentArgs, function (e) {
+ return l(e, t, r);
+ });
+ (a === e.args && c === e.contentArgs) ||
+ (e = new n[e.typename](e.extName, e.prop, a, c));
+ } else {
+ var u = e.fields.map(function (t) {
+ return e[t];
+ }),
+ p = s(u, function (e) {
+ return l(e, t, r);
+ });
+ p !== u &&
+ ((e = new n[e.typename](e.lineno, e.colno)),
+ p.forEach(function (t, r) {
+ e[e.fields[r]] = t;
+ }));
+ }
+ return (r && t(e)) || e;
+ }
+ function c(e, t) {
+ return l(e, t, !0);
+ }
+ function u(e, t, r) {
+ var o = [],
+ s = c(r ? e[r] : e, function (e) {
+ var r;
+ return e instanceof n.Block
+ ? e
+ : (((e instanceof n.Filter &&
+ -1 !== i.indexOf(t, e.name.value)) ||
+ e instanceof n.CallExtensionAsync) &&
+ ((r = new n.Symbol(e.lineno, e.colno, a())),
+ o.push(
+ new n.FilterAsync(
+ e.lineno,
+ e.colno,
+ e.name,
+ e.args,
+ r
+ )
+ )),
+ r);
+ });
+ return (
+ r ? (e[r] = s) : (e = s),
+ o.length
+ ? (o.push(e), new n.NodeList(e.lineno, e.colno, o))
+ : e
+ );
+ }
+ e.exports = {
+ transform: function (e, t) {
+ return (function (e, t) {
+ return (function (e) {
+ return c(e, function (e) {
+ if (e instanceof n.If || e instanceof n.For) {
+ var t = !1;
+ if (
+ (l(e, function (e) {
+ if (
+ e instanceof n.FilterAsync ||
+ e instanceof n.IfAsync ||
+ e instanceof n.AsyncEach ||
+ e instanceof n.AsyncAll ||
+ e instanceof n.CallExtensionAsync
+ )
+ return (t = !0), e;
+ }),
+ t)
+ ) {
+ if (e instanceof n.If)
+ return new n.IfAsync(
+ e.lineno,
+ e.colno,
+ e.cond,
+ e.body,
+ e.else_
+ );
+ if (
+ e instanceof n.For &&
+ !(e instanceof n.AsyncAll)
+ )
+ return new n.AsyncEach(
+ e.lineno,
+ e.colno,
+ e.arr,
+ e.name,
+ e.body,
+ e.else_
+ );
+ }
+ }
+ });
+ })(
+ (function (e) {
+ return l(e, function (e) {
+ if (e instanceof n.Block) {
+ var t = !1,
+ r = a();
+ (e.body = l(e.body, function (e) {
+ if (
+ e instanceof n.FunCall &&
+ "super" === e.name.value
+ )
+ return (
+ (t = !0), new n.Symbol(e.lineno, e.colno, r)
+ );
+ })),
+ t &&
+ e.body.children.unshift(
+ new n.Super(
+ 0,
+ 0,
+ e.name,
+ new n.Symbol(0, 0, r)
+ )
+ );
+ }
+ });
+ })(
+ (function (e, t) {
+ return c(e, function (e) {
+ return e instanceof n.Output
+ ? u(e, t)
+ : e instanceof n.Set
+ ? u(e, t, "value")
+ : e instanceof n.For
+ ? u(e, t, "arr")
+ : e instanceof n.If
+ ? u(e, t, "cond")
+ : e instanceof n.CallExtension
+ ? u(e, t, "args")
+ : void 0;
+ });
+ })(e, t)
+ )
+ );
+ })(e, t || []);
+ },
+ };
+ },
+ function (e, t, r) {
+ "use strict";
+ var n = r(0),
+ i = r(2);
+ function o(e, t) {
+ return null == e || !1 === e ? t : e;
+ }
+ function a(e) {
+ return e != e;
+ }
+ function s(e) {
+ var t = (e = o(e, "")).toLowerCase();
+ return i.copySafeness(
+ e,
+ t.charAt(0).toUpperCase() + t.slice(1)
+ );
+ }
+ function l(e) {
+ if (n.isString(e)) return e.split("");
+ if (n.isObject(e))
+ return n._entries(e || {}).map(function (e) {
+ return { key: e[0], value: e[1] };
+ });
+ if (n.isArray(e)) return e;
+ throw new n.TemplateError("list filter: type not iterable");
+ }
+ function c(e) {
+ return function (t, r, i) {
+ void 0 === r && (r = "truthy");
+ var o = this,
+ a = o.env.getTest(r);
+ return n.toArray(t).filter(function (t) {
+ return a.call(o, t, i) === e;
+ });
+ };
+ }
+ function u(e) {
+ return i.copySafeness(e, e.replace(/^\s*|\s*$/g, ""));
+ }
+ ((t = e.exports = {}).abs = Math.abs),
+ (t.batch = function (e, t, r) {
+ var n,
+ i = [],
+ o = [];
+ for (n = 0; n < e.length; n++)
+ n % t == 0 && o.length && (i.push(o), (o = [])),
+ o.push(e[n]);
+ if (o.length) {
+ if (r) for (n = o.length; n < t; n++) o.push(r);
+ i.push(o);
+ }
+ return i;
+ }),
+ (t.capitalize = s),
+ (t.center = function (e, t) {
+ if (((t = t || 80), (e = o(e, "")).length >= t)) return e;
+ var r = t - e.length,
+ a = n.repeat(" ", r / 2 - (r % 2)),
+ s = n.repeat(" ", r / 2);
+ return i.copySafeness(e, a + e + s);
+ }),
+ (t.default = function (e, t, r) {
+ return r ? e || t : void 0 !== e ? e : t;
+ }),
+ (t.dictsort = function (e, t, r) {
+ if (!n.isObject(e))
+ throw new n.TemplateError(
+ "dictsort filter: val must be an object"
+ );
+ var i,
+ o = [];
+ for (var a in e) o.push([a, e[a]]);
+ if (void 0 === r || "key" === r) i = 0;
+ else {
+ if ("value" !== r)
+ throw new n.TemplateError(
+ "dictsort filter: You can only sort by either key or value"
+ );
+ i = 1;
+ }
+ return (
+ o.sort(function (e, r) {
+ var o = e[i],
+ a = r[i];
+ return (
+ t ||
+ (n.isString(o) && (o = o.toUpperCase()),
+ n.isString(a) && (a = a.toUpperCase())),
+ o > a ? 1 : o === a ? 0 : -1
+ );
+ }),
+ o
+ );
+ }),
+ (t.dump = function (e, t) {
+ return JSON.stringify(e, null, t);
+ }),
+ (t.escape = function (e) {
+ return e instanceof i.SafeString
+ ? e
+ : ((e = null == e ? "" : e),
+ i.markSafe(n.escape(e.toString())));
+ }),
+ (t.safe = function (e) {
+ return e instanceof i.SafeString
+ ? e
+ : ((e = null == e ? "" : e), i.markSafe(e.toString()));
+ }),
+ (t.first = function (e) {
+ return e[0];
+ }),
+ (t.forceescape = function (e) {
+ return (
+ (e = null == e ? "" : e),
+ i.markSafe(n.escape(e.toString()))
+ );
+ }),
+ (t.groupby = function (e, t) {
+ return n.groupBy(e, t, this.env.opts.throwOnUndefined);
+ }),
+ (t.indent = function (e, t, r) {
+ if ("" === (e = o(e, ""))) return "";
+ t = t || 4;
+ var a = e.split("\n"),
+ s = n.repeat(" ", t),
+ l = a
+ .map(function (e, t) {
+ return 0 !== t || r ? "" + s + e : e;
+ })
+ .join("\n");
+ return i.copySafeness(e, l);
+ }),
+ (t.join = function (e, t, r) {
+ return (
+ (t = t || ""),
+ r &&
+ (e = n.map(e, function (e) {
+ return e[r];
+ })),
+ e.join(t)
+ );
+ }),
+ (t.last = function (e) {
+ return e[e.length - 1];
+ }),
+ (t.length = function (e) {
+ var t = o(e, "");
+ return void 0 !== t
+ ? ("function" == typeof Map && t instanceof Map) ||
+ ("function" == typeof Set && t instanceof Set)
+ ? t.size
+ : !n.isObject(t) || t instanceof i.SafeString
+ ? t.length
+ : n.keys(t).length
+ : 0;
+ }),
+ (t.list = l),
+ (t.lower = function (e) {
+ return (e = o(e, "")).toLowerCase();
+ }),
+ (t.nl2br = function (e) {
+ return null == e
+ ? ""
+ : i.copySafeness(e, e.replace(/\r\n|\n/g, "
\n"));
+ }),
+ (t.random = function (e) {
+ return e[Math.floor(Math.random() * e.length)];
+ }),
+ (t.reject = c(!1)),
+ (t.rejectattr = function (e, t) {
+ return e.filter(function (e) {
+ return !e[t];
+ });
+ }),
+ (t.select = c(!0)),
+ (t.selectattr = function (e, t) {
+ return e.filter(function (e) {
+ return !!e[t];
+ });
+ }),
+ (t.replace = function (e, t, r, n) {
+ var o = e;
+ if (t instanceof RegExp) return e.replace(t, r);
+ void 0 === n && (n = -1);
+ var a = "";
+ if ("number" == typeof t) t = "" + t;
+ else if ("string" != typeof t) return e;
+ if (
+ ("number" == typeof e && (e = "" + e),
+ "string" != typeof e && !(e instanceof i.SafeString))
+ )
+ return e;
+ if ("" === t)
+ return (
+ (a = r + e.split("").join(r) + r), i.copySafeness(e, a)
+ );
+ var s = e.indexOf(t);
+ if (0 === n || -1 === s) return e;
+ for (var l = 0, c = 0; s > -1 && (-1 === n || c < n); )
+ (a += e.substring(l, s) + r),
+ (l = s + t.length),
+ c++,
+ (s = e.indexOf(t, l));
+ return (
+ l < e.length && (a += e.substring(l)),
+ i.copySafeness(o, a)
+ );
+ }),
+ (t.reverse = function (e) {
+ var t;
+ return (
+ (t = n.isString(e)
+ ? l(e)
+ : n.map(e, function (e) {
+ return e;
+ })).reverse(),
+ n.isString(e) ? i.copySafeness(e, t.join("")) : t
+ );
+ }),
+ (t.round = function (e, t, r) {
+ t = t || 0;
+ var n = Math.pow(10, t);
+ return (
+ ("ceil" === r
+ ? Math.ceil
+ : "floor" === r
+ ? Math.floor
+ : Math.round)(e * n) / n
+ );
+ }),
+ (t.slice = function (e, t, r) {
+ for (
+ var n = Math.floor(e.length / t),
+ i = e.length % t,
+ o = [],
+ a = 0,
+ s = 0;
+ s < t;
+ s++
+ ) {
+ var l = a + s * n;
+ s < i && a++;
+ var c = a + (s + 1) * n,
+ u = e.slice(l, c);
+ r && s >= i && u.push(r), o.push(u);
+ }
+ return o;
+ }),
+ (t.sum = function (e, t, r) {
+ return (
+ void 0 === r && (r = 0),
+ t &&
+ (e = n.map(e, function (e) {
+ return e[t];
+ })),
+ r +
+ e.reduce(function (e, t) {
+ return e + t;
+ }, 0)
+ );
+ }),
+ (t.sort = i.makeMacro(
+ ["value", "reverse", "case_sensitive", "attribute"],
+ [],
+ function (e, t, r, i) {
+ var o = this,
+ a = n.map(e, function (e) {
+ return e;
+ }),
+ s = n.getAttrGetter(i);
+ return (
+ a.sort(function (e, a) {
+ var l = i ? s(e) : e,
+ c = i ? s(a) : a;
+ if (
+ o.env.opts.throwOnUndefined &&
+ i &&
+ (void 0 === l || void 0 === c)
+ )
+ throw new TypeError(
+ 'sort: attribute "' +
+ i +
+ '" resolved to undefined'
+ );
+ return (
+ !r &&
+ n.isString(l) &&
+ n.isString(c) &&
+ ((l = l.toLowerCase()), (c = c.toLowerCase())),
+ l < c ? (t ? 1 : -1) : l > c ? (t ? -1 : 1) : 0
+ );
+ }),
+ a
+ );
+ }
+ )),
+ (t.string = function (e) {
+ return i.copySafeness(e, e);
+ }),
+ (t.striptags = function (e, t) {
+ var r,
+ n = u(
+ (e = o(e, "")).replace(
+ /<\/?([a-z][a-z0-9]*)\b[^>]*>|/gi,
+ ""
+ )
+ );
+ return (
+ (r = t
+ ? n
+ .replace(/^ +| +$/gm, "")
+ .replace(/ +/g, " ")
+ .replace(/(\r\n)/g, "\n")
+ .replace(/\n\n\n+/g, "\n\n")
+ : n.replace(/\s+/gi, " ")),
+ i.copySafeness(e, r)
+ );
+ }),
+ (t.title = function (e) {
+ var t = (e = o(e, "")).split(" ").map(function (e) {
+ return s(e);
+ });
+ return i.copySafeness(e, t.join(" "));
+ }),
+ (t.trim = u),
+ (t.truncate = function (e, t, r, n) {
+ var a = e;
+ if (((t = t || 255), (e = o(e, "")).length <= t)) return e;
+ if (r) e = e.substring(0, t);
+ else {
+ var s = e.lastIndexOf(" ", t);
+ -1 === s && (s = t), (e = e.substring(0, s));
+ }
+ return (e += null != n ? n : "..."), i.copySafeness(a, e);
+ }),
+ (t.upper = function (e) {
+ return (e = o(e, "")).toUpperCase();
+ }),
+ (t.urlencode = function (e) {
+ var t = encodeURIComponent;
+ return n.isString(e)
+ ? t(e)
+ : (n.isArray(e) ? e : n._entries(e))
+ .map(function (e) {
+ var r = e[0],
+ n = e[1];
+ return t(r) + "=" + t(n);
+ })
+ .join("&");
+ });
+ var p = /^(?:\(|<|<)?(.*?)(?:\.|,|\)|\n|>)?$/,
+ d =
+ /^[\w.!#$%&'*+\-\/=?\^`{|}~]+@[a-z\d\-]+(\.[a-z\d\-]+)+$/i,
+ f = /^https?:\/\/.*$/,
+ h = /^www\./,
+ m = /\.(?:org|net|com)(?:\:|\/|$)/;
+ (t.urlize = function (e, t, r) {
+ a(t) && (t = 1 / 0);
+ var n = !0 === r ? ' rel="nofollow"' : "";
+ return e
+ .split(/(\s+)/)
+ .filter(function (e) {
+ return e && e.length;
+ })
+ .map(function (e) {
+ var r = e.match(p),
+ i = r ? r[1] : e,
+ o = i.substr(0, t);
+ return f.test(i)
+ ? '" + o + ""
+ : h.test(i)
+ ? '" + o + ""
+ : d.test(i)
+ ? '' + i + ""
+ : m.test(i)
+ ? '" + o + ""
+ : e;
+ })
+ .join("");
+ }),
+ (t.wordcount = function (e) {
+ var t = (e = o(e, "")) ? e.match(/\w+/g) : null;
+ return t ? t.length : null;
+ }),
+ (t.float = function (e, t) {
+ var r = parseFloat(e);
+ return a(r) ? t : r;
+ });
+ var g = i.makeMacro(
+ ["value", "default", "base"],
+ [],
+ function (e, t, r) {
+ void 0 === r && (r = 10);
+ var n = parseInt(e, r);
+ return a(n) ? t : n;
+ }
+ );
+ (t.int = g), (t.d = t.default), (t.e = t.escape);
+ },
+ function (e, t, r) {
+ "use strict";
+ function n(e, t) {
+ return (
+ (n =
+ Object.setPrototypeOf ||
+ function (e, t) {
+ return (e.__proto__ = t), e;
+ }),
+ n(e, t)
+ );
+ }
+ var i = (function (e) {
+ var t, r;
+ function i(t) {
+ var r;
+ return (
+ ((r = e.call(this) || this).precompiled = t || {}), r
+ );
+ }
+ return (
+ (r = e),
+ ((t = i).prototype = Object.create(r.prototype)),
+ (t.prototype.constructor = t),
+ n(t, r),
+ (i.prototype.getSource = function (e) {
+ return this.precompiled[e]
+ ? {
+ src: { type: "code", obj: this.precompiled[e] },
+ path: e,
+ }
+ : null;
+ }),
+ i
+ );
+ })(r(6));
+ e.exports = { PrecompiledLoader: i };
+ },
+ function (e, t, r) {
+ "use strict";
+ var n = r(2).SafeString;
+ (t.callable = function (e) {
+ return "function" == typeof e;
+ }),
+ (t.defined = function (e) {
+ return void 0 !== e;
+ }),
+ (t.divisibleby = function (e, t) {
+ return e % t == 0;
+ }),
+ (t.escaped = function (e) {
+ return e instanceof n;
+ }),
+ (t.equalto = function (e, t) {
+ return e === t;
+ }),
+ (t.eq = t.equalto),
+ (t.sameas = t.equalto),
+ (t.even = function (e) {
+ return e % 2 == 0;
+ }),
+ (t.falsy = function (e) {
+ return !e;
+ }),
+ (t.ge = function (e, t) {
+ return e >= t;
+ }),
+ (t.greaterthan = function (e, t) {
+ return e > t;
+ }),
+ (t.gt = t.greaterthan),
+ (t.le = function (e, t) {
+ return e <= t;
+ }),
+ (t.lessthan = function (e, t) {
+ return e < t;
+ }),
+ (t.lt = t.lessthan),
+ (t.lower = function (e) {
+ return e.toLowerCase() === e;
+ }),
+ (t.ne = function (e, t) {
+ return e !== t;
+ }),
+ (t.null = function (e) {
+ return null === e;
+ }),
+ (t.number = function (e) {
+ return "number" == typeof e;
+ }),
+ (t.odd = function (e) {
+ return e % 2 == 1;
+ }),
+ (t.string = function (e) {
+ return "string" == typeof e;
+ }),
+ (t.truthy = function (e) {
+ return !!e;
+ }),
+ (t.undefined = function (e) {
+ return void 0 === e;
+ }),
+ (t.upper = function (e) {
+ return e.toUpperCase() === e;
+ }),
+ (t.iterable = function (e) {
+ return "undefined" != typeof Symbol
+ ? !!e[Symbol.iterator]
+ : Array.isArray(e) || "string" == typeof e;
+ }),
+ (t.mapping = function (e) {
+ var t =
+ null != e && "object" == typeof e && !Array.isArray(e);
+ return Set ? t && !(e instanceof Set) : t;
+ });
+ },
+ function (e, t, r) {
+ "use strict";
+ e.exports = function () {
+ return {
+ range: function (e, t, r) {
+ void 0 === t ? ((t = e), (e = 0), (r = 1)) : r || (r = 1);
+ var n = [];
+ if (r > 0) for (var i = e; i < t; i += r) n.push(i);
+ else for (var o = e; o > t; o += r) n.push(o);
+ return n;
+ },
+ cycler: function () {
+ return (
+ (e = Array.prototype.slice.call(arguments)),
+ (t = -1),
+ {
+ current: null,
+ reset: function () {
+ (t = -1), (this.current = null);
+ },
+ next: function () {
+ return (
+ ++t >= e.length && (t = 0),
+ (this.current = e[t]),
+ this.current
+ );
+ },
+ }
+ );
+ var e, t;
+ },
+ joiner: function (e) {
+ return (function (e) {
+ e = e || ",";
+ var t = !0;
+ return function () {
+ var r = t ? "" : e;
+ return (t = !1), r;
+ };
+ })(e);
+ },
+ };
+ };
+ },
+ function (e, t, r) {
+ var n = r(4);
+ e.exports = function (e, t) {
+ function r(e, t) {
+ if (
+ ((this.name = e),
+ (this.path = e),
+ (this.defaultEngine = t.defaultEngine),
+ (this.ext = n.extname(e)),
+ !this.ext && !this.defaultEngine)
+ )
+ throw new Error(
+ "No default engine was specified and no extension was provided."
+ );
+ this.ext ||
+ (this.name += this.ext =
+ ("." !== this.defaultEngine[0] ? "." : "") +
+ this.defaultEngine);
+ }
+ return (
+ (r.prototype.render = function (t, r) {
+ e.render(this.name, t, r);
+ }),
+ t.set("view", r),
+ t.set("nunjucksEnv", e),
+ e
+ );
+ };
+ },
+ function (e, t, r) {
+ "use strict";
+ var n = r(4),
+ i = r(4),
+ o = r(0)._prettifyError,
+ a = r(5),
+ s = r(7).Environment,
+ l = r(24);
+ function c(e, t) {
+ return (
+ !!Array.isArray(t) &&
+ t.some(function (t) {
+ return e.match(t);
+ })
+ );
+ }
+ function u(e, t) {
+ (t = t || {}).isString = !0;
+ var r = t.env || new s([]),
+ n = t.wrapper || l;
+ if (!t.name)
+ throw new Error(
+ 'the "name" option is required when compiling a string'
+ );
+ return n([p(e, t.name, r)], t);
+ }
+ function p(e, t, r) {
+ var n,
+ i = (r = r || new s([])).asyncFilters,
+ l = r.extensionsList;
+ t = t.replace(/\\/g, "/");
+ try {
+ n = a.compile(e, i, l, t, r.opts);
+ } catch (e) {
+ throw o(t, !1, e);
+ }
+ return { name: t, template: n };
+ }
+ e.exports = {
+ precompile: function (e, t) {
+ var r = (t = t || {}).env || new s([]),
+ o = t.wrapper || l;
+ if (t.isString) return u(e, t);
+ var a = n.existsSync(e) && n.statSync(e),
+ d = [],
+ f = [];
+ if (a.isFile())
+ d.push(p(n.readFileSync(e, "utf-8"), t.name || e, r));
+ else if (a.isDirectory()) {
+ !(function r(o) {
+ n.readdirSync(o).forEach(function (a) {
+ var s = i.join(o, a),
+ l = s.substr(i.join(e, "/").length),
+ u = n.statSync(s);
+ u && u.isDirectory()
+ ? c((l += "/"), t.exclude) || r(s)
+ : c(l, t.include) && f.push(s);
+ });
+ })(e);
+ for (var h = 0; h < f.length; h++) {
+ var m = f[h].replace(i.join(e, "/"), "");
+ try {
+ d.push(p(n.readFileSync(f[h], "utf-8"), m, r));
+ } catch (e) {
+ if (!t.force) throw e;
+ console.error(e);
+ }
+ }
+ }
+ return o(d, t);
+ },
+ precompileString: u,
+ };
+ },
+ function (e, t, r) {
+ "use strict";
+ e.exports = function (e, t) {
+ var r = "";
+ t = t || {};
+ for (var n = 0; n < e.length; n++) {
+ var i = JSON.stringify(e[n].name);
+ (r +=
+ "(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})[" +
+ i +
+ "] = (function() {\n" +
+ e[n].template +
+ "\n})();\n"),
+ t.asFunction &&
+ (r +=
+ "return function(ctx, cb) { return nunjucks.render(" +
+ i +
+ ", ctx, cb); }\n"),
+ (r += "})();\n");
+ }
+ return r;
+ };
+ },
+ function (e, t, r) {
+ e.exports = function () {
+ "use strict";
+ var e,
+ t,
+ r = this.runtime,
+ n = this.lib,
+ i = this.compiler.Compiler,
+ o = this.parser.Parser,
+ a = this.nodes,
+ s = this.lexer,
+ l = r.contextOrFrameLookup,
+ c = r.memberLookup;
+ function u(e) {
+ return { index: e.index, lineno: e.lineno, colno: e.colno };
+ }
+ if (
+ (i && (e = i.prototype.assertType),
+ o && (t = o.prototype.parseAggregate),
+ (r.contextOrFrameLookup = function (e, t, r) {
+ var n = l.apply(this, arguments);
+ if (void 0 !== n) return n;
+ switch (r) {
+ case "True":
+ return !0;
+ case "False":
+ return !1;
+ case "None":
+ return null;
+ default:
+ return;
+ }
+ }),
+ a && i && o)
+ ) {
+ var p = a.Node.extend("Slice", {
+ fields: ["start", "stop", "step"],
+ init: function (e, t, r, n, i) {
+ (r = r || new a.Literal(e, t, null)),
+ (n = n || new a.Literal(e, t, null)),
+ (i = i || new a.Literal(e, t, 1)),
+ this.parent(e, t, r, n, i);
+ },
+ });
+ (i.prototype.assertType = function (t) {
+ t instanceof p || e.apply(this, arguments);
+ }),
+ (i.prototype.compileSlice = function (e, t) {
+ this._emit("("),
+ this._compileExpression(e.start, t),
+ this._emit("),("),
+ this._compileExpression(e.stop, t),
+ this._emit("),("),
+ this._compileExpression(e.step, t),
+ this._emit(")");
+ }),
+ (o.prototype.parseAggregate = function () {
+ var e = this,
+ r = u(this.tokens);
+ r.colno--, r.index--;
+ try {
+ return t.apply(this);
+ } catch (t) {
+ var i = u(this.tokens),
+ o = function () {
+ return n._assign(e.tokens, i), t;
+ };
+ n._assign(this.tokens, r), (this.peeked = !1);
+ var l = this.peekToken();
+ if (l.type !== s.TOKEN_LEFT_BRACKET) throw o();
+ this.nextToken();
+ for (
+ var c = new p(l.lineno, l.colno), d = !1, f = 0;
+ f <= c.fields.length &&
+ !this.skip(s.TOKEN_RIGHT_BRACKET);
+ f++
+ ) {
+ if (f === c.fields.length) {
+ if (!d) break;
+ this.fail(
+ "parseSlice: too many slice components",
+ l.lineno,
+ l.colno
+ );
+ }
+ this.skip(s.TOKEN_COLON)
+ ? (d = !0)
+ : ((c[c.fields[f]] = this.parseExpression()),
+ (d = this.skip(s.TOKEN_COLON) || d));
+ }
+ if (!d) throw o();
+ return new a.Array(l.lineno, l.colno, [c]);
+ }
+ });
+ }
+ function d(e, t, n, i) {
+ (e = e || []),
+ null === t && (t = i < 0 ? e.length - 1 : 0),
+ null === n
+ ? (n = i < 0 ? -1 : e.length)
+ : n < 0 && (n += e.length),
+ t < 0 && (t += e.length);
+ for (
+ var o = [], a = t;
+ !(
+ a < 0 ||
+ a > e.length ||
+ (i > 0 && a >= n) ||
+ (i < 0 && a <= n)
+ );
+ a += i
+ )
+ o.push(r.memberLookup(e, a));
+ return o;
+ }
+ function f(e, t) {
+ return Object.prototype.hasOwnProperty.call(e, t);
+ }
+ var h = {
+ pop: function (e) {
+ if (void 0 === e) return this.pop();
+ if (e >= this.length || e < 0)
+ throw new Error("KeyError");
+ return this.splice(e, 1);
+ },
+ append: function (e) {
+ return this.push(e);
+ },
+ remove: function (e) {
+ for (var t = 0; t < this.length; t++)
+ if (this[t] === e) return this.splice(t, 1);
+ throw new Error("ValueError");
+ },
+ count: function (e) {
+ for (var t = 0, r = 0; r < this.length; r++)
+ this[r] === e && t++;
+ return t;
+ },
+ index: function (e) {
+ var t;
+ if (-1 === (t = this.indexOf(e)))
+ throw new Error("ValueError");
+ return t;
+ },
+ find: function (e) {
+ return this.indexOf(e);
+ },
+ insert: function (e, t) {
+ return this.splice(e, 0, t);
+ },
+ },
+ m = {
+ items: function () {
+ return n._entries(this);
+ },
+ values: function () {
+ return n._values(this);
+ },
+ keys: function () {
+ return n.keys(this);
+ },
+ get: function (e, t) {
+ var r = this[e];
+ return void 0 === r && (r = t), r;
+ },
+ has_key: function (e) {
+ return f(this, e);
+ },
+ pop: function (e, t) {
+ var r = this[e];
+ if (void 0 === r && void 0 !== t) r = t;
+ else {
+ if (void 0 === r) throw new Error("KeyError");
+ delete this[e];
+ }
+ return r;
+ },
+ popitem: function () {
+ var e = n.keys(this);
+ if (!e.length) throw new Error("KeyError");
+ var t = e[0],
+ r = this[t];
+ return delete this[t], [t, r];
+ },
+ setdefault: function (e, t) {
+ return (
+ void 0 === t && (t = null),
+ e in this || (this[e] = t),
+ this[e]
+ );
+ },
+ update: function (e) {
+ return n._assign(this, e), null;
+ },
+ };
+ return (
+ (m.iteritems = m.items),
+ (m.itervalues = m.values),
+ (m.iterkeys = m.keys),
+ (r.memberLookup = function (e, t, r) {
+ return 4 === arguments.length
+ ? d.apply(this, arguments)
+ : ((e = e || {}),
+ n.isArray(e) && f(h, t)
+ ? h[t].bind(e)
+ : n.isObject(e) && f(m, t)
+ ? m[t].bind(e)
+ : c.apply(this, arguments));
+ }),
+ function () {
+ (r.contextOrFrameLookup = l),
+ (r.memberLookup = c),
+ i && (i.prototype.assertType = e),
+ o && (o.prototype.parseAggregate = t);
+ }
+ );
+ };
+ },
+ ]);
+ }),
+ (e.exports = t());
+ },
+ 202: (e, t, r) => {
+ "use strict";
+ var n = r(3700),
+ i = /[\/\?<>\\:\*\|"]/g,
+ o = /[\x00-\x1f\x80-\x9f]/g,
+ a = /^\.+$/,
+ s = /^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,
+ l = /[\. ]+$/;
+ function c(e, t) {
+ if ("string" != typeof e) throw new Error("Input must be string");
+ var r = e
+ .replace(i, t)
+ .replace(o, t)
+ .replace(a, t)
+ .replace(s, t)
+ .replace(l, t);
+ return n(r, 255);
+ }
+ e.exports = function (e, t) {
+ var r = (t && t.replacement) || "",
+ n = c(e, r);
+ return "" === r ? n : c(n, "");
+ };
+ },
+ 9328: (e) => {
+ "use strict";
+ var t = { decodeValues: !0, map: !1, silent: !1 };
+ function r(e) {
+ return "string" == typeof e && !!e.trim();
+ }
+ function n(e, n) {
+ var i = e.split(";").filter(r),
+ o = i.shift().split("="),
+ a = o.shift(),
+ s = o.join("=");
+ n = n ? Object.assign({}, t, n) : t;
+ try {
+ s = n.decodeValues ? decodeURIComponent(s) : s;
+ } catch (e) {
+ console.error(
+ "set-cookie-parser encountered an error while decoding a cookie with value '" +
+ s +
+ "'. Set options.decodeValues to false to disable this feature.",
+ e
+ );
+ }
+ var l = { name: a, value: s };
+ return (
+ i.forEach(function (e) {
+ var t = e.split("="),
+ r = t.shift().trimLeft().toLowerCase(),
+ n = t.join("=");
+ "expires" === r
+ ? (l.expires = new Date(n))
+ : "max-age" === r
+ ? (l.maxAge = parseInt(n, 10))
+ : "secure" === r
+ ? (l.secure = !0)
+ : "httponly" === r
+ ? (l.httpOnly = !0)
+ : "samesite" === r
+ ? (l.sameSite = n)
+ : (l[r] = n);
+ }),
+ l
+ );
+ }
+ function i(e, i) {
+ if (((i = i ? Object.assign({}, t, i) : t), !e))
+ return i.map ? {} : [];
+ if (e.headers && e.headers["set-cookie"]) e = e.headers["set-cookie"];
+ else if (e.headers) {
+ var o =
+ e.headers[
+ Object.keys(e.headers).find(function (e) {
+ return "set-cookie" === e.toLowerCase();
+ })
+ ];
+ o ||
+ !e.headers.cookie ||
+ i.silent ||
+ console.warn(
+ "Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning."
+ ),
+ (e = o);
+ }
+ return (
+ Array.isArray(e) || (e = [e]),
+ (i = i ? Object.assign({}, t, i) : t).map
+ ? e.filter(r).reduce(function (e, t) {
+ var r = n(t, i);
+ return (e[r.name] = r), e;
+ }, {})
+ : e.filter(r).map(function (e) {
+ return n(e, i);
+ })
+ );
+ }
+ (e.exports = i),
+ (e.exports.parse = i),
+ (e.exports.parseString = n),
+ (e.exports.splitCookiesString = function (e) {
+ if (Array.isArray(e)) return e;
+ if ("string" != typeof e) return [];
+ var t,
+ r,
+ n,
+ i,
+ o,
+ a = [],
+ s = 0;
+ function l() {
+ for (; s < e.length && /\s/.test(e.charAt(s)); ) s += 1;
+ return s < e.length;
+ }
+ for (; s < e.length; ) {
+ for (t = s, o = !1; l(); )
+ if ("," === (r = e.charAt(s))) {
+ for (
+ n = s, s += 1, l(), i = s;
+ s < e.length &&
+ "=" !== (r = e.charAt(s)) &&
+ ";" !== r &&
+ "," !== r;
+
+ )
+ s += 1;
+ s < e.length && "=" === e.charAt(s)
+ ? ((o = !0), (s = i), a.push(e.substring(t, n)), (t = s))
+ : (s = n + 1);
+ } else s += 1;
+ (!o || s >= e.length) && a.push(e.substring(t, e.length));
+ }
+ return a;
+ });
+ },
+ 3700: (e, t, r) => {
+ "use strict";
+ var n = r(1156),
+ i = r(793);
+ e.exports = n.bind(null, i);
+ },
+ 1156: (e) => {
+ "use strict";
+ function t(e) {
+ return e >= 55296 && e <= 56319;
+ }
+ function r(e) {
+ return e >= 56320 && e <= 57343;
+ }
+ e.exports = function (e, n, i) {
+ if ("string" != typeof n) throw new Error("Input must be string");
+ for (var o, a, s = n.length, l = 0, c = 0; c < s; c += 1) {
+ if (
+ ((o = n.charCodeAt(c)),
+ (a = n[c]),
+ t(o) && r(n.charCodeAt(c + 1)) && (a += n[(c += 1)]),
+ (l += e(a)) === i)
+ )
+ return n.slice(0, c + 1);
+ if (l > i) return n.slice(0, c - a.length + 1);
+ }
+ return n;
+ };
+ },
+ 793: (e) => {
+ "use strict";
+ function t(e) {
+ return e >= 55296 && e <= 56319;
+ }
+ function r(e) {
+ return e >= 56320 && e <= 57343;
+ }
+ e.exports = function (e) {
+ if ("string" != typeof e) throw new Error("Input must be string");
+ for (var n = e.length, i = 0, o = null, a = null, s = 0; s < n; s++)
+ r((o = e.charCodeAt(s)))
+ ? null != a && t(a)
+ ? (i += 1)
+ : (i += 3)
+ : o <= 127
+ ? (i += 1)
+ : o >= 128 && o <= 2047
+ ? (i += 2)
+ : o >= 2048 && o <= 65535 && (i += 3),
+ (a = o);
+ return i;
+ };
+ },
+ 5840: (e) => {
+ "use strict";
+ e.exports = require("electron");
+ },
+ 3600: (e) => {
+ "use strict";
+ e.exports = JSON.parse(
+ '{"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376}'
+ );
+ },
+ 9323: (e) => {
+ "use strict";
+ e.exports = JSON.parse(
+ '{"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":"&","andand":"⩕","And":"⩓","and":"∧","andd":"⩜","andslope":"⩘","andv":"⩚","ang":"∠","ange":"⦤","angle":"∠","angmsdaa":"⦨","angmsdab":"⦩","angmsdac":"⦪","angmsdad":"⦫","angmsdae":"⦬","angmsdaf":"⦭","angmsdag":"⦮","angmsdah":"⦯","angmsd":"∡","angrt":"∟","angrtvb":"⊾","angrtvbd":"⦝","angsph":"∢","angst":"Å","angzarr":"⍼","Aogon":"Ą","aogon":"ą","Aopf":"𝔸","aopf":"𝕒","apacir":"⩯","ap":"≈","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":"⋍","bsolb":"⧅","bsol":"\\\\","bsolhsub":"⟈","bull":"•","bullet":"•","bump":"≎","bumpE":"⪮","bumpe":"≏","Bumpeq":"≎","bumpeq":"≏","Cacute":"Ć","cacute":"ć","capand":"⩄","capbrcup":"⩉","capcap":"⩋","cap":"∩","Cap":"⋒","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":"χ","circ":"ˆ","circeq":"≗","circlearrowleft":"↺","circlearrowright":"↻","circledast":"⊛","circledcirc":"⊚","circleddash":"⊝","CircleDot":"⊙","circledR":"®","circledS":"Ⓢ","CircleMinus":"⊖","CirclePlus":"⊕","CircleTimes":"⊗","cir":"○","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":"⤽","cupbrcap":"⩈","cupcap":"⩆","CupCap":"≍","cup":"∪","Cup":"⋓","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":"д","ddagger":"‡","ddarr":"⇊","DD":"ⅅ","dd":"ⅆ","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":"∥","DownArrowBar":"⤓","downarrow":"↓","DownArrow":"↓","Downarrow":"⇓","DownArrowUpArrow":"⇵","DownBreve":"̑","downdownarrows":"⇊","downharpoonleft":"⇃","downharpoonright":"⇂","DownLeftRightVector":"⥐","DownLeftTeeVector":"⥞","DownLeftVectorBar":"⥖","DownLeftVector":"↽","DownRightTeeVector":"⥟","DownRightVectorBar":"⥗","DownRightVector":"⇁","DownTeeArrow":"↧","DownTee":"⊤","drbkarow":"⤐","drcorn":"⌟","drcrop":"⌌","Dscr":"𝒟","dscr":"𝒹","DScy":"Ѕ","dscy":"ѕ","dsol":"⧶","Dstrok":"Đ","dstrok":"đ","dtdot":"⋱","dtri":"▿","dtrif":"▾","duarr":"⇵","duhar":"⥯","dwangle":"⦦","DZcy":"Џ","dzcy":"џ","dzigrarr":"⟿","Eacute":"É","eacute":"é","easter":"⩮","Ecaron":"Ě","ecaron":"ě","Ecirc":"Ê","ecirc":"ê","ecir":"≖","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":"▫","emsp13":" ","emsp14":" ","emsp":" ","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":"⩾","gescc":"⪩","ges":"⩾","gesdot":"⪀","gesdoto":"⪂","gesdotol":"⪄","gesl":"⋛︀","gesles":"⪔","Gfr":"𝔊","gfr":"𝔤","gg":"≫","Gg":"⋙","ggg":"⋙","gimel":"ℷ","GJcy":"Ѓ","gjcy":"ѓ","gla":"⪥","gl":"≷","glE":"⪒","glj":"⪤","gnap":"⪊","gnapprox":"⪊","gne":"⪈","gnE":"≩","gneq":"⪈","gneqq":"≩","gnsim":"⋧","Gopf":"𝔾","gopf":"𝕘","grave":"`","GreaterEqual":"≥","GreaterEqualLess":"⋛","GreaterFullEqual":"≧","GreaterGreater":"⪢","GreaterLess":"≷","GreaterSlantEqual":"⩾","GreaterTilde":"≳","Gscr":"𝒢","gscr":"ℊ","gsim":"≳","gsime":"⪎","gsiml":"⪐","gtcc":"⪧","gtcir":"⩺","gt":">","GT":">","Gt":"≫","gtdot":"⋗","gtlPar":"⦕","gtquest":"⩼","gtrapprox":"⪆","gtrarr":"⥸","gtrdot":"⋗","gtreqless":"⋛","gtreqqless":"⪌","gtrless":"≷","gtrsim":"≳","gvertneqq":"≩︀","gvnE":"≩︀","Hacek":"ˇ","hairsp":" ","half":"½","hamilt":"ℋ","HARDcy":"Ъ","hardcy":"ъ","harrcir":"⥈","harr":"↔","hArr":"⇔","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","Imacr":"Ī","imacr":"ī","image":"ℑ","ImaginaryI":"ⅈ","imagline":"ℐ","imagpart":"ℑ","imath":"ı","Im":"ℑ","imof":"⊷","imped":"Ƶ","Implies":"⇒","incare":"℅","in":"∈","infin":"∞","infintie":"⧝","inodot":"ı","intcal":"⊺","int":"∫","Int":"∬","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":"«","larrb":"⇤","larrbfs":"⤟","larr":"←","Larr":"↞","lArr":"⇐","larrfs":"⤝","larrhk":"↩","larrlp":"↫","larrpl":"⤹","larrsim":"⥳","larrtl":"↢","latail":"⤙","lAtail":"⤛","lat":"⪫","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":"⟨","LeftArrowBar":"⇤","leftarrow":"←","LeftArrow":"←","Leftarrow":"⇐","LeftArrowRightArrow":"⇆","leftarrowtail":"↢","LeftCeiling":"⌈","LeftDoubleBracket":"⟦","LeftDownTeeVector":"⥡","LeftDownVectorBar":"⥙","LeftDownVector":"⇃","LeftFloor":"⌊","leftharpoondown":"↽","leftharpoonup":"↼","leftleftarrows":"⇇","leftrightarrow":"↔","LeftRightArrow":"↔","Leftrightarrow":"⇔","leftrightarrows":"⇆","leftrightharpoons":"⇋","leftrightsquigarrow":"↭","LeftRightVector":"⥎","LeftTeeArrow":"↤","LeftTee":"⊣","LeftTeeVector":"⥚","leftthreetimes":"⋋","LeftTriangleBar":"⧏","LeftTriangle":"⊲","LeftTriangleEqual":"⊴","LeftUpDownVector":"⥑","LeftUpTeeVector":"⥠","LeftUpVectorBar":"⥘","LeftUpVector":"↿","LeftVectorBar":"⥒","LeftVector":"↼","lEg":"⪋","leg":"⋚","leq":"≤","leqq":"≦","leqslant":"⩽","lescc":"⪨","les":"⩽","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":"љ","llarr":"⇇","ll":"≪","Ll":"⋘","llcorner":"⌞","Lleftarrow":"⇚","llhard":"⥫","lltri":"◺","Lmidot":"Ŀ","lmidot":"ŀ","lmoustache":"⎰","lmoust":"⎰","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":"ł","ltcc":"⪦","ltcir":"⩹","lt":"<","LT":"<","Lt":"≪","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":"µ","midast":"*","midcir":"⫰","mid":"∣","middot":"·","minusb":"⊟","minus":"−","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":"≉","natural":"♮","naturals":"ℕ","natur":"♮","nbsp":" ","nbump":"≎̸","nbumpe":"≏̸","ncap":"⩃","Ncaron":"Ň","ncaron":"ň","Ncedil":"Ņ","ncedil":"ņ","ncong":"≇","ncongdot":"⩭̸","ncup":"⩂","Ncy":"Н","ncy":"н","ndash":"–","nearhk":"⤤","nearr":"↗","neArr":"⇗","nearrow":"↗","ne":"≠","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":"⋶","NotLeftTriangleBar":"⧏̸","NotLeftTriangle":"⋪","NotLeftTriangleEqual":"⋬","NotLess":"≮","NotLessEqual":"≰","NotLessGreater":"≸","NotLessLess":"≪̸","NotLessSlantEqual":"⩽̸","NotLessTilde":"≴","NotNestedGreaterGreater":"⪢̸","NotNestedLessLess":"⪡̸","notni":"∌","notniva":"∌","notnivb":"⋾","notnivc":"⋽","NotPrecedes":"⊀","NotPrecedesEqual":"⪯̸","NotPrecedesSlantEqual":"⋠","NotReverseElement":"∌","NotRightTriangleBar":"⧐̸","NotRightTriangle":"⋫","NotRightTriangleEqual":"⋭","NotSquareSubset":"⊏̸","NotSquareSubsetEqual":"⋢","NotSquareSuperset":"⊐̸","NotSquareSupersetEqual":"⋣","NotSubset":"⊂⃒","NotSubsetEqual":"⊈","NotSucceeds":"⊁","NotSucceedsEqual":"⪰̸","NotSucceedsSlantEqual":"⋡","NotSucceedsTilde":"≿̸","NotSuperset":"⊃⃒","NotSupersetEqual":"⊉","NotTilde":"≁","NotTildeEqual":"≄","NotTildeFullEqual":"≇","NotTildeTilde":"≉","NotVerticalBar":"∤","nparallel":"∦","npar":"∦","nparsl":"⫽⃥","npart":"∂̸","npolint":"⨔","npr":"⊀","nprcue":"⋠","nprec":"⊀","npreceq":"⪯̸","npre":"⪯̸","nrarrc":"⤳̸","nrarr":"↛","nrArr":"⇏","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":"⊛","Ocirc":"Ô","ocirc":"ô","ocir":"⊚","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":"⊕","orarr":"↻","Or":"⩔","or":"∨","ord":"⩝","order":"ℴ","orderof":"ℴ","ordf":"ª","ordm":"º","origof":"⊶","oror":"⩖","orslope":"⩗","orv":"⩛","oS":"Ⓢ","Oscr":"𝒪","oscr":"ℴ","Oslash":"Ø","oslash":"ø","osol":"⊘","Otilde":"Õ","otilde":"õ","otimesas":"⨶","Otimes":"⨷","otimes":"⊗","Ouml":"Ö","ouml":"ö","ovbar":"⌽","OverBar":"‾","OverBrace":"⏞","OverBracket":"⎴","OverParenthesis":"⏜","para":"¶","parallel":"∥","par":"∥","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":"ℏ","plusacir":"⨣","plusb":"⊞","pluscir":"⨢","plus":"+","plusdo":"∔","plusdu":"⨥","pluse":"⩲","PlusMinus":"±","plusmn":"±","plussim":"⨦","plustwo":"⨧","pm":"±","Poincareplane":"ℌ","pointint":"⨕","popf":"𝕡","Popf":"ℙ","pound":"£","prap":"⪷","Pr":"⪻","pr":"≺","prcue":"≼","precapprox":"⪷","prec":"≺","preccurlyeq":"≼","Precedes":"≺","PrecedesEqual":"⪯","PrecedesSlantEqual":"≼","PrecedesTilde":"≾","preceq":"⪯","precnapprox":"⪹","precneqq":"⪵","precnsim":"⋨","pre":"⪯","prE":"⪳","precsim":"≾","prime":"′","Prime":"″","primes":"ℙ","prnap":"⪹","prnE":"⪵","prnsim":"⋨","prod":"∏","Product":"∏","profalar":"⌮","profline":"⌒","profsurf":"⌓","prop":"∝","Proportional":"∝","Proportion":"∷","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":"»","rarrap":"⥵","rarrb":"⇥","rarrbfs":"⤠","rarrc":"⤳","rarr":"→","Rarr":"↠","rArr":"⇒","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":"↳","real":"ℜ","realine":"ℛ","realpart":"ℜ","reals":"ℝ","Re":"ℜ","rect":"▭","reg":"®","REG":"®","ReverseElement":"∋","ReverseEquilibrium":"⇋","ReverseUpEquilibrium":"⥯","rfisht":"⥽","rfloor":"⌋","rfr":"𝔯","Rfr":"ℜ","rHar":"⥤","rhard":"⇁","rharu":"⇀","rharul":"⥬","Rho":"Ρ","rho":"ρ","rhov":"ϱ","RightAngleBracket":"⟩","RightArrowBar":"⇥","rightarrow":"→","RightArrow":"→","Rightarrow":"⇒","RightArrowLeftArrow":"⇄","rightarrowtail":"↣","RightCeiling":"⌉","RightDoubleBracket":"⟧","RightDownTeeVector":"⥝","RightDownVectorBar":"⥕","RightDownVector":"⇂","RightFloor":"⌋","rightharpoondown":"⇁","rightharpoonup":"⇀","rightleftarrows":"⇄","rightleftharpoons":"⇌","rightrightarrows":"⇉","rightsquigarrow":"↝","RightTeeArrow":"↦","RightTee":"⊢","RightTeeVector":"⥛","rightthreetimes":"⋌","RightTriangleBar":"⧐","RightTriangle":"⊳","RightTriangleEqual":"⊵","RightUpDownVector":"⥏","RightUpTeeVector":"⥜","RightUpVectorBar":"⥔","RightUpVector":"↾","RightVectorBar":"⥓","RightVector":"⇀","ring":"˚","risingdotseq":"≓","rlarr":"⇄","rlhar":"⇌","rlm":"","rmoustache":"⎱","rmoust":"⎱","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":"‚","scap":"⪸","Scaron":"Š","scaron":"š","Sc":"⪼","sc":"≻","sccue":"≽","sce":"⪰","scE":"⪴","Scedil":"Ş","scedil":"ş","Scirc":"Ŝ","scirc":"ŝ","scnap":"⪺","scnE":"⪶","scnsim":"⋩","scpolint":"⨓","scsim":"≿","Scy":"С","scy":"с","sdotb":"⊡","sdot":"⋅","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":"ь","solbar":"⌿","solb":"⧄","sol":"/","Sopf":"𝕊","sopf":"𝕤","spades":"♠","spadesuit":"♠","spar":"∥","sqcap":"⊓","sqcaps":"⊓︀","sqcup":"⊔","sqcups":"⊔︀","Sqrt":"√","sqsub":"⊏","sqsube":"⊑","sqsubset":"⊏","sqsubseteq":"⊑","sqsup":"⊐","sqsupe":"⊒","sqsupset":"⊐","sqsupseteq":"⊒","square":"□","Square":"□","SquareIntersection":"⊓","SquareSubset":"⊏","SquareSubsetEqual":"⊑","SquareSuperset":"⊐","SquareSupersetEqual":"⊒","SquareUnion":"⊔","squarf":"▪","squ":"□","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":"⫓","succapprox":"⪸","succ":"≻","succcurlyeq":"≽","Succeeds":"≻","SucceedsEqual":"⪰","SucceedsSlantEqual":"≽","SucceedsTilde":"≿","succeq":"⪰","succnapprox":"⪺","succneqq":"⪶","succnsim":"⋩","succsim":"≿","SuchThat":"∋","sum":"∑","Sum":"∑","sung":"♪","sup1":"¹","sup2":"²","sup3":"³","sup":"⊃","Sup":"⋑","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":" ","ThinSpace":" ","thinsp":" ","thkap":"≈","thksim":"∼","THORN":"Þ","thorn":"þ","tilde":"˜","Tilde":"∼","TildeEqual":"≃","TildeFullEqual":"≅","TildeTilde":"≈","timesbar":"⨱","timesb":"⊠","times":"×","timesd":"⨰","tint":"∭","toea":"⤨","topbot":"⌶","topcir":"⫱","top":"⊤","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":"𝕦","UpArrowBar":"⤒","uparrow":"↑","UpArrow":"↑","Uparrow":"⇑","UpArrowDownArrow":"⇅","updownarrow":"↕","UpDownArrow":"↕","Updownarrow":"⇕","UpEquilibrium":"⥮","upharpoonleft":"↿","upharpoonright":"↾","uplus":"⊎","UpperLeftArrow":"↖","UpperRightArrow":"↗","upsi":"υ","Upsi":"ϒ","upsih":"ϒ","Upsilon":"Υ","upsilon":"υ","UpTeeArrow":"↥","UpTee":"⊥","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":"⫦","veebar":"⊻","vee":"∨","Vee":"⋁","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":""}'
+ );
+ },
+ 9591: (e) => {
+ "use strict";
+ e.exports = JSON.parse(
+ '{"Aacute":"Á","aacute":"á","Acirc":"Â","acirc":"â","acute":"´","AElig":"Æ","aelig":"æ","Agrave":"À","agrave":"à","amp":"&","AMP":"&","Aring":"Å","aring":"å","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","brvbar":"¦","Ccedil":"Ç","ccedil":"ç","cedil":"¸","cent":"¢","copy":"©","COPY":"©","curren":"¤","deg":"°","divide":"÷","Eacute":"É","eacute":"é","Ecirc":"Ê","ecirc":"ê","Egrave":"È","egrave":"è","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","frac12":"½","frac14":"¼","frac34":"¾","gt":">","GT":">","Iacute":"Í","iacute":"í","Icirc":"Î","icirc":"î","iexcl":"¡","Igrave":"Ì","igrave":"ì","iquest":"¿","Iuml":"Ï","iuml":"ï","laquo":"«","lt":"<","LT":"<","macr":"¯","micro":"µ","middot":"·","nbsp":" ","not":"¬","Ntilde":"Ñ","ntilde":"ñ","Oacute":"Ó","oacute":"ó","Ocirc":"Ô","ocirc":"ô","Ograve":"Ò","ograve":"ò","ordf":"ª","ordm":"º","Oslash":"Ø","oslash":"ø","Otilde":"Õ","otilde":"õ","Ouml":"Ö","ouml":"ö","para":"¶","plusmn":"±","pound":"£","quot":"\\"","QUOT":"\\"","raquo":"»","reg":"®","REG":"®","sect":"§","shy":"","sup1":"¹","sup2":"²","sup3":"³","szlig":"ß","THORN":"Þ","thorn":"þ","times":"×","Uacute":"Ú","uacute":"ú","Ucirc":"Û","ucirc":"û","Ugrave":"Ù","ugrave":"ù","uml":"¨","Uuml":"Ü","uuml":"ü","Yacute":"Ý","yacute":"ý","yen":"¥","yuml":"ÿ"}'
+ );
+ },
+ 2586: (e) => {
+ "use strict";
+ e.exports = JSON.parse(
+ '{"amp":"&","apos":"\'","gt":">","lt":"<","quot":"\\""}'
+ );
+ },
+ },
+ t = {};
+ function r(n) {
+ var i = t[n];
+ if (void 0 !== i) return i.exports;
+ var o = (t[n] = { id: n, loaded: !1, exports: {} });
+ return e[n].call(o.exports, o, o.exports, r), (o.loaded = !0), o.exports;
+ }
+ (r.n = (e) => {
+ var t = e && e.__esModule ? () => e.default : () => e;
+ return r.d(t, { a: t }), t;
+ }),
+ (r.d = (e, t) => {
+ for (var n in t)
+ r.o(t, n) &&
+ !r.o(e, n) &&
+ Object.defineProperty(e, n, { enumerable: !0, get: t[n] });
+ }),
+ (r.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t)),
+ (r.r = (e) => {
+ "undefined" != typeof Symbol &&
+ Symbol.toStringTag &&
+ Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }),
+ Object.defineProperty(e, "__esModule", { value: !0 });
+ }),
+ (r.nmd = (e) => ((e.paths = []), e.children || (e.children = []), e));
+ var n = {};
+ (() => {
+ "use strict";
+ function e(e, t, r, n) {
+ return new (r || (r = Promise))(function (i, o) {
+ function a(e) {
+ try {
+ l(n.next(e));
+ } catch (e) {
+ o(e);
+ }
+ }
+ function s(e) {
+ try {
+ l(n.throw(e));
+ } catch (e) {
+ o(e);
+ }
+ }
+ function l(e) {
+ var t;
+ e.done
+ ? i(e.value)
+ : ((t = e.value),
+ t instanceof r
+ ? t
+ : new r(function (e) {
+ e(t);
+ })).then(a, s);
+ }
+ l((n = n.apply(e, t || [])).next());
+ });
+ }
+ r.r(n), r.d(n, { default: () => D }), Object.create, Object.create;
+ const t = require("obsidian");
+ var i = r(2985);
+ function o() {}
+ function a(e) {
+ return e();
+ }
+ function s(e) {
+ e.forEach(a);
+ }
+ function l(e) {
+ return "function" == typeof e;
+ }
+ function c(e) {
+ let t;
+ return (
+ (function (e, ...t) {
+ if (null == e) return o;
+ const r = e.subscribe(...t);
+ return r.unsubscribe ? () => r.unsubscribe() : r;
+ })(e, (e) => (t = e))(),
+ t
+ );
+ }
+ new Set(), new Map();
+ let u,
+ p = [];
+ new Set(),
+ new Set(),
+ "undefined" != typeof window
+ ? window
+ : "undefined" != typeof globalThis
+ ? globalThis
+ : global,
+ new Set([
+ "allowfullscreen",
+ "allowpaymentrequest",
+ "async",
+ "autofocus",
+ "autoplay",
+ "checked",
+ "controls",
+ "default",
+ "defer",
+ "disabled",
+ "formnovalidate",
+ "hidden",
+ "inert",
+ "ismap",
+ "loop",
+ "multiple",
+ "muted",
+ "nomodule",
+ "novalidate",
+ "open",
+ "playsinline",
+ "readonly",
+ "required",
+ "reversed",
+ "selected",
+ ]),
+ "function" == typeof HTMLElement &&
+ (u = class extends HTMLElement {
+ constructor() {
+ super(), this.attachShadow({ mode: "open" });
+ }
+ connectedCallback() {
+ const { on_mount: e } = this.$$;
+ this.$$.on_disconnect = e.map(a).filter(l);
+ for (const e in this.$$.slotted)
+ this.appendChild(this.$$.slotted[e]);
+ }
+ attributeChangedCallback(e, t, r) {
+ this[e] = r;
+ }
+ disconnectedCallback() {
+ s(this.$$.on_disconnect);
+ }
+ $destroy() {
+ (function (e, t) {
+ const r = e.$$;
+ null !== r.fragment &&
+ ((function (e) {
+ const t = [],
+ r = [];
+ p.forEach((n) =>
+ -1 === e.indexOf(n) ? t.push(n) : r.push(n)
+ ),
+ r.forEach((e) => e()),
+ (p = t);
+ })(r.after_update),
+ s(r.on_destroy),
+ r.fragment && r.fragment.d(t),
+ (r.on_destroy = r.fragment = null),
+ (r.ctx = []));
+ })(this, 1),
+ (this.$destroy = o);
+ }
+ $on(e, t) {
+ if (!l(t)) return o;
+ const r = this.$$.callbacks[e] || (this.$$.callbacks[e] = []);
+ return (
+ r.push(t),
+ () => {
+ const e = r.indexOf(t);
+ -1 !== e && r.splice(e, 1);
+ }
+ );
+ }
+ $set(e) {
+ var t;
+ this.$$set &&
+ ((t = e), 0 !== Object.keys(t).length) &&
+ ((this.$$.skip_bound = !0),
+ this.$$set(e),
+ (this.$$.skip_bound = !1));
+ }
+ });
+ const d = [];
+ const f = {
+ cookies: [],
+ noteLocation: "/",
+ dailyNotesLocation: "/",
+ insertAfter: "\x3c!-- start of weread --\x3e",
+ insertBefore: "\x3c!-- end of weread --\x3e",
+ dailyNotesFormat: "YYYY-MM-DD",
+ lastCookieTime: -1,
+ isCookieValid: !1,
+ user: "",
+ userVid: "",
+ template:
+ "---\nisbn: {{metaData.isbn}}\ncategory: {{metaData.category}}\nlastReadDate: {{metaData.lastReadDate}}\n---\n# 元数据\n> [!abstract] {{metaData.title}}\n> - ![ {{metaData.title}}|200]({{metaData.cover}})\n> - 书名: {{metaData.title}}\n> - 作者: {{metaData.author}}\n> - 简介: {{metaData.intro}}\n> - 出版时间 {{metaData.publishTime}}\n> - ISBN: {{metaData.isbn}}\n> - 分类: {{metaData.category}}\n> - 出版社: {{metaData.publisher}}\n\n# 高亮划线\n{% for chapter in chapterHighlights %}\n## {{chapter.chapterTitle}}\n{% for highlight in chapter.highlights %}\n{% if highlight.reviewContent %}{% else %}\n- 📌 {{ highlight.markText |trim }} ^{{highlight.bookmarkId}}\n - ⏱ {{highlight.createTime}}{% endif %} {% endfor %}{% endfor %}\n# 读书笔记\n{% for chapter in bookReview.chapterReviews %}{% if chapter.reviews or chapter.chapterReview %}\n## {{chapter.chapterTitle}}\n{% if chapter.chapterReviews %}{% for chapterReview in chapter.chapterReviews %}\n### 章节评论 No.{{loop.index}}\n- {{chapterReview.content}} ^{{chapterReview.reviewId}}\n - ⏱ {{chapterReview.createTime}} {% endfor%}{%endif %}{% if chapter.reviews %}{%for review in chapter.reviews %}\n### 划线评论\n- 📌 {{review.abstract |trim }} ^{{review.reviewId}}\n - 💭 {{review.content}}\n - ⏱ {{review.createTime}}\n{% endfor %} {%endif %} {% endif %} {% endfor %}\n# 本书评论\n{% if bookReview.bookReviews %}{% for bookReview in bookReview.bookReviews %}\n## 书评 No.{{loop.index}} \n{{bookReview.mdContent}} ^{{bookReview.reviewId}}\n⏱ {{bookReview.createTime}}\n{% endfor%}{% endif %}",
+ noteCountLimit: -1,
+ subFolderType: "-1",
+ fileNameType: "BOOK_NAME",
+ dailyNotesToggle: !1,
+ notesBlacklist: "",
+ },
+ h = (() => {
+ const t = (function (e, t = o) {
+ let r;
+ const n = new Set();
+ function i(t) {
+ if (
+ ((o = t),
+ ((i = e) != i
+ ? o == o
+ : i !== o ||
+ (i && "object" == typeof i) ||
+ "function" == typeof i) && ((e = t), r))
+ ) {
+ const t = !d.length;
+ for (const t of n) t[1](), d.push(t, e);
+ if (t) {
+ for (let e = 0; e < d.length; e += 2) d[e][0](d[e + 1]);
+ d.length = 0;
+ }
+ }
+ var i, o;
+ }
+ return {
+ set: i,
+ update: function (t) {
+ i(t(e));
+ },
+ subscribe: function (a, s = o) {
+ const l = [a, s];
+ return (
+ n.add(l),
+ 1 === n.size && (r = t(i) || o),
+ a(e),
+ () => {
+ n.delete(l), 0 === n.size && r && (r(), (r = null));
+ }
+ );
+ },
+ };
+ })(f);
+ let r;
+ t.subscribe((t) =>
+ e(void 0, void 0, void 0, function* () {
+ if (r) {
+ const e = Object.assign({}, t);
+ yield r.saveData(e);
+ }
+ })
+ );
+ const n = (e) => {
+ for (const r of e)
+ "wr_name" == r.name &&
+ "" !== r.value &&
+ (console.log("[weread plugin] setting user name=>", r.value),
+ t.update((e) => ((e.user = r.value), e))),
+ "wr_vid" == r.name &&
+ "" !== r.value &&
+ (console.log("[weread plugin] setting user vid=>", r.value),
+ t.update((e) => ((e.userVid = r.value), e)));
+ };
+ return {
+ subscribe: t.subscribe,
+ initialise: (i) =>
+ e(void 0, void 0, void 0, function* () {
+ const e = Object.assign({}, f, yield i.loadData()),
+ o = Object.assign({}, e);
+ console.log("--------init cookie------", o.cookies),
+ o.cookies.length > 1 && n(o.cookies);
+ const a = o.cookies.find((e) => "wr_vid" === e.name);
+ (void 0 !== a && "" !== a.value) ||
+ ((o.userVid = ""), (o.isCookieValid = !1)),
+ t.set(o),
+ (r = i);
+ }),
+ actions: {
+ setNoteLocationFolder: (e) => {
+ t.update((t) => ((t.noteLocation = e), t));
+ },
+ setCookies: (e) => {
+ t.update(
+ (t) => (
+ (t.cookies = e),
+ (t.lastCookieTime = new Date().getTime()),
+ (t.isCookieValid = !0),
+ n(e),
+ t
+ )
+ );
+ },
+ clearCookies: () => {
+ console.log("[weread plugin] cookie已失效,清理cookie..."),
+ t.update(
+ (e) => (
+ (e.cookies = []),
+ (e.lastCookieTime = new Date().getTime()),
+ (e.user = ""),
+ (e.userVid = ""),
+ (e.isCookieValid = !1),
+ e
+ )
+ );
+ },
+ setTemplate: (e) => {
+ t.update((t) => ((t.template = e), t));
+ },
+ setNoteCountLimit: (e) => {
+ t.update((t) => ((t.noteCountLimit = e), t));
+ },
+ setSubFolderType: (e) => {
+ t.update((t) => ((t.subFolderType = e), t));
+ },
+ setFileNameType: (e) => {
+ t.update((t) => ((t.fileNameType = e), t));
+ },
+ setDailyNotesToggle: (e) => {
+ t.update((t) => ((t.dailyNotesToggle = e), t));
+ },
+ setDailyNotesFolder: (e) => {
+ t.update((t) => ((t.dailyNotesLocation = e), t));
+ },
+ setDailyNotesFormat: (e) => {
+ t.update((t) => ((t.dailyNotesFormat = e), t));
+ },
+ setInsertAfter: (e) => {
+ t.update((t) => ((t.insertAfter = e), t));
+ },
+ setInsertBefore: (e) => {
+ t.update((t) => ((t.insertBefore = e), t));
+ },
+ setNoteBlacklist: (e) => {
+ t.update((t) => ((t.notesBlacklist = e), t));
+ },
+ },
+ };
+ })();
+ class m {
+ constructor() {
+ i.configure({ autoescape: !1 });
+ }
+ validate(e) {
+ try {
+ return i.renderString(e, {}), !0;
+ } catch (e) {
+ return !1;
+ }
+ }
+ render(e) {
+ const { metaData: t, chapterHighlights: r, bookReview: n } = e,
+ o = { metaData: t, chapterHighlights: r, bookReview: n },
+ a = c(h).template;
+ return i.renderString(a, o);
+ }
+ }
+ var g = r(202),
+ v = r.n(g);
+ const b = "weread-highlights-reviews",
+ y = (e, r, n) => {
+ const date = new Date().toISOString().substring(0, 10);
+ const description = r.metaData.intro.length > 128 ? r.metaData.intro.substring(0, 128) : r.metaData.intro;
+ const category = r.metaData.category.split(/[-~,:;. ]/)[0];
+ const i = {
+ title: r.metaData.title,
+ description: description,
+ keywords: [r.metaData.title, category],
+ tags: ['阅读'],
+ author: '7Wate',
+ date: date
+ };
+ let o = Object();
+ if (n) {
+ if (
+ ((o = app.metadataCache.getFileCache(n).frontmatter), void 0 === o)
+ )
+ throw (
+ (new t.Notice("weread front matter invalid"),
+ Error("weread front matter invalid"))
+ );
+ delete o.position;
+ }
+ const a = e.indexOf("---");
+ let s = Object();
+ if (-1 !== a) {
+ const r = e.indexOf("---") + 4,
+ n = e.substring(r).indexOf("---") - 1,
+ i = e.substring(r, r + n);
+ s = (0, t.parseYaml)(i);
+ }
+ const l = e.substring(e.lastIndexOf("---") + 4),
+ c = Object.assign(Object.assign(Object.assign({}, o), i), s);
+ return "---\n" + (0, t.stringifyYaml)(c) + "---\n" + l;
+ };
+ class w {
+ constructor(e, t) {
+ (this.vault = e), (this.metadataCache = t), (this.renderer = new m());
+ }
+ saveDailyNotes(r, n) {
+ return e(this, void 0, void 0, function* () {
+ const e = yield this.fileExists(r),
+ i = this.buildAppendContent(n);
+ if (e) {
+ const e = yield this.getFileByPath(r),
+ t = yield this.vault.cachedRead(e),
+ n = yield this.insertAfter(t, i);
+ this.vault.modify(e, n);
+ } else new t.Notice("没有找到Daily Note,请先创建" + r);
+ });
+ }
+ buildAppendContent(e) {
+ return e
+ .map(
+ (e) =>
+ "\n### ".concat(e.metaData.title).concat("\n") +
+ e.refBlocks
+ .map(
+ (t) => `![[${this.getFileName(e.metaData)}#^${t.refBlockId}]]`
+ )
+ .join("\n")
+ )
+ .join("\n");
+ }
+ getDailyNotePath(e) {
+ let r;
+ const n = c(h).dailyNotesFormat;
+ try {
+ r = e.format(n);
+ } catch (e) {
+ throw (new t.Notice("Daily Notes 日期格式不正确" + n), e);
+ }
+ return c(h).dailyNotesLocation + "/" + r + ".md";
+ }
+ fileExists(t) {
+ return e(this, void 0, void 0, function* () {
+ return yield this.vault.adapter.exists(t);
+ });
+ }
+ getFileByPath(r) {
+ return e(this, void 0, void 0, function* () {
+ const e = yield this.vault.getAbstractFileByPath(r);
+ return e
+ ? e instanceof t.TFolder
+ ? (console.error(`${r} found but it's a folder`), null)
+ : e instanceof t.TFile
+ ? e
+ : void 0
+ : (console.error(`${r} not found`), null);
+ });
+ }
+ insertAfter(r, n) {
+ return e(this, void 0, void 0, function* () {
+ const e = c(h).insertAfter,
+ i = new RegExp(`s*${e}s*`),
+ o = ((e) => {
+ const t = [];
+ let r = e;
+ for (; r.contains("\n"); ) {
+ const e = r.indexOf("\n");
+ t.push(r.slice(0, e)), (r = r.slice(e + 1));
+ }
+ return t.push(r), t;
+ })(r).findIndex((e) => i.test(e));
+ if (-1 === o)
+ throw (
+ (new t.Notice(
+ `没有在Daily Note中找到区间开始:${e}!请检查Daily Notes设置`
+ ),
+ new Error("cannot find " + e))
+ );
+ return this.insertTextAfterPosition(n, r, o);
+ });
+ }
+ insertTextAfterPosition(e, r, n) {
+ const i = r.split("\n"),
+ o = i.slice(0, n + 1).join("\n"),
+ a = i.slice(n + 1),
+ s = c(h).insertBefore,
+ l = a.findIndex((e) => new RegExp(`s*${s}s*`).test(e));
+ if (-1 === l)
+ throw (
+ (new t.Notice(
+ `没有在Daily Note中找到区间结束:${s}!请检查Daily Notes设置`
+ ),
+ new Error("cannot find " + s))
+ );
+ return `${o}\n${e}\n${a.slice(l - 1).join("\n")}`;
+ }
+ saveNotebook(t) {
+ return e(this, void 0, void 0, function* () {
+ const e = t.metaData.file;
+ if (e) {
+ if (e.new) {
+ const r = e.file;
+ console.log(`Updating ${r.path}`);
+ const n = this.renderer.render(t),
+ i = y(n, t, r);
+ yield this.vault.modify(r, i);
+ }
+ } else {
+ const e = yield this.getNewNotebookFilePath(t);
+ console.log(`Creating ${e}`);
+ const r = this.renderer.render(t),
+ n = y(r, t);
+ yield this.vault.create(e, n);
+ }
+ });
+ }
+ getNotebookFiles() {
+ return e(this, void 0, void 0, function* () {
+ return this.vault
+ .getMarkdownFiles()
+ .map((e) => {
+ const t = this.metadataCache.getFileCache(e);
+ return {
+ file: e,
+ frontmatter: null == t ? void 0 : t.frontmatter,
+ };
+ })
+ .filter(
+ ({ frontmatter: e }) => (null == e ? void 0 : e.doc_type) === b
+ )
+ .map(({ file: e, frontmatter: t }) => ({
+ file: e,
+ bookId: t.bookId,
+ reviewCount: t.reviewCount,
+ noteCount: t.noteCount,
+ new: !1,
+ }));
+ });
+ }
+ getNewNotebookFilePath(t) {
+ return e(this, void 0, void 0, function* () {
+ const e = `${c(h).noteLocation}/${this.getSubFolderPath(t.metaData)}`;
+ return (
+ (yield this.vault.adapter.exists(e)) ||
+ (console.info(`Folder ${e} not found. Will be created`),
+ yield this.vault.createFolder(e)),
+ `${e}/${this.getFileName(t.metaData)}.md`
+ );
+ });
+ }
+ getFileName(e) {
+ const t = c(h).fileNameType,
+ r = ((e) => {
+ const t = e.replace(/[':#|]/g, "").trim();
+ return v()(t);
+ })(e.title);
+ return "BOOK_NAME-AUTHOR" == t
+ ? e.duplicate
+ ? `${r}-${e.author}-${e.bookId}`
+ : `${r}-${e.author}`
+ : e.duplicate || "BOOK_NAME-BOOKID" == t
+ ? `${r}-${e.bookId}`
+ : r;
+ }
+ getSubFolderPath(e) {
+ const t = c(h).subFolderType;
+ return "title" == t
+ ? e.title
+ : "category" == t
+ ? e.category
+ ? e.category.split("-")[0]
+ : "公众号" === e.author
+ ? "公众号"
+ : "未分类"
+ : "";
+ }
+ }
+ var E = r(2245);
+ class x {
+ constructor(e, t) {
+ (this.fileManager = e), (this.apiManager = t);
+ }
+ syncNotebooks(r = !1, n) {
+ return e(this, void 0, void 0, function* () {
+ const e = yield this.getALlMetadata(),
+ i = yield this.filterNoteMetas(r, e),
+ o = [];
+ for (const e of i) {
+ const t = yield this.convertToNotebook(e);
+ o.push(t);
+ }
+ for (const e of o) yield this.syncNotebook(e);
+ this.saveToJounal(n, e),
+ new t.Notice(`微信读书笔记同步完成!, 本次更新 ${o.length} 本书`);
+ });
+ }
+ syncNotesToJounal(t) {
+ return e(this, void 0, void 0, function* () {
+ const e = yield this.getALlMetadata();
+ this.saveToJounal(t, e);
+ });
+ }
+ convertToNotebook(t) {
+ return e(this, void 0, void 0, function* () {
+ const e = yield this.apiManager.getBook(t.bookId);
+ e &&
+ ((t.category = e.category),
+ (t.publisher = e.publisher),
+ (t.isbn = e.isbn),
+ (t.intro = e.intro));
+ const r = yield this.apiManager.getNotebookHighlights(t.bookId),
+ n = yield this.apiManager.getNotebookReviews(t.bookId),
+ i = ((e) => {
+ const t = [];
+ for (const r of e) {
+ const e = r.chapterUid,
+ n = r.chapterTitle,
+ i = t.find((e) => e.chapterUid == r.chapterUid),
+ o = r.reviewContent ? 1 : 0;
+ if (null == i) {
+ const i = {
+ chapterUid: e,
+ chapterTitle: n,
+ chapterReviewCount: o,
+ highlights: [r],
+ };
+ t.push(i);
+ } else (i.chapterReviewCount += o), i.highlights.push(r);
+ }
+ return (
+ t.forEach((e) =>
+ e.highlights.sort(
+ (e, t) =>
+ parseInt(e.range.split("-")[0]) -
+ parseInt(t.range.split("-")[0])
+ )
+ ),
+ t.sort((e, t) => e.chapterUid - t.chapterUid)
+ );
+ })(
+ ((e, t) => {
+ const r =
+ 0 === e.chapters.length ? e.refMpInfos || [] : e.chapters,
+ n = new Map(
+ r.map((e) => [e.chapterUid || e.reviewId, e.title])
+ ),
+ i = e.updated,
+ o = t.reviews;
+ return i.map((e) => {
+ const t = e.chapterUid || e.refMpReviewId,
+ r = e.createTime,
+ i = window.moment(1e3 * r).format("YYYY-MM-DD HH:mm:ss"),
+ a = e.range;
+ let s;
+ if (o) {
+ const e = o
+ .map((e) => e.review)
+ .filter((e) => e.range === a)
+ .first();
+ e && (s = e.content);
+ }
+ let l = e.bookmarkId;
+ l.startsWith("MP_WXS") && (l = e.range);
+ const c = e.markText;
+ return {
+ bookmarkId: l.replace(/_/gi, "-"),
+ created: r,
+ createTime: i,
+ chapterUid: t,
+ range: e.range,
+ style: e.style,
+ chapterTitle: n.get(t),
+ markText: c.replace(/\n/gi, ""),
+ reviewContent: s,
+ };
+ });
+ })(r, n)
+ ),
+ o = ((e) => {
+ const t = e.reviews.map((e) => {
+ var t, r;
+ const n = e.review,
+ i = n.createTime,
+ o = window.moment(1e3 * i).format("YYYY-MM-DD HH:mm:ss"),
+ a = n.htmlContent,
+ s = a ? E.dx.translate(a) : null,
+ l = n.reviewId;
+ return {
+ bookId: n.bookId,
+ created: i,
+ createTime: o,
+ chapterUid:
+ n.chapterUid ||
+ (null === (t = n.refMpInfo) || void 0 === t
+ ? void 0
+ : t.reviewId),
+ chapterTitle:
+ n.chapterTitle ||
+ (null === (r = n.refMpInfo) || void 0 === r
+ ? void 0
+ : r.title),
+ content: n.content,
+ reviewId: l.replace(/_/gi, "-"),
+ mdContent: s || n.content,
+ range: n.range,
+ abstract: n.abstract,
+ type: n.type,
+ };
+ }),
+ r = t
+ .filter((e) => 1 == e.type)
+ .sort((e, t) => t.created - e.created),
+ n = t.filter((e) => 4 == e.type),
+ i = new Map();
+ for (const e of r) {
+ const t = e.chapterUid,
+ r = e.chapterTitle;
+ if (null == i.get(e.chapterUid)) {
+ const n = {
+ chapterUid: t,
+ chapterTitle: r,
+ reviews: [],
+ chapterReviews: [],
+ };
+ e.range ? n.reviews.push(e) : n.chapterReviews.push(e),
+ i.set(e.chapterUid, n);
+ } else {
+ const t = i.get(e.chapterUid);
+ e.range ? t.reviews.push(e) : t.chapterReviews.push(e);
+ }
+ }
+ return {
+ bookReviews: n,
+ chapterReviews: Array.from(i.values()).sort(
+ (e, t) => e.chapterUid - t.chapterUid
+ ),
+ };
+ })(n);
+ return { metaData: t, bookReview: o, chapterHighlights: i };
+ });
+ }
+ filterNoteMetas(r = !1, n) {
+ return e(this, void 0, void 0, function* () {
+ const e = yield this.fileManager.getNotebookFiles();
+ let i = 0;
+ const o = this.getDuplicateBooks(n),
+ a = [];
+ for (const t of n) {
+ if (t.noteCount < +c(h).noteCountLimit) {
+ console.debug(
+ `[weread plugin] skip book ${t.title} note count: ${t.noteCount}`
+ ),
+ i++;
+ continue;
+ }
+ const n = yield this.getLocalNotebookFile(t, e);
+ !n || n.new || r
+ ? c(h).notesBlacklist.includes(t.bookId)
+ ? (console.info(
+ `[weread plugin] skip book ${t.title},id:${t.bookId}for blacklist`
+ ),
+ i++)
+ : ((t.file = n),
+ o.has(t.title) && (t.duplicate = !0),
+ a.push(t))
+ : i++;
+ }
+ return new t.Notice("跳过更新" + i + "本没有更新的书"), a;
+ });
+ }
+ getALlMetadata() {
+ return e(this, void 0, void 0, function* () {
+ return (yield this.apiManager.getNotebooksWithRetry()).map((e) =>
+ ((e) => {
+ const t = e.book,
+ r = t.cover.replace("/s_", "/t7_"),
+ n = window.moment(1e3 * e.sort).format("YYYY-MM-DD");
+ return {
+ bookId: t.bookId,
+ author: t.author,
+ title: t.title,
+ url: t.url,
+ cover: r,
+ publishTime: t.publishTime,
+ noteCount: e.noteCount,
+ reviewCount: e.reviewCount,
+ bookType: t.type,
+ lastReadDate: n,
+ };
+ })(e)
+ );
+ });
+ }
+ saveToJounal(t, r) {
+ return e(this, void 0, void 0, function* () {
+ const e = yield this.getBookReadInDate(t),
+ n = r.filter((t) => e.contains(t.bookId)),
+ i = [];
+ for (const e of n) {
+ const t = yield this.convertToNotebook(e);
+ i.push(t);
+ }
+ if (c(h).dailyNotesToggle) {
+ const e = ((e) => {
+ const t = window.moment().format("YYYYMMDD"),
+ r = [];
+ for (const n of e) {
+ const e = n.chapterHighlights
+ .flatMap((e) => e.highlights)
+ .filter((e) => {
+ const r = window
+ .moment(1e3 * e.created)
+ .format("YYYYMMDD");
+ return t === r;
+ }),
+ i = [];
+ if (e)
+ for (const t of e)
+ i.push({
+ refBlockId: t.bookmarkId,
+ createTime: t.created,
+ });
+ i.length > 0 &&
+ r.push({ metaData: n.metaData, refBlocks: i });
+ }
+ return r;
+ })(i),
+ t = this.fileManager.getDailyNotePath(window.moment());
+ console.log("get daily note path", t, " size:", e.length),
+ this.fileManager.saveDailyNotes(t, e);
+ }
+ });
+ }
+ getBookReadInDate(t) {
+ return e(this, void 0, void 0, function* () {
+ return (yield this.apiManager.getRecentBooks())
+ .map((e) => ({
+ bookId: e.bookId,
+ title: e.title,
+ recentTime: e.readUpdateTime,
+ }))
+ .filter(
+ (e) =>
+ window.moment(1e3 * e.recentTime).format("YYYY-MM-DD") === t
+ )
+ .map((e) => e.bookId);
+ });
+ }
+ getDuplicateBooks(e) {
+ const t = e.map((e) => e.title),
+ r = new Set(t),
+ n = t.filter((e) => {
+ if (!r.has(e)) return e;
+ r.delete(e);
+ });
+ return new Set(n);
+ }
+ getLocalNotebookFile(t, r) {
+ return e(this, void 0, void 0, function* () {
+ const e = r.find((e) => e.bookId === t.bookId) || null;
+ return e
+ ? (e.noteCount == t.noteCount && e.reviewCount == t.reviewCount
+ ? (e.new = !1)
+ : (e.new = !0),
+ e)
+ : null;
+ });
+ }
+ syncNotebook(t) {
+ return e(this, void 0, void 0, function* () {
+ try {
+ yield this.fileManager.saveNotebook(t);
+ } catch (e) {
+ console.log(
+ "[weread plugin] sync note book error",
+ t.metaData.title,
+ e
+ );
+ }
+ });
+ }
+ }
+ const T = (e) =>
+ e
+ .map((e) => {
+ const t = e.name,
+ r = e.value;
+ return t + "=" + (-1 !== r.indexOf("%") ? decodeURIComponent(r) : r);
+ })
+ .join(";");
+ var k = r(9328);
+ class _ {
+ constructor() {
+ this.baseUrl = "https://i.weread.qq.com";
+ }
+ getHeaders() {
+ return {
+ "User-Agent":
+ "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36",
+ "Accept-Encoding": "gzip, deflate, br",
+ "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8",
+ Cookie: T(c(h).cookies),
+ };
+ }
+ refreshCookie() {
+ return e(this, void 0, void 0, function* () {
+ const e = {
+ url: "https://weread.qq.com",
+ method: "HEAD",
+ headers: this.getHeaders(),
+ },
+ r = yield (0, t.requestUrl)(e),
+ n = r.headers["set-cookie"] || r.headers["Set-Cookie"];
+ void 0 === n
+ ? new t.Notice("尝试刷新Cookie失败")
+ : (new t.Notice("cookie已过期,尝试刷新Cookie成功"),
+ this.updateCookies(n));
+ });
+ }
+ getNotebooksWithRetry() {
+ return e(this, void 0, void 0, function* () {
+ let e = yield this.getNotebooks();
+ if (
+ ((void 0 !== e && 0 !== e.length) ||
+ (e = yield this.getNotebooks()),
+ void 0 === e || 0 === e.length)
+ )
+ throw (
+ (new t.Notice("长时间未登录,Cookie已失效,请重新扫码登录!"),
+ h.actions.clearCookies(),
+ Error("get weread note book error after retry"))
+ );
+ return e;
+ });
+ }
+ getRecentBooks() {
+ return e(this, void 0, void 0, function* () {
+ const e = c(h).userVid;
+ console.debug("get userVid settings", e);
+ const r = {
+ url: this.baseUrl + "/shelf/friendCommon?userVid=" + e,
+ method: "GET",
+ headers: this.getHeaders(),
+ };
+ try {
+ return (yield (0, t.requestUrl)(r)).json.recentBooks;
+ } catch (t) {
+ console.error("get recent books error: vid" + e, t);
+ }
+ });
+ }
+ getNotebooks() {
+ return e(this, void 0, void 0, function* () {
+ let e = [];
+ const r = {
+ url: this.baseUrl + "/user/notebooks",
+ method: "GET",
+ headers: this.getHeaders(),
+ };
+ try {
+ const n = yield (0, t.requestUrl)(r);
+ 401 === n.status &&
+ (-2012 == n.json.errcode
+ ? (console.log("weread cookie expire retry refresh cookie... "),
+ yield this.refreshCookie())
+ : (t.Platform.isDesktopApp
+ ? new t.Notice(
+ "微信读书未登录或者用户异常,请在设置中重新登录!"
+ )
+ : new t.Notice(
+ "微信读书未登录或者用户异常,请在电脑端重新登录!"
+ ),
+ console.log(
+ "微信读书未登录或者用户异常,请重新登录, http status code:",
+ n.json.errcode
+ ),
+ h.actions.clearCookies())),
+ (e = n.json.books);
+ } catch (e) {
+ 401 == e.status &&
+ (console.log(
+ `parse request to cURL for debug: ${this.parseToCurl(r)}`
+ ),
+ yield this.refreshCookie());
+ }
+ return e;
+ });
+ }
+ parseToCurl(e) {
+ const t = ["curl"];
+ t.push(e.url);
+ const r = e.headers;
+ return (
+ Object.keys(r).forEach((e) => {
+ t.push("-H"),
+ t.push(this.escapeStringPosix(e.replace(/^:/, "") + ": " + r[e]));
+ }),
+ t.push(" --compressed"),
+ t.join(" ")
+ );
+ }
+ escapeStringPosix(e) {
+ return /[^\x20-\x7E]|'/.test(e)
+ ? "$'" +
+ e
+ .replace(/\\/g, "\\\\")
+ .replace(/'/g, "\\'")
+ .replace(/\n/g, "\\n")
+ .replace(/\r/g, "\\r")
+ .replace(/[^\x20-\x7E]/g, function (e) {
+ let t = e.charCodeAt(0);
+ return t < 256
+ ? t < 16
+ ? "\\x0" + t.toString(16)
+ : "\\x" + t.toString(16)
+ : ((t = t.toString(16)),
+ "\\u" + ("0000" + t).substr(t.length, 4));
+ }) +
+ "'"
+ : "'" + e + "'";
+ }
+ getBook(r) {
+ return e(this, void 0, void 0, function* () {
+ try {
+ const e = {
+ url: `${this.baseUrl}/book/info?bookId=${r}`,
+ method: "GET",
+ headers: this.getHeaders(),
+ };
+ return (yield (0, t.requestUrl)(e)).json;
+ } catch (e) {
+ console.error("get book detail error", e);
+ }
+ });
+ }
+ getNotebookHighlights(r) {
+ return e(this, void 0, void 0, function* () {
+ try {
+ const e = {
+ url: `${this.baseUrl}/book/bookmarklist?bookId=${r}`,
+ method: "GET",
+ headers: this.getHeaders(),
+ };
+ return (yield (0, t.requestUrl)(e)).json;
+ } catch (e) {
+ console.error("get book highlight error" + r, e);
+ }
+ });
+ }
+ getNotebookReviews(r) {
+ return e(this, void 0, void 0, function* () {
+ try {
+ const e = {
+ url: `${this.baseUrl}/review/list?bookId=${r}&listType=11&mine=1&synckey=0`,
+ method: "GET",
+ headers: this.getHeaders(),
+ };
+ return (yield (0, t.requestUrl)(e)).json;
+ } catch (e) {
+ new t.Notice(
+ "Failed to fetch weread notebook reviews . Please check your Cookies and try again."
+ ),
+ console.error("get book review error" + r, e);
+ }
+ });
+ }
+ updateCookies(e) {
+ let t;
+ if (Array.isArray(e)) t = (0, k.parse)(e);
+ else {
+ const r = (0, k.splitCookiesString)(e);
+ t = (0, k.parse)(r);
+ }
+ const r = c(h).cookies;
+ r.forEach((e) => {
+ const r = t.find((t) => t.name == e.name);
+ r && (e.value = r.value);
+ }),
+ h.actions.setCookies(r);
+ }
+ }
+ class A {
+ constructor(e) {
+ this.settingTab = e;
+ const { remote: t } = r(5840),
+ { BrowserWindow: n } = t;
+ (this.modal = new n({
+ parent: t.getCurrentWindow(),
+ width: 960,
+ height: 540,
+ show: !1,
+ })),
+ this.modal.once("ready-to-show", () => {
+ this.modal.setTitle("登录微信读书~"), this.modal.show();
+ }),
+ this.modal.webContents.session.webRequest.onSendHeaders(
+ { urls: ["https://weread.qq.com/web/user?userVid=*"] },
+ (t) => {
+ const r =
+ "" === (n = t.requestHeaders.Cookie)
+ ? []
+ : n
+ .split(";")
+ .map((e) => e.split("="))
+ .map((e) => ({
+ name: decodeURIComponent(e[0].trim()),
+ value: decodeURIComponent(e[1].trim()),
+ }));
+ var n;
+ "" !== r.find((e) => "wr_name" == e.name).value
+ ? (h.actions.setCookies(r), e.display(), this.modal.close())
+ : this.modal.reload();
+ }
+ );
+ }
+ doLogin() {
+ return e(this, void 0, void 0, function* () {
+ try {
+ yield this.modal.loadURL("https://weread.qq.com/#login");
+ } catch (e) {
+ console.log(e), new t.Notice("加载微信读书登录页面失败");
+ }
+ });
+ }
+ onClose() {
+ this.modal.close();
+ }
+ }
+ class N {
+ constructor(e) {
+ this.settingTab = e;
+ const { remote: t } = r(5840),
+ { BrowserWindow: n } = t;
+ (this.modal = new n({
+ parent: t.getCurrentWindow(),
+ width: 960,
+ height: 540,
+ show: !1,
+ })),
+ this.modal.once("ready-to-show", () => {
+ this.modal.setTitle("注销微信读书,右上角头像点击退出登录~"),
+ this.modal.show();
+ }),
+ this.modal.webContents.session.webRequest.onCompleted(
+ { urls: ["https://weread.qq.com/web/logout"] },
+ (e) => {
+ 200 == e.statusCode &&
+ (console.log("weread logout success, clear cookies..."),
+ h.actions.clearCookies(),
+ this.settingTab.display(),
+ this.modal.close());
+ }
+ );
+ }
+ doLogout() {
+ return e(this, void 0, void 0, function* () {
+ yield this.modal.loadURL("https://weread.qq.com/web/shelf/#logout");
+ });
+ }
+ onClose() {
+ this.modal.close();
+ }
+ }
+ var L = r(6040),
+ O = r.n(L);
+ class S extends t.Modal {
+ constructor(e) {
+ super(e);
+ }
+ onOpen() {
+ const { contentEl: e } = this,
+ t = c(h).cookies,
+ r = T(t);
+ e
+ .createDiv()
+ .createEl("h1", {
+ text: "🚨Cookie 是敏感信息,仅用于Debug,请不要泄露",
+ }),
+ e.createDiv().createEl("kbd", { text: r });
+ }
+ onClose() {
+ const { contentEl: e } = this;
+ e.empty();
+ }
+ }
+ class C extends t.PluginSettingTab {
+ constructor(e, t) {
+ super(e, t), (this.plugin = t), (this.renderer = new m());
+ }
+ display() {
+ const { containerEl: e } = this;
+ e.empty(), e.createEl("h2", { text: "设置微信读书插件" });
+ const r = c(h).isCookieValid;
+ t.Platform.isDesktopApp
+ ? r
+ ? this.showLogout()
+ : this.showLogin()
+ : r
+ ? this.showMobileLogout()
+ : this.showMobileLogin(),
+ this.notebookFolder(),
+ this.notebookBlacklist(),
+ this.noteCountLimit(),
+ this.fileNameType(),
+ this.subFolderType(),
+ this.dailyNotes(),
+ c(h).dailyNotesToggle &&
+ (this.dailyNotesFolder(),
+ this.dailyNoteFormat(),
+ this.insertAfter()),
+ this.template(),
+ t.Platform.isDesktopApp && this.showDebugHelp();
+ }
+ showMobileLogin() {
+ this.containerEl
+ .createDiv()
+ .setText("微信读书未登录,请先在电脑端登录!");
+ }
+ showMobileLogout() {
+ this.containerEl
+ .createDiv()
+ .setText(`微信读书已登录,用户名:${c(h).user}`);
+ }
+ notebookFolder() {
+ new t.Setting(this.containerEl)
+ .setName("笔记保存位置")
+ .setDesc("请选择Obsidian Vault中微信读书笔记存放的位置")
+ .addDropdown((t) => {
+ const r = this.app.vault.adapter.files,
+ n = O()(r, (e) => "folder" === e.type);
+ return (
+ Object.keys(n).forEach((e) => {
+ t.addOption(e, e);
+ }),
+ t.setValue(c(h).noteLocation).onChange((t) =>
+ e(this, void 0, void 0, function* () {
+ h.actions.setNoteLocationFolder(t);
+ })
+ )
+ );
+ });
+ }
+ notebookBlacklist() {
+ new t.Setting(this.containerEl)
+ .setName("书籍黑名单")
+ .setDesc(
+ "请填写不同步的bookId,bookId可在meta信息中找到,多本书使用逗号「,」隔开"
+ )
+ .addText((e) => {
+ e.setValue(c(h).notesBlacklist).onChange((e) => {
+ h.actions.setNoteBlacklist(e);
+ });
+ });
+ }
+ showLogin() {
+ new t.Setting(this.containerEl).setName("登录微信读书").addButton((t) =>
+ t
+ .setButtonText("登录")
+ .setCta()
+ .onClick(() =>
+ e(this, void 0, void 0, function* () {
+ t.setDisabled(!0);
+ const e = new A(this);
+ yield e.doLogin(), this.display();
+ })
+ )
+ );
+ }
+ dailyNotes() {
+ new t.Setting(this.containerEl)
+ .setName("是否保存笔记到 DailyNotes?")
+ .setHeading()
+ .addToggle((e) =>
+ e.setValue(c(h).dailyNotesToggle).onChange((e) => {
+ console.debug("set daily notes toggle to", e),
+ h.actions.setDailyNotesToggle(e),
+ this.display();
+ })
+ );
+ }
+ dailyNotesFolder() {
+ new t.Setting(this.containerEl)
+ .setName("Daily Notes文件夹")
+ .setDesc("请选择Daily Notes文件夹")
+ .addDropdown((t) => {
+ const r = this.app.vault.adapter.files,
+ n = O()(r, (e) => "folder" === e.type);
+ return (
+ Object.keys(n).forEach((e) => {
+ t.addOption(e, e);
+ }),
+ t.setValue(c(h).dailyNotesLocation).onChange((t) =>
+ e(this, void 0, void 0, function* () {
+ h.actions.setDailyNotesFolder(t);
+ })
+ )
+ );
+ });
+ }
+ dailyNoteFormat() {
+ new t.Setting(this.containerEl)
+ .setName("Daily Notes Format")
+ .setDesc(
+ "请填写Daily Notes文件名格式,支持官方Daily Notes插件的格式,比如:YYYY-MM-DD \t\t\t\t 和 Periodic Notes的嵌套格式,比如 YYYY/[W]ww/YYYY-MM-DD"
+ )
+ .addText((e) => {
+ e.setValue(c(h).dailyNotesFormat).onChange((e) => {
+ h.actions.setDailyNotesFormat(e);
+ });
+ });
+ }
+ insertAfter() {
+ new t.Setting(this.containerEl)
+ .setName("在特定区间之内插入")
+ .setDesc(
+ "请填写Daily Notes中希望读书笔记插入的区间,使用前记得修改Daily Notes模板🫡, 💥注意: 区间之内的内容会被覆盖,请不要在区间内修改内容,"
+ )
+ .addText((e) => {
+ e.setValue(c(h).insertAfter).onChange((e) => {
+ h.actions.setInsertAfter(e);
+ });
+ })
+ .addButton(
+ (e) => (e.setButtonText("至").buttonEl.style.borderStyle = "none")
+ )
+ .addText((e) => {
+ e.setValue(c(h).insertBefore).onChange((e) => {
+ h.actions.setInsertBefore(e);
+ });
+ });
+ }
+ subFolderType() {
+ new t.Setting(this.containerEl)
+ .setName("文件夹分类")
+ .setDesc("请选择按照哪个维度对笔记文件进行分类")
+ .addDropdown(
+ (t) => (
+ t.addOptions({
+ "-1": "无分类",
+ title: "书名",
+ category: "图书分类",
+ }),
+ t.setValue(c(h).subFolderType).onChange((t) =>
+ e(this, void 0, void 0, function* () {
+ h.actions.setSubFolderType(t);
+ })
+ )
+ )
+ );
+ }
+ fileNameType() {
+ new t.Setting(this.containerEl)
+ .setName("文件名模板")
+ .setDesc("你选择你喜欢的文件名模板,重复的书会在文件名后加上ID")
+ .addDropdown(
+ (t) => (
+ t.addOptions({
+ BOOK_NAME: "书名",
+ "BOOK_NAME-AUTHOR": "书名-作者名",
+ "BOOK_NAME-ID": "书名-bookId",
+ }),
+ t.setValue(c(h).fileNameType).onChange((t) =>
+ e(this, void 0, void 0, function* () {
+ h.actions.setFileNameType(t);
+ })
+ )
+ )
+ );
+ }
+ showLogout() {
+ document.createRange().createContextualFragment;
+ const r = document
+ .createRange()
+ .createContextualFragment(
+ "1. 登录:点击登录按钮,在弹出页面【扫码登录】。\n 2. 注销:点击注销,在弹出书架页面右上角点击头像,下拉菜单选择【退出登录】"
+ );
+ new t.Setting(this.containerEl)
+ .setName(`微信读书已登录,用户名: ${c(h).user}`)
+ .setDesc(r)
+ .addButton((t) =>
+ t
+ .setButtonText("注销")
+ .setCta()
+ .onClick(() =>
+ e(this, void 0, void 0, function* () {
+ t.setDisabled(!0);
+ const e = new N(this);
+ yield e.doLogout(), this.display();
+ })
+ )
+ )
+ .addButton((t) =>
+ t
+ .setButtonText("Show Cookie")
+ .setCta()
+ .onClick(() =>
+ e(this, void 0, void 0, function* () {
+ new S(this.app).open();
+ })
+ )
+ );
+ }
+ template() {
+ const r = document
+ .createRange()
+ .createContextualFragment(
+ '模板使用说明\n\n
可用变量
\n
\n元数据变量(metaData)\n\n - {{title}} - 书名
\n - {{author}} - 作者
\n - {{cover}} - 封面
\n - {{intro}} - 书籍简介
\n - {{bookId}} - 微信图书ID
\n - {{publishTime}} - 出版时间
\n - {{noteCount}} - 划线数量
\n - {{reviewCount}} - 笔记数量
\n - {{isbn}} - ISBN
\n - {{category}} - 分类
\n - {{publisher}} - 出版社
\n - {{finish}} - 是否读完(还未支持)
\n
\n划线变量(chapterHighlights)\n\n - {{chapterUid}} - 章节ID
\n - {{chapterTitle}} - 章节标题
\n - {{createTime}} - 创建时间
\n - {{range}} - 划线范围
\n - {{markText}} - 划线文本
\n
\n笔记笔记(bookReview)\n\n - {{reviewId}} - reviewId
\n - {{chapterUid}} - 章节ID
\n - {{chapterTitle}} - 章节标题
\n - {{createTime}} - 创建时间
\n - {{abstract}} - 摘录内容
\n - {{content}} - 笔记内容
\n - {{mdContent}} - markdown笔记格式
\n - {{type}} - 类型
\n - {{range}} - 范围
\n
\n'
+ );
+ new t.Setting(this.containerEl)
+ .setName("笔记模板")
+ .setDesc(r)
+ .addTextArea(
+ (t) => (
+ (t.inputEl.style.width = "100%"),
+ (t.inputEl.style.height = "540px"),
+ (t.inputEl.style.fontSize = "0.8em"),
+ t.setValue(c(h).template).onChange((r) =>
+ e(this, void 0, void 0, function* () {
+ const e = this.renderer.validate(r);
+ e && h.actions.setTemplate(r),
+ (t.inputEl.style.border = e ? "" : "2px solid red");
+ })
+ ),
+ t
+ )
+ );
+ }
+ noteCountLimit() {
+ new t.Setting(this.containerEl)
+ .setName("笔记划线数量最小值")
+ .setDesc("划线数量小于该值的笔记将不会被同步")
+ .addDropdown((t) => {
+ t.addOptions({
+ "-1": "无限制",
+ 3: "3条",
+ 5: "5条",
+ 10: "10条",
+ 15: "15条",
+ 30: "30条",
+ })
+ .setValue(c(h).noteCountLimit.toString())
+ .onChange((t) =>
+ e(this, void 0, void 0, function* () {
+ console.log("[weread plugin] new note count limit", t),
+ h.actions.setNoteCountLimit(+t);
+ })
+ );
+ });
+ }
+ showDebugHelp() {
+ const e = this.containerEl.createDiv();
+ e.setAttr("align", "center"),
+ e.setText(
+ "查看控制台日志: 使用以下快捷键快速打开控制台,查看本插件以及其他插件的运行日志"
+ );
+ const r = this.containerEl.createDiv();
+ r.setAttr("align", "center"),
+ (r.style.margin = "10px"),
+ !0 === t.Platform.isMacOS
+ ? r.createEl("kbd", { text: "CMD (⌘) + OPTION (⌥) + I" })
+ : r.createEl("kbd", { text: "CTRL + SHIFT + I" });
+ }
+ }
+ class D extends t.Plugin {
+ onload() {
+ return e(this, void 0, void 0, function* () {
+ console.log("load weread plugin"), h.initialise(this);
+ const e = new w(this.app.vault, this.app.metadataCache),
+ r = new _();
+ (this.syncNotebooks = new x(e, r)),
+ this.addRibbonIcon("book-open", "Weread", (e) => {
+ this.startSync();
+ }),
+ this.addCommand({
+ id: "sync-weread-notes-command",
+ name: "Sync Weread Notes",
+ callback: () => {
+ this.startSync();
+ },
+ }),
+ this.addCommand({
+ id: "Force-sync-weread-notes-command",
+ name: "Force Sync Weread Notes",
+ callback: () => {
+ this.startSync(!0);
+ },
+ }),
+ this.addCommand({
+ id: "sync-weread-notes-to-daily-note",
+ name: "Sync Weread Notes To Daily Note",
+ callback: () => {
+ const e = window.moment().format("YYYY-MM-DD");
+ new t.Notice("开始同步微信读书笔记到DailyNotes!" + e),
+ this.syncNotebooks.syncNotesToJounal(e);
+ },
+ }),
+ this.addSettingTab(new C(this.app, this));
+ });
+ }
+ startSync(r = !1) {
+ return e(this, void 0, void 0, function* () {
+ console.log("syncing Weread note start"),
+ r
+ ? new t.Notice("强制同步微信读书笔记开始!")
+ : new t.Notice("同步微信读书笔记开始!");
+ try {
+ yield this.syncNotebooks.syncNotebooks(
+ r,
+ window.moment().format("YYYY-MM-DD")
+ ),
+ console.log("syncing Weread note finish");
+ } catch (e) {
+ t.Platform.isDesktopApp
+ ? new t.Notice("同步微信读书笔记异常,请打开控制台查看详情")
+ : new t.Notice(
+ "同步微信读书笔记异常,请使用电脑端打开控制台查看详情" + e
+ ),
+ console.error("同步微信读书笔记异常", e);
+ }
+ });
+ }
+ onunload() {
+ console.log("unloading weread plugin", new Date().toLocaleString());
+ }
+ }
+ })();
+ var i = exports;
+ for (var o in n) i[o] = n[o];
+ n.__esModule && Object.defineProperty(i, "__esModule", { value: !0 });
+})();
diff --git a/.obsidian/plugins/obsidian-weread-plugin/manifest.json b/.obsidian/plugins/obsidian-weread-plugin/manifest.json
new file mode 100644
index 00000000..81f5c238
--- /dev/null
+++ b/.obsidian/plugins/obsidian-weread-plugin/manifest.json
@@ -0,0 +1,10 @@
+{
+ "id": "obsidian-weread-plugin",
+ "name": "Weread Plugin",
+ "version": "0.5.1",
+ "minAppVersion": "0.12.0",
+ "description": "This is obsidian plugin for Tencent weread.",
+ "author": "hankzhao",
+ "authorUrl": "https://zhaohongxuan.github.io",
+ "isDesktopOnly": false
+}