dotfiles

My PC Dotfiles & Website

site/static/js/katex.js (450014B)


    1!(function (t, e) {
    2  "object" == typeof exports && "object" == typeof module
    3    ? (module.exports = e())
    4    : "function" == typeof define && define.amd
    5      ? define([], e)
    6      : "object" == typeof exports
    7        ? (exports.katex = e())
    8        : (t.katex = e());
    9})("undefined" != typeof self ? self : this, function () {
   10  return (function (t) {
   11    var e = {};
   12    function r(a) {
   13      if (e[a]) return e[a].exports;
   14      var n = (e[a] = { i: a, l: !1, exports: {} });
   15      return (t[a].call(n.exports, n, n.exports, r), (n.l = !0), n.exports);
   16    }
   17    return (
   18      (r.m = t),
   19      (r.c = e),
   20      (r.d = function (t, e, a) {
   21        r.o(t, e) || Object.defineProperty(t, e, { enumerable: !0, get: a });
   22      }),
   23      (r.r = function (t) {
   24        ("undefined" != typeof Symbol &&
   25          Symbol.toStringTag &&
   26          Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }),
   27          Object.defineProperty(t, "__esModule", { value: !0 }));
   28      }),
   29      (r.t = function (t, e) {
   30        if ((1 & e && (t = r(t)), 8 & e)) return t;
   31        if (4 & e && "object" == typeof t && t && t.__esModule) return t;
   32        var a = Object.create(null);
   33        if (
   34          (r.r(a),
   35          Object.defineProperty(a, "default", { enumerable: !0, value: t }),
   36          2 & e && "string" != typeof t)
   37        )
   38          for (var n in t)
   39            r.d(
   40              a,
   41              n,
   42              function (e) {
   43                return t[e];
   44              }.bind(null, n),
   45            );
   46        return a;
   47      }),
   48      (r.n = function (t) {
   49        var e =
   50          t && t.__esModule
   51            ? function () {
   52                return t.default;
   53              }
   54            : function () {
   55                return t;
   56              };
   57        return (r.d(e, "a", e), e);
   58      }),
   59      (r.o = function (t, e) {
   60        return Object.prototype.hasOwnProperty.call(t, e);
   61      }),
   62      (r.p = ""),
   63      r((r.s = 1))
   64    );
   65  })([
   66    function (t, e, r) {},
   67    function (t, e, r) {
   68      "use strict";
   69      r.r(e);
   70      r(0);
   71      var a = (function () {
   72          function t(t, e, r) {
   73            ((this.lexer = void 0),
   74              (this.start = void 0),
   75              (this.end = void 0),
   76              (this.lexer = t),
   77              (this.start = e),
   78              (this.end = r));
   79          }
   80          return (
   81            (t.range = function (e, r) {
   82              return r
   83                ? e && e.loc && r.loc && e.loc.lexer === r.loc.lexer
   84                  ? new t(e.loc.lexer, e.loc.start, r.loc.end)
   85                  : null
   86                : e && e.loc;
   87            }),
   88            t
   89          );
   90        })(),
   91        n = (function () {
   92          function t(t, e) {
   93            ((this.text = void 0),
   94              (this.loc = void 0),
   95              (this.noexpand = void 0),
   96              (this.treatAsRelax = void 0),
   97              (this.text = t),
   98              (this.loc = e));
   99          }
  100          return (
  101            (t.prototype.range = function (e, r) {
  102              return new t(r, a.range(this, e));
  103            }),
  104            t
  105          );
  106        })(),
  107        i = function t(e, r) {
  108          this.position = void 0;
  109          var a,
  110            n = "KaTeX parse error: " + e,
  111            i = r && r.loc;
  112          if (i && i.start <= i.end) {
  113            var o = i.lexer.input;
  114            a = i.start;
  115            var s = i.end;
  116            a === o.length
  117              ? (n += " at end of input: ")
  118              : (n += " at position " + (a + 1) + ": ");
  119            var l = o.slice(a, s).replace(/[^]/g, "$&\u0332");
  120            n +=
  121              (a > 15 ? "\u2026" + o.slice(a - 15, a) : o.slice(0, a)) +
  122              l +
  123              (s + 15 < o.length ? o.slice(s, s + 15) + "\u2026" : o.slice(s));
  124          }
  125          var h = new Error(n);
  126          return (
  127            (h.name = "ParseError"),
  128            (h.__proto__ = t.prototype),
  129            (h.position = a),
  130            h
  131          );
  132        };
  133      i.prototype.__proto__ = Error.prototype;
  134      var o = i,
  135        s = /([A-Z])/g,
  136        l = {
  137          "&": "&amp;",
  138          ">": "&gt;",
  139          "<": "&lt;",
  140          '"': "&quot;",
  141          "'": "&#x27;",
  142        },
  143        h = /[&><"']/g;
  144      var m = function t(e) {
  145          return "ordgroup" === e.type
  146            ? 1 === e.body.length
  147              ? t(e.body[0])
  148              : e
  149            : "color" === e.type
  150              ? 1 === e.body.length
  151                ? t(e.body[0])
  152                : e
  153              : "font" === e.type
  154                ? t(e.body)
  155                : e;
  156        },
  157        c = {
  158          contains: function (t, e) {
  159            return -1 !== t.indexOf(e);
  160          },
  161          deflt: function (t, e) {
  162            return void 0 === t ? e : t;
  163          },
  164          escape: function (t) {
  165            return String(t).replace(h, function (t) {
  166              return l[t];
  167            });
  168          },
  169          hyphenate: function (t) {
  170            return t.replace(s, "-$1").toLowerCase();
  171          },
  172          getBaseElem: m,
  173          isCharacterBox: function (t) {
  174            var e = m(t);
  175            return (
  176              "mathord" === e.type || "textord" === e.type || "atom" === e.type
  177            );
  178          },
  179          protocolFromUrl: function (t) {
  180            var e = /^\s*([^\\/#]*?)(?::|&#0*58|&#x0*3a)/i.exec(t);
  181            return null != e ? e[1] : "_relative";
  182          },
  183        },
  184        u = (function () {
  185          function t(t) {
  186            ((this.displayMode = void 0),
  187              (this.output = void 0),
  188              (this.leqno = void 0),
  189              (this.fleqn = void 0),
  190              (this.throwOnError = void 0),
  191              (this.errorColor = void 0),
  192              (this.macros = void 0),
  193              (this.minRuleThickness = void 0),
  194              (this.colorIsTextColor = void 0),
  195              (this.strict = void 0),
  196              (this.trust = void 0),
  197              (this.maxSize = void 0),
  198              (this.maxExpand = void 0),
  199              (this.globalGroup = void 0),
  200              (t = t || {}),
  201              (this.displayMode = c.deflt(t.displayMode, !1)),
  202              (this.output = c.deflt(t.output, "htmlAndMathml")),
  203              (this.leqno = c.deflt(t.leqno, !1)),
  204              (this.fleqn = c.deflt(t.fleqn, !1)),
  205              (this.throwOnError = c.deflt(t.throwOnError, !0)),
  206              (this.errorColor = c.deflt(t.errorColor, "#cc0000")),
  207              (this.macros = t.macros || {}),
  208              (this.minRuleThickness = Math.max(
  209                0,
  210                c.deflt(t.minRuleThickness, 0),
  211              )),
  212              (this.colorIsTextColor = c.deflt(t.colorIsTextColor, !1)),
  213              (this.strict = c.deflt(t.strict, "warn")),
  214              (this.trust = c.deflt(t.trust, !1)),
  215              (this.maxSize = Math.max(0, c.deflt(t.maxSize, 1 / 0))),
  216              (this.maxExpand = Math.max(0, c.deflt(t.maxExpand, 1e3))),
  217              (this.globalGroup = c.deflt(t.globalGroup, !1)));
  218          }
  219          var e = t.prototype;
  220          return (
  221            (e.reportNonstrict = function (t, e, r) {
  222              var a = this.strict;
  223              if (
  224                ("function" == typeof a && (a = a(t, e, r)),
  225                a && "ignore" !== a)
  226              ) {
  227                if (!0 === a || "error" === a)
  228                  throw new o(
  229                    "LaTeX-incompatible input and strict mode is set to 'error': " +
  230                      e +
  231                      " [" +
  232                      t +
  233                      "]",
  234                    r,
  235                  );
  236                "warn" === a
  237                  ? "undefined" != typeof console &&
  238                    console.warn(
  239                      "LaTeX-incompatible input and strict mode is set to 'warn': " +
  240                        e +
  241                        " [" +
  242                        t +
  243                        "]",
  244                    )
  245                  : "undefined" != typeof console &&
  246                    console.warn(
  247                      "LaTeX-incompatible input and strict mode is set to unrecognized '" +
  248                        a +
  249                        "': " +
  250                        e +
  251                        " [" +
  252                        t +
  253                        "]",
  254                    );
  255              }
  256            }),
  257            (e.useStrictBehavior = function (t, e, r) {
  258              var a = this.strict;
  259              if ("function" == typeof a)
  260                try {
  261                  a = a(t, e, r);
  262                } catch (t) {
  263                  a = "error";
  264                }
  265              return (
  266                !(!a || "ignore" === a) &&
  267                (!0 === a ||
  268                  "error" === a ||
  269                  ("warn" === a
  270                    ? ("undefined" != typeof console &&
  271                        console.warn(
  272                          "LaTeX-incompatible input and strict mode is set to 'warn': " +
  273                            e +
  274                            " [" +
  275                            t +
  276                            "]",
  277                        ),
  278                      !1)
  279                    : ("undefined" != typeof console &&
  280                        console.warn(
  281                          "LaTeX-incompatible input and strict mode is set to unrecognized '" +
  282                            a +
  283                            "': " +
  284                            e +
  285                            " [" +
  286                            t +
  287                            "]",
  288                        ),
  289                      !1)))
  290              );
  291            }),
  292            (e.isTrusted = function (t) {
  293              t.url && !t.protocol && (t.protocol = c.protocolFromUrl(t.url));
  294              var e =
  295                "function" == typeof this.trust ? this.trust(t) : this.trust;
  296              return Boolean(e);
  297            }),
  298            t
  299          );
  300        })(),
  301        p = (function () {
  302          function t(t, e, r) {
  303            ((this.id = void 0),
  304              (this.size = void 0),
  305              (this.cramped = void 0),
  306              (this.id = t),
  307              (this.size = e),
  308              (this.cramped = r));
  309          }
  310          var e = t.prototype;
  311          return (
  312            (e.sup = function () {
  313              return d[f[this.id]];
  314            }),
  315            (e.sub = function () {
  316              return d[g[this.id]];
  317            }),
  318            (e.fracNum = function () {
  319              return d[x[this.id]];
  320            }),
  321            (e.fracDen = function () {
  322              return d[v[this.id]];
  323            }),
  324            (e.cramp = function () {
  325              return d[b[this.id]];
  326            }),
  327            (e.text = function () {
  328              return d[y[this.id]];
  329            }),
  330            (e.isTight = function () {
  331              return this.size >= 2;
  332            }),
  333            t
  334          );
  335        })(),
  336        d = [
  337          new p(0, 0, !1),
  338          new p(1, 0, !0),
  339          new p(2, 1, !1),
  340          new p(3, 1, !0),
  341          new p(4, 2, !1),
  342          new p(5, 2, !0),
  343          new p(6, 3, !1),
  344          new p(7, 3, !0),
  345        ],
  346        f = [4, 5, 4, 5, 6, 7, 6, 7],
  347        g = [5, 5, 5, 5, 7, 7, 7, 7],
  348        x = [2, 3, 4, 5, 6, 7, 6, 7],
  349        v = [3, 3, 5, 5, 7, 7, 7, 7],
  350        b = [1, 1, 3, 3, 5, 5, 7, 7],
  351        y = [0, 1, 2, 3, 2, 3, 2, 3],
  352        w = { DISPLAY: d[0], TEXT: d[2], SCRIPT: d[4], SCRIPTSCRIPT: d[6] },
  353        k = [
  354          {
  355            name: "latin",
  356            blocks: [
  357              [256, 591],
  358              [768, 879],
  359            ],
  360          },
  361          { name: "cyrillic", blocks: [[1024, 1279]] },
  362          { name: "brahmic", blocks: [[2304, 4255]] },
  363          { name: "georgian", blocks: [[4256, 4351]] },
  364          {
  365            name: "cjk",
  366            blocks: [
  367              [12288, 12543],
  368              [19968, 40879],
  369              [65280, 65376],
  370            ],
  371          },
  372          { name: "hangul", blocks: [[44032, 55215]] },
  373        ];
  374      var S = [];
  375      function M(t) {
  376        for (var e = 0; e < S.length; e += 2)
  377          if (t >= S[e] && t <= S[e + 1]) return !0;
  378        return !1;
  379      }
  380      k.forEach(function (t) {
  381        return t.blocks.forEach(function (t) {
  382          return S.push.apply(S, t);
  383        });
  384      });
  385      var z = {
  386          leftParenInner: "M291 0 H417 V300 H291 z",
  387          rightParenInner: "M457 0 H583 V300 H457 z",
  388          doubleleftarrow:
  389            "M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",
  390          doublerightarrow:
  391            "M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",
  392          leftarrow:
  393            "M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",
  394          leftbrace:
  395            "M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",
  396          leftbraceunder:
  397            "M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",
  398          leftgroup:
  399            "M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",
  400          leftgroupunder:
  401            "M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",
  402          leftharpoon:
  403            "M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",
  404          leftharpoonplus:
  405            "M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",
  406          leftharpoondown:
  407            "M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",
  408          leftharpoondownplus:
  409            "M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",
  410          lefthook:
  411            "M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",
  412          leftlinesegment:
  413            "M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z",
  414          leftmapsto:
  415            "M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z",
  416          leftToFrom:
  417            "M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",
  418          longequal:
  419            "M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z",
  420          midbrace:
  421            "M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",
  422          midbraceunder:
  423            "M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",
  424          oiintSize1:
  425            "M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",
  426          oiintSize2:
  427            "M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",
  428          oiiintSize1:
  429            "M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",
  430          oiiintSize2:
  431            "M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",
  432          rightarrow:
  433            "M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",
  434          rightbrace:
  435            "M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",
  436          rightbraceunder:
  437            "M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",
  438          rightgroup:
  439            "M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",
  440          rightgroupunder:
  441            "M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",
  442          rightharpoon:
  443            "M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",
  444          rightharpoonplus:
  445            "M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",
  446          rightharpoondown:
  447            "M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",
  448          rightharpoondownplus:
  449            "M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",
  450          righthook:
  451            "M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",
  452          rightlinesegment:
  453            "M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z",
  454          rightToFrom:
  455            "M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",
  456          twoheadleftarrow:
  457            "M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",
  458          twoheadrightarrow:
  459            "M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",
  460          tilde1:
  461            "M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",
  462          tilde2:
  463            "M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",
  464          tilde3:
  465            "M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",
  466          tilde4:
  467            "M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",
  468          vec: "M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",
  469          widehat1:
  470            "M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",
  471          widehat2:
  472            "M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",
  473          widehat3:
  474            "M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",
  475          widehat4:
  476            "M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",
  477          widecheck1:
  478            "M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",
  479          widecheck2:
  480            "M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",
  481          widecheck3:
  482            "M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",
  483          widecheck4:
  484            "M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",
  485          baraboveleftarrow:
  486            "M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",
  487          rightarrowabovebar:
  488            "M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",
  489          baraboveshortleftharpoon:
  490            "M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",
  491          rightharpoonaboveshortbar:
  492            "M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",
  493          shortbaraboveleftharpoon:
  494            "M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",
  495          shortrightharpoonabovebar:
  496            "M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z",
  497        },
  498        A = (function () {
  499          function t(t) {
  500            ((this.children = void 0),
  501              (this.classes = void 0),
  502              (this.height = void 0),
  503              (this.depth = void 0),
  504              (this.maxFontSize = void 0),
  505              (this.style = void 0),
  506              (this.children = t),
  507              (this.classes = []),
  508              (this.height = 0),
  509              (this.depth = 0),
  510              (this.maxFontSize = 0),
  511              (this.style = {}));
  512          }
  513          var e = t.prototype;
  514          return (
  515            (e.hasClass = function (t) {
  516              return c.contains(this.classes, t);
  517            }),
  518            (e.toNode = function () {
  519              for (
  520                var t = document.createDocumentFragment(), e = 0;
  521                e < this.children.length;
  522                e++
  523              )
  524                t.appendChild(this.children[e].toNode());
  525              return t;
  526            }),
  527            (e.toMarkup = function () {
  528              for (var t = "", e = 0; e < this.children.length; e++)
  529                t += this.children[e].toMarkup();
  530              return t;
  531            }),
  532            (e.toText = function () {
  533              var t = function (t) {
  534                return t.toText();
  535              };
  536              return this.children.map(t).join("");
  537            }),
  538            t
  539          );
  540        })(),
  541        T = function (t) {
  542          return t
  543            .filter(function (t) {
  544              return t;
  545            })
  546            .join(" ");
  547        },
  548        B = function (t, e, r) {
  549          if (
  550            ((this.classes = t || []),
  551            (this.attributes = {}),
  552            (this.height = 0),
  553            (this.depth = 0),
  554            (this.maxFontSize = 0),
  555            (this.style = r || {}),
  556            e)
  557          ) {
  558            e.style.isTight() && this.classes.push("mtight");
  559            var a = e.getColor();
  560            a && (this.style.color = a);
  561          }
  562        },
  563        C = function (t) {
  564          var e = document.createElement(t);
  565          for (var r in ((e.className = T(this.classes)), this.style))
  566            this.style.hasOwnProperty(r) && (e.style[r] = this.style[r]);
  567          for (var a in this.attributes)
  568            this.attributes.hasOwnProperty(a) &&
  569              e.setAttribute(a, this.attributes[a]);
  570          for (var n = 0; n < this.children.length; n++)
  571            e.appendChild(this.children[n].toNode());
  572          return e;
  573        },
  574        q = function (t) {
  575          var e = "<" + t;
  576          this.classes.length &&
  577            (e += ' class="' + c.escape(T(this.classes)) + '"');
  578          var r = "";
  579          for (var a in this.style)
  580            this.style.hasOwnProperty(a) &&
  581              (r += c.hyphenate(a) + ":" + this.style[a] + ";");
  582          for (var n in (r && (e += ' style="' + c.escape(r) + '"'),
  583          this.attributes))
  584            this.attributes.hasOwnProperty(n) &&
  585              (e += " " + n + '="' + c.escape(this.attributes[n]) + '"');
  586          e += ">";
  587          for (var i = 0; i < this.children.length; i++)
  588            e += this.children[i].toMarkup();
  589          return (e += "</" + t + ">");
  590        },
  591        N = (function () {
  592          function t(t, e, r, a) {
  593            ((this.children = void 0),
  594              (this.attributes = void 0),
  595              (this.classes = void 0),
  596              (this.height = void 0),
  597              (this.depth = void 0),
  598              (this.width = void 0),
  599              (this.maxFontSize = void 0),
  600              (this.style = void 0),
  601              B.call(this, t, r, a),
  602              (this.children = e || []));
  603          }
  604          var e = t.prototype;
  605          return (
  606            (e.setAttribute = function (t, e) {
  607              this.attributes[t] = e;
  608            }),
  609            (e.hasClass = function (t) {
  610              return c.contains(this.classes, t);
  611            }),
  612            (e.toNode = function () {
  613              return C.call(this, "span");
  614            }),
  615            (e.toMarkup = function () {
  616              return q.call(this, "span");
  617            }),
  618            t
  619          );
  620        })(),
  621        I = (function () {
  622          function t(t, e, r, a) {
  623            ((this.children = void 0),
  624              (this.attributes = void 0),
  625              (this.classes = void 0),
  626              (this.height = void 0),
  627              (this.depth = void 0),
  628              (this.maxFontSize = void 0),
  629              (this.style = void 0),
  630              B.call(this, e, a),
  631              (this.children = r || []),
  632              this.setAttribute("href", t));
  633          }
  634          var e = t.prototype;
  635          return (
  636            (e.setAttribute = function (t, e) {
  637              this.attributes[t] = e;
  638            }),
  639            (e.hasClass = function (t) {
  640              return c.contains(this.classes, t);
  641            }),
  642            (e.toNode = function () {
  643              return C.call(this, "a");
  644            }),
  645            (e.toMarkup = function () {
  646              return q.call(this, "a");
  647            }),
  648            t
  649          );
  650        })(),
  651        O = (function () {
  652          function t(t, e, r) {
  653            ((this.src = void 0),
  654              (this.alt = void 0),
  655              (this.classes = void 0),
  656              (this.height = void 0),
  657              (this.depth = void 0),
  658              (this.maxFontSize = void 0),
  659              (this.style = void 0),
  660              (this.alt = e),
  661              (this.src = t),
  662              (this.classes = ["mord"]),
  663              (this.style = r));
  664          }
  665          var e = t.prototype;
  666          return (
  667            (e.hasClass = function (t) {
  668              return c.contains(this.classes, t);
  669            }),
  670            (e.toNode = function () {
  671              var t = document.createElement("img");
  672              for (var e in ((t.src = this.src),
  673              (t.alt = this.alt),
  674              (t.className = "mord"),
  675              this.style))
  676                this.style.hasOwnProperty(e) && (t.style[e] = this.style[e]);
  677              return t;
  678            }),
  679            (e.toMarkup = function () {
  680              var t = "<img  src='" + this.src + " 'alt='" + this.alt + "' ",
  681                e = "";
  682              for (var r in this.style)
  683                this.style.hasOwnProperty(r) &&
  684                  (e += c.hyphenate(r) + ":" + this.style[r] + ";");
  685              return (e && (t += ' style="' + c.escape(e) + '"'), (t += "'/>"));
  686            }),
  687            t
  688          );
  689        })(),
  690        R = {
  691          "\xee": "\u0131\u0302",
  692          "\xef": "\u0131\u0308",
  693          "\xed": "\u0131\u0301",
  694          "\xec": "\u0131\u0300",
  695        },
  696        E = (function () {
  697          function t(t, e, r, a, n, i, o, s) {
  698            ((this.text = void 0),
  699              (this.height = void 0),
  700              (this.depth = void 0),
  701              (this.italic = void 0),
  702              (this.skew = void 0),
  703              (this.width = void 0),
  704              (this.maxFontSize = void 0),
  705              (this.classes = void 0),
  706              (this.style = void 0),
  707              (this.text = t),
  708              (this.height = e || 0),
  709              (this.depth = r || 0),
  710              (this.italic = a || 0),
  711              (this.skew = n || 0),
  712              (this.width = i || 0),
  713              (this.classes = o || []),
  714              (this.style = s || {}),
  715              (this.maxFontSize = 0));
  716            var l = (function (t) {
  717              for (var e = 0; e < k.length; e++)
  718                for (var r = k[e], a = 0; a < r.blocks.length; a++) {
  719                  var n = r.blocks[a];
  720                  if (t >= n[0] && t <= n[1]) return r.name;
  721                }
  722              return null;
  723            })(this.text.charCodeAt(0));
  724            (l && this.classes.push(l + "_fallback"),
  725              /[\xee\xef\xed\xec]/.test(this.text) &&
  726                (this.text = R[this.text]));
  727          }
  728          var e = t.prototype;
  729          return (
  730            (e.hasClass = function (t) {
  731              return c.contains(this.classes, t);
  732            }),
  733            (e.toNode = function () {
  734              var t = document.createTextNode(this.text),
  735                e = null;
  736              for (var r in (this.italic > 0 &&
  737                ((e = document.createElement("span")).style.marginRight =
  738                  this.italic + "em"),
  739              this.classes.length > 0 &&
  740                ((e = e || document.createElement("span")).className = T(
  741                  this.classes,
  742                )),
  743              this.style))
  744                this.style.hasOwnProperty(r) &&
  745                  ((e = e || document.createElement("span")).style[r] =
  746                    this.style[r]);
  747              return e ? (e.appendChild(t), e) : t;
  748            }),
  749            (e.toMarkup = function () {
  750              var t = !1,
  751                e = "<span";
  752              this.classes.length &&
  753                ((t = !0),
  754                (e += ' class="'),
  755                (e += c.escape(T(this.classes))),
  756                (e += '"'));
  757              var r = "";
  758              for (var a in (this.italic > 0 &&
  759                (r += "margin-right:" + this.italic + "em;"),
  760              this.style))
  761                this.style.hasOwnProperty(a) &&
  762                  (r += c.hyphenate(a) + ":" + this.style[a] + ";");
  763              r && ((t = !0), (e += ' style="' + c.escape(r) + '"'));
  764              var n = c.escape(this.text);
  765              return t ? ((e += ">"), (e += n), (e += "</span>")) : n;
  766            }),
  767            t
  768          );
  769        })(),
  770        L = (function () {
  771          function t(t, e) {
  772            ((this.children = void 0),
  773              (this.attributes = void 0),
  774              (this.children = t || []),
  775              (this.attributes = e || {}));
  776          }
  777          var e = t.prototype;
  778          return (
  779            (e.toNode = function () {
  780              var t = document.createElementNS(
  781                "http://www.w3.org/2000/svg",
  782                "svg",
  783              );
  784              for (var e in this.attributes)
  785                Object.prototype.hasOwnProperty.call(this.attributes, e) &&
  786                  t.setAttribute(e, this.attributes[e]);
  787              for (var r = 0; r < this.children.length; r++)
  788                t.appendChild(this.children[r].toNode());
  789              return t;
  790            }),
  791            (e.toMarkup = function () {
  792              var t = "<svg";
  793              for (var e in this.attributes)
  794                Object.prototype.hasOwnProperty.call(this.attributes, e) &&
  795                  (t += " " + e + "='" + this.attributes[e] + "'");
  796              t += ">";
  797              for (var r = 0; r < this.children.length; r++)
  798                t += this.children[r].toMarkup();
  799              return (t += "</svg>");
  800            }),
  801            t
  802          );
  803        })(),
  804        P = (function () {
  805          function t(t, e) {
  806            ((this.pathName = void 0),
  807              (this.alternate = void 0),
  808              (this.pathName = t),
  809              (this.alternate = e));
  810          }
  811          var e = t.prototype;
  812          return (
  813            (e.toNode = function () {
  814              var t = document.createElementNS(
  815                "http://www.w3.org/2000/svg",
  816                "path",
  817              );
  818              return (
  819                this.alternate
  820                  ? t.setAttribute("d", this.alternate)
  821                  : t.setAttribute("d", z[this.pathName]),
  822                t
  823              );
  824            }),
  825            (e.toMarkup = function () {
  826              return this.alternate
  827                ? "<path d='" + this.alternate + "'/>"
  828                : "<path d='" + z[this.pathName] + "'/>";
  829            }),
  830            t
  831          );
  832        })(),
  833        D = (function () {
  834          function t(t) {
  835            ((this.attributes = void 0), (this.attributes = t || {}));
  836          }
  837          var e = t.prototype;
  838          return (
  839            (e.toNode = function () {
  840              var t = document.createElementNS(
  841                "http://www.w3.org/2000/svg",
  842                "line",
  843              );
  844              for (var e in this.attributes)
  845                Object.prototype.hasOwnProperty.call(this.attributes, e) &&
  846                  t.setAttribute(e, this.attributes[e]);
  847              return t;
  848            }),
  849            (e.toMarkup = function () {
  850              var t = "<line";
  851              for (var e in this.attributes)
  852                Object.prototype.hasOwnProperty.call(this.attributes, e) &&
  853                  (t += " " + e + "='" + this.attributes[e] + "'");
  854              return (t += "/>");
  855            }),
  856            t
  857          );
  858        })();
  859      function H(t) {
  860        if (t instanceof E) return t;
  861        throw new Error("Expected symbolNode but got " + String(t) + ".");
  862      }
  863      var F = {
  864          "AMS-Regular": {
  865            32: [0, 0, 0, 0, 0.25],
  866            65: [0, 0.68889, 0, 0, 0.72222],
  867            66: [0, 0.68889, 0, 0, 0.66667],
  868            67: [0, 0.68889, 0, 0, 0.72222],
  869            68: [0, 0.68889, 0, 0, 0.72222],
  870            69: [0, 0.68889, 0, 0, 0.66667],
  871            70: [0, 0.68889, 0, 0, 0.61111],
  872            71: [0, 0.68889, 0, 0, 0.77778],
  873            72: [0, 0.68889, 0, 0, 0.77778],
  874            73: [0, 0.68889, 0, 0, 0.38889],
  875            74: [0.16667, 0.68889, 0, 0, 0.5],
  876            75: [0, 0.68889, 0, 0, 0.77778],
  877            76: [0, 0.68889, 0, 0, 0.66667],
  878            77: [0, 0.68889, 0, 0, 0.94445],
  879            78: [0, 0.68889, 0, 0, 0.72222],
  880            79: [0.16667, 0.68889, 0, 0, 0.77778],
  881            80: [0, 0.68889, 0, 0, 0.61111],
  882            81: [0.16667, 0.68889, 0, 0, 0.77778],
  883            82: [0, 0.68889, 0, 0, 0.72222],
  884            83: [0, 0.68889, 0, 0, 0.55556],
  885            84: [0, 0.68889, 0, 0, 0.66667],
  886            85: [0, 0.68889, 0, 0, 0.72222],
  887            86: [0, 0.68889, 0, 0, 0.72222],
  888            87: [0, 0.68889, 0, 0, 1],
  889            88: [0, 0.68889, 0, 0, 0.72222],
  890            89: [0, 0.68889, 0, 0, 0.72222],
  891            90: [0, 0.68889, 0, 0, 0.66667],
  892            107: [0, 0.68889, 0, 0, 0.55556],
  893            160: [0, 0, 0, 0, 0.25],
  894            165: [0, 0.675, 0.025, 0, 0.75],
  895            174: [0.15559, 0.69224, 0, 0, 0.94666],
  896            240: [0, 0.68889, 0, 0, 0.55556],
  897            295: [0, 0.68889, 0, 0, 0.54028],
  898            710: [0, 0.825, 0, 0, 2.33334],
  899            732: [0, 0.9, 0, 0, 2.33334],
  900            770: [0, 0.825, 0, 0, 2.33334],
  901            771: [0, 0.9, 0, 0, 2.33334],
  902            989: [0.08167, 0.58167, 0, 0, 0.77778],
  903            1008: [0, 0.43056, 0.04028, 0, 0.66667],
  904            8245: [0, 0.54986, 0, 0, 0.275],
  905            8463: [0, 0.68889, 0, 0, 0.54028],
  906            8487: [0, 0.68889, 0, 0, 0.72222],
  907            8498: [0, 0.68889, 0, 0, 0.55556],
  908            8502: [0, 0.68889, 0, 0, 0.66667],
  909            8503: [0, 0.68889, 0, 0, 0.44445],
  910            8504: [0, 0.68889, 0, 0, 0.66667],
  911            8513: [0, 0.68889, 0, 0, 0.63889],
  912            8592: [-0.03598, 0.46402, 0, 0, 0.5],
  913            8594: [-0.03598, 0.46402, 0, 0, 0.5],
  914            8602: [-0.13313, 0.36687, 0, 0, 1],
  915            8603: [-0.13313, 0.36687, 0, 0, 1],
  916            8606: [0.01354, 0.52239, 0, 0, 1],
  917            8608: [0.01354, 0.52239, 0, 0, 1],
  918            8610: [0.01354, 0.52239, 0, 0, 1.11111],
  919            8611: [0.01354, 0.52239, 0, 0, 1.11111],
  920            8619: [0, 0.54986, 0, 0, 1],
  921            8620: [0, 0.54986, 0, 0, 1],
  922            8621: [-0.13313, 0.37788, 0, 0, 1.38889],
  923            8622: [-0.13313, 0.36687, 0, 0, 1],
  924            8624: [0, 0.69224, 0, 0, 0.5],
  925            8625: [0, 0.69224, 0, 0, 0.5],
  926            8630: [0, 0.43056, 0, 0, 1],
  927            8631: [0, 0.43056, 0, 0, 1],
  928            8634: [0.08198, 0.58198, 0, 0, 0.77778],
  929            8635: [0.08198, 0.58198, 0, 0, 0.77778],
  930            8638: [0.19444, 0.69224, 0, 0, 0.41667],
  931            8639: [0.19444, 0.69224, 0, 0, 0.41667],
  932            8642: [0.19444, 0.69224, 0, 0, 0.41667],
  933            8643: [0.19444, 0.69224, 0, 0, 0.41667],
  934            8644: [0.1808, 0.675, 0, 0, 1],
  935            8646: [0.1808, 0.675, 0, 0, 1],
  936            8647: [0.1808, 0.675, 0, 0, 1],
  937            8648: [0.19444, 0.69224, 0, 0, 0.83334],
  938            8649: [0.1808, 0.675, 0, 0, 1],
  939            8650: [0.19444, 0.69224, 0, 0, 0.83334],
  940            8651: [0.01354, 0.52239, 0, 0, 1],
  941            8652: [0.01354, 0.52239, 0, 0, 1],
  942            8653: [-0.13313, 0.36687, 0, 0, 1],
  943            8654: [-0.13313, 0.36687, 0, 0, 1],
  944            8655: [-0.13313, 0.36687, 0, 0, 1],
  945            8666: [0.13667, 0.63667, 0, 0, 1],
  946            8667: [0.13667, 0.63667, 0, 0, 1],
  947            8669: [-0.13313, 0.37788, 0, 0, 1],
  948            8672: [-0.064, 0.437, 0, 0, 1.334],
  949            8674: [-0.064, 0.437, 0, 0, 1.334],
  950            8705: [0, 0.825, 0, 0, 0.5],
  951            8708: [0, 0.68889, 0, 0, 0.55556],
  952            8709: [0.08167, 0.58167, 0, 0, 0.77778],
  953            8717: [0, 0.43056, 0, 0, 0.42917],
  954            8722: [-0.03598, 0.46402, 0, 0, 0.5],
  955            8724: [0.08198, 0.69224, 0, 0, 0.77778],
  956            8726: [0.08167, 0.58167, 0, 0, 0.77778],
  957            8733: [0, 0.69224, 0, 0, 0.77778],
  958            8736: [0, 0.69224, 0, 0, 0.72222],
  959            8737: [0, 0.69224, 0, 0, 0.72222],
  960            8738: [0.03517, 0.52239, 0, 0, 0.72222],
  961            8739: [0.08167, 0.58167, 0, 0, 0.22222],
  962            8740: [0.25142, 0.74111, 0, 0, 0.27778],
  963            8741: [0.08167, 0.58167, 0, 0, 0.38889],
  964            8742: [0.25142, 0.74111, 0, 0, 0.5],
  965            8756: [0, 0.69224, 0, 0, 0.66667],
  966            8757: [0, 0.69224, 0, 0, 0.66667],
  967            8764: [-0.13313, 0.36687, 0, 0, 0.77778],
  968            8765: [-0.13313, 0.37788, 0, 0, 0.77778],
  969            8769: [-0.13313, 0.36687, 0, 0, 0.77778],
  970            8770: [-0.03625, 0.46375, 0, 0, 0.77778],
  971            8774: [0.30274, 0.79383, 0, 0, 0.77778],
  972            8776: [-0.01688, 0.48312, 0, 0, 0.77778],
  973            8778: [0.08167, 0.58167, 0, 0, 0.77778],
  974            8782: [0.06062, 0.54986, 0, 0, 0.77778],
  975            8783: [0.06062, 0.54986, 0, 0, 0.77778],
  976            8785: [0.08198, 0.58198, 0, 0, 0.77778],
  977            8786: [0.08198, 0.58198, 0, 0, 0.77778],
  978            8787: [0.08198, 0.58198, 0, 0, 0.77778],
  979            8790: [0, 0.69224, 0, 0, 0.77778],
  980            8791: [0.22958, 0.72958, 0, 0, 0.77778],
  981            8796: [0.08198, 0.91667, 0, 0, 0.77778],
  982            8806: [0.25583, 0.75583, 0, 0, 0.77778],
  983            8807: [0.25583, 0.75583, 0, 0, 0.77778],
  984            8808: [0.25142, 0.75726, 0, 0, 0.77778],
  985            8809: [0.25142, 0.75726, 0, 0, 0.77778],
  986            8812: [0.25583, 0.75583, 0, 0, 0.5],
  987            8814: [0.20576, 0.70576, 0, 0, 0.77778],
  988            8815: [0.20576, 0.70576, 0, 0, 0.77778],
  989            8816: [0.30274, 0.79383, 0, 0, 0.77778],
  990            8817: [0.30274, 0.79383, 0, 0, 0.77778],
  991            8818: [0.22958, 0.72958, 0, 0, 0.77778],
  992            8819: [0.22958, 0.72958, 0, 0, 0.77778],
  993            8822: [0.1808, 0.675, 0, 0, 0.77778],
  994            8823: [0.1808, 0.675, 0, 0, 0.77778],
  995            8828: [0.13667, 0.63667, 0, 0, 0.77778],
  996            8829: [0.13667, 0.63667, 0, 0, 0.77778],
  997            8830: [0.22958, 0.72958, 0, 0, 0.77778],
  998            8831: [0.22958, 0.72958, 0, 0, 0.77778],
  999            8832: [0.20576, 0.70576, 0, 0, 0.77778],
 1000            8833: [0.20576, 0.70576, 0, 0, 0.77778],
 1001            8840: [0.30274, 0.79383, 0, 0, 0.77778],
 1002            8841: [0.30274, 0.79383, 0, 0, 0.77778],
 1003            8842: [0.13597, 0.63597, 0, 0, 0.77778],
 1004            8843: [0.13597, 0.63597, 0, 0, 0.77778],
 1005            8847: [0.03517, 0.54986, 0, 0, 0.77778],
 1006            8848: [0.03517, 0.54986, 0, 0, 0.77778],
 1007            8858: [0.08198, 0.58198, 0, 0, 0.77778],
 1008            8859: [0.08198, 0.58198, 0, 0, 0.77778],
 1009            8861: [0.08198, 0.58198, 0, 0, 0.77778],
 1010            8862: [0, 0.675, 0, 0, 0.77778],
 1011            8863: [0, 0.675, 0, 0, 0.77778],
 1012            8864: [0, 0.675, 0, 0, 0.77778],
 1013            8865: [0, 0.675, 0, 0, 0.77778],
 1014            8872: [0, 0.69224, 0, 0, 0.61111],
 1015            8873: [0, 0.69224, 0, 0, 0.72222],
 1016            8874: [0, 0.69224, 0, 0, 0.88889],
 1017            8876: [0, 0.68889, 0, 0, 0.61111],
 1018            8877: [0, 0.68889, 0, 0, 0.61111],
 1019            8878: [0, 0.68889, 0, 0, 0.72222],
 1020            8879: [0, 0.68889, 0, 0, 0.72222],
 1021            8882: [0.03517, 0.54986, 0, 0, 0.77778],
 1022            8883: [0.03517, 0.54986, 0, 0, 0.77778],
 1023            8884: [0.13667, 0.63667, 0, 0, 0.77778],
 1024            8885: [0.13667, 0.63667, 0, 0, 0.77778],
 1025            8888: [0, 0.54986, 0, 0, 1.11111],
 1026            8890: [0.19444, 0.43056, 0, 0, 0.55556],
 1027            8891: [0.19444, 0.69224, 0, 0, 0.61111],
 1028            8892: [0.19444, 0.69224, 0, 0, 0.61111],
 1029            8901: [0, 0.54986, 0, 0, 0.27778],
 1030            8903: [0.08167, 0.58167, 0, 0, 0.77778],
 1031            8905: [0.08167, 0.58167, 0, 0, 0.77778],
 1032            8906: [0.08167, 0.58167, 0, 0, 0.77778],
 1033            8907: [0, 0.69224, 0, 0, 0.77778],
 1034            8908: [0, 0.69224, 0, 0, 0.77778],
 1035            8909: [-0.03598, 0.46402, 0, 0, 0.77778],
 1036            8910: [0, 0.54986, 0, 0, 0.76042],
 1037            8911: [0, 0.54986, 0, 0, 0.76042],
 1038            8912: [0.03517, 0.54986, 0, 0, 0.77778],
 1039            8913: [0.03517, 0.54986, 0, 0, 0.77778],
 1040            8914: [0, 0.54986, 0, 0, 0.66667],
 1041            8915: [0, 0.54986, 0, 0, 0.66667],
 1042            8916: [0, 0.69224, 0, 0, 0.66667],
 1043            8918: [0.0391, 0.5391, 0, 0, 0.77778],
 1044            8919: [0.0391, 0.5391, 0, 0, 0.77778],
 1045            8920: [0.03517, 0.54986, 0, 0, 1.33334],
 1046            8921: [0.03517, 0.54986, 0, 0, 1.33334],
 1047            8922: [0.38569, 0.88569, 0, 0, 0.77778],
 1048            8923: [0.38569, 0.88569, 0, 0, 0.77778],
 1049            8926: [0.13667, 0.63667, 0, 0, 0.77778],
 1050            8927: [0.13667, 0.63667, 0, 0, 0.77778],
 1051            8928: [0.30274, 0.79383, 0, 0, 0.77778],
 1052            8929: [0.30274, 0.79383, 0, 0, 0.77778],
 1053            8934: [0.23222, 0.74111, 0, 0, 0.77778],
 1054            8935: [0.23222, 0.74111, 0, 0, 0.77778],
 1055            8936: [0.23222, 0.74111, 0, 0, 0.77778],
 1056            8937: [0.23222, 0.74111, 0, 0, 0.77778],
 1057            8938: [0.20576, 0.70576, 0, 0, 0.77778],
 1058            8939: [0.20576, 0.70576, 0, 0, 0.77778],
 1059            8940: [0.30274, 0.79383, 0, 0, 0.77778],
 1060            8941: [0.30274, 0.79383, 0, 0, 0.77778],
 1061            8994: [0.19444, 0.69224, 0, 0, 0.77778],
 1062            8995: [0.19444, 0.69224, 0, 0, 0.77778],
 1063            9416: [0.15559, 0.69224, 0, 0, 0.90222],
 1064            9484: [0, 0.69224, 0, 0, 0.5],
 1065            9488: [0, 0.69224, 0, 0, 0.5],
 1066            9492: [0, 0.37788, 0, 0, 0.5],
 1067            9496: [0, 0.37788, 0, 0, 0.5],
 1068            9585: [0.19444, 0.68889, 0, 0, 0.88889],
 1069            9586: [0.19444, 0.74111, 0, 0, 0.88889],
 1070            9632: [0, 0.675, 0, 0, 0.77778],
 1071            9633: [0, 0.675, 0, 0, 0.77778],
 1072            9650: [0, 0.54986, 0, 0, 0.72222],
 1073            9651: [0, 0.54986, 0, 0, 0.72222],
 1074            9654: [0.03517, 0.54986, 0, 0, 0.77778],
 1075            9660: [0, 0.54986, 0, 0, 0.72222],
 1076            9661: [0, 0.54986, 0, 0, 0.72222],
 1077            9664: [0.03517, 0.54986, 0, 0, 0.77778],
 1078            9674: [0.11111, 0.69224, 0, 0, 0.66667],
 1079            9733: [0.19444, 0.69224, 0, 0, 0.94445],
 1080            10003: [0, 0.69224, 0, 0, 0.83334],
 1081            10016: [0, 0.69224, 0, 0, 0.83334],
 1082            10731: [0.11111, 0.69224, 0, 0, 0.66667],
 1083            10846: [0.19444, 0.75583, 0, 0, 0.61111],
 1084            10877: [0.13667, 0.63667, 0, 0, 0.77778],
 1085            10878: [0.13667, 0.63667, 0, 0, 0.77778],
 1086            10885: [0.25583, 0.75583, 0, 0, 0.77778],
 1087            10886: [0.25583, 0.75583, 0, 0, 0.77778],
 1088            10887: [0.13597, 0.63597, 0, 0, 0.77778],
 1089            10888: [0.13597, 0.63597, 0, 0, 0.77778],
 1090            10889: [0.26167, 0.75726, 0, 0, 0.77778],
 1091            10890: [0.26167, 0.75726, 0, 0, 0.77778],
 1092            10891: [0.48256, 0.98256, 0, 0, 0.77778],
 1093            10892: [0.48256, 0.98256, 0, 0, 0.77778],
 1094            10901: [0.13667, 0.63667, 0, 0, 0.77778],
 1095            10902: [0.13667, 0.63667, 0, 0, 0.77778],
 1096            10933: [0.25142, 0.75726, 0, 0, 0.77778],
 1097            10934: [0.25142, 0.75726, 0, 0, 0.77778],
 1098            10935: [0.26167, 0.75726, 0, 0, 0.77778],
 1099            10936: [0.26167, 0.75726, 0, 0, 0.77778],
 1100            10937: [0.26167, 0.75726, 0, 0, 0.77778],
 1101            10938: [0.26167, 0.75726, 0, 0, 0.77778],
 1102            10949: [0.25583, 0.75583, 0, 0, 0.77778],
 1103            10950: [0.25583, 0.75583, 0, 0, 0.77778],
 1104            10955: [0.28481, 0.79383, 0, 0, 0.77778],
 1105            10956: [0.28481, 0.79383, 0, 0, 0.77778],
 1106            57350: [0.08167, 0.58167, 0, 0, 0.22222],
 1107            57351: [0.08167, 0.58167, 0, 0, 0.38889],
 1108            57352: [0.08167, 0.58167, 0, 0, 0.77778],
 1109            57353: [0, 0.43056, 0.04028, 0, 0.66667],
 1110            57356: [0.25142, 0.75726, 0, 0, 0.77778],
 1111            57357: [0.25142, 0.75726, 0, 0, 0.77778],
 1112            57358: [0.41951, 0.91951, 0, 0, 0.77778],
 1113            57359: [0.30274, 0.79383, 0, 0, 0.77778],
 1114            57360: [0.30274, 0.79383, 0, 0, 0.77778],
 1115            57361: [0.41951, 0.91951, 0, 0, 0.77778],
 1116            57366: [0.25142, 0.75726, 0, 0, 0.77778],
 1117            57367: [0.25142, 0.75726, 0, 0, 0.77778],
 1118            57368: [0.25142, 0.75726, 0, 0, 0.77778],
 1119            57369: [0.25142, 0.75726, 0, 0, 0.77778],
 1120            57370: [0.13597, 0.63597, 0, 0, 0.77778],
 1121            57371: [0.13597, 0.63597, 0, 0, 0.77778],
 1122          },
 1123          "Caligraphic-Regular": {
 1124            32: [0, 0, 0, 0, 0.25],
 1125            65: [0, 0.68333, 0, 0.19445, 0.79847],
 1126            66: [0, 0.68333, 0.03041, 0.13889, 0.65681],
 1127            67: [0, 0.68333, 0.05834, 0.13889, 0.52653],
 1128            68: [0, 0.68333, 0.02778, 0.08334, 0.77139],
 1129            69: [0, 0.68333, 0.08944, 0.11111, 0.52778],
 1130            70: [0, 0.68333, 0.09931, 0.11111, 0.71875],
 1131            71: [0.09722, 0.68333, 0.0593, 0.11111, 0.59487],
 1132            72: [0, 0.68333, 0.00965, 0.11111, 0.84452],
 1133            73: [0, 0.68333, 0.07382, 0, 0.54452],
 1134            74: [0.09722, 0.68333, 0.18472, 0.16667, 0.67778],
 1135            75: [0, 0.68333, 0.01445, 0.05556, 0.76195],
 1136            76: [0, 0.68333, 0, 0.13889, 0.68972],
 1137            77: [0, 0.68333, 0, 0.13889, 1.2009],
 1138            78: [0, 0.68333, 0.14736, 0.08334, 0.82049],
 1139            79: [0, 0.68333, 0.02778, 0.11111, 0.79611],
 1140            80: [0, 0.68333, 0.08222, 0.08334, 0.69556],
 1141            81: [0.09722, 0.68333, 0, 0.11111, 0.81667],
 1142            82: [0, 0.68333, 0, 0.08334, 0.8475],
 1143            83: [0, 0.68333, 0.075, 0.13889, 0.60556],
 1144            84: [0, 0.68333, 0.25417, 0, 0.54464],
 1145            85: [0, 0.68333, 0.09931, 0.08334, 0.62583],
 1146            86: [0, 0.68333, 0.08222, 0, 0.61278],
 1147            87: [0, 0.68333, 0.08222, 0.08334, 0.98778],
 1148            88: [0, 0.68333, 0.14643, 0.13889, 0.7133],
 1149            89: [0.09722, 0.68333, 0.08222, 0.08334, 0.66834],
 1150            90: [0, 0.68333, 0.07944, 0.13889, 0.72473],
 1151            160: [0, 0, 0, 0, 0.25],
 1152          },
 1153          "Fraktur-Regular": {
 1154            32: [0, 0, 0, 0, 0.25],
 1155            33: [0, 0.69141, 0, 0, 0.29574],
 1156            34: [0, 0.69141, 0, 0, 0.21471],
 1157            38: [0, 0.69141, 0, 0, 0.73786],
 1158            39: [0, 0.69141, 0, 0, 0.21201],
 1159            40: [0.24982, 0.74947, 0, 0, 0.38865],
 1160            41: [0.24982, 0.74947, 0, 0, 0.38865],
 1161            42: [0, 0.62119, 0, 0, 0.27764],
 1162            43: [0.08319, 0.58283, 0, 0, 0.75623],
 1163            44: [0, 0.10803, 0, 0, 0.27764],
 1164            45: [0.08319, 0.58283, 0, 0, 0.75623],
 1165            46: [0, 0.10803, 0, 0, 0.27764],
 1166            47: [0.24982, 0.74947, 0, 0, 0.50181],
 1167            48: [0, 0.47534, 0, 0, 0.50181],
 1168            49: [0, 0.47534, 0, 0, 0.50181],
 1169            50: [0, 0.47534, 0, 0, 0.50181],
 1170            51: [0.18906, 0.47534, 0, 0, 0.50181],
 1171            52: [0.18906, 0.47534, 0, 0, 0.50181],
 1172            53: [0.18906, 0.47534, 0, 0, 0.50181],
 1173            54: [0, 0.69141, 0, 0, 0.50181],
 1174            55: [0.18906, 0.47534, 0, 0, 0.50181],
 1175            56: [0, 0.69141, 0, 0, 0.50181],
 1176            57: [0.18906, 0.47534, 0, 0, 0.50181],
 1177            58: [0, 0.47534, 0, 0, 0.21606],
 1178            59: [0.12604, 0.47534, 0, 0, 0.21606],
 1179            61: [-0.13099, 0.36866, 0, 0, 0.75623],
 1180            63: [0, 0.69141, 0, 0, 0.36245],
 1181            65: [0, 0.69141, 0, 0, 0.7176],
 1182            66: [0, 0.69141, 0, 0, 0.88397],
 1183            67: [0, 0.69141, 0, 0, 0.61254],
 1184            68: [0, 0.69141, 0, 0, 0.83158],
 1185            69: [0, 0.69141, 0, 0, 0.66278],
 1186            70: [0.12604, 0.69141, 0, 0, 0.61119],
 1187            71: [0, 0.69141, 0, 0, 0.78539],
 1188            72: [0.06302, 0.69141, 0, 0, 0.7203],
 1189            73: [0, 0.69141, 0, 0, 0.55448],
 1190            74: [0.12604, 0.69141, 0, 0, 0.55231],
 1191            75: [0, 0.69141, 0, 0, 0.66845],
 1192            76: [0, 0.69141, 0, 0, 0.66602],
 1193            77: [0, 0.69141, 0, 0, 1.04953],
 1194            78: [0, 0.69141, 0, 0, 0.83212],
 1195            79: [0, 0.69141, 0, 0, 0.82699],
 1196            80: [0.18906, 0.69141, 0, 0, 0.82753],
 1197            81: [0.03781, 0.69141, 0, 0, 0.82699],
 1198            82: [0, 0.69141, 0, 0, 0.82807],
 1199            83: [0, 0.69141, 0, 0, 0.82861],
 1200            84: [0, 0.69141, 0, 0, 0.66899],
 1201            85: [0, 0.69141, 0, 0, 0.64576],
 1202            86: [0, 0.69141, 0, 0, 0.83131],
 1203            87: [0, 0.69141, 0, 0, 1.04602],
 1204            88: [0, 0.69141, 0, 0, 0.71922],
 1205            89: [0.18906, 0.69141, 0, 0, 0.83293],
 1206            90: [0.12604, 0.69141, 0, 0, 0.60201],
 1207            91: [0.24982, 0.74947, 0, 0, 0.27764],
 1208            93: [0.24982, 0.74947, 0, 0, 0.27764],
 1209            94: [0, 0.69141, 0, 0, 0.49965],
 1210            97: [0, 0.47534, 0, 0, 0.50046],
 1211            98: [0, 0.69141, 0, 0, 0.51315],
 1212            99: [0, 0.47534, 0, 0, 0.38946],
 1213            100: [0, 0.62119, 0, 0, 0.49857],
 1214            101: [0, 0.47534, 0, 0, 0.40053],
 1215            102: [0.18906, 0.69141, 0, 0, 0.32626],
 1216            103: [0.18906, 0.47534, 0, 0, 0.5037],
 1217            104: [0.18906, 0.69141, 0, 0, 0.52126],
 1218            105: [0, 0.69141, 0, 0, 0.27899],
 1219            106: [0, 0.69141, 0, 0, 0.28088],
 1220            107: [0, 0.69141, 0, 0, 0.38946],
 1221            108: [0, 0.69141, 0, 0, 0.27953],
 1222            109: [0, 0.47534, 0, 0, 0.76676],
 1223            110: [0, 0.47534, 0, 0, 0.52666],
 1224            111: [0, 0.47534, 0, 0, 0.48885],
 1225            112: [0.18906, 0.52396, 0, 0, 0.50046],
 1226            113: [0.18906, 0.47534, 0, 0, 0.48912],
 1227            114: [0, 0.47534, 0, 0, 0.38919],
 1228            115: [0, 0.47534, 0, 0, 0.44266],
 1229            116: [0, 0.62119, 0, 0, 0.33301],
 1230            117: [0, 0.47534, 0, 0, 0.5172],
 1231            118: [0, 0.52396, 0, 0, 0.5118],
 1232            119: [0, 0.52396, 0, 0, 0.77351],
 1233            120: [0.18906, 0.47534, 0, 0, 0.38865],
 1234            121: [0.18906, 0.47534, 0, 0, 0.49884],
 1235            122: [0.18906, 0.47534, 0, 0, 0.39054],
 1236            160: [0, 0, 0, 0, 0.25],
 1237            8216: [0, 0.69141, 0, 0, 0.21471],
 1238            8217: [0, 0.69141, 0, 0, 0.21471],
 1239            58112: [0, 0.62119, 0, 0, 0.49749],
 1240            58113: [0, 0.62119, 0, 0, 0.4983],
 1241            58114: [0.18906, 0.69141, 0, 0, 0.33328],
 1242            58115: [0.18906, 0.69141, 0, 0, 0.32923],
 1243            58116: [0.18906, 0.47534, 0, 0, 0.50343],
 1244            58117: [0, 0.69141, 0, 0, 0.33301],
 1245            58118: [0, 0.62119, 0, 0, 0.33409],
 1246            58119: [0, 0.47534, 0, 0, 0.50073],
 1247          },
 1248          "Main-Bold": {
 1249            32: [0, 0, 0, 0, 0.25],
 1250            33: [0, 0.69444, 0, 0, 0.35],
 1251            34: [0, 0.69444, 0, 0, 0.60278],
 1252            35: [0.19444, 0.69444, 0, 0, 0.95833],
 1253            36: [0.05556, 0.75, 0, 0, 0.575],
 1254            37: [0.05556, 0.75, 0, 0, 0.95833],
 1255            38: [0, 0.69444, 0, 0, 0.89444],
 1256            39: [0, 0.69444, 0, 0, 0.31944],
 1257            40: [0.25, 0.75, 0, 0, 0.44722],
 1258            41: [0.25, 0.75, 0, 0, 0.44722],
 1259            42: [0, 0.75, 0, 0, 0.575],
 1260            43: [0.13333, 0.63333, 0, 0, 0.89444],
 1261            44: [0.19444, 0.15556, 0, 0, 0.31944],
 1262            45: [0, 0.44444, 0, 0, 0.38333],
 1263            46: [0, 0.15556, 0, 0, 0.31944],
 1264            47: [0.25, 0.75, 0, 0, 0.575],
 1265            48: [0, 0.64444, 0, 0, 0.575],
 1266            49: [0, 0.64444, 0, 0, 0.575],
 1267            50: [0, 0.64444, 0, 0, 0.575],
 1268            51: [0, 0.64444, 0, 0, 0.575],
 1269            52: [0, 0.64444, 0, 0, 0.575],
 1270            53: [0, 0.64444, 0, 0, 0.575],
 1271            54: [0, 0.64444, 0, 0, 0.575],
 1272            55: [0, 0.64444, 0, 0, 0.575],
 1273            56: [0, 0.64444, 0, 0, 0.575],
 1274            57: [0, 0.64444, 0, 0, 0.575],
 1275            58: [0, 0.44444, 0, 0, 0.31944],
 1276            59: [0.19444, 0.44444, 0, 0, 0.31944],
 1277            60: [0.08556, 0.58556, 0, 0, 0.89444],
 1278            61: [-0.10889, 0.39111, 0, 0, 0.89444],
 1279            62: [0.08556, 0.58556, 0, 0, 0.89444],
 1280            63: [0, 0.69444, 0, 0, 0.54305],
 1281            64: [0, 0.69444, 0, 0, 0.89444],
 1282            65: [0, 0.68611, 0, 0, 0.86944],
 1283            66: [0, 0.68611, 0, 0, 0.81805],
 1284            67: [0, 0.68611, 0, 0, 0.83055],
 1285            68: [0, 0.68611, 0, 0, 0.88194],
 1286            69: [0, 0.68611, 0, 0, 0.75555],
 1287            70: [0, 0.68611, 0, 0, 0.72361],
 1288            71: [0, 0.68611, 0, 0, 0.90416],
 1289            72: [0, 0.68611, 0, 0, 0.9],
 1290            73: [0, 0.68611, 0, 0, 0.43611],
 1291            74: [0, 0.68611, 0, 0, 0.59444],
 1292            75: [0, 0.68611, 0, 0, 0.90138],
 1293            76: [0, 0.68611, 0, 0, 0.69166],
 1294            77: [0, 0.68611, 0, 0, 1.09166],
 1295            78: [0, 0.68611, 0, 0, 0.9],
 1296            79: [0, 0.68611, 0, 0, 0.86388],
 1297            80: [0, 0.68611, 0, 0, 0.78611],
 1298            81: [0.19444, 0.68611, 0, 0, 0.86388],
 1299            82: [0, 0.68611, 0, 0, 0.8625],
 1300            83: [0, 0.68611, 0, 0, 0.63889],
 1301            84: [0, 0.68611, 0, 0, 0.8],
 1302            85: [0, 0.68611, 0, 0, 0.88472],
 1303            86: [0, 0.68611, 0.01597, 0, 0.86944],
 1304            87: [0, 0.68611, 0.01597, 0, 1.18888],
 1305            88: [0, 0.68611, 0, 0, 0.86944],
 1306            89: [0, 0.68611, 0.02875, 0, 0.86944],
 1307            90: [0, 0.68611, 0, 0, 0.70277],
 1308            91: [0.25, 0.75, 0, 0, 0.31944],
 1309            92: [0.25, 0.75, 0, 0, 0.575],
 1310            93: [0.25, 0.75, 0, 0, 0.31944],
 1311            94: [0, 0.69444, 0, 0, 0.575],
 1312            95: [0.31, 0.13444, 0.03194, 0, 0.575],
 1313            97: [0, 0.44444, 0, 0, 0.55902],
 1314            98: [0, 0.69444, 0, 0, 0.63889],
 1315            99: [0, 0.44444, 0, 0, 0.51111],
 1316            100: [0, 0.69444, 0, 0, 0.63889],
 1317            101: [0, 0.44444, 0, 0, 0.52708],
 1318            102: [0, 0.69444, 0.10903, 0, 0.35139],
 1319            103: [0.19444, 0.44444, 0.01597, 0, 0.575],
 1320            104: [0, 0.69444, 0, 0, 0.63889],
 1321            105: [0, 0.69444, 0, 0, 0.31944],
 1322            106: [0.19444, 0.69444, 0, 0, 0.35139],
 1323            107: [0, 0.69444, 0, 0, 0.60694],
 1324            108: [0, 0.69444, 0, 0, 0.31944],
 1325            109: [0, 0.44444, 0, 0, 0.95833],
 1326            110: [0, 0.44444, 0, 0, 0.63889],
 1327            111: [0, 0.44444, 0, 0, 0.575],
 1328            112: [0.19444, 0.44444, 0, 0, 0.63889],
 1329            113: [0.19444, 0.44444, 0, 0, 0.60694],
 1330            114: [0, 0.44444, 0, 0, 0.47361],
 1331            115: [0, 0.44444, 0, 0, 0.45361],
 1332            116: [0, 0.63492, 0, 0, 0.44722],
 1333            117: [0, 0.44444, 0, 0, 0.63889],
 1334            118: [0, 0.44444, 0.01597, 0, 0.60694],
 1335            119: [0, 0.44444, 0.01597, 0, 0.83055],
 1336            120: [0, 0.44444, 0, 0, 0.60694],
 1337            121: [0.19444, 0.44444, 0.01597, 0, 0.60694],
 1338            122: [0, 0.44444, 0, 0, 0.51111],
 1339            123: [0.25, 0.75, 0, 0, 0.575],
 1340            124: [0.25, 0.75, 0, 0, 0.31944],
 1341            125: [0.25, 0.75, 0, 0, 0.575],
 1342            126: [0.35, 0.34444, 0, 0, 0.575],
 1343            160: [0, 0, 0, 0, 0.25],
 1344            163: [0, 0.69444, 0, 0, 0.86853],
 1345            168: [0, 0.69444, 0, 0, 0.575],
 1346            172: [0, 0.44444, 0, 0, 0.76666],
 1347            176: [0, 0.69444, 0, 0, 0.86944],
 1348            177: [0.13333, 0.63333, 0, 0, 0.89444],
 1349            184: [0.17014, 0, 0, 0, 0.51111],
 1350            198: [0, 0.68611, 0, 0, 1.04166],
 1351            215: [0.13333, 0.63333, 0, 0, 0.89444],
 1352            216: [0.04861, 0.73472, 0, 0, 0.89444],
 1353            223: [0, 0.69444, 0, 0, 0.59722],
 1354            230: [0, 0.44444, 0, 0, 0.83055],
 1355            247: [0.13333, 0.63333, 0, 0, 0.89444],
 1356            248: [0.09722, 0.54167, 0, 0, 0.575],
 1357            305: [0, 0.44444, 0, 0, 0.31944],
 1358            338: [0, 0.68611, 0, 0, 1.16944],
 1359            339: [0, 0.44444, 0, 0, 0.89444],
 1360            567: [0.19444, 0.44444, 0, 0, 0.35139],
 1361            710: [0, 0.69444, 0, 0, 0.575],
 1362            711: [0, 0.63194, 0, 0, 0.575],
 1363            713: [0, 0.59611, 0, 0, 0.575],
 1364            714: [0, 0.69444, 0, 0, 0.575],
 1365            715: [0, 0.69444, 0, 0, 0.575],
 1366            728: [0, 0.69444, 0, 0, 0.575],
 1367            729: [0, 0.69444, 0, 0, 0.31944],
 1368            730: [0, 0.69444, 0, 0, 0.86944],
 1369            732: [0, 0.69444, 0, 0, 0.575],
 1370            733: [0, 0.69444, 0, 0, 0.575],
 1371            915: [0, 0.68611, 0, 0, 0.69166],
 1372            916: [0, 0.68611, 0, 0, 0.95833],
 1373            920: [0, 0.68611, 0, 0, 0.89444],
 1374            923: [0, 0.68611, 0, 0, 0.80555],
 1375            926: [0, 0.68611, 0, 0, 0.76666],
 1376            928: [0, 0.68611, 0, 0, 0.9],
 1377            931: [0, 0.68611, 0, 0, 0.83055],
 1378            933: [0, 0.68611, 0, 0, 0.89444],
 1379            934: [0, 0.68611, 0, 0, 0.83055],
 1380            936: [0, 0.68611, 0, 0, 0.89444],
 1381            937: [0, 0.68611, 0, 0, 0.83055],
 1382            8211: [0, 0.44444, 0.03194, 0, 0.575],
 1383            8212: [0, 0.44444, 0.03194, 0, 1.14999],
 1384            8216: [0, 0.69444, 0, 0, 0.31944],
 1385            8217: [0, 0.69444, 0, 0, 0.31944],
 1386            8220: [0, 0.69444, 0, 0, 0.60278],
 1387            8221: [0, 0.69444, 0, 0, 0.60278],
 1388            8224: [0.19444, 0.69444, 0, 0, 0.51111],
 1389            8225: [0.19444, 0.69444, 0, 0, 0.51111],
 1390            8242: [0, 0.55556, 0, 0, 0.34444],
 1391            8407: [0, 0.72444, 0.15486, 0, 0.575],
 1392            8463: [0, 0.69444, 0, 0, 0.66759],
 1393            8465: [0, 0.69444, 0, 0, 0.83055],
 1394            8467: [0, 0.69444, 0, 0, 0.47361],
 1395            8472: [0.19444, 0.44444, 0, 0, 0.74027],
 1396            8476: [0, 0.69444, 0, 0, 0.83055],
 1397            8501: [0, 0.69444, 0, 0, 0.70277],
 1398            8592: [-0.10889, 0.39111, 0, 0, 1.14999],
 1399            8593: [0.19444, 0.69444, 0, 0, 0.575],
 1400            8594: [-0.10889, 0.39111, 0, 0, 1.14999],
 1401            8595: [0.19444, 0.69444, 0, 0, 0.575],
 1402            8596: [-0.10889, 0.39111, 0, 0, 1.14999],
 1403            8597: [0.25, 0.75, 0, 0, 0.575],
 1404            8598: [0.19444, 0.69444, 0, 0, 1.14999],
 1405            8599: [0.19444, 0.69444, 0, 0, 1.14999],
 1406            8600: [0.19444, 0.69444, 0, 0, 1.14999],
 1407            8601: [0.19444, 0.69444, 0, 0, 1.14999],
 1408            8636: [-0.10889, 0.39111, 0, 0, 1.14999],
 1409            8637: [-0.10889, 0.39111, 0, 0, 1.14999],
 1410            8640: [-0.10889, 0.39111, 0, 0, 1.14999],
 1411            8641: [-0.10889, 0.39111, 0, 0, 1.14999],
 1412            8656: [-0.10889, 0.39111, 0, 0, 1.14999],
 1413            8657: [0.19444, 0.69444, 0, 0, 0.70277],
 1414            8658: [-0.10889, 0.39111, 0, 0, 1.14999],
 1415            8659: [0.19444, 0.69444, 0, 0, 0.70277],
 1416            8660: [-0.10889, 0.39111, 0, 0, 1.14999],
 1417            8661: [0.25, 0.75, 0, 0, 0.70277],
 1418            8704: [0, 0.69444, 0, 0, 0.63889],
 1419            8706: [0, 0.69444, 0.06389, 0, 0.62847],
 1420            8707: [0, 0.69444, 0, 0, 0.63889],
 1421            8709: [0.05556, 0.75, 0, 0, 0.575],
 1422            8711: [0, 0.68611, 0, 0, 0.95833],
 1423            8712: [0.08556, 0.58556, 0, 0, 0.76666],
 1424            8715: [0.08556, 0.58556, 0, 0, 0.76666],
 1425            8722: [0.13333, 0.63333, 0, 0, 0.89444],
 1426            8723: [0.13333, 0.63333, 0, 0, 0.89444],
 1427            8725: [0.25, 0.75, 0, 0, 0.575],
 1428            8726: [0.25, 0.75, 0, 0, 0.575],
 1429            8727: [-0.02778, 0.47222, 0, 0, 0.575],
 1430            8728: [-0.02639, 0.47361, 0, 0, 0.575],
 1431            8729: [-0.02639, 0.47361, 0, 0, 0.575],
 1432            8730: [0.18, 0.82, 0, 0, 0.95833],
 1433            8733: [0, 0.44444, 0, 0, 0.89444],
 1434            8734: [0, 0.44444, 0, 0, 1.14999],
 1435            8736: [0, 0.69224, 0, 0, 0.72222],
 1436            8739: [0.25, 0.75, 0, 0, 0.31944],
 1437            8741: [0.25, 0.75, 0, 0, 0.575],
 1438            8743: [0, 0.55556, 0, 0, 0.76666],
 1439            8744: [0, 0.55556, 0, 0, 0.76666],
 1440            8745: [0, 0.55556, 0, 0, 0.76666],
 1441            8746: [0, 0.55556, 0, 0, 0.76666],
 1442            8747: [0.19444, 0.69444, 0.12778, 0, 0.56875],
 1443            8764: [-0.10889, 0.39111, 0, 0, 0.89444],
 1444            8768: [0.19444, 0.69444, 0, 0, 0.31944],
 1445            8771: [0.00222, 0.50222, 0, 0, 0.89444],
 1446            8776: [0.02444, 0.52444, 0, 0, 0.89444],
 1447            8781: [0.00222, 0.50222, 0, 0, 0.89444],
 1448            8801: [0.00222, 0.50222, 0, 0, 0.89444],
 1449            8804: [0.19667, 0.69667, 0, 0, 0.89444],
 1450            8805: [0.19667, 0.69667, 0, 0, 0.89444],
 1451            8810: [0.08556, 0.58556, 0, 0, 1.14999],
 1452            8811: [0.08556, 0.58556, 0, 0, 1.14999],
 1453            8826: [0.08556, 0.58556, 0, 0, 0.89444],
 1454            8827: [0.08556, 0.58556, 0, 0, 0.89444],
 1455            8834: [0.08556, 0.58556, 0, 0, 0.89444],
 1456            8835: [0.08556, 0.58556, 0, 0, 0.89444],
 1457            8838: [0.19667, 0.69667, 0, 0, 0.89444],
 1458            8839: [0.19667, 0.69667, 0, 0, 0.89444],
 1459            8846: [0, 0.55556, 0, 0, 0.76666],
 1460            8849: [0.19667, 0.69667, 0, 0, 0.89444],
 1461            8850: [0.19667, 0.69667, 0, 0, 0.89444],
 1462            8851: [0, 0.55556, 0, 0, 0.76666],
 1463            8852: [0, 0.55556, 0, 0, 0.76666],
 1464            8853: [0.13333, 0.63333, 0, 0, 0.89444],
 1465            8854: [0.13333, 0.63333, 0, 0, 0.89444],
 1466            8855: [0.13333, 0.63333, 0, 0, 0.89444],
 1467            8856: [0.13333, 0.63333, 0, 0, 0.89444],
 1468            8857: [0.13333, 0.63333, 0, 0, 0.89444],
 1469            8866: [0, 0.69444, 0, 0, 0.70277],
 1470            8867: [0, 0.69444, 0, 0, 0.70277],
 1471            8868: [0, 0.69444, 0, 0, 0.89444],
 1472            8869: [0, 0.69444, 0, 0, 0.89444],
 1473            8900: [-0.02639, 0.47361, 0, 0, 0.575],
 1474            8901: [-0.02639, 0.47361, 0, 0, 0.31944],
 1475            8902: [-0.02778, 0.47222, 0, 0, 0.575],
 1476            8968: [0.25, 0.75, 0, 0, 0.51111],
 1477            8969: [0.25, 0.75, 0, 0, 0.51111],
 1478            8970: [0.25, 0.75, 0, 0, 0.51111],
 1479            8971: [0.25, 0.75, 0, 0, 0.51111],
 1480            8994: [-0.13889, 0.36111, 0, 0, 1.14999],
 1481            8995: [-0.13889, 0.36111, 0, 0, 1.14999],
 1482            9651: [0.19444, 0.69444, 0, 0, 1.02222],
 1483            9657: [-0.02778, 0.47222, 0, 0, 0.575],
 1484            9661: [0.19444, 0.69444, 0, 0, 1.02222],
 1485            9667: [-0.02778, 0.47222, 0, 0, 0.575],
 1486            9711: [0.19444, 0.69444, 0, 0, 1.14999],
 1487            9824: [0.12963, 0.69444, 0, 0, 0.89444],
 1488            9825: [0.12963, 0.69444, 0, 0, 0.89444],
 1489            9826: [0.12963, 0.69444, 0, 0, 0.89444],
 1490            9827: [0.12963, 0.69444, 0, 0, 0.89444],
 1491            9837: [0, 0.75, 0, 0, 0.44722],
 1492            9838: [0.19444, 0.69444, 0, 0, 0.44722],
 1493            9839: [0.19444, 0.69444, 0, 0, 0.44722],
 1494            10216: [0.25, 0.75, 0, 0, 0.44722],
 1495            10217: [0.25, 0.75, 0, 0, 0.44722],
 1496            10815: [0, 0.68611, 0, 0, 0.9],
 1497            10927: [0.19667, 0.69667, 0, 0, 0.89444],
 1498            10928: [0.19667, 0.69667, 0, 0, 0.89444],
 1499            57376: [0.19444, 0.69444, 0, 0, 0],
 1500          },
 1501          "Main-BoldItalic": {
 1502            32: [0, 0, 0, 0, 0.25],
 1503            33: [0, 0.69444, 0.11417, 0, 0.38611],
 1504            34: [0, 0.69444, 0.07939, 0, 0.62055],
 1505            35: [0.19444, 0.69444, 0.06833, 0, 0.94444],
 1506            37: [0.05556, 0.75, 0.12861, 0, 0.94444],
 1507            38: [0, 0.69444, 0.08528, 0, 0.88555],
 1508            39: [0, 0.69444, 0.12945, 0, 0.35555],
 1509            40: [0.25, 0.75, 0.15806, 0, 0.47333],
 1510            41: [0.25, 0.75, 0.03306, 0, 0.47333],
 1511            42: [0, 0.75, 0.14333, 0, 0.59111],
 1512            43: [0.10333, 0.60333, 0.03306, 0, 0.88555],
 1513            44: [0.19444, 0.14722, 0, 0, 0.35555],
 1514            45: [0, 0.44444, 0.02611, 0, 0.41444],
 1515            46: [0, 0.14722, 0, 0, 0.35555],
 1516            47: [0.25, 0.75, 0.15806, 0, 0.59111],
 1517            48: [0, 0.64444, 0.13167, 0, 0.59111],
 1518            49: [0, 0.64444, 0.13167, 0, 0.59111],
 1519            50: [0, 0.64444, 0.13167, 0, 0.59111],
 1520            51: [0, 0.64444, 0.13167, 0, 0.59111],
 1521            52: [0.19444, 0.64444, 0.13167, 0, 0.59111],
 1522            53: [0, 0.64444, 0.13167, 0, 0.59111],
 1523            54: [0, 0.64444, 0.13167, 0, 0.59111],
 1524            55: [0.19444, 0.64444, 0.13167, 0, 0.59111],
 1525            56: [0, 0.64444, 0.13167, 0, 0.59111],
 1526            57: [0, 0.64444, 0.13167, 0, 0.59111],
 1527            58: [0, 0.44444, 0.06695, 0, 0.35555],
 1528            59: [0.19444, 0.44444, 0.06695, 0, 0.35555],
 1529            61: [-0.10889, 0.39111, 0.06833, 0, 0.88555],
 1530            63: [0, 0.69444, 0.11472, 0, 0.59111],
 1531            64: [0, 0.69444, 0.09208, 0, 0.88555],
 1532            65: [0, 0.68611, 0, 0, 0.86555],
 1533            66: [0, 0.68611, 0.0992, 0, 0.81666],
 1534            67: [0, 0.68611, 0.14208, 0, 0.82666],
 1535            68: [0, 0.68611, 0.09062, 0, 0.87555],
 1536            69: [0, 0.68611, 0.11431, 0, 0.75666],
 1537            70: [0, 0.68611, 0.12903, 0, 0.72722],
 1538            71: [0, 0.68611, 0.07347, 0, 0.89527],
 1539            72: [0, 0.68611, 0.17208, 0, 0.8961],
 1540            73: [0, 0.68611, 0.15681, 0, 0.47166],
 1541            74: [0, 0.68611, 0.145, 0, 0.61055],
 1542            75: [0, 0.68611, 0.14208, 0, 0.89499],
 1543            76: [0, 0.68611, 0, 0, 0.69777],
 1544            77: [0, 0.68611, 0.17208, 0, 1.07277],
 1545            78: [0, 0.68611, 0.17208, 0, 0.8961],
 1546            79: [0, 0.68611, 0.09062, 0, 0.85499],
 1547            80: [0, 0.68611, 0.0992, 0, 0.78721],
 1548            81: [0.19444, 0.68611, 0.09062, 0, 0.85499],
 1549            82: [0, 0.68611, 0.02559, 0, 0.85944],
 1550            83: [0, 0.68611, 0.11264, 0, 0.64999],
 1551            84: [0, 0.68611, 0.12903, 0, 0.7961],
 1552            85: [0, 0.68611, 0.17208, 0, 0.88083],
 1553            86: [0, 0.68611, 0.18625, 0, 0.86555],
 1554            87: [0, 0.68611, 0.18625, 0, 1.15999],
 1555            88: [0, 0.68611, 0.15681, 0, 0.86555],
 1556            89: [0, 0.68611, 0.19803, 0, 0.86555],
 1557            90: [0, 0.68611, 0.14208, 0, 0.70888],
 1558            91: [0.25, 0.75, 0.1875, 0, 0.35611],
 1559            93: [0.25, 0.75, 0.09972, 0, 0.35611],
 1560            94: [0, 0.69444, 0.06709, 0, 0.59111],
 1561            95: [0.31, 0.13444, 0.09811, 0, 0.59111],
 1562            97: [0, 0.44444, 0.09426, 0, 0.59111],
 1563            98: [0, 0.69444, 0.07861, 0, 0.53222],
 1564            99: [0, 0.44444, 0.05222, 0, 0.53222],
 1565            100: [0, 0.69444, 0.10861, 0, 0.59111],
 1566            101: [0, 0.44444, 0.085, 0, 0.53222],
 1567            102: [0.19444, 0.69444, 0.21778, 0, 0.4],
 1568            103: [0.19444, 0.44444, 0.105, 0, 0.53222],
 1569            104: [0, 0.69444, 0.09426, 0, 0.59111],
 1570            105: [0, 0.69326, 0.11387, 0, 0.35555],
 1571            106: [0.19444, 0.69326, 0.1672, 0, 0.35555],
 1572            107: [0, 0.69444, 0.11111, 0, 0.53222],
 1573            108: [0, 0.69444, 0.10861, 0, 0.29666],
 1574            109: [0, 0.44444, 0.09426, 0, 0.94444],
 1575            110: [0, 0.44444, 0.09426, 0, 0.64999],
 1576            111: [0, 0.44444, 0.07861, 0, 0.59111],
 1577            112: [0.19444, 0.44444, 0.07861, 0, 0.59111],
 1578            113: [0.19444, 0.44444, 0.105, 0, 0.53222],
 1579            114: [0, 0.44444, 0.11111, 0, 0.50167],
 1580            115: [0, 0.44444, 0.08167, 0, 0.48694],
 1581            116: [0, 0.63492, 0.09639, 0, 0.385],
 1582            117: [0, 0.44444, 0.09426, 0, 0.62055],
 1583            118: [0, 0.44444, 0.11111, 0, 0.53222],
 1584            119: [0, 0.44444, 0.11111, 0, 0.76777],
 1585            120: [0, 0.44444, 0.12583, 0, 0.56055],
 1586            121: [0.19444, 0.44444, 0.105, 0, 0.56166],
 1587            122: [0, 0.44444, 0.13889, 0, 0.49055],
 1588            126: [0.35, 0.34444, 0.11472, 0, 0.59111],
 1589            160: [0, 0, 0, 0, 0.25],
 1590            168: [0, 0.69444, 0.11473, 0, 0.59111],
 1591            176: [0, 0.69444, 0, 0, 0.94888],
 1592            184: [0.17014, 0, 0, 0, 0.53222],
 1593            198: [0, 0.68611, 0.11431, 0, 1.02277],
 1594            216: [0.04861, 0.73472, 0.09062, 0, 0.88555],
 1595            223: [0.19444, 0.69444, 0.09736, 0, 0.665],
 1596            230: [0, 0.44444, 0.085, 0, 0.82666],
 1597            248: [0.09722, 0.54167, 0.09458, 0, 0.59111],
 1598            305: [0, 0.44444, 0.09426, 0, 0.35555],
 1599            338: [0, 0.68611, 0.11431, 0, 1.14054],
 1600            339: [0, 0.44444, 0.085, 0, 0.82666],
 1601            567: [0.19444, 0.44444, 0.04611, 0, 0.385],
 1602            710: [0, 0.69444, 0.06709, 0, 0.59111],
 1603            711: [0, 0.63194, 0.08271, 0, 0.59111],
 1604            713: [0, 0.59444, 0.10444, 0, 0.59111],
 1605            714: [0, 0.69444, 0.08528, 0, 0.59111],
 1606            715: [0, 0.69444, 0, 0, 0.59111],
 1607            728: [0, 0.69444, 0.10333, 0, 0.59111],
 1608            729: [0, 0.69444, 0.12945, 0, 0.35555],
 1609            730: [0, 0.69444, 0, 0, 0.94888],
 1610            732: [0, 0.69444, 0.11472, 0, 0.59111],
 1611            733: [0, 0.69444, 0.11472, 0, 0.59111],
 1612            915: [0, 0.68611, 0.12903, 0, 0.69777],
 1613            916: [0, 0.68611, 0, 0, 0.94444],
 1614            920: [0, 0.68611, 0.09062, 0, 0.88555],
 1615            923: [0, 0.68611, 0, 0, 0.80666],
 1616            926: [0, 0.68611, 0.15092, 0, 0.76777],
 1617            928: [0, 0.68611, 0.17208, 0, 0.8961],
 1618            931: [0, 0.68611, 0.11431, 0, 0.82666],
 1619            933: [0, 0.68611, 0.10778, 0, 0.88555],
 1620            934: [0, 0.68611, 0.05632, 0, 0.82666],
 1621            936: [0, 0.68611, 0.10778, 0, 0.88555],
 1622            937: [0, 0.68611, 0.0992, 0, 0.82666],
 1623            8211: [0, 0.44444, 0.09811, 0, 0.59111],
 1624            8212: [0, 0.44444, 0.09811, 0, 1.18221],
 1625            8216: [0, 0.69444, 0.12945, 0, 0.35555],
 1626            8217: [0, 0.69444, 0.12945, 0, 0.35555],
 1627            8220: [0, 0.69444, 0.16772, 0, 0.62055],
 1628            8221: [0, 0.69444, 0.07939, 0, 0.62055],
 1629          },
 1630          "Main-Italic": {
 1631            32: [0, 0, 0, 0, 0.25],
 1632            33: [0, 0.69444, 0.12417, 0, 0.30667],
 1633            34: [0, 0.69444, 0.06961, 0, 0.51444],
 1634            35: [0.19444, 0.69444, 0.06616, 0, 0.81777],
 1635            37: [0.05556, 0.75, 0.13639, 0, 0.81777],
 1636            38: [0, 0.69444, 0.09694, 0, 0.76666],
 1637            39: [0, 0.69444, 0.12417, 0, 0.30667],
 1638            40: [0.25, 0.75, 0.16194, 0, 0.40889],
 1639            41: [0.25, 0.75, 0.03694, 0, 0.40889],
 1640            42: [0, 0.75, 0.14917, 0, 0.51111],
 1641            43: [0.05667, 0.56167, 0.03694, 0, 0.76666],
 1642            44: [0.19444, 0.10556, 0, 0, 0.30667],
 1643            45: [0, 0.43056, 0.02826, 0, 0.35778],
 1644            46: [0, 0.10556, 0, 0, 0.30667],
 1645            47: [0.25, 0.75, 0.16194, 0, 0.51111],
 1646            48: [0, 0.64444, 0.13556, 0, 0.51111],
 1647            49: [0, 0.64444, 0.13556, 0, 0.51111],
 1648            50: [0, 0.64444, 0.13556, 0, 0.51111],
 1649            51: [0, 0.64444, 0.13556, 0, 0.51111],
 1650            52: [0.19444, 0.64444, 0.13556, 0, 0.51111],
 1651            53: [0, 0.64444, 0.13556, 0, 0.51111],
 1652            54: [0, 0.64444, 0.13556, 0, 0.51111],
 1653            55: [0.19444, 0.64444, 0.13556, 0, 0.51111],
 1654            56: [0, 0.64444, 0.13556, 0, 0.51111],
 1655            57: [0, 0.64444, 0.13556, 0, 0.51111],
 1656            58: [0, 0.43056, 0.0582, 0, 0.30667],
 1657            59: [0.19444, 0.43056, 0.0582, 0, 0.30667],
 1658            61: [-0.13313, 0.36687, 0.06616, 0, 0.76666],
 1659            63: [0, 0.69444, 0.1225, 0, 0.51111],
 1660            64: [0, 0.69444, 0.09597, 0, 0.76666],
 1661            65: [0, 0.68333, 0, 0, 0.74333],
 1662            66: [0, 0.68333, 0.10257, 0, 0.70389],
 1663            67: [0, 0.68333, 0.14528, 0, 0.71555],
 1664            68: [0, 0.68333, 0.09403, 0, 0.755],
 1665            69: [0, 0.68333, 0.12028, 0, 0.67833],
 1666            70: [0, 0.68333, 0.13305, 0, 0.65277],
 1667            71: [0, 0.68333, 0.08722, 0, 0.77361],
 1668            72: [0, 0.68333, 0.16389, 0, 0.74333],
 1669            73: [0, 0.68333, 0.15806, 0, 0.38555],
 1670            74: [0, 0.68333, 0.14028, 0, 0.525],
 1671            75: [0, 0.68333, 0.14528, 0, 0.76888],
 1672            76: [0, 0.68333, 0, 0, 0.62722],
 1673            77: [0, 0.68333, 0.16389, 0, 0.89666],
 1674            78: [0, 0.68333, 0.16389, 0, 0.74333],
 1675            79: [0, 0.68333, 0.09403, 0, 0.76666],
 1676            80: [0, 0.68333, 0.10257, 0, 0.67833],
 1677            81: [0.19444, 0.68333, 0.09403, 0, 0.76666],
 1678            82: [0, 0.68333, 0.03868, 0, 0.72944],
 1679            83: [0, 0.68333, 0.11972, 0, 0.56222],
 1680            84: [0, 0.68333, 0.13305, 0, 0.71555],
 1681            85: [0, 0.68333, 0.16389, 0, 0.74333],
 1682            86: [0, 0.68333, 0.18361, 0, 0.74333],
 1683            87: [0, 0.68333, 0.18361, 0, 0.99888],
 1684            88: [0, 0.68333, 0.15806, 0, 0.74333],
 1685            89: [0, 0.68333, 0.19383, 0, 0.74333],
 1686            90: [0, 0.68333, 0.14528, 0, 0.61333],
 1687            91: [0.25, 0.75, 0.1875, 0, 0.30667],
 1688            93: [0.25, 0.75, 0.10528, 0, 0.30667],
 1689            94: [0, 0.69444, 0.06646, 0, 0.51111],
 1690            95: [0.31, 0.12056, 0.09208, 0, 0.51111],
 1691            97: [0, 0.43056, 0.07671, 0, 0.51111],
 1692            98: [0, 0.69444, 0.06312, 0, 0.46],
 1693            99: [0, 0.43056, 0.05653, 0, 0.46],
 1694            100: [0, 0.69444, 0.10333, 0, 0.51111],
 1695            101: [0, 0.43056, 0.07514, 0, 0.46],
 1696            102: [0.19444, 0.69444, 0.21194, 0, 0.30667],
 1697            103: [0.19444, 0.43056, 0.08847, 0, 0.46],
 1698            104: [0, 0.69444, 0.07671, 0, 0.51111],
 1699            105: [0, 0.65536, 0.1019, 0, 0.30667],
 1700            106: [0.19444, 0.65536, 0.14467, 0, 0.30667],
 1701            107: [0, 0.69444, 0.10764, 0, 0.46],
 1702            108: [0, 0.69444, 0.10333, 0, 0.25555],
 1703            109: [0, 0.43056, 0.07671, 0, 0.81777],
 1704            110: [0, 0.43056, 0.07671, 0, 0.56222],
 1705            111: [0, 0.43056, 0.06312, 0, 0.51111],
 1706            112: [0.19444, 0.43056, 0.06312, 0, 0.51111],
 1707            113: [0.19444, 0.43056, 0.08847, 0, 0.46],
 1708            114: [0, 0.43056, 0.10764, 0, 0.42166],
 1709            115: [0, 0.43056, 0.08208, 0, 0.40889],
 1710            116: [0, 0.61508, 0.09486, 0, 0.33222],
 1711            117: [0, 0.43056, 0.07671, 0, 0.53666],
 1712            118: [0, 0.43056, 0.10764, 0, 0.46],
 1713            119: [0, 0.43056, 0.10764, 0, 0.66444],
 1714            120: [0, 0.43056, 0.12042, 0, 0.46389],
 1715            121: [0.19444, 0.43056, 0.08847, 0, 0.48555],
 1716            122: [0, 0.43056, 0.12292, 0, 0.40889],
 1717            126: [0.35, 0.31786, 0.11585, 0, 0.51111],
 1718            160: [0, 0, 0, 0, 0.25],
 1719            168: [0, 0.66786, 0.10474, 0, 0.51111],
 1720            176: [0, 0.69444, 0, 0, 0.83129],
 1721            184: [0.17014, 0, 0, 0, 0.46],
 1722            198: [0, 0.68333, 0.12028, 0, 0.88277],
 1723            216: [0.04861, 0.73194, 0.09403, 0, 0.76666],
 1724            223: [0.19444, 0.69444, 0.10514, 0, 0.53666],
 1725            230: [0, 0.43056, 0.07514, 0, 0.71555],
 1726            248: [0.09722, 0.52778, 0.09194, 0, 0.51111],
 1727            338: [0, 0.68333, 0.12028, 0, 0.98499],
 1728            339: [0, 0.43056, 0.07514, 0, 0.71555],
 1729            710: [0, 0.69444, 0.06646, 0, 0.51111],
 1730            711: [0, 0.62847, 0.08295, 0, 0.51111],
 1731            713: [0, 0.56167, 0.10333, 0, 0.51111],
 1732            714: [0, 0.69444, 0.09694, 0, 0.51111],
 1733            715: [0, 0.69444, 0, 0, 0.51111],
 1734            728: [0, 0.69444, 0.10806, 0, 0.51111],
 1735            729: [0, 0.66786, 0.11752, 0, 0.30667],
 1736            730: [0, 0.69444, 0, 0, 0.83129],
 1737            732: [0, 0.66786, 0.11585, 0, 0.51111],
 1738            733: [0, 0.69444, 0.1225, 0, 0.51111],
 1739            915: [0, 0.68333, 0.13305, 0, 0.62722],
 1740            916: [0, 0.68333, 0, 0, 0.81777],
 1741            920: [0, 0.68333, 0.09403, 0, 0.76666],
 1742            923: [0, 0.68333, 0, 0, 0.69222],
 1743            926: [0, 0.68333, 0.15294, 0, 0.66444],
 1744            928: [0, 0.68333, 0.16389, 0, 0.74333],
 1745            931: [0, 0.68333, 0.12028, 0, 0.71555],
 1746            933: [0, 0.68333, 0.11111, 0, 0.76666],
 1747            934: [0, 0.68333, 0.05986, 0, 0.71555],
 1748            936: [0, 0.68333, 0.11111, 0, 0.76666],
 1749            937: [0, 0.68333, 0.10257, 0, 0.71555],
 1750            8211: [0, 0.43056, 0.09208, 0, 0.51111],
 1751            8212: [0, 0.43056, 0.09208, 0, 1.02222],
 1752            8216: [0, 0.69444, 0.12417, 0, 0.30667],
 1753            8217: [0, 0.69444, 0.12417, 0, 0.30667],
 1754            8220: [0, 0.69444, 0.1685, 0, 0.51444],
 1755            8221: [0, 0.69444, 0.06961, 0, 0.51444],
 1756            8463: [0, 0.68889, 0, 0, 0.54028],
 1757          },
 1758          "Main-Regular": {
 1759            32: [0, 0, 0, 0, 0.25],
 1760            33: [0, 0.69444, 0, 0, 0.27778],
 1761            34: [0, 0.69444, 0, 0, 0.5],
 1762            35: [0.19444, 0.69444, 0, 0, 0.83334],
 1763            36: [0.05556, 0.75, 0, 0, 0.5],
 1764            37: [0.05556, 0.75, 0, 0, 0.83334],
 1765            38: [0, 0.69444, 0, 0, 0.77778],
 1766            39: [0, 0.69444, 0, 0, 0.27778],
 1767            40: [0.25, 0.75, 0, 0, 0.38889],
 1768            41: [0.25, 0.75, 0, 0, 0.38889],
 1769            42: [0, 0.75, 0, 0, 0.5],
 1770            43: [0.08333, 0.58333, 0, 0, 0.77778],
 1771            44: [0.19444, 0.10556, 0, 0, 0.27778],
 1772            45: [0, 0.43056, 0, 0, 0.33333],
 1773            46: [0, 0.10556, 0, 0, 0.27778],
 1774            47: [0.25, 0.75, 0, 0, 0.5],
 1775            48: [0, 0.64444, 0, 0, 0.5],
 1776            49: [0, 0.64444, 0, 0, 0.5],
 1777            50: [0, 0.64444, 0, 0, 0.5],
 1778            51: [0, 0.64444, 0, 0, 0.5],
 1779            52: [0, 0.64444, 0, 0, 0.5],
 1780            53: [0, 0.64444, 0, 0, 0.5],
 1781            54: [0, 0.64444, 0, 0, 0.5],
 1782            55: [0, 0.64444, 0, 0, 0.5],
 1783            56: [0, 0.64444, 0, 0, 0.5],
 1784            57: [0, 0.64444, 0, 0, 0.5],
 1785            58: [0, 0.43056, 0, 0, 0.27778],
 1786            59: [0.19444, 0.43056, 0, 0, 0.27778],
 1787            60: [0.0391, 0.5391, 0, 0, 0.77778],
 1788            61: [-0.13313, 0.36687, 0, 0, 0.77778],
 1789            62: [0.0391, 0.5391, 0, 0, 0.77778],
 1790            63: [0, 0.69444, 0, 0, 0.47222],
 1791            64: [0, 0.69444, 0, 0, 0.77778],
 1792            65: [0, 0.68333, 0, 0, 0.75],
 1793            66: [0, 0.68333, 0, 0, 0.70834],
 1794            67: [0, 0.68333, 0, 0, 0.72222],
 1795            68: [0, 0.68333, 0, 0, 0.76389],
 1796            69: [0, 0.68333, 0, 0, 0.68056],
 1797            70: [0, 0.68333, 0, 0, 0.65278],
 1798            71: [0, 0.68333, 0, 0, 0.78472],
 1799            72: [0, 0.68333, 0, 0, 0.75],
 1800            73: [0, 0.68333, 0, 0, 0.36111],
 1801            74: [0, 0.68333, 0, 0, 0.51389],
 1802            75: [0, 0.68333, 0, 0, 0.77778],
 1803            76: [0, 0.68333, 0, 0, 0.625],
 1804            77: [0, 0.68333, 0, 0, 0.91667],
 1805            78: [0, 0.68333, 0, 0, 0.75],
 1806            79: [0, 0.68333, 0, 0, 0.77778],
 1807            80: [0, 0.68333, 0, 0, 0.68056],
 1808            81: [0.19444, 0.68333, 0, 0, 0.77778],
 1809            82: [0, 0.68333, 0, 0, 0.73611],
 1810            83: [0, 0.68333, 0, 0, 0.55556],
 1811            84: [0, 0.68333, 0, 0, 0.72222],
 1812            85: [0, 0.68333, 0, 0, 0.75],
 1813            86: [0, 0.68333, 0.01389, 0, 0.75],
 1814            87: [0, 0.68333, 0.01389, 0, 1.02778],
 1815            88: [0, 0.68333, 0, 0, 0.75],
 1816            89: [0, 0.68333, 0.025, 0, 0.75],
 1817            90: [0, 0.68333, 0, 0, 0.61111],
 1818            91: [0.25, 0.75, 0, 0, 0.27778],
 1819            92: [0.25, 0.75, 0, 0, 0.5],
 1820            93: [0.25, 0.75, 0, 0, 0.27778],
 1821            94: [0, 0.69444, 0, 0, 0.5],
 1822            95: [0.31, 0.12056, 0.02778, 0, 0.5],
 1823            97: [0, 0.43056, 0, 0, 0.5],
 1824            98: [0, 0.69444, 0, 0, 0.55556],
 1825            99: [0, 0.43056, 0, 0, 0.44445],
 1826            100: [0, 0.69444, 0, 0, 0.55556],
 1827            101: [0, 0.43056, 0, 0, 0.44445],
 1828            102: [0, 0.69444, 0.07778, 0, 0.30556],
 1829            103: [0.19444, 0.43056, 0.01389, 0, 0.5],
 1830            104: [0, 0.69444, 0, 0, 0.55556],
 1831            105: [0, 0.66786, 0, 0, 0.27778],
 1832            106: [0.19444, 0.66786, 0, 0, 0.30556],
 1833            107: [0, 0.69444, 0, 0, 0.52778],
 1834            108: [0, 0.69444, 0, 0, 0.27778],
 1835            109: [0, 0.43056, 0, 0, 0.83334],
 1836            110: [0, 0.43056, 0, 0, 0.55556],
 1837            111: [0, 0.43056, 0, 0, 0.5],
 1838            112: [0.19444, 0.43056, 0, 0, 0.55556],
 1839            113: [0.19444, 0.43056, 0, 0, 0.52778],
 1840            114: [0, 0.43056, 0, 0, 0.39167],
 1841            115: [0, 0.43056, 0, 0, 0.39445],
 1842            116: [0, 0.61508, 0, 0, 0.38889],
 1843            117: [0, 0.43056, 0, 0, 0.55556],
 1844            118: [0, 0.43056, 0.01389, 0, 0.52778],
 1845            119: [0, 0.43056, 0.01389, 0, 0.72222],
 1846            120: [0, 0.43056, 0, 0, 0.52778],
 1847            121: [0.19444, 0.43056, 0.01389, 0, 0.52778],
 1848            122: [0, 0.43056, 0, 0, 0.44445],
 1849            123: [0.25, 0.75, 0, 0, 0.5],
 1850            124: [0.25, 0.75, 0, 0, 0.27778],
 1851            125: [0.25, 0.75, 0, 0, 0.5],
 1852            126: [0.35, 0.31786, 0, 0, 0.5],
 1853            160: [0, 0, 0, 0, 0.25],
 1854            163: [0, 0.69444, 0, 0, 0.76909],
 1855            167: [0.19444, 0.69444, 0, 0, 0.44445],
 1856            168: [0, 0.66786, 0, 0, 0.5],
 1857            172: [0, 0.43056, 0, 0, 0.66667],
 1858            176: [0, 0.69444, 0, 0, 0.75],
 1859            177: [0.08333, 0.58333, 0, 0, 0.77778],
 1860            182: [0.19444, 0.69444, 0, 0, 0.61111],
 1861            184: [0.17014, 0, 0, 0, 0.44445],
 1862            198: [0, 0.68333, 0, 0, 0.90278],
 1863            215: [0.08333, 0.58333, 0, 0, 0.77778],
 1864            216: [0.04861, 0.73194, 0, 0, 0.77778],
 1865            223: [0, 0.69444, 0, 0, 0.5],
 1866            230: [0, 0.43056, 0, 0, 0.72222],
 1867            247: [0.08333, 0.58333, 0, 0, 0.77778],
 1868            248: [0.09722, 0.52778, 0, 0, 0.5],
 1869            305: [0, 0.43056, 0, 0, 0.27778],
 1870            338: [0, 0.68333, 0, 0, 1.01389],
 1871            339: [0, 0.43056, 0, 0, 0.77778],
 1872            567: [0.19444, 0.43056, 0, 0, 0.30556],
 1873            710: [0, 0.69444, 0, 0, 0.5],
 1874            711: [0, 0.62847, 0, 0, 0.5],
 1875            713: [0, 0.56778, 0, 0, 0.5],
 1876            714: [0, 0.69444, 0, 0, 0.5],
 1877            715: [0, 0.69444, 0, 0, 0.5],
 1878            728: [0, 0.69444, 0, 0, 0.5],
 1879            729: [0, 0.66786, 0, 0, 0.27778],
 1880            730: [0, 0.69444, 0, 0, 0.75],
 1881            732: [0, 0.66786, 0, 0, 0.5],
 1882            733: [0, 0.69444, 0, 0, 0.5],
 1883            915: [0, 0.68333, 0, 0, 0.625],
 1884            916: [0, 0.68333, 0, 0, 0.83334],
 1885            920: [0, 0.68333, 0, 0, 0.77778],
 1886            923: [0, 0.68333, 0, 0, 0.69445],
 1887            926: [0, 0.68333, 0, 0, 0.66667],
 1888            928: [0, 0.68333, 0, 0, 0.75],
 1889            931: [0, 0.68333, 0, 0, 0.72222],
 1890            933: [0, 0.68333, 0, 0, 0.77778],
 1891            934: [0, 0.68333, 0, 0, 0.72222],
 1892            936: [0, 0.68333, 0, 0, 0.77778],
 1893            937: [0, 0.68333, 0, 0, 0.72222],
 1894            8211: [0, 0.43056, 0.02778, 0, 0.5],
 1895            8212: [0, 0.43056, 0.02778, 0, 1],
 1896            8216: [0, 0.69444, 0, 0, 0.27778],
 1897            8217: [0, 0.69444, 0, 0, 0.27778],
 1898            8220: [0, 0.69444, 0, 0, 0.5],
 1899            8221: [0, 0.69444, 0, 0, 0.5],
 1900            8224: [0.19444, 0.69444, 0, 0, 0.44445],
 1901            8225: [0.19444, 0.69444, 0, 0, 0.44445],
 1902            8230: [0, 0.12, 0, 0, 1.172],
 1903            8242: [0, 0.55556, 0, 0, 0.275],
 1904            8407: [0, 0.71444, 0.15382, 0, 0.5],
 1905            8463: [0, 0.68889, 0, 0, 0.54028],
 1906            8465: [0, 0.69444, 0, 0, 0.72222],
 1907            8467: [0, 0.69444, 0, 0.11111, 0.41667],
 1908            8472: [0.19444, 0.43056, 0, 0.11111, 0.63646],
 1909            8476: [0, 0.69444, 0, 0, 0.72222],
 1910            8501: [0, 0.69444, 0, 0, 0.61111],
 1911            8592: [-0.13313, 0.36687, 0, 0, 1],
 1912            8593: [0.19444, 0.69444, 0, 0, 0.5],
 1913            8594: [-0.13313, 0.36687, 0, 0, 1],
 1914            8595: [0.19444, 0.69444, 0, 0, 0.5],
 1915            8596: [-0.13313, 0.36687, 0, 0, 1],
 1916            8597: [0.25, 0.75, 0, 0, 0.5],
 1917            8598: [0.19444, 0.69444, 0, 0, 1],
 1918            8599: [0.19444, 0.69444, 0, 0, 1],
 1919            8600: [0.19444, 0.69444, 0, 0, 1],
 1920            8601: [0.19444, 0.69444, 0, 0, 1],
 1921            8614: [0.011, 0.511, 0, 0, 1],
 1922            8617: [0.011, 0.511, 0, 0, 1.126],
 1923            8618: [0.011, 0.511, 0, 0, 1.126],
 1924            8636: [-0.13313, 0.36687, 0, 0, 1],
 1925            8637: [-0.13313, 0.36687, 0, 0, 1],
 1926            8640: [-0.13313, 0.36687, 0, 0, 1],
 1927            8641: [-0.13313, 0.36687, 0, 0, 1],
 1928            8652: [0.011, 0.671, 0, 0, 1],
 1929            8656: [-0.13313, 0.36687, 0, 0, 1],
 1930            8657: [0.19444, 0.69444, 0, 0, 0.61111],
 1931            8658: [-0.13313, 0.36687, 0, 0, 1],
 1932            8659: [0.19444, 0.69444, 0, 0, 0.61111],
 1933            8660: [-0.13313, 0.36687, 0, 0, 1],
 1934            8661: [0.25, 0.75, 0, 0, 0.61111],
 1935            8704: [0, 0.69444, 0, 0, 0.55556],
 1936            8706: [0, 0.69444, 0.05556, 0.08334, 0.5309],
 1937            8707: [0, 0.69444, 0, 0, 0.55556],
 1938            8709: [0.05556, 0.75, 0, 0, 0.5],
 1939            8711: [0, 0.68333, 0, 0, 0.83334],
 1940            8712: [0.0391, 0.5391, 0, 0, 0.66667],
 1941            8715: [0.0391, 0.5391, 0, 0, 0.66667],
 1942            8722: [0.08333, 0.58333, 0, 0, 0.77778],
 1943            8723: [0.08333, 0.58333, 0, 0, 0.77778],
 1944            8725: [0.25, 0.75, 0, 0, 0.5],
 1945            8726: [0.25, 0.75, 0, 0, 0.5],
 1946            8727: [-0.03472, 0.46528, 0, 0, 0.5],
 1947            8728: [-0.05555, 0.44445, 0, 0, 0.5],
 1948            8729: [-0.05555, 0.44445, 0, 0, 0.5],
 1949            8730: [0.2, 0.8, 0, 0, 0.83334],
 1950            8733: [0, 0.43056, 0, 0, 0.77778],
 1951            8734: [0, 0.43056, 0, 0, 1],
 1952            8736: [0, 0.69224, 0, 0, 0.72222],
 1953            8739: [0.25, 0.75, 0, 0, 0.27778],
 1954            8741: [0.25, 0.75, 0, 0, 0.5],
 1955            8743: [0, 0.55556, 0, 0, 0.66667],
 1956            8744: [0, 0.55556, 0, 0, 0.66667],
 1957            8745: [0, 0.55556, 0, 0, 0.66667],
 1958            8746: [0, 0.55556, 0, 0, 0.66667],
 1959            8747: [0.19444, 0.69444, 0.11111, 0, 0.41667],
 1960            8764: [-0.13313, 0.36687, 0, 0, 0.77778],
 1961            8768: [0.19444, 0.69444, 0, 0, 0.27778],
 1962            8771: [-0.03625, 0.46375, 0, 0, 0.77778],
 1963            8773: [-0.022, 0.589, 0, 0, 1],
 1964            8776: [-0.01688, 0.48312, 0, 0, 0.77778],
 1965            8781: [-0.03625, 0.46375, 0, 0, 0.77778],
 1966            8784: [-0.133, 0.67, 0, 0, 0.778],
 1967            8801: [-0.03625, 0.46375, 0, 0, 0.77778],
 1968            8804: [0.13597, 0.63597, 0, 0, 0.77778],
 1969            8805: [0.13597, 0.63597, 0, 0, 0.77778],
 1970            8810: [0.0391, 0.5391, 0, 0, 1],
 1971            8811: [0.0391, 0.5391, 0, 0, 1],
 1972            8826: [0.0391, 0.5391, 0, 0, 0.77778],
 1973            8827: [0.0391, 0.5391, 0, 0, 0.77778],
 1974            8834: [0.0391, 0.5391, 0, 0, 0.77778],
 1975            8835: [0.0391, 0.5391, 0, 0, 0.77778],
 1976            8838: [0.13597, 0.63597, 0, 0, 0.77778],
 1977            8839: [0.13597, 0.63597, 0, 0, 0.77778],
 1978            8846: [0, 0.55556, 0, 0, 0.66667],
 1979            8849: [0.13597, 0.63597, 0, 0, 0.77778],
 1980            8850: [0.13597, 0.63597, 0, 0, 0.77778],
 1981            8851: [0, 0.55556, 0, 0, 0.66667],
 1982            8852: [0, 0.55556, 0, 0, 0.66667],
 1983            8853: [0.08333, 0.58333, 0, 0, 0.77778],
 1984            8854: [0.08333, 0.58333, 0, 0, 0.77778],
 1985            8855: [0.08333, 0.58333, 0, 0, 0.77778],
 1986            8856: [0.08333, 0.58333, 0, 0, 0.77778],
 1987            8857: [0.08333, 0.58333, 0, 0, 0.77778],
 1988            8866: [0, 0.69444, 0, 0, 0.61111],
 1989            8867: [0, 0.69444, 0, 0, 0.61111],
 1990            8868: [0, 0.69444, 0, 0, 0.77778],
 1991            8869: [0, 0.69444, 0, 0, 0.77778],
 1992            8872: [0.249, 0.75, 0, 0, 0.867],
 1993            8900: [-0.05555, 0.44445, 0, 0, 0.5],
 1994            8901: [-0.05555, 0.44445, 0, 0, 0.27778],
 1995            8902: [-0.03472, 0.46528, 0, 0, 0.5],
 1996            8904: [0.005, 0.505, 0, 0, 0.9],
 1997            8942: [0.03, 0.9, 0, 0, 0.278],
 1998            8943: [-0.19, 0.31, 0, 0, 1.172],
 1999            8945: [-0.1, 0.82, 0, 0, 1.282],
 2000            8968: [0.25, 0.75, 0, 0, 0.44445],
 2001            8969: [0.25, 0.75, 0, 0, 0.44445],
 2002            8970: [0.25, 0.75, 0, 0, 0.44445],
 2003            8971: [0.25, 0.75, 0, 0, 0.44445],
 2004            8994: [-0.14236, 0.35764, 0, 0, 1],
 2005            8995: [-0.14236, 0.35764, 0, 0, 1],
 2006            9136: [0.244, 0.744, 0, 0, 0.412],
 2007            9137: [0.244, 0.744, 0, 0, 0.412],
 2008            9651: [0.19444, 0.69444, 0, 0, 0.88889],
 2009            9657: [-0.03472, 0.46528, 0, 0, 0.5],
 2010            9661: [0.19444, 0.69444, 0, 0, 0.88889],
 2011            9667: [-0.03472, 0.46528, 0, 0, 0.5],
 2012            9711: [0.19444, 0.69444, 0, 0, 1],
 2013            9824: [0.12963, 0.69444, 0, 0, 0.77778],
 2014            9825: [0.12963, 0.69444, 0, 0, 0.77778],
 2015            9826: [0.12963, 0.69444, 0, 0, 0.77778],
 2016            9827: [0.12963, 0.69444, 0, 0, 0.77778],
 2017            9837: [0, 0.75, 0, 0, 0.38889],
 2018            9838: [0.19444, 0.69444, 0, 0, 0.38889],
 2019            9839: [0.19444, 0.69444, 0, 0, 0.38889],
 2020            10216: [0.25, 0.75, 0, 0, 0.38889],
 2021            10217: [0.25, 0.75, 0, 0, 0.38889],
 2022            10222: [0.244, 0.744, 0, 0, 0.412],
 2023            10223: [0.244, 0.744, 0, 0, 0.412],
 2024            10229: [0.011, 0.511, 0, 0, 1.609],
 2025            10230: [0.011, 0.511, 0, 0, 1.638],
 2026            10231: [0.011, 0.511, 0, 0, 1.859],
 2027            10232: [0.024, 0.525, 0, 0, 1.609],
 2028            10233: [0.024, 0.525, 0, 0, 1.638],
 2029            10234: [0.024, 0.525, 0, 0, 1.858],
 2030            10236: [0.011, 0.511, 0, 0, 1.638],
 2031            10815: [0, 0.68333, 0, 0, 0.75],
 2032            10927: [0.13597, 0.63597, 0, 0, 0.77778],
 2033            10928: [0.13597, 0.63597, 0, 0, 0.77778],
 2034            57376: [0.19444, 0.69444, 0, 0, 0],
 2035          },
 2036          "Math-BoldItalic": {
 2037            32: [0, 0, 0, 0, 0.25],
 2038            48: [0, 0.44444, 0, 0, 0.575],
 2039            49: [0, 0.44444, 0, 0, 0.575],
 2040            50: [0, 0.44444, 0, 0, 0.575],
 2041            51: [0.19444, 0.44444, 0, 0, 0.575],
 2042            52: [0.19444, 0.44444, 0, 0, 0.575],
 2043            53: [0.19444, 0.44444, 0, 0, 0.575],
 2044            54: [0, 0.64444, 0, 0, 0.575],
 2045            55: [0.19444, 0.44444, 0, 0, 0.575],
 2046            56: [0, 0.64444, 0, 0, 0.575],
 2047            57: [0.19444, 0.44444, 0, 0, 0.575],
 2048            65: [0, 0.68611, 0, 0, 0.86944],
 2049            66: [0, 0.68611, 0.04835, 0, 0.8664],
 2050            67: [0, 0.68611, 0.06979, 0, 0.81694],
 2051            68: [0, 0.68611, 0.03194, 0, 0.93812],
 2052            69: [0, 0.68611, 0.05451, 0, 0.81007],
 2053            70: [0, 0.68611, 0.15972, 0, 0.68889],
 2054            71: [0, 0.68611, 0, 0, 0.88673],
 2055            72: [0, 0.68611, 0.08229, 0, 0.98229],
 2056            73: [0, 0.68611, 0.07778, 0, 0.51111],
 2057            74: [0, 0.68611, 0.10069, 0, 0.63125],
 2058            75: [0, 0.68611, 0.06979, 0, 0.97118],
 2059            76: [0, 0.68611, 0, 0, 0.75555],
 2060            77: [0, 0.68611, 0.11424, 0, 1.14201],
 2061            78: [0, 0.68611, 0.11424, 0, 0.95034],
 2062            79: [0, 0.68611, 0.03194, 0, 0.83666],
 2063            80: [0, 0.68611, 0.15972, 0, 0.72309],
 2064            81: [0.19444, 0.68611, 0, 0, 0.86861],
 2065            82: [0, 0.68611, 0.00421, 0, 0.87235],
 2066            83: [0, 0.68611, 0.05382, 0, 0.69271],
 2067            84: [0, 0.68611, 0.15972, 0, 0.63663],
 2068            85: [0, 0.68611, 0.11424, 0, 0.80027],
 2069            86: [0, 0.68611, 0.25555, 0, 0.67778],
 2070            87: [0, 0.68611, 0.15972, 0, 1.09305],
 2071            88: [0, 0.68611, 0.07778, 0, 0.94722],
 2072            89: [0, 0.68611, 0.25555, 0, 0.67458],
 2073            90: [0, 0.68611, 0.06979, 0, 0.77257],
 2074            97: [0, 0.44444, 0, 0, 0.63287],
 2075            98: [0, 0.69444, 0, 0, 0.52083],
 2076            99: [0, 0.44444, 0, 0, 0.51342],
 2077            100: [0, 0.69444, 0, 0, 0.60972],
 2078            101: [0, 0.44444, 0, 0, 0.55361],
 2079            102: [0.19444, 0.69444, 0.11042, 0, 0.56806],
 2080            103: [0.19444, 0.44444, 0.03704, 0, 0.5449],
 2081            104: [0, 0.69444, 0, 0, 0.66759],
 2082            105: [0, 0.69326, 0, 0, 0.4048],
 2083            106: [0.19444, 0.69326, 0.0622, 0, 0.47083],
 2084            107: [0, 0.69444, 0.01852, 0, 0.6037],
 2085            108: [0, 0.69444, 0.0088, 0, 0.34815],
 2086            109: [0, 0.44444, 0, 0, 1.0324],
 2087            110: [0, 0.44444, 0, 0, 0.71296],
 2088            111: [0, 0.44444, 0, 0, 0.58472],
 2089            112: [0.19444, 0.44444, 0, 0, 0.60092],
 2090            113: [0.19444, 0.44444, 0.03704, 0, 0.54213],
 2091            114: [0, 0.44444, 0.03194, 0, 0.5287],
 2092            115: [0, 0.44444, 0, 0, 0.53125],
 2093            116: [0, 0.63492, 0, 0, 0.41528],
 2094            117: [0, 0.44444, 0, 0, 0.68102],
 2095            118: [0, 0.44444, 0.03704, 0, 0.56666],
 2096            119: [0, 0.44444, 0.02778, 0, 0.83148],
 2097            120: [0, 0.44444, 0, 0, 0.65903],
 2098            121: [0.19444, 0.44444, 0.03704, 0, 0.59028],
 2099            122: [0, 0.44444, 0.04213, 0, 0.55509],
 2100            160: [0, 0, 0, 0, 0.25],
 2101            915: [0, 0.68611, 0.15972, 0, 0.65694],
 2102            916: [0, 0.68611, 0, 0, 0.95833],
 2103            920: [0, 0.68611, 0.03194, 0, 0.86722],
 2104            923: [0, 0.68611, 0, 0, 0.80555],
 2105            926: [0, 0.68611, 0.07458, 0, 0.84125],
 2106            928: [0, 0.68611, 0.08229, 0, 0.98229],
 2107            931: [0, 0.68611, 0.05451, 0, 0.88507],
 2108            933: [0, 0.68611, 0.15972, 0, 0.67083],
 2109            934: [0, 0.68611, 0, 0, 0.76666],
 2110            936: [0, 0.68611, 0.11653, 0, 0.71402],
 2111            937: [0, 0.68611, 0.04835, 0, 0.8789],
 2112            945: [0, 0.44444, 0, 0, 0.76064],
 2113            946: [0.19444, 0.69444, 0.03403, 0, 0.65972],
 2114            947: [0.19444, 0.44444, 0.06389, 0, 0.59003],
 2115            948: [0, 0.69444, 0.03819, 0, 0.52222],
 2116            949: [0, 0.44444, 0, 0, 0.52882],
 2117            950: [0.19444, 0.69444, 0.06215, 0, 0.50833],
 2118            951: [0.19444, 0.44444, 0.03704, 0, 0.6],
 2119            952: [0, 0.69444, 0.03194, 0, 0.5618],
 2120            953: [0, 0.44444, 0, 0, 0.41204],
 2121            954: [0, 0.44444, 0, 0, 0.66759],
 2122            955: [0, 0.69444, 0, 0, 0.67083],
 2123            956: [0.19444, 0.44444, 0, 0, 0.70787],
 2124            957: [0, 0.44444, 0.06898, 0, 0.57685],
 2125            958: [0.19444, 0.69444, 0.03021, 0, 0.50833],
 2126            959: [0, 0.44444, 0, 0, 0.58472],
 2127            960: [0, 0.44444, 0.03704, 0, 0.68241],
 2128            961: [0.19444, 0.44444, 0, 0, 0.6118],
 2129            962: [0.09722, 0.44444, 0.07917, 0, 0.42361],
 2130            963: [0, 0.44444, 0.03704, 0, 0.68588],
 2131            964: [0, 0.44444, 0.13472, 0, 0.52083],
 2132            965: [0, 0.44444, 0.03704, 0, 0.63055],
 2133            966: [0.19444, 0.44444, 0, 0, 0.74722],
 2134            967: [0.19444, 0.44444, 0, 0, 0.71805],
 2135            968: [0.19444, 0.69444, 0.03704, 0, 0.75833],
 2136            969: [0, 0.44444, 0.03704, 0, 0.71782],
 2137            977: [0, 0.69444, 0, 0, 0.69155],
 2138            981: [0.19444, 0.69444, 0, 0, 0.7125],
 2139            982: [0, 0.44444, 0.03194, 0, 0.975],
 2140            1009: [0.19444, 0.44444, 0, 0, 0.6118],
 2141            1013: [0, 0.44444, 0, 0, 0.48333],
 2142            57649: [0, 0.44444, 0, 0, 0.39352],
 2143            57911: [0.19444, 0.44444, 0, 0, 0.43889],
 2144          },
 2145          "Math-Italic": {
 2146            32: [0, 0, 0, 0, 0.25],
 2147            48: [0, 0.43056, 0, 0, 0.5],
 2148            49: [0, 0.43056, 0, 0, 0.5],
 2149            50: [0, 0.43056, 0, 0, 0.5],
 2150            51: [0.19444, 0.43056, 0, 0, 0.5],
 2151            52: [0.19444, 0.43056, 0, 0, 0.5],
 2152            53: [0.19444, 0.43056, 0, 0, 0.5],
 2153            54: [0, 0.64444, 0, 0, 0.5],
 2154            55: [0.19444, 0.43056, 0, 0, 0.5],
 2155            56: [0, 0.64444, 0, 0, 0.5],
 2156            57: [0.19444, 0.43056, 0, 0, 0.5],
 2157            65: [0, 0.68333, 0, 0.13889, 0.75],
 2158            66: [0, 0.68333, 0.05017, 0.08334, 0.75851],
 2159            67: [0, 0.68333, 0.07153, 0.08334, 0.71472],
 2160            68: [0, 0.68333, 0.02778, 0.05556, 0.82792],
 2161            69: [0, 0.68333, 0.05764, 0.08334, 0.7382],
 2162            70: [0, 0.68333, 0.13889, 0.08334, 0.64306],
 2163            71: [0, 0.68333, 0, 0.08334, 0.78625],
 2164            72: [0, 0.68333, 0.08125, 0.05556, 0.83125],
 2165            73: [0, 0.68333, 0.07847, 0.11111, 0.43958],
 2166            74: [0, 0.68333, 0.09618, 0.16667, 0.55451],
 2167            75: [0, 0.68333, 0.07153, 0.05556, 0.84931],
 2168            76: [0, 0.68333, 0, 0.02778, 0.68056],
 2169            77: [0, 0.68333, 0.10903, 0.08334, 0.97014],
 2170            78: [0, 0.68333, 0.10903, 0.08334, 0.80347],
 2171            79: [0, 0.68333, 0.02778, 0.08334, 0.76278],
 2172            80: [0, 0.68333, 0.13889, 0.08334, 0.64201],
 2173            81: [0.19444, 0.68333, 0, 0.08334, 0.79056],
 2174            82: [0, 0.68333, 0.00773, 0.08334, 0.75929],
 2175            83: [0, 0.68333, 0.05764, 0.08334, 0.6132],
 2176            84: [0, 0.68333, 0.13889, 0.08334, 0.58438],
 2177            85: [0, 0.68333, 0.10903, 0.02778, 0.68278],
 2178            86: [0, 0.68333, 0.22222, 0, 0.58333],
 2179            87: [0, 0.68333, 0.13889, 0, 0.94445],
 2180            88: [0, 0.68333, 0.07847, 0.08334, 0.82847],
 2181            89: [0, 0.68333, 0.22222, 0, 0.58056],
 2182            90: [0, 0.68333, 0.07153, 0.08334, 0.68264],
 2183            97: [0, 0.43056, 0, 0, 0.52859],
 2184            98: [0, 0.69444, 0, 0, 0.42917],
 2185            99: [0, 0.43056, 0, 0.05556, 0.43276],
 2186            100: [0, 0.69444, 0, 0.16667, 0.52049],
 2187            101: [0, 0.43056, 0, 0.05556, 0.46563],
 2188            102: [0.19444, 0.69444, 0.10764, 0.16667, 0.48959],
 2189            103: [0.19444, 0.43056, 0.03588, 0.02778, 0.47697],
 2190            104: [0, 0.69444, 0, 0, 0.57616],
 2191            105: [0, 0.65952, 0, 0, 0.34451],
 2192            106: [0.19444, 0.65952, 0.05724, 0, 0.41181],
 2193            107: [0, 0.69444, 0.03148, 0, 0.5206],
 2194            108: [0, 0.69444, 0.01968, 0.08334, 0.29838],
 2195            109: [0, 0.43056, 0, 0, 0.87801],
 2196            110: [0, 0.43056, 0, 0, 0.60023],
 2197            111: [0, 0.43056, 0, 0.05556, 0.48472],
 2198            112: [0.19444, 0.43056, 0, 0.08334, 0.50313],
 2199            113: [0.19444, 0.43056, 0.03588, 0.08334, 0.44641],
 2200            114: [0, 0.43056, 0.02778, 0.05556, 0.45116],
 2201            115: [0, 0.43056, 0, 0.05556, 0.46875],
 2202            116: [0, 0.61508, 0, 0.08334, 0.36111],
 2203            117: [0, 0.43056, 0, 0.02778, 0.57246],
 2204            118: [0, 0.43056, 0.03588, 0.02778, 0.48472],
 2205            119: [0, 0.43056, 0.02691, 0.08334, 0.71592],
 2206            120: [0, 0.43056, 0, 0.02778, 0.57153],
 2207            121: [0.19444, 0.43056, 0.03588, 0.05556, 0.49028],
 2208            122: [0, 0.43056, 0.04398, 0.05556, 0.46505],
 2209            160: [0, 0, 0, 0, 0.25],
 2210            915: [0, 0.68333, 0.13889, 0.08334, 0.61528],
 2211            916: [0, 0.68333, 0, 0.16667, 0.83334],
 2212            920: [0, 0.68333, 0.02778, 0.08334, 0.76278],
 2213            923: [0, 0.68333, 0, 0.16667, 0.69445],
 2214            926: [0, 0.68333, 0.07569, 0.08334, 0.74236],
 2215            928: [0, 0.68333, 0.08125, 0.05556, 0.83125],
 2216            931: [0, 0.68333, 0.05764, 0.08334, 0.77986],
 2217            933: [0, 0.68333, 0.13889, 0.05556, 0.58333],
 2218            934: [0, 0.68333, 0, 0.08334, 0.66667],
 2219            936: [0, 0.68333, 0.11, 0.05556, 0.61222],
 2220            937: [0, 0.68333, 0.05017, 0.08334, 0.7724],
 2221            945: [0, 0.43056, 0.0037, 0.02778, 0.6397],
 2222            946: [0.19444, 0.69444, 0.05278, 0.08334, 0.56563],
 2223            947: [0.19444, 0.43056, 0.05556, 0, 0.51773],
 2224            948: [0, 0.69444, 0.03785, 0.05556, 0.44444],
 2225            949: [0, 0.43056, 0, 0.08334, 0.46632],
 2226            950: [0.19444, 0.69444, 0.07378, 0.08334, 0.4375],
 2227            951: [0.19444, 0.43056, 0.03588, 0.05556, 0.49653],
 2228            952: [0, 0.69444, 0.02778, 0.08334, 0.46944],
 2229            953: [0, 0.43056, 0, 0.05556, 0.35394],
 2230            954: [0, 0.43056, 0, 0, 0.57616],
 2231            955: [0, 0.69444, 0, 0, 0.58334],
 2232            956: [0.19444, 0.43056, 0, 0.02778, 0.60255],
 2233            957: [0, 0.43056, 0.06366, 0.02778, 0.49398],
 2234            958: [0.19444, 0.69444, 0.04601, 0.11111, 0.4375],
 2235            959: [0, 0.43056, 0, 0.05556, 0.48472],
 2236            960: [0, 0.43056, 0.03588, 0, 0.57003],
 2237            961: [0.19444, 0.43056, 0, 0.08334, 0.51702],
 2238            962: [0.09722, 0.43056, 0.07986, 0.08334, 0.36285],
 2239            963: [0, 0.43056, 0.03588, 0, 0.57141],
 2240            964: [0, 0.43056, 0.1132, 0.02778, 0.43715],
 2241            965: [0, 0.43056, 0.03588, 0.02778, 0.54028],
 2242            966: [0.19444, 0.43056, 0, 0.08334, 0.65417],
 2243            967: [0.19444, 0.43056, 0, 0.05556, 0.62569],
 2244            968: [0.19444, 0.69444, 0.03588, 0.11111, 0.65139],
 2245            969: [0, 0.43056, 0.03588, 0, 0.62245],
 2246            977: [0, 0.69444, 0, 0.08334, 0.59144],
 2247            981: [0.19444, 0.69444, 0, 0.08334, 0.59583],
 2248            982: [0, 0.43056, 0.02778, 0, 0.82813],
 2249            1009: [0.19444, 0.43056, 0, 0.08334, 0.51702],
 2250            1013: [0, 0.43056, 0, 0.05556, 0.4059],
 2251            57649: [0, 0.43056, 0, 0.02778, 0.32246],
 2252            57911: [0.19444, 0.43056, 0, 0.08334, 0.38403],
 2253          },
 2254          "SansSerif-Bold": {
 2255            32: [0, 0, 0, 0, 0.25],
 2256            33: [0, 0.69444, 0, 0, 0.36667],
 2257            34: [0, 0.69444, 0, 0, 0.55834],
 2258            35: [0.19444, 0.69444, 0, 0, 0.91667],
 2259            36: [0.05556, 0.75, 0, 0, 0.55],
 2260            37: [0.05556, 0.75, 0, 0, 1.02912],
 2261            38: [0, 0.69444, 0, 0, 0.83056],
 2262            39: [0, 0.69444, 0, 0, 0.30556],
 2263            40: [0.25, 0.75, 0, 0, 0.42778],
 2264            41: [0.25, 0.75, 0, 0, 0.42778],
 2265            42: [0, 0.75, 0, 0, 0.55],
 2266            43: [0.11667, 0.61667, 0, 0, 0.85556],
 2267            44: [0.10556, 0.13056, 0, 0, 0.30556],
 2268            45: [0, 0.45833, 0, 0, 0.36667],
 2269            46: [0, 0.13056, 0, 0, 0.30556],
 2270            47: [0.25, 0.75, 0, 0, 0.55],
 2271            48: [0, 0.69444, 0, 0, 0.55],
 2272            49: [0, 0.69444, 0, 0, 0.55],
 2273            50: [0, 0.69444, 0, 0, 0.55],
 2274            51: [0, 0.69444, 0, 0, 0.55],
 2275            52: [0, 0.69444, 0, 0, 0.55],
 2276            53: [0, 0.69444, 0, 0, 0.55],
 2277            54: [0, 0.69444, 0, 0, 0.55],
 2278            55: [0, 0.69444, 0, 0, 0.55],
 2279            56: [0, 0.69444, 0, 0, 0.55],
 2280            57: [0, 0.69444, 0, 0, 0.55],
 2281            58: [0, 0.45833, 0, 0, 0.30556],
 2282            59: [0.10556, 0.45833, 0, 0, 0.30556],
 2283            61: [-0.09375, 0.40625, 0, 0, 0.85556],
 2284            63: [0, 0.69444, 0, 0, 0.51945],
 2285            64: [0, 0.69444, 0, 0, 0.73334],
 2286            65: [0, 0.69444, 0, 0, 0.73334],
 2287            66: [0, 0.69444, 0, 0, 0.73334],
 2288            67: [0, 0.69444, 0, 0, 0.70278],
 2289            68: [0, 0.69444, 0, 0, 0.79445],
 2290            69: [0, 0.69444, 0, 0, 0.64167],
 2291            70: [0, 0.69444, 0, 0, 0.61111],
 2292            71: [0, 0.69444, 0, 0, 0.73334],
 2293            72: [0, 0.69444, 0, 0, 0.79445],
 2294            73: [0, 0.69444, 0, 0, 0.33056],
 2295            74: [0, 0.69444, 0, 0, 0.51945],
 2296            75: [0, 0.69444, 0, 0, 0.76389],
 2297            76: [0, 0.69444, 0, 0, 0.58056],
 2298            77: [0, 0.69444, 0, 0, 0.97778],
 2299            78: [0, 0.69444, 0, 0, 0.79445],
 2300            79: [0, 0.69444, 0, 0, 0.79445],
 2301            80: [0, 0.69444, 0, 0, 0.70278],
 2302            81: [0.10556, 0.69444, 0, 0, 0.79445],
 2303            82: [0, 0.69444, 0, 0, 0.70278],
 2304            83: [0, 0.69444, 0, 0, 0.61111],
 2305            84: [0, 0.69444, 0, 0, 0.73334],
 2306            85: [0, 0.69444, 0, 0, 0.76389],
 2307            86: [0, 0.69444, 0.01528, 0, 0.73334],
 2308            87: [0, 0.69444, 0.01528, 0, 1.03889],
 2309            88: [0, 0.69444, 0, 0, 0.73334],
 2310            89: [0, 0.69444, 0.0275, 0, 0.73334],
 2311            90: [0, 0.69444, 0, 0, 0.67223],
 2312            91: [0.25, 0.75, 0, 0, 0.34306],
 2313            93: [0.25, 0.75, 0, 0, 0.34306],
 2314            94: [0, 0.69444, 0, 0, 0.55],
 2315            95: [0.35, 0.10833, 0.03056, 0, 0.55],
 2316            97: [0, 0.45833, 0, 0, 0.525],
 2317            98: [0, 0.69444, 0, 0, 0.56111],
 2318            99: [0, 0.45833, 0, 0, 0.48889],
 2319            100: [0, 0.69444, 0, 0, 0.56111],
 2320            101: [0, 0.45833, 0, 0, 0.51111],
 2321            102: [0, 0.69444, 0.07639, 0, 0.33611],
 2322            103: [0.19444, 0.45833, 0.01528, 0, 0.55],
 2323            104: [0, 0.69444, 0, 0, 0.56111],
 2324            105: [0, 0.69444, 0, 0, 0.25556],
 2325            106: [0.19444, 0.69444, 0, 0, 0.28611],
 2326            107: [0, 0.69444, 0, 0, 0.53056],
 2327            108: [0, 0.69444, 0, 0, 0.25556],
 2328            109: [0, 0.45833, 0, 0, 0.86667],
 2329            110: [0, 0.45833, 0, 0, 0.56111],
 2330            111: [0, 0.45833, 0, 0, 0.55],
 2331            112: [0.19444, 0.45833, 0, 0, 0.56111],
 2332            113: [0.19444, 0.45833, 0, 0, 0.56111],
 2333            114: [0, 0.45833, 0.01528, 0, 0.37222],
 2334            115: [0, 0.45833, 0, 0, 0.42167],
 2335            116: [0, 0.58929, 0, 0, 0.40417],
 2336            117: [0, 0.45833, 0, 0, 0.56111],
 2337            118: [0, 0.45833, 0.01528, 0, 0.5],
 2338            119: [0, 0.45833, 0.01528, 0, 0.74445],
 2339            120: [0, 0.45833, 0, 0, 0.5],
 2340            121: [0.19444, 0.45833, 0.01528, 0, 0.5],
 2341            122: [0, 0.45833, 0, 0, 0.47639],
 2342            126: [0.35, 0.34444, 0, 0, 0.55],
 2343            160: [0, 0, 0, 0, 0.25],
 2344            168: [0, 0.69444, 0, 0, 0.55],
 2345            176: [0, 0.69444, 0, 0, 0.73334],
 2346            180: [0, 0.69444, 0, 0, 0.55],
 2347            184: [0.17014, 0, 0, 0, 0.48889],
 2348            305: [0, 0.45833, 0, 0, 0.25556],
 2349            567: [0.19444, 0.45833, 0, 0, 0.28611],
 2350            710: [0, 0.69444, 0, 0, 0.55],
 2351            711: [0, 0.63542, 0, 0, 0.55],
 2352            713: [0, 0.63778, 0, 0, 0.55],
 2353            728: [0, 0.69444, 0, 0, 0.55],
 2354            729: [0, 0.69444, 0, 0, 0.30556],
 2355            730: [0, 0.69444, 0, 0, 0.73334],
 2356            732: [0, 0.69444, 0, 0, 0.55],
 2357            733: [0, 0.69444, 0, 0, 0.55],
 2358            915: [0, 0.69444, 0, 0, 0.58056],
 2359            916: [0, 0.69444, 0, 0, 0.91667],
 2360            920: [0, 0.69444, 0, 0, 0.85556],
 2361            923: [0, 0.69444, 0, 0, 0.67223],
 2362            926: [0, 0.69444, 0, 0, 0.73334],
 2363            928: [0, 0.69444, 0, 0, 0.79445],
 2364            931: [0, 0.69444, 0, 0, 0.79445],
 2365            933: [0, 0.69444, 0, 0, 0.85556],
 2366            934: [0, 0.69444, 0, 0, 0.79445],
 2367            936: [0, 0.69444, 0, 0, 0.85556],
 2368            937: [0, 0.69444, 0, 0, 0.79445],
 2369            8211: [0, 0.45833, 0.03056, 0, 0.55],
 2370            8212: [0, 0.45833, 0.03056, 0, 1.10001],
 2371            8216: [0, 0.69444, 0, 0, 0.30556],
 2372            8217: [0, 0.69444, 0, 0, 0.30556],
 2373            8220: [0, 0.69444, 0, 0, 0.55834],
 2374            8221: [0, 0.69444, 0, 0, 0.55834],
 2375          },
 2376          "SansSerif-Italic": {
 2377            32: [0, 0, 0, 0, 0.25],
 2378            33: [0, 0.69444, 0.05733, 0, 0.31945],
 2379            34: [0, 0.69444, 0.00316, 0, 0.5],
 2380            35: [0.19444, 0.69444, 0.05087, 0, 0.83334],
 2381            36: [0.05556, 0.75, 0.11156, 0, 0.5],
 2382            37: [0.05556, 0.75, 0.03126, 0, 0.83334],
 2383            38: [0, 0.69444, 0.03058, 0, 0.75834],
 2384            39: [0, 0.69444, 0.07816, 0, 0.27778],
 2385            40: [0.25, 0.75, 0.13164, 0, 0.38889],
 2386            41: [0.25, 0.75, 0.02536, 0, 0.38889],
 2387            42: [0, 0.75, 0.11775, 0, 0.5],
 2388            43: [0.08333, 0.58333, 0.02536, 0, 0.77778],
 2389            44: [0.125, 0.08333, 0, 0, 0.27778],
 2390            45: [0, 0.44444, 0.01946, 0, 0.33333],
 2391            46: [0, 0.08333, 0, 0, 0.27778],
 2392            47: [0.25, 0.75, 0.13164, 0, 0.5],
 2393            48: [0, 0.65556, 0.11156, 0, 0.5],
 2394            49: [0, 0.65556, 0.11156, 0, 0.5],
 2395            50: [0, 0.65556, 0.11156, 0, 0.5],
 2396            51: [0, 0.65556, 0.11156, 0, 0.5],
 2397            52: [0, 0.65556, 0.11156, 0, 0.5],
 2398            53: [0, 0.65556, 0.11156, 0, 0.5],
 2399            54: [0, 0.65556, 0.11156, 0, 0.5],
 2400            55: [0, 0.65556, 0.11156, 0, 0.5],
 2401            56: [0, 0.65556, 0.11156, 0, 0.5],
 2402            57: [0, 0.65556, 0.11156, 0, 0.5],
 2403            58: [0, 0.44444, 0.02502, 0, 0.27778],
 2404            59: [0.125, 0.44444, 0.02502, 0, 0.27778],
 2405            61: [-0.13, 0.37, 0.05087, 0, 0.77778],
 2406            63: [0, 0.69444, 0.11809, 0, 0.47222],
 2407            64: [0, 0.69444, 0.07555, 0, 0.66667],
 2408            65: [0, 0.69444, 0, 0, 0.66667],
 2409            66: [0, 0.69444, 0.08293, 0, 0.66667],
 2410            67: [0, 0.69444, 0.11983, 0, 0.63889],
 2411            68: [0, 0.69444, 0.07555, 0, 0.72223],
 2412            69: [0, 0.69444, 0.11983, 0, 0.59722],
 2413            70: [0, 0.69444, 0.13372, 0, 0.56945],
 2414            71: [0, 0.69444, 0.11983, 0, 0.66667],
 2415            72: [0, 0.69444, 0.08094, 0, 0.70834],
 2416            73: [0, 0.69444, 0.13372, 0, 0.27778],
 2417            74: [0, 0.69444, 0.08094, 0, 0.47222],
 2418            75: [0, 0.69444, 0.11983, 0, 0.69445],
 2419            76: [0, 0.69444, 0, 0, 0.54167],
 2420            77: [0, 0.69444, 0.08094, 0, 0.875],
 2421            78: [0, 0.69444, 0.08094, 0, 0.70834],
 2422            79: [0, 0.69444, 0.07555, 0, 0.73611],
 2423            80: [0, 0.69444, 0.08293, 0, 0.63889],
 2424            81: [0.125, 0.69444, 0.07555, 0, 0.73611],
 2425            82: [0, 0.69444, 0.08293, 0, 0.64584],
 2426            83: [0, 0.69444, 0.09205, 0, 0.55556],
 2427            84: [0, 0.69444, 0.13372, 0, 0.68056],
 2428            85: [0, 0.69444, 0.08094, 0, 0.6875],
 2429            86: [0, 0.69444, 0.1615, 0, 0.66667],
 2430            87: [0, 0.69444, 0.1615, 0, 0.94445],
 2431            88: [0, 0.69444, 0.13372, 0, 0.66667],
 2432            89: [0, 0.69444, 0.17261, 0, 0.66667],
 2433            90: [0, 0.69444, 0.11983, 0, 0.61111],
 2434            91: [0.25, 0.75, 0.15942, 0, 0.28889],
 2435            93: [0.25, 0.75, 0.08719, 0, 0.28889],
 2436            94: [0, 0.69444, 0.0799, 0, 0.5],
 2437            95: [0.35, 0.09444, 0.08616, 0, 0.5],
 2438            97: [0, 0.44444, 0.00981, 0, 0.48056],
 2439            98: [0, 0.69444, 0.03057, 0, 0.51667],
 2440            99: [0, 0.44444, 0.08336, 0, 0.44445],
 2441            100: [0, 0.69444, 0.09483, 0, 0.51667],
 2442            101: [0, 0.44444, 0.06778, 0, 0.44445],
 2443            102: [0, 0.69444, 0.21705, 0, 0.30556],
 2444            103: [0.19444, 0.44444, 0.10836, 0, 0.5],
 2445            104: [0, 0.69444, 0.01778, 0, 0.51667],
 2446            105: [0, 0.67937, 0.09718, 0, 0.23889],
 2447            106: [0.19444, 0.67937, 0.09162, 0, 0.26667],
 2448            107: [0, 0.69444, 0.08336, 0, 0.48889],
 2449            108: [0, 0.69444, 0.09483, 0, 0.23889],
 2450            109: [0, 0.44444, 0.01778, 0, 0.79445],
 2451            110: [0, 0.44444, 0.01778, 0, 0.51667],
 2452            111: [0, 0.44444, 0.06613, 0, 0.5],
 2453            112: [0.19444, 0.44444, 0.0389, 0, 0.51667],
 2454            113: [0.19444, 0.44444, 0.04169, 0, 0.51667],
 2455            114: [0, 0.44444, 0.10836, 0, 0.34167],
 2456            115: [0, 0.44444, 0.0778, 0, 0.38333],
 2457            116: [0, 0.57143, 0.07225, 0, 0.36111],
 2458            117: [0, 0.44444, 0.04169, 0, 0.51667],
 2459            118: [0, 0.44444, 0.10836, 0, 0.46111],
 2460            119: [0, 0.44444, 0.10836, 0, 0.68334],
 2461            120: [0, 0.44444, 0.09169, 0, 0.46111],
 2462            121: [0.19444, 0.44444, 0.10836, 0, 0.46111],
 2463            122: [0, 0.44444, 0.08752, 0, 0.43472],
 2464            126: [0.35, 0.32659, 0.08826, 0, 0.5],
 2465            160: [0, 0, 0, 0, 0.25],
 2466            168: [0, 0.67937, 0.06385, 0, 0.5],
 2467            176: [0, 0.69444, 0, 0, 0.73752],
 2468            184: [0.17014, 0, 0, 0, 0.44445],
 2469            305: [0, 0.44444, 0.04169, 0, 0.23889],
 2470            567: [0.19444, 0.44444, 0.04169, 0, 0.26667],
 2471            710: [0, 0.69444, 0.0799, 0, 0.5],
 2472            711: [0, 0.63194, 0.08432, 0, 0.5],
 2473            713: [0, 0.60889, 0.08776, 0, 0.5],
 2474            714: [0, 0.69444, 0.09205, 0, 0.5],
 2475            715: [0, 0.69444, 0, 0, 0.5],
 2476            728: [0, 0.69444, 0.09483, 0, 0.5],
 2477            729: [0, 0.67937, 0.07774, 0, 0.27778],
 2478            730: [0, 0.69444, 0, 0, 0.73752],
 2479            732: [0, 0.67659, 0.08826, 0, 0.5],
 2480            733: [0, 0.69444, 0.09205, 0, 0.5],
 2481            915: [0, 0.69444, 0.13372, 0, 0.54167],
 2482            916: [0, 0.69444, 0, 0, 0.83334],
 2483            920: [0, 0.69444, 0.07555, 0, 0.77778],
 2484            923: [0, 0.69444, 0, 0, 0.61111],
 2485            926: [0, 0.69444, 0.12816, 0, 0.66667],
 2486            928: [0, 0.69444, 0.08094, 0, 0.70834],
 2487            931: [0, 0.69444, 0.11983, 0, 0.72222],
 2488            933: [0, 0.69444, 0.09031, 0, 0.77778],
 2489            934: [0, 0.69444, 0.04603, 0, 0.72222],
 2490            936: [0, 0.69444, 0.09031, 0, 0.77778],
 2491            937: [0, 0.69444, 0.08293, 0, 0.72222],
 2492            8211: [0, 0.44444, 0.08616, 0, 0.5],
 2493            8212: [0, 0.44444, 0.08616, 0, 1],
 2494            8216: [0, 0.69444, 0.07816, 0, 0.27778],
 2495            8217: [0, 0.69444, 0.07816, 0, 0.27778],
 2496            8220: [0, 0.69444, 0.14205, 0, 0.5],
 2497            8221: [0, 0.69444, 0.00316, 0, 0.5],
 2498          },
 2499          "SansSerif-Regular": {
 2500            32: [0, 0, 0, 0, 0.25],
 2501            33: [0, 0.69444, 0, 0, 0.31945],
 2502            34: [0, 0.69444, 0, 0, 0.5],
 2503            35: [0.19444, 0.69444, 0, 0, 0.83334],
 2504            36: [0.05556, 0.75, 0, 0, 0.5],
 2505            37: [0.05556, 0.75, 0, 0, 0.83334],
 2506            38: [0, 0.69444, 0, 0, 0.75834],
 2507            39: [0, 0.69444, 0, 0, 0.27778],
 2508            40: [0.25, 0.75, 0, 0, 0.38889],
 2509            41: [0.25, 0.75, 0, 0, 0.38889],
 2510            42: [0, 0.75, 0, 0, 0.5],
 2511            43: [0.08333, 0.58333, 0, 0, 0.77778],
 2512            44: [0.125, 0.08333, 0, 0, 0.27778],
 2513            45: [0, 0.44444, 0, 0, 0.33333],
 2514            46: [0, 0.08333, 0, 0, 0.27778],
 2515            47: [0.25, 0.75, 0, 0, 0.5],
 2516            48: [0, 0.65556, 0, 0, 0.5],
 2517            49: [0, 0.65556, 0, 0, 0.5],
 2518            50: [0, 0.65556, 0, 0, 0.5],
 2519            51: [0, 0.65556, 0, 0, 0.5],
 2520            52: [0, 0.65556, 0, 0, 0.5],
 2521            53: [0, 0.65556, 0, 0, 0.5],
 2522            54: [0, 0.65556, 0, 0, 0.5],
 2523            55: [0, 0.65556, 0, 0, 0.5],
 2524            56: [0, 0.65556, 0, 0, 0.5],
 2525            57: [0, 0.65556, 0, 0, 0.5],
 2526            58: [0, 0.44444, 0, 0, 0.27778],
 2527            59: [0.125, 0.44444, 0, 0, 0.27778],
 2528            61: [-0.13, 0.37, 0, 0, 0.77778],
 2529            63: [0, 0.69444, 0, 0, 0.47222],
 2530            64: [0, 0.69444, 0, 0, 0.66667],
 2531            65: [0, 0.69444, 0, 0, 0.66667],
 2532            66: [0, 0.69444, 0, 0, 0.66667],
 2533            67: [0, 0.69444, 0, 0, 0.63889],
 2534            68: [0, 0.69444, 0, 0, 0.72223],
 2535            69: [0, 0.69444, 0, 0, 0.59722],
 2536            70: [0, 0.69444, 0, 0, 0.56945],
 2537            71: [0, 0.69444, 0, 0, 0.66667],
 2538            72: [0, 0.69444, 0, 0, 0.70834],
 2539            73: [0, 0.69444, 0, 0, 0.27778],
 2540            74: [0, 0.69444, 0, 0, 0.47222],
 2541            75: [0, 0.69444, 0, 0, 0.69445],
 2542            76: [0, 0.69444, 0, 0, 0.54167],
 2543            77: [0, 0.69444, 0, 0, 0.875],
 2544            78: [0, 0.69444, 0, 0, 0.70834],
 2545            79: [0, 0.69444, 0, 0, 0.73611],
 2546            80: [0, 0.69444, 0, 0, 0.63889],
 2547            81: [0.125, 0.69444, 0, 0, 0.73611],
 2548            82: [0, 0.69444, 0, 0, 0.64584],
 2549            83: [0, 0.69444, 0, 0, 0.55556],
 2550            84: [0, 0.69444, 0, 0, 0.68056],
 2551            85: [0, 0.69444, 0, 0, 0.6875],
 2552            86: [0, 0.69444, 0.01389, 0, 0.66667],
 2553            87: [0, 0.69444, 0.01389, 0, 0.94445],
 2554            88: [0, 0.69444, 0, 0, 0.66667],
 2555            89: [0, 0.69444, 0.025, 0, 0.66667],
 2556            90: [0, 0.69444, 0, 0, 0.61111],
 2557            91: [0.25, 0.75, 0, 0, 0.28889],
 2558            93: [0.25, 0.75, 0, 0, 0.28889],
 2559            94: [0, 0.69444, 0, 0, 0.5],
 2560            95: [0.35, 0.09444, 0.02778, 0, 0.5],
 2561            97: [0, 0.44444, 0, 0, 0.48056],
 2562            98: [0, 0.69444, 0, 0, 0.51667],
 2563            99: [0, 0.44444, 0, 0, 0.44445],
 2564            100: [0, 0.69444, 0, 0, 0.51667],
 2565            101: [0, 0.44444, 0, 0, 0.44445],
 2566            102: [0, 0.69444, 0.06944, 0, 0.30556],
 2567            103: [0.19444, 0.44444, 0.01389, 0, 0.5],
 2568            104: [0, 0.69444, 0, 0, 0.51667],
 2569            105: [0, 0.67937, 0, 0, 0.23889],
 2570            106: [0.19444, 0.67937, 0, 0, 0.26667],
 2571            107: [0, 0.69444, 0, 0, 0.48889],
 2572            108: [0, 0.69444, 0, 0, 0.23889],
 2573            109: [0, 0.44444, 0, 0, 0.79445],
 2574            110: [0, 0.44444, 0, 0, 0.51667],
 2575            111: [0, 0.44444, 0, 0, 0.5],
 2576            112: [0.19444, 0.44444, 0, 0, 0.51667],
 2577            113: [0.19444, 0.44444, 0, 0, 0.51667],
 2578            114: [0, 0.44444, 0.01389, 0, 0.34167],
 2579            115: [0, 0.44444, 0, 0, 0.38333],
 2580            116: [0, 0.57143, 0, 0, 0.36111],
 2581            117: [0, 0.44444, 0, 0, 0.51667],
 2582            118: [0, 0.44444, 0.01389, 0, 0.46111],
 2583            119: [0, 0.44444, 0.01389, 0, 0.68334],
 2584            120: [0, 0.44444, 0, 0, 0.46111],
 2585            121: [0.19444, 0.44444, 0.01389, 0, 0.46111],
 2586            122: [0, 0.44444, 0, 0, 0.43472],
 2587            126: [0.35, 0.32659, 0, 0, 0.5],
 2588            160: [0, 0, 0, 0, 0.25],
 2589            168: [0, 0.67937, 0, 0, 0.5],
 2590            176: [0, 0.69444, 0, 0, 0.66667],
 2591            184: [0.17014, 0, 0, 0, 0.44445],
 2592            305: [0, 0.44444, 0, 0, 0.23889],
 2593            567: [0.19444, 0.44444, 0, 0, 0.26667],
 2594            710: [0, 0.69444, 0, 0, 0.5],
 2595            711: [0, 0.63194, 0, 0, 0.5],
 2596            713: [0, 0.60889, 0, 0, 0.5],
 2597            714: [0, 0.69444, 0, 0, 0.5],
 2598            715: [0, 0.69444, 0, 0, 0.5],
 2599            728: [0, 0.69444, 0, 0, 0.5],
 2600            729: [0, 0.67937, 0, 0, 0.27778],
 2601            730: [0, 0.69444, 0, 0, 0.66667],
 2602            732: [0, 0.67659, 0, 0, 0.5],
 2603            733: [0, 0.69444, 0, 0, 0.5],
 2604            915: [0, 0.69444, 0, 0, 0.54167],
 2605            916: [0, 0.69444, 0, 0, 0.83334],
 2606            920: [0, 0.69444, 0, 0, 0.77778],
 2607            923: [0, 0.69444, 0, 0, 0.61111],
 2608            926: [0, 0.69444, 0, 0, 0.66667],
 2609            928: [0, 0.69444, 0, 0, 0.70834],
 2610            931: [0, 0.69444, 0, 0, 0.72222],
 2611            933: [0, 0.69444, 0, 0, 0.77778],
 2612            934: [0, 0.69444, 0, 0, 0.72222],
 2613            936: [0, 0.69444, 0, 0, 0.77778],
 2614            937: [0, 0.69444, 0, 0, 0.72222],
 2615            8211: [0, 0.44444, 0.02778, 0, 0.5],
 2616            8212: [0, 0.44444, 0.02778, 0, 1],
 2617            8216: [0, 0.69444, 0, 0, 0.27778],
 2618            8217: [0, 0.69444, 0, 0, 0.27778],
 2619            8220: [0, 0.69444, 0, 0, 0.5],
 2620            8221: [0, 0.69444, 0, 0, 0.5],
 2621          },
 2622          "Script-Regular": {
 2623            32: [0, 0, 0, 0, 0.25],
 2624            65: [0, 0.7, 0.22925, 0, 0.80253],
 2625            66: [0, 0.7, 0.04087, 0, 0.90757],
 2626            67: [0, 0.7, 0.1689, 0, 0.66619],
 2627            68: [0, 0.7, 0.09371, 0, 0.77443],
 2628            69: [0, 0.7, 0.18583, 0, 0.56162],
 2629            70: [0, 0.7, 0.13634, 0, 0.89544],
 2630            71: [0, 0.7, 0.17322, 0, 0.60961],
 2631            72: [0, 0.7, 0.29694, 0, 0.96919],
 2632            73: [0, 0.7, 0.19189, 0, 0.80907],
 2633            74: [0.27778, 0.7, 0.19189, 0, 1.05159],
 2634            75: [0, 0.7, 0.31259, 0, 0.91364],
 2635            76: [0, 0.7, 0.19189, 0, 0.87373],
 2636            77: [0, 0.7, 0.15981, 0, 1.08031],
 2637            78: [0, 0.7, 0.3525, 0, 0.9015],
 2638            79: [0, 0.7, 0.08078, 0, 0.73787],
 2639            80: [0, 0.7, 0.08078, 0, 1.01262],
 2640            81: [0, 0.7, 0.03305, 0, 0.88282],
 2641            82: [0, 0.7, 0.06259, 0, 0.85],
 2642            83: [0, 0.7, 0.19189, 0, 0.86767],
 2643            84: [0, 0.7, 0.29087, 0, 0.74697],
 2644            85: [0, 0.7, 0.25815, 0, 0.79996],
 2645            86: [0, 0.7, 0.27523, 0, 0.62204],
 2646            87: [0, 0.7, 0.27523, 0, 0.80532],
 2647            88: [0, 0.7, 0.26006, 0, 0.94445],
 2648            89: [0, 0.7, 0.2939, 0, 0.70961],
 2649            90: [0, 0.7, 0.24037, 0, 0.8212],
 2650            160: [0, 0, 0, 0, 0.25],
 2651          },
 2652          "Size1-Regular": {
 2653            32: [0, 0, 0, 0, 0.25],
 2654            40: [0.35001, 0.85, 0, 0, 0.45834],
 2655            41: [0.35001, 0.85, 0, 0, 0.45834],
 2656            47: [0.35001, 0.85, 0, 0, 0.57778],
 2657            91: [0.35001, 0.85, 0, 0, 0.41667],
 2658            92: [0.35001, 0.85, 0, 0, 0.57778],
 2659            93: [0.35001, 0.85, 0, 0, 0.41667],
 2660            123: [0.35001, 0.85, 0, 0, 0.58334],
 2661            125: [0.35001, 0.85, 0, 0, 0.58334],
 2662            160: [0, 0, 0, 0, 0.25],
 2663            710: [0, 0.72222, 0, 0, 0.55556],
 2664            732: [0, 0.72222, 0, 0, 0.55556],
 2665            770: [0, 0.72222, 0, 0, 0.55556],
 2666            771: [0, 0.72222, 0, 0, 0.55556],
 2667            8214: [-99e-5, 0.601, 0, 0, 0.77778],
 2668            8593: [1e-5, 0.6, 0, 0, 0.66667],
 2669            8595: [1e-5, 0.6, 0, 0, 0.66667],
 2670            8657: [1e-5, 0.6, 0, 0, 0.77778],
 2671            8659: [1e-5, 0.6, 0, 0, 0.77778],
 2672            8719: [0.25001, 0.75, 0, 0, 0.94445],
 2673            8720: [0.25001, 0.75, 0, 0, 0.94445],
 2674            8721: [0.25001, 0.75, 0, 0, 1.05556],
 2675            8730: [0.35001, 0.85, 0, 0, 1],
 2676            8739: [-0.00599, 0.606, 0, 0, 0.33333],
 2677            8741: [-0.00599, 0.606, 0, 0, 0.55556],
 2678            8747: [0.30612, 0.805, 0.19445, 0, 0.47222],
 2679            8748: [0.306, 0.805, 0.19445, 0, 0.47222],
 2680            8749: [0.306, 0.805, 0.19445, 0, 0.47222],
 2681            8750: [0.30612, 0.805, 0.19445, 0, 0.47222],
 2682            8896: [0.25001, 0.75, 0, 0, 0.83334],
 2683            8897: [0.25001, 0.75, 0, 0, 0.83334],
 2684            8898: [0.25001, 0.75, 0, 0, 0.83334],
 2685            8899: [0.25001, 0.75, 0, 0, 0.83334],
 2686            8968: [0.35001, 0.85, 0, 0, 0.47222],
 2687            8969: [0.35001, 0.85, 0, 0, 0.47222],
 2688            8970: [0.35001, 0.85, 0, 0, 0.47222],
 2689            8971: [0.35001, 0.85, 0, 0, 0.47222],
 2690            9168: [-99e-5, 0.601, 0, 0, 0.66667],
 2691            10216: [0.35001, 0.85, 0, 0, 0.47222],
 2692            10217: [0.35001, 0.85, 0, 0, 0.47222],
 2693            10752: [0.25001, 0.75, 0, 0, 1.11111],
 2694            10753: [0.25001, 0.75, 0, 0, 1.11111],
 2695            10754: [0.25001, 0.75, 0, 0, 1.11111],
 2696            10756: [0.25001, 0.75, 0, 0, 0.83334],
 2697            10758: [0.25001, 0.75, 0, 0, 0.83334],
 2698          },
 2699          "Size2-Regular": {
 2700            32: [0, 0, 0, 0, 0.25],
 2701            40: [0.65002, 1.15, 0, 0, 0.59722],
 2702            41: [0.65002, 1.15, 0, 0, 0.59722],
 2703            47: [0.65002, 1.15, 0, 0, 0.81111],
 2704            91: [0.65002, 1.15, 0, 0, 0.47222],
 2705            92: [0.65002, 1.15, 0, 0, 0.81111],
 2706            93: [0.65002, 1.15, 0, 0, 0.47222],
 2707            123: [0.65002, 1.15, 0, 0, 0.66667],
 2708            125: [0.65002, 1.15, 0, 0, 0.66667],
 2709            160: [0, 0, 0, 0, 0.25],
 2710            710: [0, 0.75, 0, 0, 1],
 2711            732: [0, 0.75, 0, 0, 1],
 2712            770: [0, 0.75, 0, 0, 1],
 2713            771: [0, 0.75, 0, 0, 1],
 2714            8719: [0.55001, 1.05, 0, 0, 1.27778],
 2715            8720: [0.55001, 1.05, 0, 0, 1.27778],
 2716            8721: [0.55001, 1.05, 0, 0, 1.44445],
 2717            8730: [0.65002, 1.15, 0, 0, 1],
 2718            8747: [0.86225, 1.36, 0.44445, 0, 0.55556],
 2719            8748: [0.862, 1.36, 0.44445, 0, 0.55556],
 2720            8749: [0.862, 1.36, 0.44445, 0, 0.55556],
 2721            8750: [0.86225, 1.36, 0.44445, 0, 0.55556],
 2722            8896: [0.55001, 1.05, 0, 0, 1.11111],
 2723            8897: [0.55001, 1.05, 0, 0, 1.11111],
 2724            8898: [0.55001, 1.05, 0, 0, 1.11111],
 2725            8899: [0.55001, 1.05, 0, 0, 1.11111],
 2726            8968: [0.65002, 1.15, 0, 0, 0.52778],
 2727            8969: [0.65002, 1.15, 0, 0, 0.52778],
 2728            8970: [0.65002, 1.15, 0, 0, 0.52778],
 2729            8971: [0.65002, 1.15, 0, 0, 0.52778],
 2730            10216: [0.65002, 1.15, 0, 0, 0.61111],
 2731            10217: [0.65002, 1.15, 0, 0, 0.61111],
 2732            10752: [0.55001, 1.05, 0, 0, 1.51112],
 2733            10753: [0.55001, 1.05, 0, 0, 1.51112],
 2734            10754: [0.55001, 1.05, 0, 0, 1.51112],
 2735            10756: [0.55001, 1.05, 0, 0, 1.11111],
 2736            10758: [0.55001, 1.05, 0, 0, 1.11111],
 2737          },
 2738          "Size3-Regular": {
 2739            32: [0, 0, 0, 0, 0.25],
 2740            40: [0.95003, 1.45, 0, 0, 0.73611],
 2741            41: [0.95003, 1.45, 0, 0, 0.73611],
 2742            47: [0.95003, 1.45, 0, 0, 1.04445],
 2743            91: [0.95003, 1.45, 0, 0, 0.52778],
 2744            92: [0.95003, 1.45, 0, 0, 1.04445],
 2745            93: [0.95003, 1.45, 0, 0, 0.52778],
 2746            123: [0.95003, 1.45, 0, 0, 0.75],
 2747            125: [0.95003, 1.45, 0, 0, 0.75],
 2748            160: [0, 0, 0, 0, 0.25],
 2749            710: [0, 0.75, 0, 0, 1.44445],
 2750            732: [0, 0.75, 0, 0, 1.44445],
 2751            770: [0, 0.75, 0, 0, 1.44445],
 2752            771: [0, 0.75, 0, 0, 1.44445],
 2753            8730: [0.95003, 1.45, 0, 0, 1],
 2754            8968: [0.95003, 1.45, 0, 0, 0.58334],
 2755            8969: [0.95003, 1.45, 0, 0, 0.58334],
 2756            8970: [0.95003, 1.45, 0, 0, 0.58334],
 2757            8971: [0.95003, 1.45, 0, 0, 0.58334],
 2758            10216: [0.95003, 1.45, 0, 0, 0.75],
 2759            10217: [0.95003, 1.45, 0, 0, 0.75],
 2760          },
 2761          "Size4-Regular": {
 2762            32: [0, 0, 0, 0, 0.25],
 2763            40: [1.25003, 1.75, 0, 0, 0.79167],
 2764            41: [1.25003, 1.75, 0, 0, 0.79167],
 2765            47: [1.25003, 1.75, 0, 0, 1.27778],
 2766            91: [1.25003, 1.75, 0, 0, 0.58334],
 2767            92: [1.25003, 1.75, 0, 0, 1.27778],
 2768            93: [1.25003, 1.75, 0, 0, 0.58334],
 2769            123: [1.25003, 1.75, 0, 0, 0.80556],
 2770            125: [1.25003, 1.75, 0, 0, 0.80556],
 2771            160: [0, 0, 0, 0, 0.25],
 2772            710: [0, 0.825, 0, 0, 1.8889],
 2773            732: [0, 0.825, 0, 0, 1.8889],
 2774            770: [0, 0.825, 0, 0, 1.8889],
 2775            771: [0, 0.825, 0, 0, 1.8889],
 2776            8730: [1.25003, 1.75, 0, 0, 1],
 2777            8968: [1.25003, 1.75, 0, 0, 0.63889],
 2778            8969: [1.25003, 1.75, 0, 0, 0.63889],
 2779            8970: [1.25003, 1.75, 0, 0, 0.63889],
 2780            8971: [1.25003, 1.75, 0, 0, 0.63889],
 2781            9115: [0.64502, 1.155, 0, 0, 0.875],
 2782            9116: [1e-5, 0.6, 0, 0, 0.875],
 2783            9117: [0.64502, 1.155, 0, 0, 0.875],
 2784            9118: [0.64502, 1.155, 0, 0, 0.875],
 2785            9119: [1e-5, 0.6, 0, 0, 0.875],
 2786            9120: [0.64502, 1.155, 0, 0, 0.875],
 2787            9121: [0.64502, 1.155, 0, 0, 0.66667],
 2788            9122: [-99e-5, 0.601, 0, 0, 0.66667],
 2789            9123: [0.64502, 1.155, 0, 0, 0.66667],
 2790            9124: [0.64502, 1.155, 0, 0, 0.66667],
 2791            9125: [-99e-5, 0.601, 0, 0, 0.66667],
 2792            9126: [0.64502, 1.155, 0, 0, 0.66667],
 2793            9127: [1e-5, 0.9, 0, 0, 0.88889],
 2794            9128: [0.65002, 1.15, 0, 0, 0.88889],
 2795            9129: [0.90001, 0, 0, 0, 0.88889],
 2796            9130: [0, 0.3, 0, 0, 0.88889],
 2797            9131: [1e-5, 0.9, 0, 0, 0.88889],
 2798            9132: [0.65002, 1.15, 0, 0, 0.88889],
 2799            9133: [0.90001, 0, 0, 0, 0.88889],
 2800            9143: [0.88502, 0.915, 0, 0, 1.05556],
 2801            10216: [1.25003, 1.75, 0, 0, 0.80556],
 2802            10217: [1.25003, 1.75, 0, 0, 0.80556],
 2803            57344: [-0.00499, 0.605, 0, 0, 1.05556],
 2804            57345: [-0.00499, 0.605, 0, 0, 1.05556],
 2805            57680: [0, 0.12, 0, 0, 0.45],
 2806            57681: [0, 0.12, 0, 0, 0.45],
 2807            57682: [0, 0.12, 0, 0, 0.45],
 2808            57683: [0, 0.12, 0, 0, 0.45],
 2809          },
 2810          "Typewriter-Regular": {
 2811            32: [0, 0, 0, 0, 0.525],
 2812            33: [0, 0.61111, 0, 0, 0.525],
 2813            34: [0, 0.61111, 0, 0, 0.525],
 2814            35: [0, 0.61111, 0, 0, 0.525],
 2815            36: [0.08333, 0.69444, 0, 0, 0.525],
 2816            37: [0.08333, 0.69444, 0, 0, 0.525],
 2817            38: [0, 0.61111, 0, 0, 0.525],
 2818            39: [0, 0.61111, 0, 0, 0.525],
 2819            40: [0.08333, 0.69444, 0, 0, 0.525],
 2820            41: [0.08333, 0.69444, 0, 0, 0.525],
 2821            42: [0, 0.52083, 0, 0, 0.525],
 2822            43: [-0.08056, 0.53055, 0, 0, 0.525],
 2823            44: [0.13889, 0.125, 0, 0, 0.525],
 2824            45: [-0.08056, 0.53055, 0, 0, 0.525],
 2825            46: [0, 0.125, 0, 0, 0.525],
 2826            47: [0.08333, 0.69444, 0, 0, 0.525],
 2827            48: [0, 0.61111, 0, 0, 0.525],
 2828            49: [0, 0.61111, 0, 0, 0.525],
 2829            50: [0, 0.61111, 0, 0, 0.525],
 2830            51: [0, 0.61111, 0, 0, 0.525],
 2831            52: [0, 0.61111, 0, 0, 0.525],
 2832            53: [0, 0.61111, 0, 0, 0.525],
 2833            54: [0, 0.61111, 0, 0, 0.525],
 2834            55: [0, 0.61111, 0, 0, 0.525],
 2835            56: [0, 0.61111, 0, 0, 0.525],
 2836            57: [0, 0.61111, 0, 0, 0.525],
 2837            58: [0, 0.43056, 0, 0, 0.525],
 2838            59: [0.13889, 0.43056, 0, 0, 0.525],
 2839            60: [-0.05556, 0.55556, 0, 0, 0.525],
 2840            61: [-0.19549, 0.41562, 0, 0, 0.525],
 2841            62: [-0.05556, 0.55556, 0, 0, 0.525],
 2842            63: [0, 0.61111, 0, 0, 0.525],
 2843            64: [0, 0.61111, 0, 0, 0.525],
 2844            65: [0, 0.61111, 0, 0, 0.525],
 2845            66: [0, 0.61111, 0, 0, 0.525],
 2846            67: [0, 0.61111, 0, 0, 0.525],
 2847            68: [0, 0.61111, 0, 0, 0.525],
 2848            69: [0, 0.61111, 0, 0, 0.525],
 2849            70: [0, 0.61111, 0, 0, 0.525],
 2850            71: [0, 0.61111, 0, 0, 0.525],
 2851            72: [0, 0.61111, 0, 0, 0.525],
 2852            73: [0, 0.61111, 0, 0, 0.525],
 2853            74: [0, 0.61111, 0, 0, 0.525],
 2854            75: [0, 0.61111, 0, 0, 0.525],
 2855            76: [0, 0.61111, 0, 0, 0.525],
 2856            77: [0, 0.61111, 0, 0, 0.525],
 2857            78: [0, 0.61111, 0, 0, 0.525],
 2858            79: [0, 0.61111, 0, 0, 0.525],
 2859            80: [0, 0.61111, 0, 0, 0.525],
 2860            81: [0.13889, 0.61111, 0, 0, 0.525],
 2861            82: [0, 0.61111, 0, 0, 0.525],
 2862            83: [0, 0.61111, 0, 0, 0.525],
 2863            84: [0, 0.61111, 0, 0, 0.525],
 2864            85: [0, 0.61111, 0, 0, 0.525],
 2865            86: [0, 0.61111, 0, 0, 0.525],
 2866            87: [0, 0.61111, 0, 0, 0.525],
 2867            88: [0, 0.61111, 0, 0, 0.525],
 2868            89: [0, 0.61111, 0, 0, 0.525],
 2869            90: [0, 0.61111, 0, 0, 0.525],
 2870            91: [0.08333, 0.69444, 0, 0, 0.525],
 2871            92: [0.08333, 0.69444, 0, 0, 0.525],
 2872            93: [0.08333, 0.69444, 0, 0, 0.525],
 2873            94: [0, 0.61111, 0, 0, 0.525],
 2874            95: [0.09514, 0, 0, 0, 0.525],
 2875            96: [0, 0.61111, 0, 0, 0.525],
 2876            97: [0, 0.43056, 0, 0, 0.525],
 2877            98: [0, 0.61111, 0, 0, 0.525],
 2878            99: [0, 0.43056, 0, 0, 0.525],
 2879            100: [0, 0.61111, 0, 0, 0.525],
 2880            101: [0, 0.43056, 0, 0, 0.525],
 2881            102: [0, 0.61111, 0, 0, 0.525],
 2882            103: [0.22222, 0.43056, 0, 0, 0.525],
 2883            104: [0, 0.61111, 0, 0, 0.525],
 2884            105: [0, 0.61111, 0, 0, 0.525],
 2885            106: [0.22222, 0.61111, 0, 0, 0.525],
 2886            107: [0, 0.61111, 0, 0, 0.525],
 2887            108: [0, 0.61111, 0, 0, 0.525],
 2888            109: [0, 0.43056, 0, 0, 0.525],
 2889            110: [0, 0.43056, 0, 0, 0.525],
 2890            111: [0, 0.43056, 0, 0, 0.525],
 2891            112: [0.22222, 0.43056, 0, 0, 0.525],
 2892            113: [0.22222, 0.43056, 0, 0, 0.525],
 2893            114: [0, 0.43056, 0, 0, 0.525],
 2894            115: [0, 0.43056, 0, 0, 0.525],
 2895            116: [0, 0.55358, 0, 0, 0.525],
 2896            117: [0, 0.43056, 0, 0, 0.525],
 2897            118: [0, 0.43056, 0, 0, 0.525],
 2898            119: [0, 0.43056, 0, 0, 0.525],
 2899            120: [0, 0.43056, 0, 0, 0.525],
 2900            121: [0.22222, 0.43056, 0, 0, 0.525],
 2901            122: [0, 0.43056, 0, 0, 0.525],
 2902            123: [0.08333, 0.69444, 0, 0, 0.525],
 2903            124: [0.08333, 0.69444, 0, 0, 0.525],
 2904            125: [0.08333, 0.69444, 0, 0, 0.525],
 2905            126: [0, 0.61111, 0, 0, 0.525],
 2906            127: [0, 0.61111, 0, 0, 0.525],
 2907            160: [0, 0, 0, 0, 0.525],
 2908            176: [0, 0.61111, 0, 0, 0.525],
 2909            184: [0.19445, 0, 0, 0, 0.525],
 2910            305: [0, 0.43056, 0, 0, 0.525],
 2911            567: [0.22222, 0.43056, 0, 0, 0.525],
 2912            711: [0, 0.56597, 0, 0, 0.525],
 2913            713: [0, 0.56555, 0, 0, 0.525],
 2914            714: [0, 0.61111, 0, 0, 0.525],
 2915            715: [0, 0.61111, 0, 0, 0.525],
 2916            728: [0, 0.61111, 0, 0, 0.525],
 2917            730: [0, 0.61111, 0, 0, 0.525],
 2918            770: [0, 0.61111, 0, 0, 0.525],
 2919            771: [0, 0.61111, 0, 0, 0.525],
 2920            776: [0, 0.61111, 0, 0, 0.525],
 2921            915: [0, 0.61111, 0, 0, 0.525],
 2922            916: [0, 0.61111, 0, 0, 0.525],
 2923            920: [0, 0.61111, 0, 0, 0.525],
 2924            923: [0, 0.61111, 0, 0, 0.525],
 2925            926: [0, 0.61111, 0, 0, 0.525],
 2926            928: [0, 0.61111, 0, 0, 0.525],
 2927            931: [0, 0.61111, 0, 0, 0.525],
 2928            933: [0, 0.61111, 0, 0, 0.525],
 2929            934: [0, 0.61111, 0, 0, 0.525],
 2930            936: [0, 0.61111, 0, 0, 0.525],
 2931            937: [0, 0.61111, 0, 0, 0.525],
 2932            8216: [0, 0.61111, 0, 0, 0.525],
 2933            8217: [0, 0.61111, 0, 0, 0.525],
 2934            8242: [0, 0.61111, 0, 0, 0.525],
 2935            9251: [0.11111, 0.21944, 0, 0, 0.525],
 2936          },
 2937        },
 2938        V = {
 2939          slant: [0.25, 0.25, 0.25],
 2940          space: [0, 0, 0],
 2941          stretch: [0, 0, 0],
 2942          shrink: [0, 0, 0],
 2943          xHeight: [0.431, 0.431, 0.431],
 2944          quad: [1, 1.171, 1.472],
 2945          extraSpace: [0, 0, 0],
 2946          num1: [0.677, 0.732, 0.925],
 2947          num2: [0.394, 0.384, 0.387],
 2948          num3: [0.444, 0.471, 0.504],
 2949          denom1: [0.686, 0.752, 1.025],
 2950          denom2: [0.345, 0.344, 0.532],
 2951          sup1: [0.413, 0.503, 0.504],
 2952          sup2: [0.363, 0.431, 0.404],
 2953          sup3: [0.289, 0.286, 0.294],
 2954          sub1: [0.15, 0.143, 0.2],
 2955          sub2: [0.247, 0.286, 0.4],
 2956          supDrop: [0.386, 0.353, 0.494],
 2957          subDrop: [0.05, 0.071, 0.1],
 2958          delim1: [2.39, 1.7, 1.98],
 2959          delim2: [1.01, 1.157, 1.42],
 2960          axisHeight: [0.25, 0.25, 0.25],
 2961          defaultRuleThickness: [0.04, 0.049, 0.049],
 2962          bigOpSpacing1: [0.111, 0.111, 0.111],
 2963          bigOpSpacing2: [0.166, 0.166, 0.166],
 2964          bigOpSpacing3: [0.2, 0.2, 0.2],
 2965          bigOpSpacing4: [0.6, 0.611, 0.611],
 2966          bigOpSpacing5: [0.1, 0.143, 0.143],
 2967          sqrtRuleThickness: [0.04, 0.04, 0.04],
 2968          ptPerEm: [10, 10, 10],
 2969          doubleRuleSep: [0.2, 0.2, 0.2],
 2970          arrayRuleWidth: [0.04, 0.04, 0.04],
 2971          fboxsep: [0.3, 0.3, 0.3],
 2972          fboxrule: [0.04, 0.04, 0.04],
 2973        },
 2974        U = {
 2975          "\xc5": "A",
 2976          "\xc7": "C",
 2977          "\xd0": "D",
 2978          "\xde": "o",
 2979          "\xe5": "a",
 2980          "\xe7": "c",
 2981          "\xf0": "d",
 2982          "\xfe": "o",
 2983          "\u0410": "A",
 2984          "\u0411": "B",
 2985          "\u0412": "B",
 2986          "\u0413": "F",
 2987          "\u0414": "A",
 2988          "\u0415": "E",
 2989          "\u0416": "K",
 2990          "\u0417": "3",
 2991          "\u0418": "N",
 2992          "\u0419": "N",
 2993          "\u041a": "K",
 2994          "\u041b": "N",
 2995          "\u041c": "M",
 2996          "\u041d": "H",
 2997          "\u041e": "O",
 2998          "\u041f": "N",
 2999          "\u0420": "P",
 3000          "\u0421": "C",
 3001          "\u0422": "T",
 3002          "\u0423": "y",
 3003          "\u0424": "O",
 3004          "\u0425": "X",
 3005          "\u0426": "U",
 3006          "\u0427": "h",
 3007          "\u0428": "W",
 3008          "\u0429": "W",
 3009          "\u042a": "B",
 3010          "\u042b": "X",
 3011          "\u042c": "B",
 3012          "\u042d": "3",
 3013          "\u042e": "X",
 3014          "\u042f": "R",
 3015          "\u0430": "a",
 3016          "\u0431": "b",
 3017          "\u0432": "a",
 3018          "\u0433": "r",
 3019          "\u0434": "y",
 3020          "\u0435": "e",
 3021          "\u0436": "m",
 3022          "\u0437": "e",
 3023          "\u0438": "n",
 3024          "\u0439": "n",
 3025          "\u043a": "n",
 3026          "\u043b": "n",
 3027          "\u043c": "m",
 3028          "\u043d": "n",
 3029          "\u043e": "o",
 3030          "\u043f": "n",
 3031          "\u0440": "p",
 3032          "\u0441": "c",
 3033          "\u0442": "o",
 3034          "\u0443": "y",
 3035          "\u0444": "b",
 3036          "\u0445": "x",
 3037          "\u0446": "n",
 3038          "\u0447": "n",
 3039          "\u0448": "w",
 3040          "\u0449": "w",
 3041          "\u044a": "a",
 3042          "\u044b": "m",
 3043          "\u044c": "a",
 3044          "\u044d": "e",
 3045          "\u044e": "m",
 3046          "\u044f": "r",
 3047        };
 3048      function G(t, e, r) {
 3049        if (!F[e])
 3050          throw new Error("Font metrics not found for font: " + e + ".");
 3051        var a = t.charCodeAt(0),
 3052          n = F[e][a];
 3053        if (
 3054          (!n && t[0] in U && ((a = U[t[0]].charCodeAt(0)), (n = F[e][a])),
 3055          n || "text" !== r || (M(a) && (n = F[e][77])),
 3056          n)
 3057        )
 3058          return {
 3059            depth: n[0],
 3060            height: n[1],
 3061            italic: n[2],
 3062            skew: n[3],
 3063            width: n[4],
 3064          };
 3065      }
 3066      var Y = {};
 3067      var W = { bin: 1, close: 1, inner: 1, open: 1, punct: 1, rel: 1 },
 3068        X = {
 3069          "accent-token": 1,
 3070          mathord: 1,
 3071          "op-token": 1,
 3072          spacing: 1,
 3073          textord: 1,
 3074        },
 3075        _ = { math: {}, text: {} },
 3076        j = _;
 3077      function $(t, e, r, a, n, i) {
 3078        ((_[t][n] = { font: e, group: r, replace: a }),
 3079          i && a && (_[t][a] = _[t][n]));
 3080      }
 3081      var Z = "main",
 3082        K = "ams",
 3083        J = "bin",
 3084        Q = "mathord",
 3085        tt = "op-token",
 3086        et = "rel";
 3087      ($("math", Z, et, "\u2261", "\\equiv", !0),
 3088        $("math", Z, et, "\u227a", "\\prec", !0),
 3089        $("math", Z, et, "\u227b", "\\succ", !0),
 3090        $("math", Z, et, "\u223c", "\\sim", !0),
 3091        $("math", Z, et, "\u22a5", "\\perp"),
 3092        $("math", Z, et, "\u2aaf", "\\preceq", !0),
 3093        $("math", Z, et, "\u2ab0", "\\succeq", !0),
 3094        $("math", Z, et, "\u2243", "\\simeq", !0),
 3095        $("math", Z, et, "\u2223", "\\mid", !0),
 3096        $("math", Z, et, "\u226a", "\\ll", !0),
 3097        $("math", Z, et, "\u226b", "\\gg", !0),
 3098        $("math", Z, et, "\u224d", "\\asymp", !0),
 3099        $("math", Z, et, "\u2225", "\\parallel"),
 3100        $("math", Z, et, "\u22c8", "\\bowtie", !0),
 3101        $("math", Z, et, "\u2323", "\\smile", !0),
 3102        $("math", Z, et, "\u2291", "\\sqsubseteq", !0),
 3103        $("math", Z, et, "\u2292", "\\sqsupseteq", !0),
 3104        $("math", Z, et, "\u2250", "\\doteq", !0),
 3105        $("math", Z, et, "\u2322", "\\frown", !0),
 3106        $("math", Z, et, "\u220b", "\\ni", !0),
 3107        $("math", Z, et, "\u221d", "\\propto", !0),
 3108        $("math", Z, et, "\u22a2", "\\vdash", !0),
 3109        $("math", Z, et, "\u22a3", "\\dashv", !0),
 3110        $("math", Z, et, "\u220b", "\\owns"),
 3111        $("math", Z, "punct", ".", "\\ldotp"),
 3112        $("math", Z, "punct", "\u22c5", "\\cdotp"),
 3113        $("math", Z, "textord", "#", "\\#"),
 3114        $("text", Z, "textord", "#", "\\#"),
 3115        $("math", Z, "textord", "&", "\\&"),
 3116        $("text", Z, "textord", "&", "\\&"),
 3117        $("math", Z, "textord", "\u2135", "\\aleph", !0),
 3118        $("math", Z, "textord", "\u2200", "\\forall", !0),
 3119        $("math", Z, "textord", "\u210f", "\\hbar", !0),
 3120        $("math", Z, "textord", "\u2203", "\\exists", !0),
 3121        $("math", Z, "textord", "\u2207", "\\nabla", !0),
 3122        $("math", Z, "textord", "\u266d", "\\flat", !0),
 3123        $("math", Z, "textord", "\u2113", "\\ell", !0),
 3124        $("math", Z, "textord", "\u266e", "\\natural", !0),
 3125        $("math", Z, "textord", "\u2663", "\\clubsuit", !0),
 3126        $("math", Z, "textord", "\u2118", "\\wp", !0),
 3127        $("math", Z, "textord", "\u266f", "\\sharp", !0),
 3128        $("math", Z, "textord", "\u2662", "\\diamondsuit", !0),
 3129        $("math", Z, "textord", "\u211c", "\\Re", !0),
 3130        $("math", Z, "textord", "\u2661", "\\heartsuit", !0),
 3131        $("math", Z, "textord", "\u2111", "\\Im", !0),
 3132        $("math", Z, "textord", "\u2660", "\\spadesuit", !0),
 3133        $("text", Z, "textord", "\xa7", "\\S", !0),
 3134        $("text", Z, "textord", "\xb6", "\\P", !0),
 3135        $("math", Z, "textord", "\u2020", "\\dag"),
 3136        $("text", Z, "textord", "\u2020", "\\dag"),
 3137        $("text", Z, "textord", "\u2020", "\\textdagger"),
 3138        $("math", Z, "textord", "\u2021", "\\ddag"),
 3139        $("text", Z, "textord", "\u2021", "\\ddag"),
 3140        $("text", Z, "textord", "\u2021", "\\textdaggerdbl"),
 3141        $("math", Z, "close", "\u23b1", "\\rmoustache", !0),
 3142        $("math", Z, "open", "\u23b0", "\\lmoustache", !0),
 3143        $("math", Z, "close", "\u27ef", "\\rgroup", !0),
 3144        $("math", Z, "open", "\u27ee", "\\lgroup", !0),
 3145        $("math", Z, J, "\u2213", "\\mp", !0),
 3146        $("math", Z, J, "\u2296", "\\ominus", !0),
 3147        $("math", Z, J, "\u228e", "\\uplus", !0),
 3148        $("math", Z, J, "\u2293", "\\sqcap", !0),
 3149        $("math", Z, J, "\u2217", "\\ast"),
 3150        $("math", Z, J, "\u2294", "\\sqcup", !0),
 3151        $("math", Z, J, "\u25ef", "\\bigcirc"),
 3152        $("math", Z, J, "\u2219", "\\bullet"),
 3153        $("math", Z, J, "\u2021", "\\ddagger"),
 3154        $("math", Z, J, "\u2240", "\\wr", !0),
 3155        $("math", Z, J, "\u2a3f", "\\amalg"),
 3156        $("math", Z, J, "&", "\\And"),
 3157        $("math", Z, et, "\u27f5", "\\longleftarrow", !0),
 3158        $("math", Z, et, "\u21d0", "\\Leftarrow", !0),
 3159        $("math", Z, et, "\u27f8", "\\Longleftarrow", !0),
 3160        $("math", Z, et, "\u27f6", "\\longrightarrow", !0),
 3161        $("math", Z, et, "\u21d2", "\\Rightarrow", !0),
 3162        $("math", Z, et, "\u27f9", "\\Longrightarrow", !0),
 3163        $("math", Z, et, "\u2194", "\\leftrightarrow", !0),
 3164        $("math", Z, et, "\u27f7", "\\longleftrightarrow", !0),
 3165        $("math", Z, et, "\u21d4", "\\Leftrightarrow", !0),
 3166        $("math", Z, et, "\u27fa", "\\Longleftrightarrow", !0),
 3167        $("math", Z, et, "\u21a6", "\\mapsto", !0),
 3168        $("math", Z, et, "\u27fc", "\\longmapsto", !0),
 3169        $("math", Z, et, "\u2197", "\\nearrow", !0),
 3170        $("math", Z, et, "\u21a9", "\\hookleftarrow", !0),
 3171        $("math", Z, et, "\u21aa", "\\hookrightarrow", !0),
 3172        $("math", Z, et, "\u2198", "\\searrow", !0),
 3173        $("math", Z, et, "\u21bc", "\\leftharpoonup", !0),
 3174        $("math", Z, et, "\u21c0", "\\rightharpoonup", !0),
 3175        $("math", Z, et, "\u2199", "\\swarrow", !0),
 3176        $("math", Z, et, "\u21bd", "\\leftharpoondown", !0),
 3177        $("math", Z, et, "\u21c1", "\\rightharpoondown", !0),
 3178        $("math", Z, et, "\u2196", "\\nwarrow", !0),
 3179        $("math", Z, et, "\u21cc", "\\rightleftharpoons", !0),
 3180        $("math", K, et, "\u226e", "\\nless", !0),
 3181        $("math", K, et, "\ue010", "\\@nleqslant"),
 3182        $("math", K, et, "\ue011", "\\@nleqq"),
 3183        $("math", K, et, "\u2a87", "\\lneq", !0),
 3184        $("math", K, et, "\u2268", "\\lneqq", !0),
 3185        $("math", K, et, "\ue00c", "\\@lvertneqq"),
 3186        $("math", K, et, "\u22e6", "\\lnsim", !0),
 3187        $("math", K, et, "\u2a89", "\\lnapprox", !0),
 3188        $("math", K, et, "\u2280", "\\nprec", !0),
 3189        $("math", K, et, "\u22e0", "\\npreceq", !0),
 3190        $("math", K, et, "\u22e8", "\\precnsim", !0),
 3191        $("math", K, et, "\u2ab9", "\\precnapprox", !0),
 3192        $("math", K, et, "\u2241", "\\nsim", !0),
 3193        $("math", K, et, "\ue006", "\\@nshortmid"),
 3194        $("math", K, et, "\u2224", "\\nmid", !0),
 3195        $("math", K, et, "\u22ac", "\\nvdash", !0),
 3196        $("math", K, et, "\u22ad", "\\nvDash", !0),
 3197        $("math", K, et, "\u22ea", "\\ntriangleleft"),
 3198        $("math", K, et, "\u22ec", "\\ntrianglelefteq", !0),
 3199        $("math", K, et, "\u228a", "\\subsetneq", !0),
 3200        $("math", K, et, "\ue01a", "\\@varsubsetneq"),
 3201        $("math", K, et, "\u2acb", "\\subsetneqq", !0),
 3202        $("math", K, et, "\ue017", "\\@varsubsetneqq"),
 3203        $("math", K, et, "\u226f", "\\ngtr", !0),
 3204        $("math", K, et, "\ue00f", "\\@ngeqslant"),
 3205        $("math", K, et, "\ue00e", "\\@ngeqq"),
 3206        $("math", K, et, "\u2a88", "\\gneq", !0),
 3207        $("math", K, et, "\u2269", "\\gneqq", !0),
 3208        $("math", K, et, "\ue00d", "\\@gvertneqq"),
 3209        $("math", K, et, "\u22e7", "\\gnsim", !0),
 3210        $("math", K, et, "\u2a8a", "\\gnapprox", !0),
 3211        $("math", K, et, "\u2281", "\\nsucc", !0),
 3212        $("math", K, et, "\u22e1", "\\nsucceq", !0),
 3213        $("math", K, et, "\u22e9", "\\succnsim", !0),
 3214        $("math", K, et, "\u2aba", "\\succnapprox", !0),
 3215        $("math", K, et, "\u2246", "\\ncong", !0),
 3216        $("math", K, et, "\ue007", "\\@nshortparallel"),
 3217        $("math", K, et, "\u2226", "\\nparallel", !0),
 3218        $("math", K, et, "\u22af", "\\nVDash", !0),
 3219        $("math", K, et, "\u22eb", "\\ntriangleright"),
 3220        $("math", K, et, "\u22ed", "\\ntrianglerighteq", !0),
 3221        $("math", K, et, "\ue018", "\\@nsupseteqq"),
 3222        $("math", K, et, "\u228b", "\\supsetneq", !0),
 3223        $("math", K, et, "\ue01b", "\\@varsupsetneq"),
 3224        $("math", K, et, "\u2acc", "\\supsetneqq", !0),
 3225        $("math", K, et, "\ue019", "\\@varsupsetneqq"),
 3226        $("math", K, et, "\u22ae", "\\nVdash", !0),
 3227        $("math", K, et, "\u2ab5", "\\precneqq", !0),
 3228        $("math", K, et, "\u2ab6", "\\succneqq", !0),
 3229        $("math", K, et, "\ue016", "\\@nsubseteqq"),
 3230        $("math", K, J, "\u22b4", "\\unlhd"),
 3231        $("math", K, J, "\u22b5", "\\unrhd"),
 3232        $("math", K, et, "\u219a", "\\nleftarrow", !0),
 3233        $("math", K, et, "\u219b", "\\nrightarrow", !0),
 3234        $("math", K, et, "\u21cd", "\\nLeftarrow", !0),
 3235        $("math", K, et, "\u21cf", "\\nRightarrow", !0),
 3236        $("math", K, et, "\u21ae", "\\nleftrightarrow", !0),
 3237        $("math", K, et, "\u21ce", "\\nLeftrightarrow", !0),
 3238        $("math", K, et, "\u25b3", "\\vartriangle"),
 3239        $("math", K, "textord", "\u210f", "\\hslash"),
 3240        $("math", K, "textord", "\u25bd", "\\triangledown"),
 3241        $("math", K, "textord", "\u25ca", "\\lozenge"),
 3242        $("math", K, "textord", "\u24c8", "\\circledS"),
 3243        $("math", K, "textord", "\xae", "\\circledR"),
 3244        $("text", K, "textord", "\xae", "\\circledR"),
 3245        $("math", K, "textord", "\u2221", "\\measuredangle", !0),
 3246        $("math", K, "textord", "\u2204", "\\nexists"),
 3247        $("math", K, "textord", "\u2127", "\\mho"),
 3248        $("math", K, "textord", "\u2132", "\\Finv", !0),
 3249        $("math", K, "textord", "\u2141", "\\Game", !0),
 3250        $("math", K, "textord", "\u2035", "\\backprime"),
 3251        $("math", K, "textord", "\u25b2", "\\blacktriangle"),
 3252        $("math", K, "textord", "\u25bc", "\\blacktriangledown"),
 3253        $("math", K, "textord", "\u25a0", "\\blacksquare"),
 3254        $("math", K, "textord", "\u29eb", "\\blacklozenge"),
 3255        $("math", K, "textord", "\u2605", "\\bigstar"),
 3256        $("math", K, "textord", "\u2222", "\\sphericalangle", !0),
 3257        $("math", K, "textord", "\u2201", "\\complement", !0),
 3258        $("math", K, "textord", "\xf0", "\\eth", !0),
 3259        $("text", Z, "textord", "\xf0", "\xf0"),
 3260        $("math", K, "textord", "\u2571", "\\diagup"),
 3261        $("math", K, "textord", "\u2572", "\\diagdown"),
 3262        $("math", K, "textord", "\u25a1", "\\square"),
 3263        $("math", K, "textord", "\u25a1", "\\Box"),
 3264        $("math", K, "textord", "\u25ca", "\\Diamond"),
 3265        $("math", K, "textord", "\xa5", "\\yen", !0),
 3266        $("text", K, "textord", "\xa5", "\\yen", !0),
 3267        $("math", K, "textord", "\u2713", "\\checkmark", !0),
 3268        $("text", K, "textord", "\u2713", "\\checkmark"),
 3269        $("math", K, "textord", "\u2136", "\\beth", !0),
 3270        $("math", K, "textord", "\u2138", "\\daleth", !0),
 3271        $("math", K, "textord", "\u2137", "\\gimel", !0),
 3272        $("math", K, "textord", "\u03dd", "\\digamma", !0),
 3273        $("math", K, "textord", "\u03f0", "\\varkappa"),
 3274        $("math", K, "open", "\u250c", "\\@ulcorner", !0),
 3275        $("math", K, "close", "\u2510", "\\@urcorner", !0),
 3276        $("math", K, "open", "\u2514", "\\@llcorner", !0),
 3277        $("math", K, "close", "\u2518", "\\@lrcorner", !0),
 3278        $("math", K, et, "\u2266", "\\leqq", !0),
 3279        $("math", K, et, "\u2a7d", "\\leqslant", !0),
 3280        $("math", K, et, "\u2a95", "\\eqslantless", !0),
 3281        $("math", K, et, "\u2272", "\\lesssim", !0),
 3282        $("math", K, et, "\u2a85", "\\lessapprox", !0),
 3283        $("math", K, et, "\u224a", "\\approxeq", !0),
 3284        $("math", K, J, "\u22d6", "\\lessdot"),
 3285        $("math", K, et, "\u22d8", "\\lll", !0),
 3286        $("math", K, et, "\u2276", "\\lessgtr", !0),
 3287        $("math", K, et, "\u22da", "\\lesseqgtr", !0),
 3288        $("math", K, et, "\u2a8b", "\\lesseqqgtr", !0),
 3289        $("math", K, et, "\u2251", "\\doteqdot"),
 3290        $("math", K, et, "\u2253", "\\risingdotseq", !0),
 3291        $("math", K, et, "\u2252", "\\fallingdotseq", !0),
 3292        $("math", K, et, "\u223d", "\\backsim", !0),
 3293        $("math", K, et, "\u22cd", "\\backsimeq", !0),
 3294        $("math", K, et, "\u2ac5", "\\subseteqq", !0),
 3295        $("math", K, et, "\u22d0", "\\Subset", !0),
 3296        $("math", K, et, "\u228f", "\\sqsubset", !0),
 3297        $("math", K, et, "\u227c", "\\preccurlyeq", !0),
 3298        $("math", K, et, "\u22de", "\\curlyeqprec", !0),
 3299        $("math", K, et, "\u227e", "\\precsim", !0),
 3300        $("math", K, et, "\u2ab7", "\\precapprox", !0),
 3301        $("math", K, et, "\u22b2", "\\vartriangleleft"),
 3302        $("math", K, et, "\u22b4", "\\trianglelefteq"),
 3303        $("math", K, et, "\u22a8", "\\vDash", !0),
 3304        $("math", K, et, "\u22aa", "\\Vvdash", !0),
 3305        $("math", K, et, "\u2323", "\\smallsmile"),
 3306        $("math", K, et, "\u2322", "\\smallfrown"),
 3307        $("math", K, et, "\u224f", "\\bumpeq", !0),
 3308        $("math", K, et, "\u224e", "\\Bumpeq", !0),
 3309        $("math", K, et, "\u2267", "\\geqq", !0),
 3310        $("math", K, et, "\u2a7e", "\\geqslant", !0),
 3311        $("math", K, et, "\u2a96", "\\eqslantgtr", !0),
 3312        $("math", K, et, "\u2273", "\\gtrsim", !0),
 3313        $("math", K, et, "\u2a86", "\\gtrapprox", !0),
 3314        $("math", K, J, "\u22d7", "\\gtrdot"),
 3315        $("math", K, et, "\u22d9", "\\ggg", !0),
 3316        $("math", K, et, "\u2277", "\\gtrless", !0),
 3317        $("math", K, et, "\u22db", "\\gtreqless", !0),
 3318        $("math", K, et, "\u2a8c", "\\gtreqqless", !0),
 3319        $("math", K, et, "\u2256", "\\eqcirc", !0),
 3320        $("math", K, et, "\u2257", "\\circeq", !0),
 3321        $("math", K, et, "\u225c", "\\triangleq", !0),
 3322        $("math", K, et, "\u223c", "\\thicksim"),
 3323        $("math", K, et, "\u2248", "\\thickapprox"),
 3324        $("math", K, et, "\u2ac6", "\\supseteqq", !0),
 3325        $("math", K, et, "\u22d1", "\\Supset", !0),
 3326        $("math", K, et, "\u2290", "\\sqsupset", !0),
 3327        $("math", K, et, "\u227d", "\\succcurlyeq", !0),
 3328        $("math", K, et, "\u22df", "\\curlyeqsucc", !0),
 3329        $("math", K, et, "\u227f", "\\succsim", !0),
 3330        $("math", K, et, "\u2ab8", "\\succapprox", !0),
 3331        $("math", K, et, "\u22b3", "\\vartriangleright"),
 3332        $("math", K, et, "\u22b5", "\\trianglerighteq"),
 3333        $("math", K, et, "\u22a9", "\\Vdash", !0),
 3334        $("math", K, et, "\u2223", "\\shortmid"),
 3335        $("math", K, et, "\u2225", "\\shortparallel"),
 3336        $("math", K, et, "\u226c", "\\between", !0),
 3337        $("math", K, et, "\u22d4", "\\pitchfork", !0),
 3338        $("math", K, et, "\u221d", "\\varpropto"),
 3339        $("math", K, et, "\u25c0", "\\blacktriangleleft"),
 3340        $("math", K, et, "\u2234", "\\therefore", !0),
 3341        $("math", K, et, "\u220d", "\\backepsilon"),
 3342        $("math", K, et, "\u25b6", "\\blacktriangleright"),
 3343        $("math", K, et, "\u2235", "\\because", !0),
 3344        $("math", K, et, "\u22d8", "\\llless"),
 3345        $("math", K, et, "\u22d9", "\\gggtr"),
 3346        $("math", K, J, "\u22b2", "\\lhd"),
 3347        $("math", K, J, "\u22b3", "\\rhd"),
 3348        $("math", K, et, "\u2242", "\\eqsim", !0),
 3349        $("math", Z, et, "\u22c8", "\\Join"),
 3350        $("math", K, et, "\u2251", "\\Doteq", !0),
 3351        $("math", K, J, "\u2214", "\\dotplus", !0),
 3352        $("math", K, J, "\u2216", "\\smallsetminus"),
 3353        $("math", K, J, "\u22d2", "\\Cap", !0),
 3354        $("math", K, J, "\u22d3", "\\Cup", !0),
 3355        $("math", K, J, "\u2a5e", "\\doublebarwedge", !0),
 3356        $("math", K, J, "\u229f", "\\boxminus", !0),
 3357        $("math", K, J, "\u229e", "\\boxplus", !0),
 3358        $("math", K, J, "\u22c7", "\\divideontimes", !0),
 3359        $("math", K, J, "\u22c9", "\\ltimes", !0),
 3360        $("math", K, J, "\u22ca", "\\rtimes", !0),
 3361        $("math", K, J, "\u22cb", "\\leftthreetimes", !0),
 3362        $("math", K, J, "\u22cc", "\\rightthreetimes", !0),
 3363        $("math", K, J, "\u22cf", "\\curlywedge", !0),
 3364        $("math", K, J, "\u22ce", "\\curlyvee", !0),
 3365        $("math", K, J, "\u229d", "\\circleddash", !0),
 3366        $("math", K, J, "\u229b", "\\circledast", !0),
 3367        $("math", K, J, "\u22c5", "\\centerdot"),
 3368        $("math", K, J, "\u22ba", "\\intercal", !0),
 3369        $("math", K, J, "\u22d2", "\\doublecap"),
 3370        $("math", K, J, "\u22d3", "\\doublecup"),
 3371        $("math", K, J, "\u22a0", "\\boxtimes", !0),
 3372        $("math", K, et, "\u21e2", "\\dashrightarrow", !0),
 3373        $("math", K, et, "\u21e0", "\\dashleftarrow", !0),
 3374        $("math", K, et, "\u21c7", "\\leftleftarrows", !0),
 3375        $("math", K, et, "\u21c6", "\\leftrightarrows", !0),
 3376        $("math", K, et, "\u21da", "\\Lleftarrow", !0),
 3377        $("math", K, et, "\u219e", "\\twoheadleftarrow", !0),
 3378        $("math", K, et, "\u21a2", "\\leftarrowtail", !0),
 3379        $("math", K, et, "\u21ab", "\\looparrowleft", !0),
 3380        $("math", K, et, "\u21cb", "\\leftrightharpoons", !0),
 3381        $("math", K, et, "\u21b6", "\\curvearrowleft", !0),
 3382        $("math", K, et, "\u21ba", "\\circlearrowleft", !0),
 3383        $("math", K, et, "\u21b0", "\\Lsh", !0),
 3384        $("math", K, et, "\u21c8", "\\upuparrows", !0),
 3385        $("math", K, et, "\u21bf", "\\upharpoonleft", !0),
 3386        $("math", K, et, "\u21c3", "\\downharpoonleft", !0),
 3387        $("math", K, et, "\u22b8", "\\multimap", !0),
 3388        $("math", K, et, "\u21ad", "\\leftrightsquigarrow", !0),
 3389        $("math", K, et, "\u21c9", "\\rightrightarrows", !0),
 3390        $("math", K, et, "\u21c4", "\\rightleftarrows", !0),
 3391        $("math", K, et, "\u21a0", "\\twoheadrightarrow", !0),
 3392        $("math", K, et, "\u21a3", "\\rightarrowtail", !0),
 3393        $("math", K, et, "\u21ac", "\\looparrowright", !0),
 3394        $("math", K, et, "\u21b7", "\\curvearrowright", !0),
 3395        $("math", K, et, "\u21bb", "\\circlearrowright", !0),
 3396        $("math", K, et, "\u21b1", "\\Rsh", !0),
 3397        $("math", K, et, "\u21ca", "\\downdownarrows", !0),
 3398        $("math", K, et, "\u21be", "\\upharpoonright", !0),
 3399        $("math", K, et, "\u21c2", "\\downharpoonright", !0),
 3400        $("math", K, et, "\u21dd", "\\rightsquigarrow", !0),
 3401        $("math", K, et, "\u21dd", "\\leadsto"),
 3402        $("math", K, et, "\u21db", "\\Rrightarrow", !0),
 3403        $("math", K, et, "\u21be", "\\restriction"),
 3404        $("math", Z, "textord", "\u2018", "`"),
 3405        $("math", Z, "textord", "$", "\\$"),
 3406        $("text", Z, "textord", "$", "\\$"),
 3407        $("text", Z, "textord", "$", "\\textdollar"),
 3408        $("math", Z, "textord", "%", "\\%"),
 3409        $("text", Z, "textord", "%", "\\%"),
 3410        $("math", Z, "textord", "_", "\\_"),
 3411        $("text", Z, "textord", "_", "\\_"),
 3412        $("text", Z, "textord", "_", "\\textunderscore"),
 3413        $("math", Z, "textord", "\u2220", "\\angle", !0),
 3414        $("math", Z, "textord", "\u221e", "\\infty", !0),
 3415        $("math", Z, "textord", "\u2032", "\\prime"),
 3416        $("math", Z, "textord", "\u25b3", "\\triangle"),
 3417        $("math", Z, "textord", "\u0393", "\\Gamma", !0),
 3418        $("math", Z, "textord", "\u0394", "\\Delta", !0),
 3419        $("math", Z, "textord", "\u0398", "\\Theta", !0),
 3420        $("math", Z, "textord", "\u039b", "\\Lambda", !0),
 3421        $("math", Z, "textord", "\u039e", "\\Xi", !0),
 3422        $("math", Z, "textord", "\u03a0", "\\Pi", !0),
 3423        $("math", Z, "textord", "\u03a3", "\\Sigma", !0),
 3424        $("math", Z, "textord", "\u03a5", "\\Upsilon", !0),
 3425        $("math", Z, "textord", "\u03a6", "\\Phi", !0),
 3426        $("math", Z, "textord", "\u03a8", "\\Psi", !0),
 3427        $("math", Z, "textord", "\u03a9", "\\Omega", !0),
 3428        $("math", Z, "textord", "A", "\u0391"),
 3429        $("math", Z, "textord", "B", "\u0392"),
 3430        $("math", Z, "textord", "E", "\u0395"),
 3431        $("math", Z, "textord", "Z", "\u0396"),
 3432        $("math", Z, "textord", "H", "\u0397"),
 3433        $("math", Z, "textord", "I", "\u0399"),
 3434        $("math", Z, "textord", "K", "\u039a"),
 3435        $("math", Z, "textord", "M", "\u039c"),
 3436        $("math", Z, "textord", "N", "\u039d"),
 3437        $("math", Z, "textord", "O", "\u039f"),
 3438        $("math", Z, "textord", "P", "\u03a1"),
 3439        $("math", Z, "textord", "T", "\u03a4"),
 3440        $("math", Z, "textord", "X", "\u03a7"),
 3441        $("math", Z, "textord", "\xac", "\\neg", !0),
 3442        $("math", Z, "textord", "\xac", "\\lnot"),
 3443        $("math", Z, "textord", "\u22a4", "\\top"),
 3444        $("math", Z, "textord", "\u22a5", "\\bot"),
 3445        $("math", Z, "textord", "\u2205", "\\emptyset"),
 3446        $("math", K, "textord", "\u2205", "\\varnothing"),
 3447        $("math", Z, Q, "\u03b1", "\\alpha", !0),
 3448        $("math", Z, Q, "\u03b2", "\\beta", !0),
 3449        $("math", Z, Q, "\u03b3", "\\gamma", !0),
 3450        $("math", Z, Q, "\u03b4", "\\delta", !0),
 3451        $("math", Z, Q, "\u03f5", "\\epsilon", !0),
 3452        $("math", Z, Q, "\u03b6", "\\zeta", !0),
 3453        $("math", Z, Q, "\u03b7", "\\eta", !0),
 3454        $("math", Z, Q, "\u03b8", "\\theta", !0),
 3455        $("math", Z, Q, "\u03b9", "\\iota", !0),
 3456        $("math", Z, Q, "\u03ba", "\\kappa", !0),
 3457        $("math", Z, Q, "\u03bb", "\\lambda", !0),
 3458        $("math", Z, Q, "\u03bc", "\\mu", !0),
 3459        $("math", Z, Q, "\u03bd", "\\nu", !0),
 3460        $("math", Z, Q, "\u03be", "\\xi", !0),
 3461        $("math", Z, Q, "\u03bf", "\\omicron", !0),
 3462        $("math", Z, Q, "\u03c0", "\\pi", !0),
 3463        $("math", Z, Q, "\u03c1", "\\rho", !0),
 3464        $("math", Z, Q, "\u03c3", "\\sigma", !0),
 3465        $("math", Z, Q, "\u03c4", "\\tau", !0),
 3466        $("math", Z, Q, "\u03c5", "\\upsilon", !0),
 3467        $("math", Z, Q, "\u03d5", "\\phi", !0),
 3468        $("math", Z, Q, "\u03c7", "\\chi", !0),
 3469        $("math", Z, Q, "\u03c8", "\\psi", !0),
 3470        $("math", Z, Q, "\u03c9", "\\omega", !0),
 3471        $("math", Z, Q, "\u03b5", "\\varepsilon", !0),
 3472        $("math", Z, Q, "\u03d1", "\\vartheta", !0),
 3473        $("math", Z, Q, "\u03d6", "\\varpi", !0),
 3474        $("math", Z, Q, "\u03f1", "\\varrho", !0),
 3475        $("math", Z, Q, "\u03c2", "\\varsigma", !0),
 3476        $("math", Z, Q, "\u03c6", "\\varphi", !0),
 3477        $("math", Z, J, "\u2217", "*"),
 3478        $("math", Z, J, "+", "+"),
 3479        $("math", Z, J, "\u2212", "-"),
 3480        $("math", Z, J, "\u22c5", "\\cdot", !0),
 3481        $("math", Z, J, "\u2218", "\\circ"),
 3482        $("math", Z, J, "\xf7", "\\div", !0),
 3483        $("math", Z, J, "\xb1", "\\pm", !0),
 3484        $("math", Z, J, "\xd7", "\\times", !0),
 3485        $("math", Z, J, "\u2229", "\\cap", !0),
 3486        $("math", Z, J, "\u222a", "\\cup", !0),
 3487        $("math", Z, J, "\u2216", "\\setminus"),
 3488        $("math", Z, J, "\u2227", "\\land"),
 3489        $("math", Z, J, "\u2228", "\\lor"),
 3490        $("math", Z, J, "\u2227", "\\wedge", !0),
 3491        $("math", Z, J, "\u2228", "\\vee", !0),
 3492        $("math", Z, "textord", "\u221a", "\\surd"),
 3493        $("math", Z, "open", "\u27e8", "\\langle", !0),
 3494        $("math", Z, "open", "\u2223", "\\lvert"),
 3495        $("math", Z, "open", "\u2225", "\\lVert"),
 3496        $("math", Z, "close", "?", "?"),
 3497        $("math", Z, "close", "!", "!"),
 3498        $("math", Z, "close", "\u27e9", "\\rangle", !0),
 3499        $("math", Z, "close", "\u2223", "\\rvert"),
 3500        $("math", Z, "close", "\u2225", "\\rVert"),
 3501        $("math", Z, et, "=", "="),
 3502        $("math", Z, et, ":", ":"),
 3503        $("math", Z, et, "\u2248", "\\approx", !0),
 3504        $("math", Z, et, "\u2245", "\\cong", !0),
 3505        $("math", Z, et, "\u2265", "\\ge"),
 3506        $("math", Z, et, "\u2265", "\\geq", !0),
 3507        $("math", Z, et, "\u2190", "\\gets"),
 3508        $("math", Z, et, ">", "\\gt", !0),
 3509        $("math", Z, et, "\u2208", "\\in", !0),
 3510        $("math", Z, et, "\ue020", "\\@not"),
 3511        $("math", Z, et, "\u2282", "\\subset", !0),
 3512        $("math", Z, et, "\u2283", "\\supset", !0),
 3513        $("math", Z, et, "\u2286", "\\subseteq", !0),
 3514        $("math", Z, et, "\u2287", "\\supseteq", !0),
 3515        $("math", K, et, "\u2288", "\\nsubseteq", !0),
 3516        $("math", K, et, "\u2289", "\\nsupseteq", !0),
 3517        $("math", Z, et, "\u22a8", "\\models"),
 3518        $("math", Z, et, "\u2190", "\\leftarrow", !0),
 3519        $("math", Z, et, "\u2264", "\\le"),
 3520        $("math", Z, et, "\u2264", "\\leq", !0),
 3521        $("math", Z, et, "<", "\\lt", !0),
 3522        $("math", Z, et, "\u2192", "\\rightarrow", !0),
 3523        $("math", Z, et, "\u2192", "\\to"),
 3524        $("math", K, et, "\u2271", "\\ngeq", !0),
 3525        $("math", K, et, "\u2270", "\\nleq", !0),
 3526        $("math", Z, "spacing", "\xa0", "\\ "),
 3527        $("math", Z, "spacing", "\xa0", "~"),
 3528        $("math", Z, "spacing", "\xa0", "\\space"),
 3529        $("math", Z, "spacing", "\xa0", "\\nobreakspace"),
 3530        $("text", Z, "spacing", "\xa0", "\\ "),
 3531        $("text", Z, "spacing", "\xa0", " "),
 3532        $("text", Z, "spacing", "\xa0", "~"),
 3533        $("text", Z, "spacing", "\xa0", "\\space"),
 3534        $("text", Z, "spacing", "\xa0", "\\nobreakspace"),
 3535        $("math", Z, "spacing", null, "\\nobreak"),
 3536        $("math", Z, "spacing", null, "\\allowbreak"),
 3537        $("math", Z, "punct", ",", ","),
 3538        $("math", Z, "punct", ";", ";"),
 3539        $("math", K, J, "\u22bc", "\\barwedge", !0),
 3540        $("math", K, J, "\u22bb", "\\veebar", !0),
 3541        $("math", Z, J, "\u2299", "\\odot", !0),
 3542        $("math", Z, J, "\u2295", "\\oplus", !0),
 3543        $("math", Z, J, "\u2297", "\\otimes", !0),
 3544        $("math", Z, "textord", "\u2202", "\\partial", !0),
 3545        $("math", Z, J, "\u2298", "\\oslash", !0),
 3546        $("math", K, J, "\u229a", "\\circledcirc", !0),
 3547        $("math", K, J, "\u22a1", "\\boxdot", !0),
 3548        $("math", Z, J, "\u25b3", "\\bigtriangleup"),
 3549        $("math", Z, J, "\u25bd", "\\bigtriangledown"),
 3550        $("math", Z, J, "\u2020", "\\dagger"),
 3551        $("math", Z, J, "\u22c4", "\\diamond"),
 3552        $("math", Z, J, "\u22c6", "\\star"),
 3553        $("math", Z, J, "\u25c3", "\\triangleleft"),
 3554        $("math", Z, J, "\u25b9", "\\triangleright"),
 3555        $("math", Z, "open", "{", "\\{"),
 3556        $("text", Z, "textord", "{", "\\{"),
 3557        $("text", Z, "textord", "{", "\\textbraceleft"),
 3558        $("math", Z, "close", "}", "\\}"),
 3559        $("text", Z, "textord", "}", "\\}"),
 3560        $("text", Z, "textord", "}", "\\textbraceright"),
 3561        $("math", Z, "open", "{", "\\lbrace"),
 3562        $("math", Z, "close", "}", "\\rbrace"),
 3563        $("math", Z, "open", "[", "\\lbrack", !0),
 3564        $("text", Z, "textord", "[", "\\lbrack", !0),
 3565        $("math", Z, "close", "]", "\\rbrack", !0),
 3566        $("text", Z, "textord", "]", "\\rbrack", !0),
 3567        $("math", Z, "open", "(", "\\lparen", !0),
 3568        $("math", Z, "close", ")", "\\rparen", !0),
 3569        $("text", Z, "textord", "<", "\\textless", !0),
 3570        $("text", Z, "textord", ">", "\\textgreater", !0),
 3571        $("math", Z, "open", "\u230a", "\\lfloor", !0),
 3572        $("math", Z, "close", "\u230b", "\\rfloor", !0),
 3573        $("math", Z, "open", "\u2308", "\\lceil", !0),
 3574        $("math", Z, "close", "\u2309", "\\rceil", !0),
 3575        $("math", Z, "textord", "\\", "\\backslash"),
 3576        $("math", Z, "textord", "\u2223", "|"),
 3577        $("math", Z, "textord", "\u2223", "\\vert"),
 3578        $("text", Z, "textord", "|", "\\textbar", !0),
 3579        $("math", Z, "textord", "\u2225", "\\|"),
 3580        $("math", Z, "textord", "\u2225", "\\Vert"),
 3581        $("text", Z, "textord", "\u2225", "\\textbardbl"),
 3582        $("text", Z, "textord", "~", "\\textasciitilde"),
 3583        $("text", Z, "textord", "\\", "\\textbackslash"),
 3584        $("text", Z, "textord", "^", "\\textasciicircum"),
 3585        $("math", Z, et, "\u2191", "\\uparrow", !0),
 3586        $("math", Z, et, "\u21d1", "\\Uparrow", !0),
 3587        $("math", Z, et, "\u2193", "\\downarrow", !0),
 3588        $("math", Z, et, "\u21d3", "\\Downarrow", !0),
 3589        $("math", Z, et, "\u2195", "\\updownarrow", !0),
 3590        $("math", Z, et, "\u21d5", "\\Updownarrow", !0),
 3591        $("math", Z, tt, "\u2210", "\\coprod"),
 3592        $("math", Z, tt, "\u22c1", "\\bigvee"),
 3593        $("math", Z, tt, "\u22c0", "\\bigwedge"),
 3594        $("math", Z, tt, "\u2a04", "\\biguplus"),
 3595        $("math", Z, tt, "\u22c2", "\\bigcap"),
 3596        $("math", Z, tt, "\u22c3", "\\bigcup"),
 3597        $("math", Z, tt, "\u222b", "\\int"),
 3598        $("math", Z, tt, "\u222b", "\\intop"),
 3599        $("math", Z, tt, "\u222c", "\\iint"),
 3600        $("math", Z, tt, "\u222d", "\\iiint"),
 3601        $("math", Z, tt, "\u220f", "\\prod"),
 3602        $("math", Z, tt, "\u2211", "\\sum"),
 3603        $("math", Z, tt, "\u2a02", "\\bigotimes"),
 3604        $("math", Z, tt, "\u2a01", "\\bigoplus"),
 3605        $("math", Z, tt, "\u2a00", "\\bigodot"),
 3606        $("math", Z, tt, "\u222e", "\\oint"),
 3607        $("math", Z, tt, "\u2a06", "\\bigsqcup"),
 3608        $("math", Z, tt, "\u222b", "\\smallint"),
 3609        $("text", Z, "inner", "\u2026", "\\textellipsis"),
 3610        $("math", Z, "inner", "\u2026", "\\mathellipsis"),
 3611        $("text", Z, "inner", "\u2026", "\\ldots", !0),
 3612        $("math", Z, "inner", "\u2026", "\\ldots", !0),
 3613        $("math", Z, "inner", "\u22ef", "\\@cdots", !0),
 3614        $("math", Z, "inner", "\u22f1", "\\ddots", !0),
 3615        $("math", Z, "textord", "\u22ee", "\\varvdots"),
 3616        $("math", Z, "accent-token", "\u02ca", "\\acute"),
 3617        $("math", Z, "accent-token", "\u02cb", "\\grave"),
 3618        $("math", Z, "accent-token", "\xa8", "\\ddot"),
 3619        $("math", Z, "accent-token", "~", "\\tilde"),
 3620        $("math", Z, "accent-token", "\u02c9", "\\bar"),
 3621        $("math", Z, "accent-token", "\u02d8", "\\breve"),
 3622        $("math", Z, "accent-token", "\u02c7", "\\check"),
 3623        $("math", Z, "accent-token", "^", "\\hat"),
 3624        $("math", Z, "accent-token", "\u20d7", "\\vec"),
 3625        $("math", Z, "accent-token", "\u02d9", "\\dot"),
 3626        $("math", Z, "accent-token", "\u02da", "\\mathring"),
 3627        $("math", Z, Q, "\ue131", "\\@imath"),
 3628        $("math", Z, Q, "\ue237", "\\@jmath"),
 3629        $("math", Z, "textord", "\u0131", "\u0131"),
 3630        $("math", Z, "textord", "\u0237", "\u0237"),
 3631        $("text", Z, "textord", "\u0131", "\\i", !0),
 3632        $("text", Z, "textord", "\u0237", "\\j", !0),
 3633        $("text", Z, "textord", "\xdf", "\\ss", !0),
 3634        $("text", Z, "textord", "\xe6", "\\ae", !0),
 3635        $("text", Z, "textord", "\u0153", "\\oe", !0),
 3636        $("text", Z, "textord", "\xf8", "\\o", !0),
 3637        $("text", Z, "textord", "\xc6", "\\AE", !0),
 3638        $("text", Z, "textord", "\u0152", "\\OE", !0),
 3639        $("text", Z, "textord", "\xd8", "\\O", !0),
 3640        $("text", Z, "accent-token", "\u02ca", "\\'"),
 3641        $("text", Z, "accent-token", "\u02cb", "\\`"),
 3642        $("text", Z, "accent-token", "\u02c6", "\\^"),
 3643        $("text", Z, "accent-token", "\u02dc", "\\~"),
 3644        $("text", Z, "accent-token", "\u02c9", "\\="),
 3645        $("text", Z, "accent-token", "\u02d8", "\\u"),
 3646        $("text", Z, "accent-token", "\u02d9", "\\."),
 3647        $("text", Z, "accent-token", "\u02da", "\\r"),
 3648        $("text", Z, "accent-token", "\u02c7", "\\v"),
 3649        $("text", Z, "accent-token", "\xa8", '\\"'),
 3650        $("text", Z, "accent-token", "\u02dd", "\\H"),
 3651        $("text", Z, "accent-token", "\u25ef", "\\textcircled"));
 3652      var rt = { "--": !0, "---": !0, "``": !0, "''": !0 };
 3653      ($("text", Z, "textord", "\u2013", "--", !0),
 3654        $("text", Z, "textord", "\u2013", "\\textendash"),
 3655        $("text", Z, "textord", "\u2014", "---", !0),
 3656        $("text", Z, "textord", "\u2014", "\\textemdash"),
 3657        $("text", Z, "textord", "\u2018", "`", !0),
 3658        $("text", Z, "textord", "\u2018", "\\textquoteleft"),
 3659        $("text", Z, "textord", "\u2019", "'", !0),
 3660        $("text", Z, "textord", "\u2019", "\\textquoteright"),
 3661        $("text", Z, "textord", "\u201c", "``", !0),
 3662        $("text", Z, "textord", "\u201c", "\\textquotedblleft"),
 3663        $("text", Z, "textord", "\u201d", "''", !0),
 3664        $("text", Z, "textord", "\u201d", "\\textquotedblright"),
 3665        $("math", Z, "textord", "\xb0", "\\degree", !0),
 3666        $("text", Z, "textord", "\xb0", "\\degree"),
 3667        $("text", Z, "textord", "\xb0", "\\textdegree", !0),
 3668        $("math", Z, "textord", "\xa3", "\\pounds"),
 3669        $("math", Z, "textord", "\xa3", "\\mathsterling", !0),
 3670        $("text", Z, "textord", "\xa3", "\\pounds"),
 3671        $("text", Z, "textord", "\xa3", "\\textsterling", !0),
 3672        $("math", K, "textord", "\u2720", "\\maltese"),
 3673        $("text", K, "textord", "\u2720", "\\maltese"));
 3674      for (var at = 0; at < '0123456789/@."'.length; at++) {
 3675        var nt = '0123456789/@."'.charAt(at);
 3676        $("math", Z, "textord", nt, nt);
 3677      }
 3678      for (var it = 0; it < '0123456789!@*()-=+";:?/.,'.length; it++) {
 3679        var ot = '0123456789!@*()-=+";:?/.,'.charAt(it);
 3680        $("text", Z, "textord", ot, ot);
 3681      }
 3682      for (
 3683        var st = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", lt = 0;
 3684        lt < st.length;
 3685        lt++
 3686      ) {
 3687        var ht = st.charAt(lt);
 3688        ($("math", Z, Q, ht, ht), $("text", Z, "textord", ht, ht));
 3689      }
 3690      ($("math", K, "textord", "C", "\u2102"),
 3691        $("text", K, "textord", "C", "\u2102"),
 3692        $("math", K, "textord", "H", "\u210d"),
 3693        $("text", K, "textord", "H", "\u210d"),
 3694        $("math", K, "textord", "N", "\u2115"),
 3695        $("text", K, "textord", "N", "\u2115"),
 3696        $("math", K, "textord", "P", "\u2119"),
 3697        $("text", K, "textord", "P", "\u2119"),
 3698        $("math", K, "textord", "Q", "\u211a"),
 3699        $("text", K, "textord", "Q", "\u211a"),
 3700        $("math", K, "textord", "R", "\u211d"),
 3701        $("text", K, "textord", "R", "\u211d"),
 3702        $("math", K, "textord", "Z", "\u2124"),
 3703        $("text", K, "textord", "Z", "\u2124"),
 3704        $("math", Z, Q, "h", "\u210e"),
 3705        $("text", Z, Q, "h", "\u210e"));
 3706      for (var mt = "", ct = 0; ct < st.length; ct++) {
 3707        var ut = st.charAt(ct);
 3708        ($("math", Z, Q, ut, (mt = String.fromCharCode(55349, 56320 + ct))),
 3709          $("text", Z, "textord", ut, mt),
 3710          $("math", Z, Q, ut, (mt = String.fromCharCode(55349, 56372 + ct))),
 3711          $("text", Z, "textord", ut, mt),
 3712          $("math", Z, Q, ut, (mt = String.fromCharCode(55349, 56424 + ct))),
 3713          $("text", Z, "textord", ut, mt),
 3714          $("math", Z, Q, ut, (mt = String.fromCharCode(55349, 56580 + ct))),
 3715          $("text", Z, "textord", ut, mt),
 3716          $("math", Z, Q, ut, (mt = String.fromCharCode(55349, 56736 + ct))),
 3717          $("text", Z, "textord", ut, mt),
 3718          $("math", Z, Q, ut, (mt = String.fromCharCode(55349, 56788 + ct))),
 3719          $("text", Z, "textord", ut, mt),
 3720          $("math", Z, Q, ut, (mt = String.fromCharCode(55349, 56840 + ct))),
 3721          $("text", Z, "textord", ut, mt),
 3722          $("math", Z, Q, ut, (mt = String.fromCharCode(55349, 56944 + ct))),
 3723          $("text", Z, "textord", ut, mt),
 3724          ct < 26 &&
 3725            ($("math", Z, Q, ut, (mt = String.fromCharCode(55349, 56632 + ct))),
 3726            $("text", Z, "textord", ut, mt),
 3727            $("math", Z, Q, ut, (mt = String.fromCharCode(55349, 56476 + ct))),
 3728            $("text", Z, "textord", ut, mt)));
 3729      }
 3730      ($("math", Z, Q, "k", (mt = String.fromCharCode(55349, 56668))),
 3731        $("text", Z, "textord", "k", mt));
 3732      for (var pt = 0; pt < 10; pt++) {
 3733        var dt = pt.toString();
 3734        ($("math", Z, Q, dt, (mt = String.fromCharCode(55349, 57294 + pt))),
 3735          $("text", Z, "textord", dt, mt),
 3736          $("math", Z, Q, dt, (mt = String.fromCharCode(55349, 57314 + pt))),
 3737          $("text", Z, "textord", dt, mt),
 3738          $("math", Z, Q, dt, (mt = String.fromCharCode(55349, 57324 + pt))),
 3739          $("text", Z, "textord", dt, mt),
 3740          $("math", Z, Q, dt, (mt = String.fromCharCode(55349, 57334 + pt))),
 3741          $("text", Z, "textord", dt, mt));
 3742      }
 3743      for (var ft = 0; ft < "\xc7\xd0\xde\xe7\xfe".length; ft++) {
 3744        var gt = "\xc7\xd0\xde\xe7\xfe".charAt(ft);
 3745        ($("math", Z, Q, gt, gt), $("text", Z, "textord", gt, gt));
 3746      }
 3747      var xt = [
 3748          ["mathbf", "textbf", "Main-Bold"],
 3749          ["mathbf", "textbf", "Main-Bold"],
 3750          ["mathnormal", "textit", "Math-Italic"],
 3751          ["mathnormal", "textit", "Math-Italic"],
 3752          ["boldsymbol", "boldsymbol", "Main-BoldItalic"],
 3753          ["boldsymbol", "boldsymbol", "Main-BoldItalic"],
 3754          ["mathscr", "textscr", "Script-Regular"],
 3755          ["", "", ""],
 3756          ["", "", ""],
 3757          ["", "", ""],
 3758          ["mathfrak", "textfrak", "Fraktur-Regular"],
 3759          ["mathfrak", "textfrak", "Fraktur-Regular"],
 3760          ["mathbb", "textbb", "AMS-Regular"],
 3761          ["mathbb", "textbb", "AMS-Regular"],
 3762          ["", "", ""],
 3763          ["", "", ""],
 3764          ["mathsf", "textsf", "SansSerif-Regular"],
 3765          ["mathsf", "textsf", "SansSerif-Regular"],
 3766          ["mathboldsf", "textboldsf", "SansSerif-Bold"],
 3767          ["mathboldsf", "textboldsf", "SansSerif-Bold"],
 3768          ["mathitsf", "textitsf", "SansSerif-Italic"],
 3769          ["mathitsf", "textitsf", "SansSerif-Italic"],
 3770          ["", "", ""],
 3771          ["", "", ""],
 3772          ["mathtt", "texttt", "Typewriter-Regular"],
 3773          ["mathtt", "texttt", "Typewriter-Regular"],
 3774        ],
 3775        vt = [
 3776          ["mathbf", "textbf", "Main-Bold"],
 3777          ["", "", ""],
 3778          ["mathsf", "textsf", "SansSerif-Regular"],
 3779          ["mathboldsf", "textboldsf", "SansSerif-Bold"],
 3780          ["mathtt", "texttt", "Typewriter-Regular"],
 3781        ],
 3782        bt = [
 3783          [1, 1, 1],
 3784          [2, 1, 1],
 3785          [3, 1, 1],
 3786          [4, 2, 1],
 3787          [5, 2, 1],
 3788          [6, 3, 1],
 3789          [7, 4, 2],
 3790          [8, 6, 3],
 3791          [9, 7, 6],
 3792          [10, 8, 7],
 3793          [11, 10, 9],
 3794        ],
 3795        yt = [0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.2, 1.44, 1.728, 2.074, 2.488],
 3796        wt = function (t, e) {
 3797          return e.size < 2 ? t : bt[t - 1][e.size - 1];
 3798        },
 3799        kt = (function () {
 3800          function t(e) {
 3801            ((this.style = void 0),
 3802              (this.color = void 0),
 3803              (this.size = void 0),
 3804              (this.textSize = void 0),
 3805              (this.phantom = void 0),
 3806              (this.font = void 0),
 3807              (this.fontFamily = void 0),
 3808              (this.fontWeight = void 0),
 3809              (this.fontShape = void 0),
 3810              (this.sizeMultiplier = void 0),
 3811              (this.maxSize = void 0),
 3812              (this.minRuleThickness = void 0),
 3813              (this._fontMetrics = void 0),
 3814              (this.style = e.style),
 3815              (this.color = e.color),
 3816              (this.size = e.size || t.BASESIZE),
 3817              (this.textSize = e.textSize || this.size),
 3818              (this.phantom = !!e.phantom),
 3819              (this.font = e.font || ""),
 3820              (this.fontFamily = e.fontFamily || ""),
 3821              (this.fontWeight = e.fontWeight || ""),
 3822              (this.fontShape = e.fontShape || ""),
 3823              (this.sizeMultiplier = yt[this.size - 1]),
 3824              (this.maxSize = e.maxSize),
 3825              (this.minRuleThickness = e.minRuleThickness),
 3826              (this._fontMetrics = void 0));
 3827          }
 3828          var e = t.prototype;
 3829          return (
 3830            (e.extend = function (e) {
 3831              var r = {
 3832                style: this.style,
 3833                size: this.size,
 3834                textSize: this.textSize,
 3835                color: this.color,
 3836                phantom: this.phantom,
 3837                font: this.font,
 3838                fontFamily: this.fontFamily,
 3839                fontWeight: this.fontWeight,
 3840                fontShape: this.fontShape,
 3841                maxSize: this.maxSize,
 3842                minRuleThickness: this.minRuleThickness,
 3843              };
 3844              for (var a in e) e.hasOwnProperty(a) && (r[a] = e[a]);
 3845              return new t(r);
 3846            }),
 3847            (e.havingStyle = function (t) {
 3848              return this.style === t
 3849                ? this
 3850                : this.extend({ style: t, size: wt(this.textSize, t) });
 3851            }),
 3852            (e.havingCrampedStyle = function () {
 3853              return this.havingStyle(this.style.cramp());
 3854            }),
 3855            (e.havingSize = function (t) {
 3856              return this.size === t && this.textSize === t
 3857                ? this
 3858                : this.extend({
 3859                    style: this.style.text(),
 3860                    size: t,
 3861                    textSize: t,
 3862                    sizeMultiplier: yt[t - 1],
 3863                  });
 3864            }),
 3865            (e.havingBaseStyle = function (e) {
 3866              e = e || this.style.text();
 3867              var r = wt(t.BASESIZE, e);
 3868              return this.size === r &&
 3869                this.textSize === t.BASESIZE &&
 3870                this.style === e
 3871                ? this
 3872                : this.extend({ style: e, size: r });
 3873            }),
 3874            (e.havingBaseSizing = function () {
 3875              var t;
 3876              switch (this.style.id) {
 3877                case 4:
 3878                case 5:
 3879                  t = 3;
 3880                  break;
 3881                case 6:
 3882                case 7:
 3883                  t = 1;
 3884                  break;
 3885                default:
 3886                  t = 6;
 3887              }
 3888              return this.extend({ style: this.style.text(), size: t });
 3889            }),
 3890            (e.withColor = function (t) {
 3891              return this.extend({ color: t });
 3892            }),
 3893            (e.withPhantom = function () {
 3894              return this.extend({ phantom: !0 });
 3895            }),
 3896            (e.withFont = function (t) {
 3897              return this.extend({ font: t });
 3898            }),
 3899            (e.withTextFontFamily = function (t) {
 3900              return this.extend({ fontFamily: t, font: "" });
 3901            }),
 3902            (e.withTextFontWeight = function (t) {
 3903              return this.extend({ fontWeight: t, font: "" });
 3904            }),
 3905            (e.withTextFontShape = function (t) {
 3906              return this.extend({ fontShape: t, font: "" });
 3907            }),
 3908            (e.sizingClasses = function (t) {
 3909              return t.size !== this.size
 3910                ? ["sizing", "reset-size" + t.size, "size" + this.size]
 3911                : [];
 3912            }),
 3913            (e.baseSizingClasses = function () {
 3914              return this.size !== t.BASESIZE
 3915                ? ["sizing", "reset-size" + this.size, "size" + t.BASESIZE]
 3916                : [];
 3917            }),
 3918            (e.fontMetrics = function () {
 3919              return (
 3920                this._fontMetrics ||
 3921                  (this._fontMetrics = (function (t) {
 3922                    var e;
 3923                    if (!Y[(e = t >= 5 ? 0 : t >= 3 ? 1 : 2)]) {
 3924                      var r = (Y[e] = { cssEmPerMu: V.quad[e] / 18 });
 3925                      for (var a in V) V.hasOwnProperty(a) && (r[a] = V[a][e]);
 3926                    }
 3927                    return Y[e];
 3928                  })(this.size)),
 3929                this._fontMetrics
 3930              );
 3931            }),
 3932            (e.getColor = function () {
 3933              return this.phantom ? "transparent" : this.color;
 3934            }),
 3935            t
 3936          );
 3937        })();
 3938      kt.BASESIZE = 6;
 3939      var St = kt,
 3940        Mt = {
 3941          pt: 1,
 3942          mm: 7227 / 2540,
 3943          cm: 7227 / 254,
 3944          in: 72.27,
 3945          bp: 1.00375,
 3946          pc: 12,
 3947          dd: 1238 / 1157,
 3948          cc: 14856 / 1157,
 3949          nd: 685 / 642,
 3950          nc: 1370 / 107,
 3951          sp: 1 / 65536,
 3952          px: 1.00375,
 3953        },
 3954        zt = { ex: !0, em: !0, mu: !0 },
 3955        At = function (t) {
 3956          return (
 3957            "string" != typeof t && (t = t.unit),
 3958            t in Mt || t in zt || "ex" === t
 3959          );
 3960        },
 3961        Tt = function (t, e) {
 3962          var r;
 3963          if (t.unit in Mt)
 3964            r = Mt[t.unit] / e.fontMetrics().ptPerEm / e.sizeMultiplier;
 3965          else if ("mu" === t.unit) r = e.fontMetrics().cssEmPerMu;
 3966          else {
 3967            var a;
 3968            if (
 3969              ((a = e.style.isTight() ? e.havingStyle(e.style.text()) : e),
 3970              "ex" === t.unit)
 3971            )
 3972              r = a.fontMetrics().xHeight;
 3973            else {
 3974              if ("em" !== t.unit)
 3975                throw new o("Invalid unit: '" + t.unit + "'");
 3976              r = a.fontMetrics().quad;
 3977            }
 3978            a !== e && (r *= a.sizeMultiplier / e.sizeMultiplier);
 3979          }
 3980          return Math.min(t.number * r, e.maxSize);
 3981        },
 3982        Bt = function (t, e, r) {
 3983          return (
 3984            j[r][t] && j[r][t].replace && (t = j[r][t].replace),
 3985            { value: t, metrics: G(t, e, r) }
 3986          );
 3987        },
 3988        Ct = function (t, e, r, a, n) {
 3989          var i,
 3990            o = Bt(t, e, r),
 3991            s = o.metrics;
 3992          if (((t = o.value), s)) {
 3993            var l = s.italic;
 3994            (("text" === r || (a && "mathit" === a.font)) && (l = 0),
 3995              (i = new E(t, s.height, s.depth, l, s.skew, s.width, n)));
 3996          } else
 3997            ("undefined" != typeof console &&
 3998              console.warn(
 3999                "No character metrics for '" +
 4000                  t +
 4001                  "' in style '" +
 4002                  e +
 4003                  "' and mode '" +
 4004                  r +
 4005                  "'",
 4006              ),
 4007              (i = new E(t, 0, 0, 0, 0, 0, n)));
 4008          if (a) {
 4009            ((i.maxFontSize = a.sizeMultiplier),
 4010              a.style.isTight() && i.classes.push("mtight"));
 4011            var h = a.getColor();
 4012            h && (i.style.color = h);
 4013          }
 4014          return i;
 4015        },
 4016        qt = function (t, e) {
 4017          if (
 4018            T(t.classes) !== T(e.classes) ||
 4019            t.skew !== e.skew ||
 4020            t.maxFontSize !== e.maxFontSize
 4021          )
 4022            return !1;
 4023          for (var r in t.style)
 4024            if (t.style.hasOwnProperty(r) && t.style[r] !== e.style[r])
 4025              return !1;
 4026          for (var a in e.style)
 4027            if (e.style.hasOwnProperty(a) && t.style[a] !== e.style[a])
 4028              return !1;
 4029          return !0;
 4030        },
 4031        Nt = function (t) {
 4032          for (var e = 0, r = 0, a = 0, n = 0; n < t.children.length; n++) {
 4033            var i = t.children[n];
 4034            (i.height > e && (e = i.height),
 4035              i.depth > r && (r = i.depth),
 4036              i.maxFontSize > a && (a = i.maxFontSize));
 4037          }
 4038          ((t.height = e), (t.depth = r), (t.maxFontSize = a));
 4039        },
 4040        It = function (t, e, r, a) {
 4041          var n = new N(t, e, r, a);
 4042          return (Nt(n), n);
 4043        },
 4044        Ot = function (t, e, r, a) {
 4045          return new N(t, e, r, a);
 4046        },
 4047        Rt = function (t) {
 4048          var e = new A(t);
 4049          return (Nt(e), e);
 4050        },
 4051        Et = function (t, e, r) {
 4052          var a = "";
 4053          switch (t) {
 4054            case "amsrm":
 4055              a = "AMS";
 4056              break;
 4057            case "textrm":
 4058              a = "Main";
 4059              break;
 4060            case "textsf":
 4061              a = "SansSerif";
 4062              break;
 4063            case "texttt":
 4064              a = "Typewriter";
 4065              break;
 4066            default:
 4067              a = t;
 4068          }
 4069          return (
 4070            a +
 4071            "-" +
 4072            ("textbf" === e && "textit" === r
 4073              ? "BoldItalic"
 4074              : "textbf" === e
 4075                ? "Bold"
 4076                : "textit" === e
 4077                  ? "Italic"
 4078                  : "Regular")
 4079          );
 4080        },
 4081        Lt = {
 4082          mathbf: { variant: "bold", fontName: "Main-Bold" },
 4083          mathrm: { variant: "normal", fontName: "Main-Regular" },
 4084          textit: { variant: "italic", fontName: "Main-Italic" },
 4085          mathit: { variant: "italic", fontName: "Main-Italic" },
 4086          mathnormal: { variant: "italic", fontName: "Math-Italic" },
 4087          mathbb: { variant: "double-struck", fontName: "AMS-Regular" },
 4088          mathcal: { variant: "script", fontName: "Caligraphic-Regular" },
 4089          mathfrak: { variant: "fraktur", fontName: "Fraktur-Regular" },
 4090          mathscr: { variant: "script", fontName: "Script-Regular" },
 4091          mathsf: { variant: "sans-serif", fontName: "SansSerif-Regular" },
 4092          mathtt: { variant: "monospace", fontName: "Typewriter-Regular" },
 4093        },
 4094        Pt = {
 4095          vec: ["vec", 0.471, 0.714],
 4096          oiintSize1: ["oiintSize1", 0.957, 0.499],
 4097          oiintSize2: ["oiintSize2", 1.472, 0.659],
 4098          oiiintSize1: ["oiiintSize1", 1.304, 0.499],
 4099          oiiintSize2: ["oiiintSize2", 1.98, 0.659],
 4100          leftParenInner: ["leftParenInner", 0.875, 0.3],
 4101          rightParenInner: ["rightParenInner", 0.875, 0.3],
 4102        },
 4103        Dt = {
 4104          fontMap: Lt,
 4105          makeSymbol: Ct,
 4106          mathsym: function (t, e, r, a) {
 4107            return (
 4108              void 0 === a && (a = []),
 4109              "boldsymbol" === r.font && Bt(t, "Main-Bold", e).metrics
 4110                ? Ct(t, "Main-Bold", e, r, a.concat(["mathbf"]))
 4111                : "\\" === t || "main" === j[e][t].font
 4112                  ? Ct(t, "Main-Regular", e, r, a)
 4113                  : Ct(t, "AMS-Regular", e, r, a.concat(["amsrm"]))
 4114            );
 4115          },
 4116          makeSpan: It,
 4117          makeSvgSpan: Ot,
 4118          makeLineSpan: function (t, e, r) {
 4119            var a = It([t], [], e);
 4120            return (
 4121              (a.height = Math.max(
 4122                r || e.fontMetrics().defaultRuleThickness,
 4123                e.minRuleThickness,
 4124              )),
 4125              (a.style.borderBottomWidth = a.height + "em"),
 4126              (a.maxFontSize = 1),
 4127              a
 4128            );
 4129          },
 4130          makeAnchor: function (t, e, r, a) {
 4131            var n = new I(t, e, r, a);
 4132            return (Nt(n), n);
 4133          },
 4134          makeFragment: Rt,
 4135          wrapFragment: function (t, e) {
 4136            return t instanceof A ? It([], [t], e) : t;
 4137          },
 4138          makeVList: function (t, e) {
 4139            for (
 4140              var r = (function (t) {
 4141                  if ("individualShift" === t.positionType) {
 4142                    for (
 4143                      var e = t.children,
 4144                        r = [e[0]],
 4145                        a = -e[0].shift - e[0].elem.depth,
 4146                        n = a,
 4147                        i = 1;
 4148                      i < e.length;
 4149                      i++
 4150                    ) {
 4151                      var o = -e[i].shift - n - e[i].elem.depth,
 4152                        s = o - (e[i - 1].elem.height + e[i - 1].elem.depth);
 4153                      ((n += o),
 4154                        r.push({ type: "kern", size: s }),
 4155                        r.push(e[i]));
 4156                    }
 4157                    return { children: r, depth: a };
 4158                  }
 4159                  var l;
 4160                  if ("top" === t.positionType) {
 4161                    for (
 4162                      var h = t.positionData, m = 0;
 4163                      m < t.children.length;
 4164                      m++
 4165                    ) {
 4166                      var c = t.children[m];
 4167                      h -=
 4168                        "kern" === c.type
 4169                          ? c.size
 4170                          : c.elem.height + c.elem.depth;
 4171                    }
 4172                    l = h;
 4173                  } else if ("bottom" === t.positionType) l = -t.positionData;
 4174                  else {
 4175                    var u = t.children[0];
 4176                    if ("elem" !== u.type)
 4177                      throw new Error('First child must have type "elem".');
 4178                    if ("shift" === t.positionType)
 4179                      l = -u.elem.depth - t.positionData;
 4180                    else {
 4181                      if ("firstBaseline" !== t.positionType)
 4182                        throw new Error(
 4183                          "Invalid positionType " + t.positionType + ".",
 4184                        );
 4185                      l = -u.elem.depth;
 4186                    }
 4187                  }
 4188                  return { children: t.children, depth: l };
 4189                })(t),
 4190                a = r.children,
 4191                n = r.depth,
 4192                i = 0,
 4193                o = 0;
 4194              o < a.length;
 4195              o++
 4196            ) {
 4197              var s = a[o];
 4198              if ("elem" === s.type) {
 4199                var l = s.elem;
 4200                i = Math.max(i, l.maxFontSize, l.height);
 4201              }
 4202            }
 4203            i += 2;
 4204            var h = It(["pstrut"], []);
 4205            h.style.height = i + "em";
 4206            for (var m = [], c = n, u = n, p = n, d = 0; d < a.length; d++) {
 4207              var f = a[d];
 4208              if ("kern" === f.type) p += f.size;
 4209              else {
 4210                var g = f.elem,
 4211                  x = f.wrapperClasses || [],
 4212                  v = f.wrapperStyle || {},
 4213                  b = It(x, [h, g], void 0, v);
 4214                ((b.style.top = -i - p - g.depth + "em"),
 4215                  f.marginLeft && (b.style.marginLeft = f.marginLeft),
 4216                  f.marginRight && (b.style.marginRight = f.marginRight),
 4217                  m.push(b),
 4218                  (p += g.height + g.depth));
 4219              }
 4220              ((c = Math.min(c, p)), (u = Math.max(u, p)));
 4221            }
 4222            var y,
 4223              w = It(["vlist"], m);
 4224            if (((w.style.height = u + "em"), c < 0)) {
 4225              var k = It([], []),
 4226                S = It(["vlist"], [k]);
 4227              S.style.height = -c + "em";
 4228              var M = It(["vlist-s"], [new E("\u200b")]);
 4229              y = [It(["vlist-r"], [w, M]), It(["vlist-r"], [S])];
 4230            } else y = [It(["vlist-r"], [w])];
 4231            var z = It(["vlist-t"], y);
 4232            return (
 4233              2 === y.length && z.classes.push("vlist-t2"),
 4234              (z.height = u),
 4235              (z.depth = -c),
 4236              z
 4237            );
 4238          },
 4239          makeOrd: function (t, e, r) {
 4240            var a = t.mode,
 4241              n = t.text,
 4242              i = ["mord"],
 4243              s = "math" === a || ("text" === a && e.font),
 4244              l = s ? e.font : e.fontFamily;
 4245            if (55349 === n.charCodeAt(0)) {
 4246              var h = (function (t, e) {
 4247                  var r =
 4248                      1024 * (t.charCodeAt(0) - 55296) +
 4249                      (t.charCodeAt(1) - 56320) +
 4250                      65536,
 4251                    a = "math" === e ? 0 : 1;
 4252                  if (119808 <= r && r < 120484) {
 4253                    var n = Math.floor((r - 119808) / 26);
 4254                    return [xt[n][2], xt[n][a]];
 4255                  }
 4256                  if (120782 <= r && r <= 120831) {
 4257                    var i = Math.floor((r - 120782) / 10);
 4258                    return [vt[i][2], vt[i][a]];
 4259                  }
 4260                  if (120485 === r || 120486 === r) return [xt[0][2], xt[0][a]];
 4261                  if (120486 < r && r < 120782) return ["", ""];
 4262                  throw new o("Unsupported character: " + t);
 4263                })(n, a),
 4264                m = h[0],
 4265                c = h[1];
 4266              return Ct(n, m, a, e, i.concat(c));
 4267            }
 4268            if (l) {
 4269              var u, p;
 4270              if ("boldsymbol" === l) {
 4271                var d = (function (t, e, r, a, n) {
 4272                  return "textord" !== n && Bt(t, "Math-BoldItalic", e).metrics
 4273                    ? { fontName: "Math-BoldItalic", fontClass: "boldsymbol" }
 4274                    : { fontName: "Main-Bold", fontClass: "mathbf" };
 4275                })(n, a, 0, 0, r);
 4276                ((u = d.fontName), (p = [d.fontClass]));
 4277              } else
 4278                s
 4279                  ? ((u = Lt[l].fontName), (p = [l]))
 4280                  : ((u = Et(l, e.fontWeight, e.fontShape)),
 4281                    (p = [l, e.fontWeight, e.fontShape]));
 4282              if (Bt(n, u, a).metrics) return Ct(n, u, a, e, i.concat(p));
 4283              if (rt.hasOwnProperty(n) && "Typewriter" === u.substr(0, 10)) {
 4284                for (var f = [], g = 0; g < n.length; g++)
 4285                  f.push(Ct(n[g], u, a, e, i.concat(p)));
 4286                return Rt(f);
 4287              }
 4288            }
 4289            if ("mathord" === r)
 4290              return Ct(n, "Math-Italic", a, e, i.concat(["mathnormal"]));
 4291            if ("textord" === r) {
 4292              var x = j[a][n] && j[a][n].font;
 4293              if ("ams" === x) {
 4294                var v = Et("amsrm", e.fontWeight, e.fontShape);
 4295                return Ct(
 4296                  n,
 4297                  v,
 4298                  a,
 4299                  e,
 4300                  i.concat("amsrm", e.fontWeight, e.fontShape),
 4301                );
 4302              }
 4303              if ("main" !== x && x) {
 4304                var b = Et(x, e.fontWeight, e.fontShape);
 4305                return Ct(n, b, a, e, i.concat(b, e.fontWeight, e.fontShape));
 4306              }
 4307              var y = Et("textrm", e.fontWeight, e.fontShape);
 4308              return Ct(n, y, a, e, i.concat(e.fontWeight, e.fontShape));
 4309            }
 4310            throw new Error("unexpected type: " + r + " in makeOrd");
 4311          },
 4312          makeGlue: function (t, e) {
 4313            var r = It(["mspace"], [], e),
 4314              a = Tt(t, e);
 4315            return ((r.style.marginRight = a + "em"), r);
 4316          },
 4317          staticSvg: function (t, e) {
 4318            var r = Pt[t],
 4319              a = r[0],
 4320              n = r[1],
 4321              i = r[2],
 4322              o = new P(a),
 4323              s = new L([o], {
 4324                width: n + "em",
 4325                height: i + "em",
 4326                style: "width:" + n + "em",
 4327                viewBox: "0 0 " + 1e3 * n + " " + 1e3 * i,
 4328                preserveAspectRatio: "xMinYMin",
 4329              }),
 4330              l = Ot(["overlay"], [s], e);
 4331            return (
 4332              (l.height = i),
 4333              (l.style.height = i + "em"),
 4334              (l.style.width = n + "em"),
 4335              l
 4336            );
 4337          },
 4338          svgData: Pt,
 4339          tryCombineChars: function (t) {
 4340            for (var e = 0; e < t.length - 1; e++) {
 4341              var r = t[e],
 4342                a = t[e + 1];
 4343              r instanceof E &&
 4344                a instanceof E &&
 4345                qt(r, a) &&
 4346                ((r.text += a.text),
 4347                (r.height = Math.max(r.height, a.height)),
 4348                (r.depth = Math.max(r.depth, a.depth)),
 4349                (r.italic = a.italic),
 4350                t.splice(e + 1, 1),
 4351                e--);
 4352            }
 4353            return t;
 4354          },
 4355        },
 4356        Ht = { number: 3, unit: "mu" },
 4357        Ft = { number: 4, unit: "mu" },
 4358        Vt = { number: 5, unit: "mu" },
 4359        Ut = {
 4360          mord: { mop: Ht, mbin: Ft, mrel: Vt, minner: Ht },
 4361          mop: { mord: Ht, mop: Ht, mrel: Vt, minner: Ht },
 4362          mbin: { mord: Ft, mop: Ft, mopen: Ft, minner: Ft },
 4363          mrel: { mord: Vt, mop: Vt, mopen: Vt, minner: Vt },
 4364          mopen: {},
 4365          mclose: { mop: Ht, mbin: Ft, mrel: Vt, minner: Ht },
 4366          mpunct: {
 4367            mord: Ht,
 4368            mop: Ht,
 4369            mrel: Vt,
 4370            mopen: Ht,
 4371            mclose: Ht,
 4372            mpunct: Ht,
 4373            minner: Ht,
 4374          },
 4375          minner: {
 4376            mord: Ht,
 4377            mop: Ht,
 4378            mbin: Ft,
 4379            mrel: Vt,
 4380            mopen: Ht,
 4381            mpunct: Ht,
 4382            minner: Ht,
 4383          },
 4384        },
 4385        Gt = {
 4386          mord: { mop: Ht },
 4387          mop: { mord: Ht, mop: Ht },
 4388          mbin: {},
 4389          mrel: {},
 4390          mopen: {},
 4391          mclose: { mop: Ht },
 4392          mpunct: {},
 4393          minner: { mop: Ht },
 4394        },
 4395        Yt = {},
 4396        Wt = {},
 4397        Xt = {};
 4398      function _t(t) {
 4399        for (
 4400          var e = t.type,
 4401            r = t.names,
 4402            a = t.props,
 4403            n = t.handler,
 4404            i = t.htmlBuilder,
 4405            o = t.mathmlBuilder,
 4406            s = {
 4407              type: e,
 4408              numArgs: a.numArgs,
 4409              argTypes: a.argTypes,
 4410              greediness: void 0 === a.greediness ? 1 : a.greediness,
 4411              allowedInText: !!a.allowedInText,
 4412              allowedInMath: void 0 === a.allowedInMath || a.allowedInMath,
 4413              numOptionalArgs: a.numOptionalArgs || 0,
 4414              infix: !!a.infix,
 4415              handler: n,
 4416            },
 4417            l = 0;
 4418          l < r.length;
 4419          ++l
 4420        )
 4421          Yt[r[l]] = s;
 4422        e && (i && (Wt[e] = i), o && (Xt[e] = o));
 4423      }
 4424      function jt(t) {
 4425        _t({
 4426          type: t.type,
 4427          names: [],
 4428          props: { numArgs: 0 },
 4429          handler: function () {
 4430            throw new Error("Should never be called.");
 4431          },
 4432          htmlBuilder: t.htmlBuilder,
 4433          mathmlBuilder: t.mathmlBuilder,
 4434        });
 4435      }
 4436      var $t = function (t) {
 4437          return "ordgroup" === t.type ? t.body : [t];
 4438        },
 4439        Zt = Dt.makeSpan,
 4440        Kt = ["leftmost", "mbin", "mopen", "mrel", "mop", "mpunct"],
 4441        Jt = ["rightmost", "mrel", "mclose", "mpunct"],
 4442        Qt = {
 4443          display: w.DISPLAY,
 4444          text: w.TEXT,
 4445          script: w.SCRIPT,
 4446          scriptscript: w.SCRIPTSCRIPT,
 4447        },
 4448        te = {
 4449          mord: "mord",
 4450          mop: "mop",
 4451          mbin: "mbin",
 4452          mrel: "mrel",
 4453          mopen: "mopen",
 4454          mclose: "mclose",
 4455          mpunct: "mpunct",
 4456          minner: "minner",
 4457        },
 4458        ee = function (t, e, r, a) {
 4459          void 0 === a && (a = [null, null]);
 4460          for (var n = [], i = 0; i < t.length; i++) {
 4461            var o = oe(t[i], e);
 4462            if (o instanceof A) {
 4463              var s = o.children;
 4464              n.push.apply(n, s);
 4465            } else n.push(o);
 4466          }
 4467          if (!r) return n;
 4468          var l = e;
 4469          if (1 === t.length) {
 4470            var h = t[0];
 4471            "sizing" === h.type
 4472              ? (l = e.havingSize(h.size))
 4473              : "styling" === h.type && (l = e.havingStyle(Qt[h.style]));
 4474          }
 4475          var m = Zt([a[0] || "leftmost"], [], e),
 4476            u = Zt([a[1] || "rightmost"], [], e),
 4477            p = "root" === r;
 4478          return (
 4479            re(
 4480              n,
 4481              function (t, e) {
 4482                var r = e.classes[0],
 4483                  a = t.classes[0];
 4484                "mbin" === r && c.contains(Jt, a)
 4485                  ? (e.classes[0] = "mord")
 4486                  : "mbin" === a &&
 4487                    c.contains(Kt, r) &&
 4488                    (t.classes[0] = "mord");
 4489              },
 4490              { node: m },
 4491              u,
 4492              p,
 4493            ),
 4494            re(
 4495              n,
 4496              function (t, e) {
 4497                var r = ne(e),
 4498                  a = ne(t),
 4499                  n =
 4500                    r && a
 4501                      ? t.hasClass("mtight")
 4502                        ? Gt[r][a]
 4503                        : Ut[r][a]
 4504                      : null;
 4505                if (n) return Dt.makeGlue(n, l);
 4506              },
 4507              { node: m },
 4508              u,
 4509              p,
 4510            ),
 4511            n
 4512          );
 4513        },
 4514        re = function t(e, r, a, n, i) {
 4515          n && e.push(n);
 4516          for (var o = 0; o < e.length; o++) {
 4517            var s = e[o],
 4518              l = ae(s);
 4519            if (l) t(l.children, r, a, null, i);
 4520            else {
 4521              var h = !s.hasClass("mspace");
 4522              if (h) {
 4523                var m = r(s, a.node);
 4524                m && (a.insertAfter ? a.insertAfter(m) : (e.unshift(m), o++));
 4525              }
 4526              (h
 4527                ? (a.node = s)
 4528                : i && s.hasClass("newline") && (a.node = Zt(["leftmost"])),
 4529                (a.insertAfter = (function (t) {
 4530                  return function (r) {
 4531                    (e.splice(t + 1, 0, r), o++);
 4532                  };
 4533                })(o)));
 4534            }
 4535          }
 4536          n && e.pop();
 4537        },
 4538        ae = function (t) {
 4539          return t instanceof A ||
 4540            t instanceof I ||
 4541            (t instanceof N && t.hasClass("enclosing"))
 4542            ? t
 4543            : null;
 4544        },
 4545        ne = function (t, e) {
 4546          return t
 4547            ? (e &&
 4548                (t = (function t(e, r) {
 4549                  var a = ae(e);
 4550                  if (a) {
 4551                    var n = a.children;
 4552                    if (n.length) {
 4553                      if ("right" === r) return t(n[n.length - 1], "right");
 4554                      if ("left" === r) return t(n[0], "left");
 4555                    }
 4556                  }
 4557                  return e;
 4558                })(t, e)),
 4559              te[t.classes[0]] || null)
 4560            : null;
 4561        },
 4562        ie = function (t, e) {
 4563          var r = ["nulldelimiter"].concat(t.baseSizingClasses());
 4564          return Zt(e.concat(r));
 4565        },
 4566        oe = function (t, e, r) {
 4567          if (!t) return Zt();
 4568          if (Wt[t.type]) {
 4569            var a = Wt[t.type](t, e);
 4570            if (r && e.size !== r.size) {
 4571              a = Zt(e.sizingClasses(r), [a], e);
 4572              var n = e.sizeMultiplier / r.sizeMultiplier;
 4573              ((a.height *= n), (a.depth *= n));
 4574            }
 4575            return a;
 4576          }
 4577          throw new o("Got group of unknown type: '" + t.type + "'");
 4578        };
 4579      function se(t, e) {
 4580        var r = Zt(["base"], t, e),
 4581          a = Zt(["strut"]);
 4582        return (
 4583          (a.style.height = r.height + r.depth + "em"),
 4584          (a.style.verticalAlign = -r.depth + "em"),
 4585          r.children.unshift(a),
 4586          r
 4587        );
 4588      }
 4589      function le(t, e) {
 4590        var r = null;
 4591        1 === t.length &&
 4592          "tag" === t[0].type &&
 4593          ((r = t[0].tag), (t = t[0].body));
 4594        for (
 4595          var a, n = ee(t, e, "root"), i = [], o = [], s = 0;
 4596          s < n.length;
 4597          s++
 4598        )
 4599          if (
 4600            (o.push(n[s]),
 4601            n[s].hasClass("mbin") ||
 4602              n[s].hasClass("mrel") ||
 4603              n[s].hasClass("allowbreak"))
 4604          ) {
 4605            for (
 4606              var l = !1;
 4607              s < n.length - 1 &&
 4608              n[s + 1].hasClass("mspace") &&
 4609              !n[s + 1].hasClass("newline");
 4610            )
 4611              (s++, o.push(n[s]), n[s].hasClass("nobreak") && (l = !0));
 4612            l || (i.push(se(o, e)), (o = []));
 4613          } else
 4614            n[s].hasClass("newline") &&
 4615              (o.pop(),
 4616              o.length > 0 && (i.push(se(o, e)), (o = [])),
 4617              i.push(n[s]));
 4618        (o.length > 0 && i.push(se(o, e)),
 4619          r && (((a = se(ee(r, e, !0))).classes = ["tag"]), i.push(a)));
 4620        var h = Zt(["katex-html"], i);
 4621        if ((h.setAttribute("aria-hidden", "true"), a)) {
 4622          var m = a.children[0];
 4623          ((m.style.height = h.height + h.depth + "em"),
 4624            (m.style.verticalAlign = -h.depth + "em"));
 4625        }
 4626        return h;
 4627      }
 4628      function he(t) {
 4629        return new A(t);
 4630      }
 4631      var me = (function () {
 4632          function t(t, e) {
 4633            ((this.type = void 0),
 4634              (this.attributes = void 0),
 4635              (this.children = void 0),
 4636              (this.type = t),
 4637              (this.attributes = {}),
 4638              (this.children = e || []));
 4639          }
 4640          var e = t.prototype;
 4641          return (
 4642            (e.setAttribute = function (t, e) {
 4643              this.attributes[t] = e;
 4644            }),
 4645            (e.getAttribute = function (t) {
 4646              return this.attributes[t];
 4647            }),
 4648            (e.toNode = function () {
 4649              var t = document.createElementNS(
 4650                "http://www.w3.org/1998/Math/MathML",
 4651                this.type,
 4652              );
 4653              for (var e in this.attributes)
 4654                Object.prototype.hasOwnProperty.call(this.attributes, e) &&
 4655                  t.setAttribute(e, this.attributes[e]);
 4656              for (var r = 0; r < this.children.length; r++)
 4657                t.appendChild(this.children[r].toNode());
 4658              return t;
 4659            }),
 4660            (e.toMarkup = function () {
 4661              var t = "<" + this.type;
 4662              for (var e in this.attributes)
 4663                Object.prototype.hasOwnProperty.call(this.attributes, e) &&
 4664                  ((t += " " + e + '="'),
 4665                  (t += c.escape(this.attributes[e])),
 4666                  (t += '"'));
 4667              t += ">";
 4668              for (var r = 0; r < this.children.length; r++)
 4669                t += this.children[r].toMarkup();
 4670              return (t += "</" + this.type + ">");
 4671            }),
 4672            (e.toText = function () {
 4673              return this.children
 4674                .map(function (t) {
 4675                  return t.toText();
 4676                })
 4677                .join("");
 4678            }),
 4679            t
 4680          );
 4681        })(),
 4682        ce = (function () {
 4683          function t(t) {
 4684            ((this.text = void 0), (this.text = t));
 4685          }
 4686          var e = t.prototype;
 4687          return (
 4688            (e.toNode = function () {
 4689              return document.createTextNode(this.text);
 4690            }),
 4691            (e.toMarkup = function () {
 4692              return c.escape(this.toText());
 4693            }),
 4694            (e.toText = function () {
 4695              return this.text;
 4696            }),
 4697            t
 4698          );
 4699        })(),
 4700        ue = {
 4701          MathNode: me,
 4702          TextNode: ce,
 4703          SpaceNode: (function () {
 4704            function t(t) {
 4705              ((this.width = void 0),
 4706                (this.character = void 0),
 4707                (this.width = t),
 4708                (this.character =
 4709                  t >= 0.05555 && t <= 0.05556
 4710                    ? "\u200a"
 4711                    : t >= 0.1666 && t <= 0.1667
 4712                      ? "\u2009"
 4713                      : t >= 0.2222 && t <= 0.2223
 4714                        ? "\u2005"
 4715                        : t >= 0.2777 && t <= 0.2778
 4716                          ? "\u2005\u200a"
 4717                          : t >= -0.05556 && t <= -0.05555
 4718                            ? "\u200a\u2063"
 4719                            : t >= -0.1667 && t <= -0.1666
 4720                              ? "\u2009\u2063"
 4721                              : t >= -0.2223 && t <= -0.2222
 4722                                ? "\u205f\u2063"
 4723                                : t >= -0.2778 && t <= -0.2777
 4724                                  ? "\u2005\u2063"
 4725                                  : null));
 4726            }
 4727            var e = t.prototype;
 4728            return (
 4729              (e.toNode = function () {
 4730                if (this.character)
 4731                  return document.createTextNode(this.character);
 4732                var t = document.createElementNS(
 4733                  "http://www.w3.org/1998/Math/MathML",
 4734                  "mspace",
 4735                );
 4736                return (t.setAttribute("width", this.width + "em"), t);
 4737              }),
 4738              (e.toMarkup = function () {
 4739                return this.character
 4740                  ? "<mtext>" + this.character + "</mtext>"
 4741                  : '<mspace width="' + this.width + 'em"/>';
 4742              }),
 4743              (e.toText = function () {
 4744                return this.character ? this.character : " ";
 4745              }),
 4746              t
 4747            );
 4748          })(),
 4749          newDocumentFragment: he,
 4750        },
 4751        pe = function (t, e, r) {
 4752          return (
 4753            !j[e][t] ||
 4754              !j[e][t].replace ||
 4755              55349 === t.charCodeAt(0) ||
 4756              (rt.hasOwnProperty(t) &&
 4757                r &&
 4758                ((r.fontFamily && "tt" === r.fontFamily.substr(4, 2)) ||
 4759                  (r.font && "tt" === r.font.substr(4, 2)))) ||
 4760              (t = j[e][t].replace),
 4761            new ue.TextNode(t)
 4762          );
 4763        },
 4764        de = function (t) {
 4765          return 1 === t.length ? t[0] : new ue.MathNode("mrow", t);
 4766        },
 4767        fe = function (t, e) {
 4768          if ("texttt" === e.fontFamily) return "monospace";
 4769          if ("textsf" === e.fontFamily)
 4770            return "textit" === e.fontShape && "textbf" === e.fontWeight
 4771              ? "sans-serif-bold-italic"
 4772              : "textit" === e.fontShape
 4773                ? "sans-serif-italic"
 4774                : "textbf" === e.fontWeight
 4775                  ? "bold-sans-serif"
 4776                  : "sans-serif";
 4777          if ("textit" === e.fontShape && "textbf" === e.fontWeight)
 4778            return "bold-italic";
 4779          if ("textit" === e.fontShape) return "italic";
 4780          if ("textbf" === e.fontWeight) return "bold";
 4781          var r = e.font;
 4782          if (!r || "mathnormal" === r) return null;
 4783          var a = t.mode;
 4784          if ("mathit" === r) return "italic";
 4785          if ("boldsymbol" === r)
 4786            return "textord" === t.type ? "bold" : "bold-italic";
 4787          if ("mathbf" === r) return "bold";
 4788          if ("mathbb" === r) return "double-struck";
 4789          if ("mathfrak" === r) return "fraktur";
 4790          if ("mathscr" === r || "mathcal" === r) return "script";
 4791          if ("mathsf" === r) return "sans-serif";
 4792          if ("mathtt" === r) return "monospace";
 4793          var n = t.text;
 4794          return c.contains(["\\imath", "\\jmath"], n)
 4795            ? null
 4796            : (j[a][n] && j[a][n].replace && (n = j[a][n].replace),
 4797              G(n, Dt.fontMap[r].fontName, a) ? Dt.fontMap[r].variant : null);
 4798        },
 4799        ge = function (t, e, r) {
 4800          if (1 === t.length) {
 4801            var a = ve(t[0], e);
 4802            return (
 4803              r &&
 4804                a instanceof me &&
 4805                "mo" === a.type &&
 4806                (a.setAttribute("lspace", "0em"),
 4807                a.setAttribute("rspace", "0em")),
 4808              [a]
 4809            );
 4810          }
 4811          for (var n, i = [], o = 0; o < t.length; o++) {
 4812            var s = ve(t[o], e);
 4813            if (s instanceof me && n instanceof me) {
 4814              if (
 4815                "mtext" === s.type &&
 4816                "mtext" === n.type &&
 4817                s.getAttribute("mathvariant") === n.getAttribute("mathvariant")
 4818              ) {
 4819                var l;
 4820                (l = n.children).push.apply(l, s.children);
 4821                continue;
 4822              }
 4823              if ("mn" === s.type && "mn" === n.type) {
 4824                var h;
 4825                (h = n.children).push.apply(h, s.children);
 4826                continue;
 4827              }
 4828              if (
 4829                "mi" === s.type &&
 4830                1 === s.children.length &&
 4831                "mn" === n.type
 4832              ) {
 4833                var m = s.children[0];
 4834                if (m instanceof ce && "." === m.text) {
 4835                  var c;
 4836                  (c = n.children).push.apply(c, s.children);
 4837                  continue;
 4838                }
 4839              } else if ("mi" === n.type && 1 === n.children.length) {
 4840                var u = n.children[0];
 4841                if (
 4842                  u instanceof ce &&
 4843                  "\u0338" === u.text &&
 4844                  ("mo" === s.type || "mi" === s.type || "mn" === s.type)
 4845                ) {
 4846                  var p = s.children[0];
 4847                  p instanceof ce &&
 4848                    p.text.length > 0 &&
 4849                    ((p.text = p.text.slice(0, 1) + "\u0338" + p.text.slice(1)),
 4850                    i.pop());
 4851                }
 4852              }
 4853            }
 4854            (i.push(s), (n = s));
 4855          }
 4856          return i;
 4857        },
 4858        xe = function (t, e, r) {
 4859          return de(ge(t, e, r));
 4860        },
 4861        ve = function (t, e) {
 4862          if (!t) return new ue.MathNode("mrow");
 4863          if (Xt[t.type]) return Xt[t.type](t, e);
 4864          throw new o("Got group of unknown type: '" + t.type + "'");
 4865        };
 4866      function be(t, e, r, a, n) {
 4867        var i,
 4868          o = ge(t, r);
 4869        i =
 4870          1 === o.length &&
 4871          o[0] instanceof me &&
 4872          c.contains(["mrow", "mtable"], o[0].type)
 4873            ? o[0]
 4874            : new ue.MathNode("mrow", o);
 4875        var s = new ue.MathNode("annotation", [new ue.TextNode(e)]);
 4876        s.setAttribute("encoding", "application/x-tex");
 4877        var l = new ue.MathNode("semantics", [i, s]),
 4878          h = new ue.MathNode("math", [l]);
 4879        (h.setAttribute("xmlns", "http://www.w3.org/1998/Math/MathML"),
 4880          a && h.setAttribute("display", "block"));
 4881        var m = n ? "katex" : "katex-mathml";
 4882        return Dt.makeSpan([m], [h]);
 4883      }
 4884      var ye = function (t) {
 4885          return new St({
 4886            style: t.displayMode ? w.DISPLAY : w.TEXT,
 4887            maxSize: t.maxSize,
 4888            minRuleThickness: t.minRuleThickness,
 4889          });
 4890        },
 4891        we = function (t, e) {
 4892          if (e.displayMode) {
 4893            var r = ["katex-display"];
 4894            (e.leqno && r.push("leqno"),
 4895              e.fleqn && r.push("fleqn"),
 4896              (t = Dt.makeSpan(r, [t])));
 4897          }
 4898          return t;
 4899        },
 4900        ke = function (t, e, r) {
 4901          var a,
 4902            n = ye(r);
 4903          if ("mathml" === r.output) return be(t, e, n, r.displayMode, !0);
 4904          if ("html" === r.output) {
 4905            var i = le(t, n);
 4906            a = Dt.makeSpan(["katex"], [i]);
 4907          } else {
 4908            var o = be(t, e, n, r.displayMode, !1),
 4909              s = le(t, n);
 4910            a = Dt.makeSpan(["katex"], [o, s]);
 4911          }
 4912          return we(a, r);
 4913        },
 4914        Se = {
 4915          widehat: "^",
 4916          widecheck: "\u02c7",
 4917          widetilde: "~",
 4918          utilde: "~",
 4919          overleftarrow: "\u2190",
 4920          underleftarrow: "\u2190",
 4921          xleftarrow: "\u2190",
 4922          overrightarrow: "\u2192",
 4923          underrightarrow: "\u2192",
 4924          xrightarrow: "\u2192",
 4925          underbrace: "\u23df",
 4926          overbrace: "\u23de",
 4927          overgroup: "\u23e0",
 4928          undergroup: "\u23e1",
 4929          overleftrightarrow: "\u2194",
 4930          underleftrightarrow: "\u2194",
 4931          xleftrightarrow: "\u2194",
 4932          Overrightarrow: "\u21d2",
 4933          xRightarrow: "\u21d2",
 4934          overleftharpoon: "\u21bc",
 4935          xleftharpoonup: "\u21bc",
 4936          overrightharpoon: "\u21c0",
 4937          xrightharpoonup: "\u21c0",
 4938          xLeftarrow: "\u21d0",
 4939          xLeftrightarrow: "\u21d4",
 4940          xhookleftarrow: "\u21a9",
 4941          xhookrightarrow: "\u21aa",
 4942          xmapsto: "\u21a6",
 4943          xrightharpoondown: "\u21c1",
 4944          xleftharpoondown: "\u21bd",
 4945          xrightleftharpoons: "\u21cc",
 4946          xleftrightharpoons: "\u21cb",
 4947          xtwoheadleftarrow: "\u219e",
 4948          xtwoheadrightarrow: "\u21a0",
 4949          xlongequal: "=",
 4950          xtofrom: "\u21c4",
 4951          xrightleftarrows: "\u21c4",
 4952          xrightequilibrium: "\u21cc",
 4953          xleftequilibrium: "\u21cb",
 4954        },
 4955        Me = {
 4956          overrightarrow: [["rightarrow"], 0.888, 522, "xMaxYMin"],
 4957          overleftarrow: [["leftarrow"], 0.888, 522, "xMinYMin"],
 4958          underrightarrow: [["rightarrow"], 0.888, 522, "xMaxYMin"],
 4959          underleftarrow: [["leftarrow"], 0.888, 522, "xMinYMin"],
 4960          xrightarrow: [["rightarrow"], 1.469, 522, "xMaxYMin"],
 4961          xleftarrow: [["leftarrow"], 1.469, 522, "xMinYMin"],
 4962          Overrightarrow: [["doublerightarrow"], 0.888, 560, "xMaxYMin"],
 4963          xRightarrow: [["doublerightarrow"], 1.526, 560, "xMaxYMin"],
 4964          xLeftarrow: [["doubleleftarrow"], 1.526, 560, "xMinYMin"],
 4965          overleftharpoon: [["leftharpoon"], 0.888, 522, "xMinYMin"],
 4966          xleftharpoonup: [["leftharpoon"], 0.888, 522, "xMinYMin"],
 4967          xleftharpoondown: [["leftharpoondown"], 0.888, 522, "xMinYMin"],
 4968          overrightharpoon: [["rightharpoon"], 0.888, 522, "xMaxYMin"],
 4969          xrightharpoonup: [["rightharpoon"], 0.888, 522, "xMaxYMin"],
 4970          xrightharpoondown: [["rightharpoondown"], 0.888, 522, "xMaxYMin"],
 4971          xlongequal: [["longequal"], 0.888, 334, "xMinYMin"],
 4972          xtwoheadleftarrow: [["twoheadleftarrow"], 0.888, 334, "xMinYMin"],
 4973          xtwoheadrightarrow: [["twoheadrightarrow"], 0.888, 334, "xMaxYMin"],
 4974          overleftrightarrow: [["leftarrow", "rightarrow"], 0.888, 522],
 4975          overbrace: [["leftbrace", "midbrace", "rightbrace"], 1.6, 548],
 4976          underbrace: [
 4977            ["leftbraceunder", "midbraceunder", "rightbraceunder"],
 4978            1.6,
 4979            548,
 4980          ],
 4981          underleftrightarrow: [["leftarrow", "rightarrow"], 0.888, 522],
 4982          xleftrightarrow: [["leftarrow", "rightarrow"], 1.75, 522],
 4983          xLeftrightarrow: [["doubleleftarrow", "doublerightarrow"], 1.75, 560],
 4984          xrightleftharpoons: [
 4985            ["leftharpoondownplus", "rightharpoonplus"],
 4986            1.75,
 4987            716,
 4988          ],
 4989          xleftrightharpoons: [
 4990            ["leftharpoonplus", "rightharpoondownplus"],
 4991            1.75,
 4992            716,
 4993          ],
 4994          xhookleftarrow: [["leftarrow", "righthook"], 1.08, 522],
 4995          xhookrightarrow: [["lefthook", "rightarrow"], 1.08, 522],
 4996          overlinesegment: [
 4997            ["leftlinesegment", "rightlinesegment"],
 4998            0.888,
 4999            522,
 5000          ],
 5001          underlinesegment: [
 5002            ["leftlinesegment", "rightlinesegment"],
 5003            0.888,
 5004            522,
 5005          ],
 5006          overgroup: [["leftgroup", "rightgroup"], 0.888, 342],
 5007          undergroup: [["leftgroupunder", "rightgroupunder"], 0.888, 342],
 5008          xmapsto: [["leftmapsto", "rightarrow"], 1.5, 522],
 5009          xtofrom: [["leftToFrom", "rightToFrom"], 1.75, 528],
 5010          xrightleftarrows: [
 5011            ["baraboveleftarrow", "rightarrowabovebar"],
 5012            1.75,
 5013            901,
 5014          ],
 5015          xrightequilibrium: [
 5016            ["baraboveshortleftharpoon", "rightharpoonaboveshortbar"],
 5017            1.75,
 5018            716,
 5019          ],
 5020          xleftequilibrium: [
 5021            ["shortbaraboveleftharpoon", "shortrightharpoonabovebar"],
 5022            1.75,
 5023            716,
 5024          ],
 5025        },
 5026        ze = function (t) {
 5027          return "ordgroup" === t.type ? t.body.length : 1;
 5028        },
 5029        Ae = function (t, e, r, a) {
 5030          var n,
 5031            i = t.height + t.depth + 2 * r;
 5032          if (/fbox|color/.test(e)) {
 5033            if (((n = Dt.makeSpan(["stretchy", e], [], a)), "fbox" === e)) {
 5034              var o = a.color && a.getColor();
 5035              o && (n.style.borderColor = o);
 5036            }
 5037          } else {
 5038            var s = [];
 5039            (/^[bx]cancel$/.test(e) &&
 5040              s.push(
 5041                new D({
 5042                  x1: "0",
 5043                  y1: "0",
 5044                  x2: "100%",
 5045                  y2: "100%",
 5046                  "stroke-width": "0.046em",
 5047                }),
 5048              ),
 5049              /^x?cancel$/.test(e) &&
 5050                s.push(
 5051                  new D({
 5052                    x1: "0",
 5053                    y1: "100%",
 5054                    x2: "100%",
 5055                    y2: "0",
 5056                    "stroke-width": "0.046em",
 5057                  }),
 5058                ));
 5059            var l = new L(s, { width: "100%", height: i + "em" });
 5060            n = Dt.makeSvgSpan([], [l], a);
 5061          }
 5062          return ((n.height = i), (n.style.height = i + "em"), n);
 5063        },
 5064        Te = function (t) {
 5065          var e = new ue.MathNode("mo", [new ue.TextNode(Se[t.substr(1)])]);
 5066          return (e.setAttribute("stretchy", "true"), e);
 5067        },
 5068        Be = function (t, e) {
 5069          var r = (function () {
 5070              var r = 4e5,
 5071                a = t.label.substr(1);
 5072              if (
 5073                c.contains(["widehat", "widecheck", "widetilde", "utilde"], a)
 5074              ) {
 5075                var n,
 5076                  i,
 5077                  o,
 5078                  s = ze(t.base);
 5079                if (s > 5)
 5080                  "widehat" === a || "widecheck" === a
 5081                    ? ((n = 420), (r = 2364), (o = 0.42), (i = a + "4"))
 5082                    : ((n = 312), (r = 2340), (o = 0.34), (i = "tilde4"));
 5083                else {
 5084                  var l = [1, 1, 2, 2, 3, 3][s];
 5085                  "widehat" === a || "widecheck" === a
 5086                    ? ((r = [0, 1062, 2364, 2364, 2364][l]),
 5087                      (n = [0, 239, 300, 360, 420][l]),
 5088                      (o = [0, 0.24, 0.3, 0.3, 0.36, 0.42][l]),
 5089                      (i = a + l))
 5090                    : ((r = [0, 600, 1033, 2339, 2340][l]),
 5091                      (n = [0, 260, 286, 306, 312][l]),
 5092                      (o = [0, 0.26, 0.286, 0.3, 0.306, 0.34][l]),
 5093                      (i = "tilde" + l));
 5094                }
 5095                var h = new P(i),
 5096                  m = new L([h], {
 5097                    width: "100%",
 5098                    height: o + "em",
 5099                    viewBox: "0 0 " + r + " " + n,
 5100                    preserveAspectRatio: "none",
 5101                  });
 5102                return {
 5103                  span: Dt.makeSvgSpan([], [m], e),
 5104                  minWidth: 0,
 5105                  height: o,
 5106                };
 5107              }
 5108              var u,
 5109                p,
 5110                d = [],
 5111                f = Me[a],
 5112                g = f[0],
 5113                x = f[1],
 5114                v = f[2],
 5115                b = v / 1e3,
 5116                y = g.length;
 5117              if (1 === y) ((u = ["hide-tail"]), (p = [f[3]]));
 5118              else if (2 === y)
 5119                ((u = ["halfarrow-left", "halfarrow-right"]),
 5120                  (p = ["xMinYMin", "xMaxYMin"]));
 5121              else {
 5122                if (3 !== y)
 5123                  throw new Error(
 5124                    "Correct katexImagesData or update code here to support\n                    " +
 5125                      y +
 5126                      " children.",
 5127                  );
 5128                ((u = ["brace-left", "brace-center", "brace-right"]),
 5129                  (p = ["xMinYMin", "xMidYMin", "xMaxYMin"]));
 5130              }
 5131              for (var w = 0; w < y; w++) {
 5132                var k = new P(g[w]),
 5133                  S = new L([k], {
 5134                    width: "400em",
 5135                    height: b + "em",
 5136                    viewBox: "0 0 " + r + " " + v,
 5137                    preserveAspectRatio: p[w] + " slice",
 5138                  }),
 5139                  M = Dt.makeSvgSpan([u[w]], [S], e);
 5140                if (1 === y) return { span: M, minWidth: x, height: b };
 5141                ((M.style.height = b + "em"), d.push(M));
 5142              }
 5143              return {
 5144                span: Dt.makeSpan(["stretchy"], d, e),
 5145                minWidth: x,
 5146                height: b,
 5147              };
 5148            })(),
 5149            a = r.span,
 5150            n = r.minWidth,
 5151            i = r.height;
 5152          return (
 5153            (a.height = i),
 5154            (a.style.height = i + "em"),
 5155            n > 0 && (a.style.minWidth = n + "em"),
 5156            a
 5157          );
 5158        };
 5159      function Ce(t, e) {
 5160        if (!t || t.type !== e)
 5161          throw new Error(
 5162            "Expected node of type " +
 5163              e +
 5164              ", but got " +
 5165              (t ? "node of type " + t.type : String(t)),
 5166          );
 5167        return t;
 5168      }
 5169      function qe(t) {
 5170        var e = Ne(t);
 5171        if (!e)
 5172          throw new Error(
 5173            "Expected node of symbol group type, but got " +
 5174              (t ? "node of type " + t.type : String(t)),
 5175          );
 5176        return e;
 5177      }
 5178      function Ne(t) {
 5179        return t && ("atom" === t.type || X.hasOwnProperty(t.type)) ? t : null;
 5180      }
 5181      var Ie = function (t, e) {
 5182          var r, a, n;
 5183          t && "supsub" === t.type
 5184            ? ((r = (a = Ce(t.base, "accent")).base),
 5185              (t.base = r),
 5186              (n = (function (t) {
 5187                if (t instanceof N) return t;
 5188                throw new Error(
 5189                  "Expected span<HtmlDomNode> but got " + String(t) + ".",
 5190                );
 5191              })(oe(t, e))),
 5192              (t.base = a))
 5193            : (r = (a = Ce(t, "accent")).base);
 5194          var i = oe(r, e.havingCrampedStyle()),
 5195            o = 0;
 5196          if (a.isShifty && c.isCharacterBox(r)) {
 5197            var s = c.getBaseElem(r);
 5198            o = H(oe(s, e.havingCrampedStyle())).skew;
 5199          }
 5200          var l,
 5201            h = Math.min(i.height, e.fontMetrics().xHeight);
 5202          if (a.isStretchy)
 5203            ((l = Be(a, e)),
 5204              (l = Dt.makeVList(
 5205                {
 5206                  positionType: "firstBaseline",
 5207                  children: [
 5208                    { type: "elem", elem: i },
 5209                    {
 5210                      type: "elem",
 5211                      elem: l,
 5212                      wrapperClasses: ["svg-align"],
 5213                      wrapperStyle:
 5214                        o > 0
 5215                          ? {
 5216                              width: "calc(100% - " + 2 * o + "em)",
 5217                              marginLeft: 2 * o + "em",
 5218                            }
 5219                          : void 0,
 5220                    },
 5221                  ],
 5222                },
 5223                e,
 5224              )));
 5225          else {
 5226            var m, u;
 5227            ("\\vec" === a.label
 5228              ? ((m = Dt.staticSvg("vec", e)), (u = Dt.svgData.vec[1]))
 5229              : (((m = H(
 5230                  (m = Dt.makeOrd(
 5231                    { mode: a.mode, text: a.label },
 5232                    e,
 5233                    "textord",
 5234                  )),
 5235                )).italic = 0),
 5236                (u = m.width)),
 5237              (l = Dt.makeSpan(["accent-body"], [m])));
 5238            var p = "\\textcircled" === a.label;
 5239            p && (l.classes.push("accent-full"), (h = i.height));
 5240            var d = o;
 5241            (p || (d -= u / 2),
 5242              (l.style.left = d + "em"),
 5243              "\\textcircled" === a.label && (l.style.top = ".2em"),
 5244              (l = Dt.makeVList(
 5245                {
 5246                  positionType: "firstBaseline",
 5247                  children: [
 5248                    { type: "elem", elem: i },
 5249                    { type: "kern", size: -h },
 5250                    { type: "elem", elem: l },
 5251                  ],
 5252                },
 5253                e,
 5254              )));
 5255          }
 5256          var f = Dt.makeSpan(["mord", "accent"], [l], e);
 5257          return n
 5258            ? ((n.children[0] = f),
 5259              (n.height = Math.max(f.height, n.height)),
 5260              (n.classes[0] = "mord"),
 5261              n)
 5262            : f;
 5263        },
 5264        Oe = function (t, e) {
 5265          var r = t.isStretchy
 5266              ? Te(t.label)
 5267              : new ue.MathNode("mo", [pe(t.label, t.mode)]),
 5268            a = new ue.MathNode("mover", [ve(t.base, e), r]);
 5269          return (a.setAttribute("accent", "true"), a);
 5270        },
 5271        Re = new RegExp(
 5272          [
 5273            "\\acute",
 5274            "\\grave",
 5275            "\\ddot",
 5276            "\\tilde",
 5277            "\\bar",
 5278            "\\breve",
 5279            "\\check",
 5280            "\\hat",
 5281            "\\vec",
 5282            "\\dot",
 5283            "\\mathring",
 5284          ]
 5285            .map(function (t) {
 5286              return "\\" + t;
 5287            })
 5288            .join("|"),
 5289        );
 5290      (_t({
 5291        type: "accent",
 5292        names: [
 5293          "\\acute",
 5294          "\\grave",
 5295          "\\ddot",
 5296          "\\tilde",
 5297          "\\bar",
 5298          "\\breve",
 5299          "\\check",
 5300          "\\hat",
 5301          "\\vec",
 5302          "\\dot",
 5303          "\\mathring",
 5304          "\\widecheck",
 5305          "\\widehat",
 5306          "\\widetilde",
 5307          "\\overrightarrow",
 5308          "\\overleftarrow",
 5309          "\\Overrightarrow",
 5310          "\\overleftrightarrow",
 5311          "\\overgroup",
 5312          "\\overlinesegment",
 5313          "\\overleftharpoon",
 5314          "\\overrightharpoon",
 5315        ],
 5316        props: { numArgs: 1 },
 5317        handler: function (t, e) {
 5318          var r = e[0],
 5319            a = !Re.test(t.funcName),
 5320            n =
 5321              !a ||
 5322              "\\widehat" === t.funcName ||
 5323              "\\widetilde" === t.funcName ||
 5324              "\\widecheck" === t.funcName;
 5325          return {
 5326            type: "accent",
 5327            mode: t.parser.mode,
 5328            label: t.funcName,
 5329            isStretchy: a,
 5330            isShifty: n,
 5331            base: r,
 5332          };
 5333        },
 5334        htmlBuilder: Ie,
 5335        mathmlBuilder: Oe,
 5336      }),
 5337        _t({
 5338          type: "accent",
 5339          names: [
 5340            "\\'",
 5341            "\\`",
 5342            "\\^",
 5343            "\\~",
 5344            "\\=",
 5345            "\\u",
 5346            "\\.",
 5347            '\\"',
 5348            "\\r",
 5349            "\\H",
 5350            "\\v",
 5351            "\\textcircled",
 5352          ],
 5353          props: { numArgs: 1, allowedInText: !0, allowedInMath: !1 },
 5354          handler: function (t, e) {
 5355            var r = e[0];
 5356            return {
 5357              type: "accent",
 5358              mode: t.parser.mode,
 5359              label: t.funcName,
 5360              isStretchy: !1,
 5361              isShifty: !0,
 5362              base: r,
 5363            };
 5364          },
 5365          htmlBuilder: Ie,
 5366          mathmlBuilder: Oe,
 5367        }),
 5368        _t({
 5369          type: "accentUnder",
 5370          names: [
 5371            "\\underleftarrow",
 5372            "\\underrightarrow",
 5373            "\\underleftrightarrow",
 5374            "\\undergroup",
 5375            "\\underlinesegment",
 5376            "\\utilde",
 5377          ],
 5378          props: { numArgs: 1 },
 5379          handler: function (t, e) {
 5380            var r = t.parser,
 5381              a = t.funcName,
 5382              n = e[0];
 5383            return { type: "accentUnder", mode: r.mode, label: a, base: n };
 5384          },
 5385          htmlBuilder: function (t, e) {
 5386            var r = oe(t.base, e),
 5387              a = Be(t, e),
 5388              n = "\\utilde" === t.label ? 0.12 : 0,
 5389              i = Dt.makeVList(
 5390                {
 5391                  positionType: "top",
 5392                  positionData: r.height,
 5393                  children: [
 5394                    { type: "elem", elem: a, wrapperClasses: ["svg-align"] },
 5395                    { type: "kern", size: n },
 5396                    { type: "elem", elem: r },
 5397                  ],
 5398                },
 5399                e,
 5400              );
 5401            return Dt.makeSpan(["mord", "accentunder"], [i], e);
 5402          },
 5403          mathmlBuilder: function (t, e) {
 5404            var r = Te(t.label),
 5405              a = new ue.MathNode("munder", [ve(t.base, e), r]);
 5406            return (a.setAttribute("accentunder", "true"), a);
 5407          },
 5408        }));
 5409      var Ee = function (t) {
 5410        var e = new ue.MathNode("mpadded", t ? [t] : []);
 5411        return (
 5412          e.setAttribute("width", "+0.6em"),
 5413          e.setAttribute("lspace", "0.3em"),
 5414          e
 5415        );
 5416      };
 5417      (_t({
 5418        type: "xArrow",
 5419        names: [
 5420          "\\xleftarrow",
 5421          "\\xrightarrow",
 5422          "\\xLeftarrow",
 5423          "\\xRightarrow",
 5424          "\\xleftrightarrow",
 5425          "\\xLeftrightarrow",
 5426          "\\xhookleftarrow",
 5427          "\\xhookrightarrow",
 5428          "\\xmapsto",
 5429          "\\xrightharpoondown",
 5430          "\\xrightharpoonup",
 5431          "\\xleftharpoondown",
 5432          "\\xleftharpoonup",
 5433          "\\xrightleftharpoons",
 5434          "\\xleftrightharpoons",
 5435          "\\xlongequal",
 5436          "\\xtwoheadrightarrow",
 5437          "\\xtwoheadleftarrow",
 5438          "\\xtofrom",
 5439          "\\xrightleftarrows",
 5440          "\\xrightequilibrium",
 5441          "\\xleftequilibrium",
 5442        ],
 5443        props: { numArgs: 1, numOptionalArgs: 1 },
 5444        handler: function (t, e, r) {
 5445          var a = t.parser,
 5446            n = t.funcName;
 5447          return {
 5448            type: "xArrow",
 5449            mode: a.mode,
 5450            label: n,
 5451            body: e[0],
 5452            below: r[0],
 5453          };
 5454        },
 5455        htmlBuilder: function (t, e) {
 5456          var r,
 5457            a = e.style,
 5458            n = e.havingStyle(a.sup()),
 5459            i = Dt.wrapFragment(oe(t.body, n, e), e);
 5460          (i.classes.push("x-arrow-pad"),
 5461            t.below &&
 5462              ((n = e.havingStyle(a.sub())),
 5463              (r = Dt.wrapFragment(oe(t.below, n, e), e)).classes.push(
 5464                "x-arrow-pad",
 5465              )));
 5466          var o,
 5467            s = Be(t, e),
 5468            l = -e.fontMetrics().axisHeight + 0.5 * s.height,
 5469            h = -e.fontMetrics().axisHeight - 0.5 * s.height - 0.111;
 5470          if (
 5471            ((i.depth > 0.25 || "\\xleftequilibrium" === t.label) &&
 5472              (h -= i.depth),
 5473            r)
 5474          ) {
 5475            var m =
 5476              -e.fontMetrics().axisHeight + r.height + 0.5 * s.height + 0.111;
 5477            o = Dt.makeVList(
 5478              {
 5479                positionType: "individualShift",
 5480                children: [
 5481                  { type: "elem", elem: i, shift: h },
 5482                  { type: "elem", elem: s, shift: l },
 5483                  { type: "elem", elem: r, shift: m },
 5484                ],
 5485              },
 5486              e,
 5487            );
 5488          } else
 5489            o = Dt.makeVList(
 5490              {
 5491                positionType: "individualShift",
 5492                children: [
 5493                  { type: "elem", elem: i, shift: h },
 5494                  { type: "elem", elem: s, shift: l },
 5495                ],
 5496              },
 5497              e,
 5498            );
 5499          return (
 5500            o.children[0].children[0].children[1].classes.push("svg-align"),
 5501            Dt.makeSpan(["mrel", "x-arrow"], [o], e)
 5502          );
 5503        },
 5504        mathmlBuilder: function (t, e) {
 5505          var r,
 5506            a = Te(t.label);
 5507          if (t.body) {
 5508            var n = Ee(ve(t.body, e));
 5509            if (t.below) {
 5510              var i = Ee(ve(t.below, e));
 5511              r = new ue.MathNode("munderover", [a, i, n]);
 5512            } else r = new ue.MathNode("mover", [a, n]);
 5513          } else if (t.below) {
 5514            var o = Ee(ve(t.below, e));
 5515            r = new ue.MathNode("munder", [a, o]);
 5516          } else ((r = Ee()), (r = new ue.MathNode("mover", [a, r])));
 5517          return r;
 5518        },
 5519      }),
 5520        _t({
 5521          type: "textord",
 5522          names: ["\\@char"],
 5523          props: { numArgs: 1, allowedInText: !0 },
 5524          handler: function (t, e) {
 5525            for (
 5526              var r = t.parser, a = Ce(e[0], "ordgroup").body, n = "", i = 0;
 5527              i < a.length;
 5528              i++
 5529            ) {
 5530              n += Ce(a[i], "textord").text;
 5531            }
 5532            var s = parseInt(n);
 5533            if (isNaN(s)) throw new o("\\@char has non-numeric argument " + n);
 5534            return {
 5535              type: "textord",
 5536              mode: r.mode,
 5537              text: String.fromCharCode(s),
 5538            };
 5539          },
 5540        }));
 5541      var Le = function (t, e) {
 5542          var r = ee(t.body, e.withColor(t.color), !1);
 5543          return Dt.makeFragment(r);
 5544        },
 5545        Pe = function (t, e) {
 5546          var r = ge(t.body, e.withColor(t.color)),
 5547            a = new ue.MathNode("mstyle", r);
 5548          return (a.setAttribute("mathcolor", t.color), a);
 5549        };
 5550      (_t({
 5551        type: "color",
 5552        names: ["\\textcolor"],
 5553        props: {
 5554          numArgs: 2,
 5555          allowedInText: !0,
 5556          greediness: 3,
 5557          argTypes: ["color", "original"],
 5558        },
 5559        handler: function (t, e) {
 5560          var r = t.parser,
 5561            a = Ce(e[0], "color-token").color,
 5562            n = e[1];
 5563          return { type: "color", mode: r.mode, color: a, body: $t(n) };
 5564        },
 5565        htmlBuilder: Le,
 5566        mathmlBuilder: Pe,
 5567      }),
 5568        _t({
 5569          type: "color",
 5570          names: ["\\color"],
 5571          props: {
 5572            numArgs: 1,
 5573            allowedInText: !0,
 5574            greediness: 3,
 5575            argTypes: ["color"],
 5576          },
 5577          handler: function (t, e) {
 5578            var r = t.parser,
 5579              a = t.breakOnTokenText,
 5580              n = Ce(e[0], "color-token").color;
 5581            r.gullet.macros.set("\\current@color", n);
 5582            var i = r.parseExpression(!0, a);
 5583            return { type: "color", mode: r.mode, color: n, body: i };
 5584          },
 5585          htmlBuilder: Le,
 5586          mathmlBuilder: Pe,
 5587        }),
 5588        _t({
 5589          type: "cr",
 5590          names: ["\\cr", "\\newline"],
 5591          props: {
 5592            numArgs: 0,
 5593            numOptionalArgs: 1,
 5594            argTypes: ["size"],
 5595            allowedInText: !0,
 5596          },
 5597          handler: function (t, e, r) {
 5598            var a = t.parser,
 5599              n = t.funcName,
 5600              i = r[0],
 5601              o = "\\cr" === n,
 5602              s = !1;
 5603            return (
 5604              o ||
 5605                (s =
 5606                  !a.settings.displayMode ||
 5607                  !a.settings.useStrictBehavior(
 5608                    "newLineInDisplayMode",
 5609                    "In LaTeX, \\\\ or \\newline does nothing in display mode",
 5610                  )),
 5611              {
 5612                type: "cr",
 5613                mode: a.mode,
 5614                newLine: s,
 5615                newRow: o,
 5616                size: i && Ce(i, "size").value,
 5617              }
 5618            );
 5619          },
 5620          htmlBuilder: function (t, e) {
 5621            if (t.newRow)
 5622              throw new o("\\cr valid only within a tabular/array environment");
 5623            var r = Dt.makeSpan(["mspace"], [], e);
 5624            return (
 5625              t.newLine &&
 5626                (r.classes.push("newline"),
 5627                t.size && (r.style.marginTop = Tt(t.size, e) + "em")),
 5628              r
 5629            );
 5630          },
 5631          mathmlBuilder: function (t, e) {
 5632            var r = new ue.MathNode("mspace");
 5633            return (
 5634              t.newLine &&
 5635                (r.setAttribute("linebreak", "newline"),
 5636                t.size && r.setAttribute("height", Tt(t.size, e) + "em")),
 5637              r
 5638            );
 5639          },
 5640        }));
 5641      var De = {
 5642          "\\global": "\\global",
 5643          "\\long": "\\\\globallong",
 5644          "\\\\globallong": "\\\\globallong",
 5645          "\\def": "\\gdef",
 5646          "\\gdef": "\\gdef",
 5647          "\\edef": "\\xdef",
 5648          "\\xdef": "\\xdef",
 5649          "\\let": "\\\\globallet",
 5650          "\\futurelet": "\\\\globalfuture",
 5651        },
 5652        He = function (t) {
 5653          var e = t.text;
 5654          if (/^(?:[\\{}$&#^_]|EOF)$/.test(e))
 5655            throw new o("Expected a control sequence", t);
 5656          return e;
 5657        },
 5658        Fe = function (t, e, r, a) {
 5659          var n = t.gullet.macros.get(r.text);
 5660          (null == n &&
 5661            ((r.noexpand = !0),
 5662            (n = {
 5663              tokens: [r],
 5664              numArgs: 0,
 5665              unexpandable: !t.gullet.isExpandable(r.text),
 5666            })),
 5667            t.gullet.macros.set(e, n, a));
 5668        };
 5669      (_t({
 5670        type: "internal",
 5671        names: ["\\global", "\\long", "\\\\globallong"],
 5672        props: { numArgs: 0, allowedInText: !0 },
 5673        handler: function (t) {
 5674          var e = t.parser,
 5675            r = t.funcName;
 5676          e.consumeSpaces();
 5677          var a = e.fetch();
 5678          if (De[a.text])
 5679            return (
 5680              ("\\global" !== r && "\\\\globallong" !== r) ||
 5681                (a.text = De[a.text]),
 5682              Ce(e.parseFunction(), "internal")
 5683            );
 5684          throw new o("Invalid token after macro prefix", a);
 5685        },
 5686      }),
 5687        _t({
 5688          type: "internal",
 5689          names: ["\\def", "\\gdef", "\\edef", "\\xdef"],
 5690          props: { numArgs: 0, allowedInText: !0 },
 5691          handler: function (t) {
 5692            var e = t.parser,
 5693              r = t.funcName,
 5694              a = e.gullet.consumeArgs(1)[0];
 5695            if (1 !== a.length)
 5696              throw new o("\\gdef's first argument must be a macro name");
 5697            var n = a[0].text,
 5698              i = 0;
 5699            for (
 5700              a = e.gullet.consumeArgs(1)[0];
 5701              1 === a.length && "#" === a[0].text;
 5702            ) {
 5703              if (1 !== (a = e.gullet.consumeArgs(1)[0]).length)
 5704                throw new o(
 5705                  'Invalid argument number length "' + a.length + '"',
 5706                );
 5707              if (!/^[1-9]$/.test(a[0].text))
 5708                throw new o('Invalid argument number "' + a[0].text + '"');
 5709              if ((i++, parseInt(a[0].text) !== i))
 5710                throw new o('Argument number "' + a[0].text + '" out of order');
 5711              a = e.gullet.consumeArgs(1)[0];
 5712            }
 5713            return (
 5714              ("\\edef" !== r && "\\xdef" !== r) ||
 5715                (a = e.gullet.expandTokens(a)).reverse(),
 5716              e.gullet.macros.set(n, { tokens: a, numArgs: i }, r === De[r]),
 5717              { type: "internal", mode: e.mode }
 5718            );
 5719          },
 5720        }),
 5721        _t({
 5722          type: "internal",
 5723          names: ["\\let", "\\\\globallet"],
 5724          props: { numArgs: 0, allowedInText: !0 },
 5725          handler: function (t) {
 5726            var e = t.parser,
 5727              r = t.funcName,
 5728              a = He(e.gullet.popToken());
 5729            e.gullet.consumeSpaces();
 5730            var n = (function (t) {
 5731              var e = t.gullet.popToken();
 5732              return (
 5733                "=" === e.text &&
 5734                  " " === (e = t.gullet.popToken()).text &&
 5735                  (e = t.gullet.popToken()),
 5736                e
 5737              );
 5738            })(e);
 5739            return (
 5740              Fe(e, a, n, "\\\\globallet" === r),
 5741              { type: "internal", mode: e.mode }
 5742            );
 5743          },
 5744        }),
 5745        _t({
 5746          type: "internal",
 5747          names: ["\\futurelet", "\\\\globalfuture"],
 5748          props: { numArgs: 0, allowedInText: !0 },
 5749          handler: function (t) {
 5750            var e = t.parser,
 5751              r = t.funcName,
 5752              a = He(e.gullet.popToken()),
 5753              n = e.gullet.popToken(),
 5754              i = e.gullet.popToken();
 5755            return (
 5756              Fe(e, a, i, "\\\\globalfuture" === r),
 5757              e.gullet.pushToken(i),
 5758              e.gullet.pushToken(n),
 5759              { type: "internal", mode: e.mode }
 5760            );
 5761          },
 5762        }));
 5763      var Ve = function (t, e, r) {
 5764          var a = G((j.math[t] && j.math[t].replace) || t, e, r);
 5765          if (!a)
 5766            throw new Error(
 5767              "Unsupported symbol " + t + " and font size " + e + ".",
 5768            );
 5769          return a;
 5770        },
 5771        Ue = function (t, e, r, a) {
 5772          var n = r.havingBaseStyle(e),
 5773            i = Dt.makeSpan(a.concat(n.sizingClasses(r)), [t], r),
 5774            o = n.sizeMultiplier / r.sizeMultiplier;
 5775          return (
 5776            (i.height *= o),
 5777            (i.depth *= o),
 5778            (i.maxFontSize = n.sizeMultiplier),
 5779            i
 5780          );
 5781        },
 5782        Ge = function (t, e, r) {
 5783          var a = e.havingBaseStyle(r),
 5784            n =
 5785              (1 - e.sizeMultiplier / a.sizeMultiplier) *
 5786              e.fontMetrics().axisHeight;
 5787          (t.classes.push("delimcenter"),
 5788            (t.style.top = n + "em"),
 5789            (t.height -= n),
 5790            (t.depth += n));
 5791        },
 5792        Ye = function (t, e, r, a, n, i) {
 5793          var o = (function (t, e, r, a) {
 5794              return Dt.makeSymbol(t, "Size" + e + "-Regular", r, a);
 5795            })(t, e, n, a),
 5796            s = Ue(
 5797              Dt.makeSpan(["delimsizing", "size" + e], [o], a),
 5798              w.TEXT,
 5799              a,
 5800              i,
 5801            );
 5802          return (r && Ge(s, a, w.TEXT), s);
 5803        },
 5804        We = function (t, e, r) {
 5805          var a;
 5806          return (
 5807            (a = "Size1-Regular" === e ? "delim-size1" : "delim-size4"),
 5808            {
 5809              type: "elem",
 5810              elem: Dt.makeSpan(
 5811                ["delimsizinginner", a],
 5812                [Dt.makeSpan([], [Dt.makeSymbol(t, e, r)])],
 5813              ),
 5814            }
 5815          );
 5816        },
 5817        Xe = { type: "kern", size: -0.005 },
 5818        _e = function (t, e, r, a, n, i) {
 5819          var o, s, l, h;
 5820          ((o = l = h = t), (s = null));
 5821          var m = "Size1-Regular";
 5822          "\\uparrow" === t
 5823            ? (l = h = "\u23d0")
 5824            : "\\Uparrow" === t
 5825              ? (l = h = "\u2016")
 5826              : "\\downarrow" === t
 5827                ? (o = l = "\u23d0")
 5828                : "\\Downarrow" === t
 5829                  ? (o = l = "\u2016")
 5830                  : "\\updownarrow" === t
 5831                    ? ((o = "\\uparrow"), (l = "\u23d0"), (h = "\\downarrow"))
 5832                    : "\\Updownarrow" === t
 5833                      ? ((o = "\\Uparrow"), (l = "\u2016"), (h = "\\Downarrow"))
 5834                      : "[" === t || "\\lbrack" === t
 5835                        ? ((o = "\u23a1"),
 5836                          (l = "\u23a2"),
 5837                          (h = "\u23a3"),
 5838                          (m = "Size4-Regular"))
 5839                        : "]" === t || "\\rbrack" === t
 5840                          ? ((o = "\u23a4"),
 5841                            (l = "\u23a5"),
 5842                            (h = "\u23a6"),
 5843                            (m = "Size4-Regular"))
 5844                          : "\\lfloor" === t || "\u230a" === t
 5845                            ? ((l = o = "\u23a2"),
 5846                              (h = "\u23a3"),
 5847                              (m = "Size4-Regular"))
 5848                            : "\\lceil" === t || "\u2308" === t
 5849                              ? ((o = "\u23a1"),
 5850                                (l = h = "\u23a2"),
 5851                                (m = "Size4-Regular"))
 5852                              : "\\rfloor" === t || "\u230b" === t
 5853                                ? ((l = o = "\u23a5"),
 5854                                  (h = "\u23a6"),
 5855                                  (m = "Size4-Regular"))
 5856                                : "\\rceil" === t || "\u2309" === t
 5857                                  ? ((o = "\u23a4"),
 5858                                    (l = h = "\u23a5"),
 5859                                    (m = "Size4-Regular"))
 5860                                  : "(" === t || "\\lparen" === t
 5861                                    ? ((o = "\u239b"),
 5862                                      (l = "\u239c"),
 5863                                      (h = "\u239d"),
 5864                                      (m = "Size4-Regular"))
 5865                                    : ")" === t || "\\rparen" === t
 5866                                      ? ((o = "\u239e"),
 5867                                        (l = "\u239f"),
 5868                                        (h = "\u23a0"),
 5869                                        (m = "Size4-Regular"))
 5870                                      : "\\{" === t || "\\lbrace" === t
 5871                                        ? ((o = "\u23a7"),
 5872                                          (s = "\u23a8"),
 5873                                          (h = "\u23a9"),
 5874                                          (l = "\u23aa"),
 5875                                          (m = "Size4-Regular"))
 5876                                        : "\\}" === t || "\\rbrace" === t
 5877                                          ? ((o = "\u23ab"),
 5878                                            (s = "\u23ac"),
 5879                                            (h = "\u23ad"),
 5880                                            (l = "\u23aa"),
 5881                                            (m = "Size4-Regular"))
 5882                                          : "\\lgroup" === t || "\u27ee" === t
 5883                                            ? ((o = "\u23a7"),
 5884                                              (h = "\u23a9"),
 5885                                              (l = "\u23aa"),
 5886                                              (m = "Size4-Regular"))
 5887                                            : "\\rgroup" === t || "\u27ef" === t
 5888                                              ? ((o = "\u23ab"),
 5889                                                (h = "\u23ad"),
 5890                                                (l = "\u23aa"),
 5891                                                (m = "Size4-Regular"))
 5892                                              : "\\lmoustache" === t ||
 5893                                                  "\u23b0" === t
 5894                                                ? ((o = "\u23a7"),
 5895                                                  (h = "\u23ad"),
 5896                                                  (l = "\u23aa"),
 5897                                                  (m = "Size4-Regular"))
 5898                                                : ("\\rmoustache" !== t &&
 5899                                                    "\u23b1" !== t) ||
 5900                                                  ((o = "\u23ab"),
 5901                                                  (h = "\u23a9"),
 5902                                                  (l = "\u23aa"),
 5903                                                  (m = "Size4-Regular"));
 5904          var c = Ve(o, m, n),
 5905            u = c.height + c.depth,
 5906            p = Ve(l, m, n),
 5907            d = p.height + p.depth,
 5908            f = Ve(h, m, n),
 5909            g = f.height + f.depth,
 5910            x = 0,
 5911            v = 1;
 5912          if (null !== s) {
 5913            var b = Ve(s, m, n);
 5914            ((x = b.height + b.depth), (v = 2));
 5915          }
 5916          var y = u + g + x,
 5917            k = Math.max(0, Math.ceil((e - y) / (v * d))),
 5918            S = y + k * v * d,
 5919            M = a.fontMetrics().axisHeight;
 5920          r && (M *= a.sizeMultiplier);
 5921          var z = S / 2 - M,
 5922            A = 0.005 * (k + 1) - d,
 5923            T = [];
 5924          if ((T.push(We(h, m, n)), null === s))
 5925            for (var B = 0; B < k; B++) (T.push(Xe), T.push(We(l, m, n)));
 5926          else {
 5927            for (var C = 0; C < k; C++) (T.push(Xe), T.push(We(l, m, n)));
 5928            (T.push({ type: "kern", size: A }),
 5929              T.push(We(l, m, n)),
 5930              T.push(Xe),
 5931              T.push(We(s, m, n)));
 5932            for (var q = 0; q < k; q++) (T.push(Xe), T.push(We(l, m, n)));
 5933          }
 5934          if (("\u239c" !== l && "\u239f" !== l) || 0 !== k)
 5935            (T.push({ type: "kern", size: A }),
 5936              T.push(We(l, m, n)),
 5937              T.push(Xe));
 5938          else {
 5939            var N = Dt.svgData.leftParenInner[2] / 2;
 5940            T.push({ type: "kern", size: -N });
 5941            var I = "\u239c" === l ? "leftParenInner" : "rightParenInner",
 5942              O = Dt.staticSvg(I, a);
 5943            (T.push({ type: "elem", elem: O }),
 5944              T.push({ type: "kern", size: -N }));
 5945          }
 5946          T.push(We(o, m, n));
 5947          var R = a.havingBaseStyle(w.TEXT),
 5948            E = Dt.makeVList(
 5949              { positionType: "bottom", positionData: z, children: T },
 5950              R,
 5951            );
 5952          return Ue(Dt.makeSpan(["delimsizing", "mult"], [E], R), w.TEXT, a, i);
 5953        },
 5954        je = function (t, e, r, a, n) {
 5955          var i = (function (t, e, r) {
 5956              e *= 1e3;
 5957              var a = "";
 5958              switch (t) {
 5959                case "sqrtMain":
 5960                  a = (function (t, e) {
 5961                    return (
 5962                      "M95," +
 5963                      (622 + t + e) +
 5964                      "\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl" +
 5965                      t / 2.075 +
 5966                      " -" +
 5967                      t +
 5968                      "\nc5.3,-9.3,12,-14,20,-14\nH400000v" +
 5969                      (40 + t) +
 5970                      "H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM" +
 5971                      (834 + t) +
 5972                      " " +
 5973                      e +
 5974                      "h400000v" +
 5975                      (40 + t) +
 5976                      "h-400000z"
 5977                    );
 5978                  })(e, 80);
 5979                  break;
 5980                case "sqrtSize1":
 5981                  a = (function (t, e) {
 5982                    return (
 5983                      "M263," +
 5984                      (601 + t + e) +
 5985                      "c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl" +
 5986                      t / 2.084 +
 5987                      " -" +
 5988                      t +
 5989                      "\nc4.7,-7.3,11,-11,19,-11\nH40000v" +
 5990                      (40 + t) +
 5991                      "H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM" +
 5992                      (1001 + t) +
 5993                      " " +
 5994                      e +
 5995                      "h400000v" +
 5996                      (40 + t) +
 5997                      "h-400000z"
 5998                    );
 5999                  })(e, 80);
 6000                  break;
 6001                case "sqrtSize2":
 6002                  a = (function (t, e) {
 6003                    return (
 6004                      "M983 " +
 6005                      (10 + t + e) +
 6006                      "\nl" +
 6007                      t / 3.13 +
 6008                      " -" +
 6009                      t +
 6010                      "\nc4,-6.7,10,-10,18,-10 H400000v" +
 6011                      (40 + t) +
 6012                      "\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM" +
 6013                      (1001 + t) +
 6014                      " " +
 6015                      e +
 6016                      "h400000v" +
 6017                      (40 + t) +
 6018                      "h-400000z"
 6019                    );
 6020                  })(e, 80);
 6021                  break;
 6022                case "sqrtSize3":
 6023                  a = (function (t, e) {
 6024                    return (
 6025                      "M424," +
 6026                      (2398 + t + e) +
 6027                      "\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl" +
 6028                      t / 4.223 +
 6029                      " -" +
 6030                      t +
 6031                      "c4,-6.7,10,-10,18,-10 H400000\nv" +
 6032                      (40 + t) +
 6033                      "H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M" +
 6034                      (1001 + t) +
 6035                      " " +
 6036                      e +
 6037                      "\nh400000v" +
 6038                      (40 + t) +
 6039                      "h-400000z"
 6040                    );
 6041                  })(e, 80);
 6042                  break;
 6043                case "sqrtSize4":
 6044                  a = (function (t, e) {
 6045                    return (
 6046                      "M473," +
 6047                      (2713 + t + e) +
 6048                      "\nc339.3,-1799.3,509.3,-2700,510,-2702 l" +
 6049                      t / 5.298 +
 6050                      " -" +
 6051                      t +
 6052                      "\nc3.3,-7.3,9.3,-11,18,-11 H400000v" +
 6053                      (40 + t) +
 6054                      "H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM" +
 6055                      (1001 + t) +
 6056                      " " +
 6057                      e +
 6058                      "h400000v" +
 6059                      (40 + t) +
 6060                      "H1017.7z"
 6061                    );
 6062                  })(e, 80);
 6063                  break;
 6064                case "sqrtTall":
 6065                  a = (function (t, e, r) {
 6066                    return (
 6067                      "M702 " +
 6068                      (t + e) +
 6069                      "H400000" +
 6070                      (40 + t) +
 6071                      "\nH742v" +
 6072                      (r - 54 - e - t) +
 6073                      "l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 " +
 6074                      e +
 6075                      "H400000v" +
 6076                      (40 + t) +
 6077                      "H742z"
 6078                    );
 6079                  })(e, 80, r);
 6080              }
 6081              return a;
 6082            })(t, a, r),
 6083            o = new P(t, i),
 6084            s = new L([o], {
 6085              width: "400em",
 6086              height: e + "em",
 6087              viewBox: "0 0 400000 " + r,
 6088              preserveAspectRatio: "xMinYMin slice",
 6089            });
 6090          return Dt.makeSvgSpan(["hide-tail"], [s], n);
 6091        },
 6092        $e = [
 6093          "(",
 6094          "\\lparen",
 6095          ")",
 6096          "\\rparen",
 6097          "[",
 6098          "\\lbrack",
 6099          "]",
 6100          "\\rbrack",
 6101          "\\{",
 6102          "\\lbrace",
 6103          "\\}",
 6104          "\\rbrace",
 6105          "\\lfloor",
 6106          "\\rfloor",
 6107          "\u230a",
 6108          "\u230b",
 6109          "\\lceil",
 6110          "\\rceil",
 6111          "\u2308",
 6112          "\u2309",
 6113          "\\surd",
 6114        ],
 6115        Ze = [
 6116          "\\uparrow",
 6117          "\\downarrow",
 6118          "\\updownarrow",
 6119          "\\Uparrow",
 6120          "\\Downarrow",
 6121          "\\Updownarrow",
 6122          "|",
 6123          "\\|",
 6124          "\\vert",
 6125          "\\Vert",
 6126          "\\lvert",
 6127          "\\rvert",
 6128          "\\lVert",
 6129          "\\rVert",
 6130          "\\lgroup",
 6131          "\\rgroup",
 6132          "\u27ee",
 6133          "\u27ef",
 6134          "\\lmoustache",
 6135          "\\rmoustache",
 6136          "\u23b0",
 6137          "\u23b1",
 6138        ],
 6139        Ke = [
 6140          "<",
 6141          ">",
 6142          "\\langle",
 6143          "\\rangle",
 6144          "/",
 6145          "\\backslash",
 6146          "\\lt",
 6147          "\\gt",
 6148        ],
 6149        Je = [0, 1.2, 1.8, 2.4, 3],
 6150        Qe = [
 6151          { type: "small", style: w.SCRIPTSCRIPT },
 6152          { type: "small", style: w.SCRIPT },
 6153          { type: "small", style: w.TEXT },
 6154          { type: "large", size: 1 },
 6155          { type: "large", size: 2 },
 6156          { type: "large", size: 3 },
 6157          { type: "large", size: 4 },
 6158        ],
 6159        tr = [
 6160          { type: "small", style: w.SCRIPTSCRIPT },
 6161          { type: "small", style: w.SCRIPT },
 6162          { type: "small", style: w.TEXT },
 6163          { type: "stack" },
 6164        ],
 6165        er = [
 6166          { type: "small", style: w.SCRIPTSCRIPT },
 6167          { type: "small", style: w.SCRIPT },
 6168          { type: "small", style: w.TEXT },
 6169          { type: "large", size: 1 },
 6170          { type: "large", size: 2 },
 6171          { type: "large", size: 3 },
 6172          { type: "large", size: 4 },
 6173          { type: "stack" },
 6174        ],
 6175        rr = function (t) {
 6176          if ("small" === t.type) return "Main-Regular";
 6177          if ("large" === t.type) return "Size" + t.size + "-Regular";
 6178          if ("stack" === t.type) return "Size4-Regular";
 6179          throw new Error("Add support for delim type '" + t.type + "' here.");
 6180        },
 6181        ar = function (t, e, r, a) {
 6182          for (
 6183            var n = Math.min(2, 3 - a.style.size);
 6184            n < r.length && "stack" !== r[n].type;
 6185            n++
 6186          ) {
 6187            var i = Ve(t, rr(r[n]), "math"),
 6188              o = i.height + i.depth;
 6189            if (
 6190              ("small" === r[n].type &&
 6191                (o *= a.havingBaseStyle(r[n].style).sizeMultiplier),
 6192              o > e)
 6193            )
 6194              return r[n];
 6195          }
 6196          return r[r.length - 1];
 6197        },
 6198        nr = function (t, e, r, a, n, i) {
 6199          var o;
 6200          ("<" === t || "\\lt" === t || "\u27e8" === t
 6201            ? (t = "\\langle")
 6202            : (">" !== t && "\\gt" !== t && "\u27e9" !== t) || (t = "\\rangle"),
 6203            (o = c.contains(Ke, t) ? Qe : c.contains($e, t) ? er : tr));
 6204          var s = ar(t, e, o, a);
 6205          return "small" === s.type
 6206            ? (function (t, e, r, a, n, i) {
 6207                var o = Dt.makeSymbol(t, "Main-Regular", n, a),
 6208                  s = Ue(o, e, a, i);
 6209                return (r && Ge(s, a, e), s);
 6210              })(t, s.style, r, a, n, i)
 6211            : "large" === s.type
 6212              ? Ye(t, s.size, r, a, n, i)
 6213              : _e(t, e, r, a, n, i);
 6214        },
 6215        ir = function (t, e) {
 6216          var r,
 6217            a,
 6218            n = e.havingBaseSizing(),
 6219            i = ar("\\surd", t * n.sizeMultiplier, er, n),
 6220            o = n.sizeMultiplier,
 6221            s = Math.max(
 6222              0,
 6223              e.minRuleThickness - e.fontMetrics().sqrtRuleThickness,
 6224            ),
 6225            l = 0,
 6226            h = 0,
 6227            m = 0;
 6228          return (
 6229            "small" === i.type
 6230              ? (t < 1 ? (o = 1) : t < 1.4 && (o = 0.7),
 6231                (h = (1 + s) / o),
 6232                ((r = je(
 6233                  "sqrtMain",
 6234                  (l = (1 + s + 0.08) / o),
 6235                  (m = 1e3 + 1e3 * s + 80),
 6236                  s,
 6237                  e,
 6238                )).style.minWidth = "0.853em"),
 6239                (a = 0.833 / o))
 6240              : "large" === i.type
 6241                ? ((m = 1080 * Je[i.size]),
 6242                  (h = (Je[i.size] + s) / o),
 6243                  (l = (Je[i.size] + s + 0.08) / o),
 6244                  ((r = je("sqrtSize" + i.size, l, m, s, e)).style.minWidth =
 6245                    "1.02em"),
 6246                  (a = 1 / o))
 6247                : ((l = t + s + 0.08),
 6248                  (h = t + s),
 6249                  (m = Math.floor(1e3 * t + s) + 80),
 6250                  ((r = je("sqrtTall", l, m, s, e)).style.minWidth = "0.742em"),
 6251                  (a = 1.056)),
 6252            (r.height = h),
 6253            (r.style.height = l + "em"),
 6254            {
 6255              span: r,
 6256              advanceWidth: a,
 6257              ruleWidth: (e.fontMetrics().sqrtRuleThickness + s) * o,
 6258            }
 6259          );
 6260        },
 6261        or = function (t, e, r, a, n) {
 6262          if (
 6263            ("<" === t || "\\lt" === t || "\u27e8" === t
 6264              ? (t = "\\langle")
 6265              : (">" !== t && "\\gt" !== t && "\u27e9" !== t) ||
 6266                (t = "\\rangle"),
 6267            c.contains($e, t) || c.contains(Ke, t))
 6268          )
 6269            return Ye(t, e, !1, r, a, n);
 6270          if (c.contains(Ze, t)) return _e(t, Je[e], !1, r, a, n);
 6271          throw new o("Illegal delimiter: '" + t + "'");
 6272        },
 6273        sr = nr,
 6274        lr = function (t, e, r, a, n, i) {
 6275          var o = a.fontMetrics().axisHeight * a.sizeMultiplier,
 6276            s = 5 / a.fontMetrics().ptPerEm,
 6277            l = Math.max(e - o, r + o),
 6278            h = Math.max((l / 500) * 901, 2 * l - s);
 6279          return nr(t, h, !0, a, n, i);
 6280        },
 6281        hr = {
 6282          "\\bigl": { mclass: "mopen", size: 1 },
 6283          "\\Bigl": { mclass: "mopen", size: 2 },
 6284          "\\biggl": { mclass: "mopen", size: 3 },
 6285          "\\Biggl": { mclass: "mopen", size: 4 },
 6286          "\\bigr": { mclass: "mclose", size: 1 },
 6287          "\\Bigr": { mclass: "mclose", size: 2 },
 6288          "\\biggr": { mclass: "mclose", size: 3 },
 6289          "\\Biggr": { mclass: "mclose", size: 4 },
 6290          "\\bigm": { mclass: "mrel", size: 1 },
 6291          "\\Bigm": { mclass: "mrel", size: 2 },
 6292          "\\biggm": { mclass: "mrel", size: 3 },
 6293          "\\Biggm": { mclass: "mrel", size: 4 },
 6294          "\\big": { mclass: "mord", size: 1 },
 6295          "\\Big": { mclass: "mord", size: 2 },
 6296          "\\bigg": { mclass: "mord", size: 3 },
 6297          "\\Bigg": { mclass: "mord", size: 4 },
 6298        },
 6299        mr = [
 6300          "(",
 6301          "\\lparen",
 6302          ")",
 6303          "\\rparen",
 6304          "[",
 6305          "\\lbrack",
 6306          "]",
 6307          "\\rbrack",
 6308          "\\{",
 6309          "\\lbrace",
 6310          "\\}",
 6311          "\\rbrace",
 6312          "\\lfloor",
 6313          "\\rfloor",
 6314          "\u230a",
 6315          "\u230b",
 6316          "\\lceil",
 6317          "\\rceil",
 6318          "\u2308",
 6319          "\u2309",
 6320          "<",
 6321          ">",
 6322          "\\langle",
 6323          "\u27e8",
 6324          "\\rangle",
 6325          "\u27e9",
 6326          "\\lt",
 6327          "\\gt",
 6328          "\\lvert",
 6329          "\\rvert",
 6330          "\\lVert",
 6331          "\\rVert",
 6332          "\\lgroup",
 6333          "\\rgroup",
 6334          "\u27ee",
 6335          "\u27ef",
 6336          "\\lmoustache",
 6337          "\\rmoustache",
 6338          "\u23b0",
 6339          "\u23b1",
 6340          "/",
 6341          "\\backslash",
 6342          "|",
 6343          "\\vert",
 6344          "\\|",
 6345          "\\Vert",
 6346          "\\uparrow",
 6347          "\\Uparrow",
 6348          "\\downarrow",
 6349          "\\Downarrow",
 6350          "\\updownarrow",
 6351          "\\Updownarrow",
 6352          ".",
 6353        ];
 6354      function cr(t, e) {
 6355        var r = Ne(t);
 6356        if (r && c.contains(mr, r.text)) return r;
 6357        throw new o(
 6358          r
 6359            ? "Invalid delimiter '" + r.text + "' after '" + e.funcName + "'"
 6360            : "Invalid delimiter type '" + t.type + "'",
 6361          t,
 6362        );
 6363      }
 6364      function ur(t) {
 6365        if (!t.body)
 6366          throw new Error("Bug: The leftright ParseNode wasn't fully parsed.");
 6367      }
 6368      (_t({
 6369        type: "delimsizing",
 6370        names: [
 6371          "\\bigl",
 6372          "\\Bigl",
 6373          "\\biggl",
 6374          "\\Biggl",
 6375          "\\bigr",
 6376          "\\Bigr",
 6377          "\\biggr",
 6378          "\\Biggr",
 6379          "\\bigm",
 6380          "\\Bigm",
 6381          "\\biggm",
 6382          "\\Biggm",
 6383          "\\big",
 6384          "\\Big",
 6385          "\\bigg",
 6386          "\\Bigg",
 6387        ],
 6388        props: { numArgs: 1 },
 6389        handler: function (t, e) {
 6390          var r = cr(e[0], t);
 6391          return {
 6392            type: "delimsizing",
 6393            mode: t.parser.mode,
 6394            size: hr[t.funcName].size,
 6395            mclass: hr[t.funcName].mclass,
 6396            delim: r.text,
 6397          };
 6398        },
 6399        htmlBuilder: function (t, e) {
 6400          return "." === t.delim
 6401            ? Dt.makeSpan([t.mclass])
 6402            : or(t.delim, t.size, e, t.mode, [t.mclass]);
 6403        },
 6404        mathmlBuilder: function (t) {
 6405          var e = [];
 6406          "." !== t.delim && e.push(pe(t.delim, t.mode));
 6407          var r = new ue.MathNode("mo", e);
 6408          return (
 6409            "mopen" === t.mclass || "mclose" === t.mclass
 6410              ? r.setAttribute("fence", "true")
 6411              : r.setAttribute("fence", "false"),
 6412            r
 6413          );
 6414        },
 6415      }),
 6416        _t({
 6417          type: "leftright-right",
 6418          names: ["\\right"],
 6419          props: { numArgs: 1 },
 6420          handler: function (t, e) {
 6421            var r = t.parser.gullet.macros.get("\\current@color");
 6422            if (r && "string" != typeof r)
 6423              throw new o("\\current@color set to non-string in \\right");
 6424            return {
 6425              type: "leftright-right",
 6426              mode: t.parser.mode,
 6427              delim: cr(e[0], t).text,
 6428              color: r,
 6429            };
 6430          },
 6431        }),
 6432        _t({
 6433          type: "leftright",
 6434          names: ["\\left"],
 6435          props: { numArgs: 1 },
 6436          handler: function (t, e) {
 6437            var r = cr(e[0], t),
 6438              a = t.parser;
 6439            ++a.leftrightDepth;
 6440            var n = a.parseExpression(!1);
 6441            (--a.leftrightDepth, a.expect("\\right", !1));
 6442            var i = Ce(a.parseFunction(), "leftright-right");
 6443            return {
 6444              type: "leftright",
 6445              mode: a.mode,
 6446              body: n,
 6447              left: r.text,
 6448              right: i.delim,
 6449              rightColor: i.color,
 6450            };
 6451          },
 6452          htmlBuilder: function (t, e) {
 6453            ur(t);
 6454            for (
 6455              var r,
 6456                a,
 6457                n = ee(t.body, e, !0, ["mopen", "mclose"]),
 6458                i = 0,
 6459                o = 0,
 6460                s = !1,
 6461                l = 0;
 6462              l < n.length;
 6463              l++
 6464            )
 6465              n[l].isMiddle
 6466                ? (s = !0)
 6467                : ((i = Math.max(n[l].height, i)),
 6468                  (o = Math.max(n[l].depth, o)));
 6469            if (
 6470              ((i *= e.sizeMultiplier),
 6471              (o *= e.sizeMultiplier),
 6472              (r =
 6473                "." === t.left
 6474                  ? ie(e, ["mopen"])
 6475                  : lr(t.left, i, o, e, t.mode, ["mopen"])),
 6476              n.unshift(r),
 6477              s)
 6478            )
 6479              for (var h = 1; h < n.length; h++) {
 6480                var m = n[h].isMiddle;
 6481                m && (n[h] = lr(m.delim, i, o, m.options, t.mode, []));
 6482              }
 6483            if ("." === t.right) a = ie(e, ["mclose"]);
 6484            else {
 6485              var c = t.rightColor ? e.withColor(t.rightColor) : e;
 6486              a = lr(t.right, i, o, c, t.mode, ["mclose"]);
 6487            }
 6488            return (n.push(a), Dt.makeSpan(["minner"], n, e));
 6489          },
 6490          mathmlBuilder: function (t, e) {
 6491            ur(t);
 6492            var r = ge(t.body, e);
 6493            if ("." !== t.left) {
 6494              var a = new ue.MathNode("mo", [pe(t.left, t.mode)]);
 6495              (a.setAttribute("fence", "true"), r.unshift(a));
 6496            }
 6497            if ("." !== t.right) {
 6498              var n = new ue.MathNode("mo", [pe(t.right, t.mode)]);
 6499              (n.setAttribute("fence", "true"),
 6500                t.rightColor && n.setAttribute("mathcolor", t.rightColor),
 6501                r.push(n));
 6502            }
 6503            return de(r);
 6504          },
 6505        }),
 6506        _t({
 6507          type: "middle",
 6508          names: ["\\middle"],
 6509          props: { numArgs: 1 },
 6510          handler: function (t, e) {
 6511            var r = cr(e[0], t);
 6512            if (!t.parser.leftrightDepth)
 6513              throw new o("\\middle without preceding \\left", r);
 6514            return { type: "middle", mode: t.parser.mode, delim: r.text };
 6515          },
 6516          htmlBuilder: function (t, e) {
 6517            var r;
 6518            if ("." === t.delim) r = ie(e, []);
 6519            else {
 6520              r = or(t.delim, 1, e, t.mode, []);
 6521              var a = { delim: t.delim, options: e };
 6522              r.isMiddle = a;
 6523            }
 6524            return r;
 6525          },
 6526          mathmlBuilder: function (t, e) {
 6527            var r =
 6528                "\\vert" === t.delim || "|" === t.delim
 6529                  ? pe("|", "text")
 6530                  : pe(t.delim, t.mode),
 6531              a = new ue.MathNode("mo", [r]);
 6532            return (
 6533              a.setAttribute("fence", "true"),
 6534              a.setAttribute("lspace", "0.05em"),
 6535              a.setAttribute("rspace", "0.05em"),
 6536              a
 6537            );
 6538          },
 6539        }));
 6540      var pr = function (t, e) {
 6541          var r,
 6542            a,
 6543            n = Dt.wrapFragment(oe(t.body, e), e),
 6544            i = t.label.substr(1),
 6545            o = e.sizeMultiplier,
 6546            s = 0,
 6547            l = c.isCharacterBox(t.body);
 6548          if ("sout" === i)
 6549            (((r = Dt.makeSpan(["stretchy", "sout"])).height =
 6550              e.fontMetrics().defaultRuleThickness / o),
 6551              (s = -0.5 * e.fontMetrics().xHeight));
 6552          else {
 6553            /cancel/.test(i)
 6554              ? l || n.classes.push("cancel-pad")
 6555              : n.classes.push("boxpad");
 6556            var h = 0,
 6557              m = 0;
 6558            (/box/.test(i)
 6559              ? ((m = Math.max(e.fontMetrics().fboxrule, e.minRuleThickness)),
 6560                (h = e.fontMetrics().fboxsep + ("colorbox" === i ? 0 : m)))
 6561              : (h = l ? 0.2 : 0),
 6562              (r = Ae(n, i, h, e)),
 6563              /fbox|boxed|fcolorbox/.test(i) &&
 6564                ((r.style.borderStyle = "solid"),
 6565                (r.style.borderWidth = m + "em")),
 6566              (s = n.depth + h),
 6567              t.backgroundColor &&
 6568                ((r.style.backgroundColor = t.backgroundColor),
 6569                t.borderColor && (r.style.borderColor = t.borderColor)));
 6570          }
 6571          return (
 6572            (a = t.backgroundColor
 6573              ? Dt.makeVList(
 6574                  {
 6575                    positionType: "individualShift",
 6576                    children: [
 6577                      { type: "elem", elem: r, shift: s },
 6578                      { type: "elem", elem: n, shift: 0 },
 6579                    ],
 6580                  },
 6581                  e,
 6582                )
 6583              : Dt.makeVList(
 6584                  {
 6585                    positionType: "individualShift",
 6586                    children: [
 6587                      { type: "elem", elem: n, shift: 0 },
 6588                      {
 6589                        type: "elem",
 6590                        elem: r,
 6591                        shift: s,
 6592                        wrapperClasses: /cancel/.test(i) ? ["svg-align"] : [],
 6593                      },
 6594                    ],
 6595                  },
 6596                  e,
 6597                )),
 6598            /cancel/.test(i) && ((a.height = n.height), (a.depth = n.depth)),
 6599            /cancel/.test(i) && !l
 6600              ? Dt.makeSpan(["mord", "cancel-lap"], [a], e)
 6601              : Dt.makeSpan(["mord"], [a], e)
 6602          );
 6603        },
 6604        dr = function (t, e) {
 6605          var r = 0,
 6606            a = new ue.MathNode(
 6607              t.label.indexOf("colorbox") > -1 ? "mpadded" : "menclose",
 6608              [ve(t.body, e)],
 6609            );
 6610          switch (t.label) {
 6611            case "\\cancel":
 6612              a.setAttribute("notation", "updiagonalstrike");
 6613              break;
 6614            case "\\bcancel":
 6615              a.setAttribute("notation", "downdiagonalstrike");
 6616              break;
 6617            case "\\sout":
 6618              a.setAttribute("notation", "horizontalstrike");
 6619              break;
 6620            case "\\fbox":
 6621              a.setAttribute("notation", "box");
 6622              break;
 6623            case "\\fcolorbox":
 6624            case "\\colorbox":
 6625              if (
 6626                ((r = e.fontMetrics().fboxsep * e.fontMetrics().ptPerEm),
 6627                a.setAttribute("width", "+" + 2 * r + "pt"),
 6628                a.setAttribute("height", "+" + 2 * r + "pt"),
 6629                a.setAttribute("lspace", r + "pt"),
 6630                a.setAttribute("voffset", r + "pt"),
 6631                "\\fcolorbox" === t.label)
 6632              ) {
 6633                var n = Math.max(e.fontMetrics().fboxrule, e.minRuleThickness);
 6634                a.setAttribute(
 6635                  "style",
 6636                  "border: " + n + "em solid " + String(t.borderColor),
 6637                );
 6638              }
 6639              break;
 6640            case "\\xcancel":
 6641              a.setAttribute("notation", "updiagonalstrike downdiagonalstrike");
 6642          }
 6643          return (
 6644            t.backgroundColor &&
 6645              a.setAttribute("mathbackground", t.backgroundColor),
 6646            a
 6647          );
 6648        };
 6649      (_t({
 6650        type: "enclose",
 6651        names: ["\\colorbox"],
 6652        props: {
 6653          numArgs: 2,
 6654          allowedInText: !0,
 6655          greediness: 3,
 6656          argTypes: ["color", "text"],
 6657        },
 6658        handler: function (t, e, r) {
 6659          var a = t.parser,
 6660            n = t.funcName,
 6661            i = Ce(e[0], "color-token").color,
 6662            o = e[1];
 6663          return {
 6664            type: "enclose",
 6665            mode: a.mode,
 6666            label: n,
 6667            backgroundColor: i,
 6668            body: o,
 6669          };
 6670        },
 6671        htmlBuilder: pr,
 6672        mathmlBuilder: dr,
 6673      }),
 6674        _t({
 6675          type: "enclose",
 6676          names: ["\\fcolorbox"],
 6677          props: {
 6678            numArgs: 3,
 6679            allowedInText: !0,
 6680            greediness: 3,
 6681            argTypes: ["color", "color", "text"],
 6682          },
 6683          handler: function (t, e, r) {
 6684            var a = t.parser,
 6685              n = t.funcName,
 6686              i = Ce(e[0], "color-token").color,
 6687              o = Ce(e[1], "color-token").color,
 6688              s = e[2];
 6689            return {
 6690              type: "enclose",
 6691              mode: a.mode,
 6692              label: n,
 6693              backgroundColor: o,
 6694              borderColor: i,
 6695              body: s,
 6696            };
 6697          },
 6698          htmlBuilder: pr,
 6699          mathmlBuilder: dr,
 6700        }),
 6701        _t({
 6702          type: "enclose",
 6703          names: ["\\fbox"],
 6704          props: { numArgs: 1, argTypes: ["hbox"], allowedInText: !0 },
 6705          handler: function (t, e) {
 6706            return {
 6707              type: "enclose",
 6708              mode: t.parser.mode,
 6709              label: "\\fbox",
 6710              body: e[0],
 6711            };
 6712          },
 6713        }),
 6714        _t({
 6715          type: "enclose",
 6716          names: ["\\cancel", "\\bcancel", "\\xcancel", "\\sout"],
 6717          props: { numArgs: 1 },
 6718          handler: function (t, e, r) {
 6719            var a = t.parser,
 6720              n = t.funcName,
 6721              i = e[0];
 6722            return { type: "enclose", mode: a.mode, label: n, body: i };
 6723          },
 6724          htmlBuilder: pr,
 6725          mathmlBuilder: dr,
 6726        }));
 6727      var fr = {};
 6728      function gr(t) {
 6729        for (
 6730          var e = t.type,
 6731            r = t.names,
 6732            a = t.props,
 6733            n = t.handler,
 6734            i = t.htmlBuilder,
 6735            o = t.mathmlBuilder,
 6736            s = {
 6737              type: e,
 6738              numArgs: a.numArgs || 0,
 6739              greediness: 1,
 6740              allowedInText: !1,
 6741              numOptionalArgs: 0,
 6742              handler: n,
 6743            },
 6744            l = 0;
 6745          l < r.length;
 6746          ++l
 6747        )
 6748          fr[r[l]] = s;
 6749        (i && (Wt[e] = i), o && (Xt[e] = o));
 6750      }
 6751      function xr(t) {
 6752        var e = [];
 6753        t.consumeSpaces();
 6754        for (var r = t.fetch().text; "\\hline" === r || "\\hdashline" === r; )
 6755          (t.consume(),
 6756            e.push("\\hdashline" === r),
 6757            t.consumeSpaces(),
 6758            (r = t.fetch().text));
 6759        return e;
 6760      }
 6761      function vr(t, e, r) {
 6762        var a = e.hskipBeforeAndAfter,
 6763          n = e.addJot,
 6764          i = e.cols,
 6765          s = e.arraystretch,
 6766          l = e.colSeparationType;
 6767        if ((t.gullet.beginGroup(), t.gullet.macros.set("\\\\", "\\cr"), !s)) {
 6768          var h = t.gullet.expandMacroAsText("\\arraystretch");
 6769          if (null == h) s = 1;
 6770          else if (!(s = parseFloat(h)) || s < 0)
 6771            throw new o("Invalid \\arraystretch: " + h);
 6772        }
 6773        t.gullet.beginGroup();
 6774        var m = [],
 6775          c = [m],
 6776          u = [],
 6777          p = [];
 6778        for (p.push(xr(t)); ; ) {
 6779          var d = t.parseExpression(!1, "\\cr");
 6780          (t.gullet.endGroup(),
 6781            t.gullet.beginGroup(),
 6782            (d = { type: "ordgroup", mode: t.mode, body: d }),
 6783            r && (d = { type: "styling", mode: t.mode, style: r, body: [d] }),
 6784            m.push(d));
 6785          var f = t.fetch().text;
 6786          if ("&" === f) t.consume();
 6787          else {
 6788            if ("\\end" === f) {
 6789              (1 === m.length &&
 6790                "styling" === d.type &&
 6791                0 === d.body[0].body.length &&
 6792                c.pop(),
 6793                p.length < c.length + 1 && p.push([]));
 6794              break;
 6795            }
 6796            if ("\\cr" !== f)
 6797              throw new o("Expected & or \\\\ or \\cr or \\end", t.nextToken);
 6798            var g = Ce(t.parseFunction(), "cr");
 6799            (u.push(g.size), p.push(xr(t)), (m = []), c.push(m));
 6800          }
 6801        }
 6802        return (
 6803          t.gullet.endGroup(),
 6804          t.gullet.endGroup(),
 6805          {
 6806            type: "array",
 6807            mode: t.mode,
 6808            addJot: n,
 6809            arraystretch: s,
 6810            body: c,
 6811            cols: i,
 6812            rowGaps: u,
 6813            hskipBeforeAndAfter: a,
 6814            hLinesBeforeRow: p,
 6815            colSeparationType: l,
 6816          }
 6817        );
 6818      }
 6819      function br(t) {
 6820        return "d" === t.substr(0, 1) ? "display" : "text";
 6821      }
 6822      var yr = function (t, e) {
 6823          var r,
 6824            a,
 6825            n = t.body.length,
 6826            i = t.hLinesBeforeRow,
 6827            s = 0,
 6828            l = new Array(n),
 6829            h = [],
 6830            m = Math.max(e.fontMetrics().arrayRuleWidth, e.minRuleThickness),
 6831            u = 1 / e.fontMetrics().ptPerEm,
 6832            p = 5 * u;
 6833          t.colSeparationType &&
 6834            "small" === t.colSeparationType &&
 6835            (p =
 6836              (e.havingStyle(w.SCRIPT).sizeMultiplier / e.sizeMultiplier) *
 6837              0.2778);
 6838          var d = 12 * u,
 6839            f = 3 * u,
 6840            g = t.arraystretch * d,
 6841            x = 0.7 * g,
 6842            v = 0.3 * g,
 6843            b = 0;
 6844          function y(t) {
 6845            for (var e = 0; e < t.length; ++e)
 6846              (e > 0 && (b += 0.25), h.push({ pos: b, isDashed: t[e] }));
 6847          }
 6848          for (y(i[0]), r = 0; r < t.body.length; ++r) {
 6849            var k = t.body[r],
 6850              S = x,
 6851              M = v;
 6852            s < k.length && (s = k.length);
 6853            var z = new Array(k.length);
 6854            for (a = 0; a < k.length; ++a) {
 6855              var A = oe(k[a], e);
 6856              (M < A.depth && (M = A.depth),
 6857                S < A.height && (S = A.height),
 6858                (z[a] = A));
 6859            }
 6860            var T = t.rowGaps[r],
 6861              B = 0;
 6862            (T && (B = Tt(T, e)) > 0 && (M < (B += v) && (M = B), (B = 0)),
 6863              t.addJot && (M += f),
 6864              (z.height = S),
 6865              (z.depth = M),
 6866              (b += S),
 6867              (z.pos = b),
 6868              (b += M + B),
 6869              (l[r] = z),
 6870              y(i[r + 1]));
 6871          }
 6872          var C,
 6873            q,
 6874            N = b / 2 + e.fontMetrics().axisHeight,
 6875            I = t.cols || [],
 6876            O = [];
 6877          for (a = 0, q = 0; a < s || q < I.length; ++a, ++q) {
 6878            for (var R = I[q] || {}, E = !0; "separator" === R.type; ) {
 6879              if (
 6880                (E ||
 6881                  (((C = Dt.makeSpan(["arraycolsep"], [])).style.width =
 6882                    e.fontMetrics().doubleRuleSep + "em"),
 6883                  O.push(C)),
 6884                "|" !== R.separator && ":" !== R.separator)
 6885              )
 6886                throw new o("Invalid separator type: " + R.separator);
 6887              var L = "|" === R.separator ? "solid" : "dashed",
 6888                P = Dt.makeSpan(["vertical-separator"], [], e);
 6889              ((P.style.height = b + "em"),
 6890                (P.style.borderRightWidth = m + "em"),
 6891                (P.style.borderRightStyle = L),
 6892                (P.style.margin = "0 -" + m / 2 + "em"),
 6893                (P.style.verticalAlign = -(b - N) + "em"),
 6894                O.push(P),
 6895                (R = I[++q] || {}),
 6896                (E = !1));
 6897            }
 6898            if (!(a >= s)) {
 6899              var D = void 0;
 6900              (a > 0 || t.hskipBeforeAndAfter) &&
 6901                0 !== (D = c.deflt(R.pregap, p)) &&
 6902                (((C = Dt.makeSpan(["arraycolsep"], [])).style.width =
 6903                  D + "em"),
 6904                O.push(C));
 6905              var H = [];
 6906              for (r = 0; r < n; ++r) {
 6907                var F = l[r],
 6908                  V = F[a];
 6909                if (V) {
 6910                  var U = F.pos - N;
 6911                  ((V.depth = F.depth),
 6912                    (V.height = F.height),
 6913                    H.push({ type: "elem", elem: V, shift: U }));
 6914                }
 6915              }
 6916              ((H = Dt.makeVList(
 6917                { positionType: "individualShift", children: H },
 6918                e,
 6919              )),
 6920                (H = Dt.makeSpan(["col-align-" + (R.align || "c")], [H])),
 6921                O.push(H),
 6922                (a < s - 1 || t.hskipBeforeAndAfter) &&
 6923                  0 !== (D = c.deflt(R.postgap, p)) &&
 6924                  (((C = Dt.makeSpan(["arraycolsep"], [])).style.width =
 6925                    D + "em"),
 6926                  O.push(C)));
 6927            }
 6928          }
 6929          if (((l = Dt.makeSpan(["mtable"], O)), h.length > 0)) {
 6930            for (
 6931              var G = Dt.makeLineSpan("hline", e, m),
 6932                Y = Dt.makeLineSpan("hdashline", e, m),
 6933                W = [{ type: "elem", elem: l, shift: 0 }];
 6934              h.length > 0;
 6935            ) {
 6936              var X = h.pop(),
 6937                _ = X.pos - N;
 6938              X.isDashed
 6939                ? W.push({ type: "elem", elem: Y, shift: _ })
 6940                : W.push({ type: "elem", elem: G, shift: _ });
 6941            }
 6942            l = Dt.makeVList(
 6943              { positionType: "individualShift", children: W },
 6944              e,
 6945            );
 6946          }
 6947          return Dt.makeSpan(["mord"], [l], e);
 6948        },
 6949        wr = { c: "center ", l: "left ", r: "right " },
 6950        kr = function (t, e) {
 6951          var r = new ue.MathNode(
 6952              "mtable",
 6953              t.body.map(function (t) {
 6954                return new ue.MathNode(
 6955                  "mtr",
 6956                  t.map(function (t) {
 6957                    return new ue.MathNode("mtd", [ve(t, e)]);
 6958                  }),
 6959                );
 6960              }),
 6961            ),
 6962            a =
 6963              0.5 === t.arraystretch
 6964                ? 0.1
 6965                : 0.16 + t.arraystretch - 1 + (t.addJot ? 0.09 : 0);
 6966          r.setAttribute("rowspacing", a + "em");
 6967          var n = "",
 6968            i = "";
 6969          if (t.cols && t.cols.length > 0) {
 6970            var o = t.cols,
 6971              s = "",
 6972              l = !1,
 6973              h = 0,
 6974              m = o.length;
 6975            ("separator" === o[0].type && ((n += "top "), (h = 1)),
 6976              "separator" === o[o.length - 1].type &&
 6977                ((n += "bottom "), (m -= 1)));
 6978            for (var c = h; c < m; c++)
 6979              "align" === o[c].type
 6980                ? ((i += wr[o[c].align]), l && (s += "none "), (l = !0))
 6981                : "separator" === o[c].type &&
 6982                  l &&
 6983                  ((s += "|" === o[c].separator ? "solid " : "dashed "),
 6984                  (l = !1));
 6985            (r.setAttribute("columnalign", i.trim()),
 6986              /[sd]/.test(s) && r.setAttribute("columnlines", s.trim()));
 6987          }
 6988          if ("align" === t.colSeparationType) {
 6989            for (var u = t.cols || [], p = "", d = 1; d < u.length; d++)
 6990              p += d % 2 ? "0em " : "1em ";
 6991            r.setAttribute("columnspacing", p.trim());
 6992          } else
 6993            "alignat" === t.colSeparationType
 6994              ? r.setAttribute("columnspacing", "0em")
 6995              : "small" === t.colSeparationType
 6996                ? r.setAttribute("columnspacing", "0.2778em")
 6997                : r.setAttribute("columnspacing", "1em");
 6998          var f = "",
 6999            g = t.hLinesBeforeRow;
 7000          ((n += g[0].length > 0 ? "left " : ""),
 7001            (n += g[g.length - 1].length > 0 ? "right " : ""));
 7002          for (var x = 1; x < g.length - 1; x++)
 7003            f += 0 === g[x].length ? "none " : g[x][0] ? "dashed " : "solid ";
 7004          return (
 7005            /[sd]/.test(f) && r.setAttribute("rowlines", f.trim()),
 7006            "" !== n &&
 7007              (r = new ue.MathNode("menclose", [r])).setAttribute(
 7008                "notation",
 7009                n.trim(),
 7010              ),
 7011            t.arraystretch &&
 7012              t.arraystretch < 1 &&
 7013              (r = new ue.MathNode("mstyle", [r])).setAttribute(
 7014                "scriptlevel",
 7015                "1",
 7016              ),
 7017            r
 7018          );
 7019        },
 7020        Sr = function (t, e) {
 7021          var r,
 7022            a = [],
 7023            n = vr(t.parser, { cols: a, addJot: !0 }, "display"),
 7024            i = 0,
 7025            s = { type: "ordgroup", mode: t.mode, body: [] };
 7026          if (e[0] && "ordgroup" === e[0].type) {
 7027            for (var l = "", h = 0; h < e[0].body.length; h++) {
 7028              l += Ce(e[0].body[h], "textord").text;
 7029            }
 7030            ((r = Number(l)), (i = 2 * r));
 7031          }
 7032          var m = !i;
 7033          n.body.forEach(function (t) {
 7034            for (var e = 1; e < t.length; e += 2) {
 7035              var a = Ce(t[e], "styling");
 7036              Ce(a.body[0], "ordgroup").body.unshift(s);
 7037            }
 7038            if (m) i < t.length && (i = t.length);
 7039            else {
 7040              var n = t.length / 2;
 7041              if (r < n)
 7042                throw new o(
 7043                  "Too many math in a row: expected " + r + ", but got " + n,
 7044                  t[0],
 7045                );
 7046            }
 7047          });
 7048          for (var c = 0; c < i; ++c) {
 7049            var u = "r",
 7050              p = 0;
 7051            (c % 2 == 1 ? (u = "l") : c > 0 && m && (p = 1),
 7052              (a[c] = { type: "align", align: u, pregap: p, postgap: 0 }));
 7053          }
 7054          return ((n.colSeparationType = m ? "align" : "alignat"), n);
 7055        };
 7056      (gr({
 7057        type: "array",
 7058        names: ["array", "darray"],
 7059        props: { numArgs: 1 },
 7060        handler: function (t, e) {
 7061          var r = {
 7062            cols: (Ne(e[0]) ? [e[0]] : Ce(e[0], "ordgroup").body).map(
 7063              function (t) {
 7064                var e = qe(t).text;
 7065                if (-1 !== "lcr".indexOf(e)) return { type: "align", align: e };
 7066                if ("|" === e) return { type: "separator", separator: "|" };
 7067                if (":" === e) return { type: "separator", separator: ":" };
 7068                throw new o("Unknown column alignment: " + e, t);
 7069              },
 7070            ),
 7071            hskipBeforeAndAfter: !0,
 7072          };
 7073          return vr(t.parser, r, br(t.envName));
 7074        },
 7075        htmlBuilder: yr,
 7076        mathmlBuilder: kr,
 7077      }),
 7078        gr({
 7079          type: "array",
 7080          names: [
 7081            "matrix",
 7082            "pmatrix",
 7083            "bmatrix",
 7084            "Bmatrix",
 7085            "vmatrix",
 7086            "Vmatrix",
 7087          ],
 7088          props: { numArgs: 0 },
 7089          handler: function (t) {
 7090            var e = {
 7091                matrix: null,
 7092                pmatrix: ["(", ")"],
 7093                bmatrix: ["[", "]"],
 7094                Bmatrix: ["\\{", "\\}"],
 7095                vmatrix: ["|", "|"],
 7096                Vmatrix: ["\\Vert", "\\Vert"],
 7097              }[t.envName],
 7098              r = vr(t.parser, { hskipBeforeAndAfter: !1 }, br(t.envName));
 7099            return e
 7100              ? {
 7101                  type: "leftright",
 7102                  mode: t.mode,
 7103                  body: [r],
 7104                  left: e[0],
 7105                  right: e[1],
 7106                  rightColor: void 0,
 7107                }
 7108              : r;
 7109          },
 7110          htmlBuilder: yr,
 7111          mathmlBuilder: kr,
 7112        }),
 7113        gr({
 7114          type: "array",
 7115          names: ["smallmatrix"],
 7116          props: { numArgs: 0 },
 7117          handler: function (t) {
 7118            var e = vr(t.parser, { arraystretch: 0.5 }, "script");
 7119            return ((e.colSeparationType = "small"), e);
 7120          },
 7121          htmlBuilder: yr,
 7122          mathmlBuilder: kr,
 7123        }),
 7124        gr({
 7125          type: "array",
 7126          names: ["subarray"],
 7127          props: { numArgs: 1 },
 7128          handler: function (t, e) {
 7129            var r = (Ne(e[0]) ? [e[0]] : Ce(e[0], "ordgroup").body).map(
 7130              function (t) {
 7131                var e = qe(t).text;
 7132                if (-1 !== "lc".indexOf(e)) return { type: "align", align: e };
 7133                throw new o("Unknown column alignment: " + e, t);
 7134              },
 7135            );
 7136            if (r.length > 1)
 7137              throw new o("{subarray} can contain only one column");
 7138            var a = { cols: r, hskipBeforeAndAfter: !1, arraystretch: 0.5 };
 7139            if (
 7140              (a = vr(t.parser, a, "script")).body.length > 0 &&
 7141              a.body[0].length > 1
 7142            )
 7143              throw new o("{subarray} can contain only one column");
 7144            return a;
 7145          },
 7146          htmlBuilder: yr,
 7147          mathmlBuilder: kr,
 7148        }),
 7149        gr({
 7150          type: "array",
 7151          names: ["cases", "dcases", "rcases", "drcases"],
 7152          props: { numArgs: 0 },
 7153          handler: function (t) {
 7154            var e = vr(
 7155              t.parser,
 7156              {
 7157                arraystretch: 1.2,
 7158                cols: [
 7159                  { type: "align", align: "l", pregap: 0, postgap: 1 },
 7160                  { type: "align", align: "l", pregap: 0, postgap: 0 },
 7161                ],
 7162              },
 7163              br(t.envName),
 7164            );
 7165            return {
 7166              type: "leftright",
 7167              mode: t.mode,
 7168              body: [e],
 7169              left: t.envName.indexOf("r") > -1 ? "." : "\\{",
 7170              right: t.envName.indexOf("r") > -1 ? "\\}" : ".",
 7171              rightColor: void 0,
 7172            };
 7173          },
 7174          htmlBuilder: yr,
 7175          mathmlBuilder: kr,
 7176        }),
 7177        gr({
 7178          type: "array",
 7179          names: ["aligned"],
 7180          props: { numArgs: 0 },
 7181          handler: Sr,
 7182          htmlBuilder: yr,
 7183          mathmlBuilder: kr,
 7184        }),
 7185        gr({
 7186          type: "array",
 7187          names: ["gathered"],
 7188          props: { numArgs: 0 },
 7189          handler: function (t) {
 7190            return vr(
 7191              t.parser,
 7192              { cols: [{ type: "align", align: "c" }], addJot: !0 },
 7193              "display",
 7194            );
 7195          },
 7196          htmlBuilder: yr,
 7197          mathmlBuilder: kr,
 7198        }),
 7199        gr({
 7200          type: "array",
 7201          names: ["alignedat"],
 7202          props: { numArgs: 1 },
 7203          handler: Sr,
 7204          htmlBuilder: yr,
 7205          mathmlBuilder: kr,
 7206        }),
 7207        _t({
 7208          type: "text",
 7209          names: ["\\hline", "\\hdashline"],
 7210          props: { numArgs: 0, allowedInText: !0, allowedInMath: !0 },
 7211          handler: function (t, e) {
 7212            throw new o(t.funcName + " valid only within array environment");
 7213          },
 7214        }));
 7215      var Mr = fr;
 7216      _t({
 7217        type: "environment",
 7218        names: ["\\begin", "\\end"],
 7219        props: { numArgs: 1, argTypes: ["text"] },
 7220        handler: function (t, e) {
 7221          var r = t.parser,
 7222            a = t.funcName,
 7223            n = e[0];
 7224          if ("ordgroup" !== n.type) throw new o("Invalid environment name", n);
 7225          for (var i = "", s = 0; s < n.body.length; ++s)
 7226            i += Ce(n.body[s], "textord").text;
 7227          if ("\\begin" === a) {
 7228            if (!Mr.hasOwnProperty(i))
 7229              throw new o("No such environment: " + i, n);
 7230            var l = Mr[i],
 7231              h = r.parseArguments("\\begin{" + i + "}", l),
 7232              m = h.args,
 7233              c = h.optArgs,
 7234              u = { mode: r.mode, envName: i, parser: r },
 7235              p = l.handler(u, m, c);
 7236            r.expect("\\end", !1);
 7237            var d = r.nextToken,
 7238              f = Ce(r.parseFunction(), "environment");
 7239            if (f.name !== i)
 7240              throw new o(
 7241                "Mismatch: \\begin{" + i + "} matched by \\end{" + f.name + "}",
 7242                d,
 7243              );
 7244            return p;
 7245          }
 7246          return { type: "environment", mode: r.mode, name: i, nameGroup: n };
 7247        },
 7248      });
 7249      var zr = Dt.makeSpan;
 7250      function Ar(t, e) {
 7251        var r = ee(t.body, e, !0);
 7252        return zr([t.mclass], r, e);
 7253      }
 7254      function Tr(t, e) {
 7255        var r,
 7256          a = ge(t.body, e);
 7257        return "minner" === t.mclass
 7258          ? ue.newDocumentFragment(a)
 7259          : ("mord" === t.mclass
 7260              ? t.isCharacterBox
 7261                ? ((r = a[0]).type = "mi")
 7262                : (r = new ue.MathNode("mi", a))
 7263              : (t.isCharacterBox
 7264                  ? ((r = a[0]).type = "mo")
 7265                  : (r = new ue.MathNode("mo", a)),
 7266                "mbin" === t.mclass
 7267                  ? ((r.attributes.lspace = "0.22em"),
 7268                    (r.attributes.rspace = "0.22em"))
 7269                  : "mpunct" === t.mclass
 7270                    ? ((r.attributes.lspace = "0em"),
 7271                      (r.attributes.rspace = "0.17em"))
 7272                    : ("mopen" !== t.mclass && "mclose" !== t.mclass) ||
 7273                      ((r.attributes.lspace = "0em"),
 7274                      (r.attributes.rspace = "0em"))),
 7275            r);
 7276      }
 7277      _t({
 7278        type: "mclass",
 7279        names: [
 7280          "\\mathord",
 7281          "\\mathbin",
 7282          "\\mathrel",
 7283          "\\mathopen",
 7284          "\\mathclose",
 7285          "\\mathpunct",
 7286          "\\mathinner",
 7287        ],
 7288        props: { numArgs: 1 },
 7289        handler: function (t, e) {
 7290          var r = t.parser,
 7291            a = t.funcName,
 7292            n = e[0];
 7293          return {
 7294            type: "mclass",
 7295            mode: r.mode,
 7296            mclass: "m" + a.substr(5),
 7297            body: $t(n),
 7298            isCharacterBox: c.isCharacterBox(n),
 7299          };
 7300        },
 7301        htmlBuilder: Ar,
 7302        mathmlBuilder: Tr,
 7303      });
 7304      var Br = function (t) {
 7305        var e = "ordgroup" === t.type && t.body.length ? t.body[0] : t;
 7306        return "atom" !== e.type || ("bin" !== e.family && "rel" !== e.family)
 7307          ? "mord"
 7308          : "m" + e.family;
 7309      };
 7310      (_t({
 7311        type: "mclass",
 7312        names: ["\\@binrel"],
 7313        props: { numArgs: 2 },
 7314        handler: function (t, e) {
 7315          return {
 7316            type: "mclass",
 7317            mode: t.parser.mode,
 7318            mclass: Br(e[0]),
 7319            body: [e[1]],
 7320            isCharacterBox: c.isCharacterBox(e[1]),
 7321          };
 7322        },
 7323      }),
 7324        _t({
 7325          type: "mclass",
 7326          names: ["\\stackrel", "\\overset", "\\underset"],
 7327          props: { numArgs: 2 },
 7328          handler: function (t, e) {
 7329            var r,
 7330              a = t.parser,
 7331              n = t.funcName,
 7332              i = e[1],
 7333              o = e[0];
 7334            r = "\\stackrel" !== n ? Br(i) : "mrel";
 7335            var s = {
 7336                type: "op",
 7337                mode: i.mode,
 7338                limits: !0,
 7339                alwaysHandleSupSub: !0,
 7340                parentIsSupSub: !1,
 7341                symbol: !1,
 7342                suppressBaseShift: "\\stackrel" !== n,
 7343                body: $t(i),
 7344              },
 7345              l = {
 7346                type: "supsub",
 7347                mode: o.mode,
 7348                base: s,
 7349                sup: "\\underset" === n ? null : o,
 7350                sub: "\\underset" === n ? o : null,
 7351              };
 7352            return {
 7353              type: "mclass",
 7354              mode: a.mode,
 7355              mclass: r,
 7356              body: [l],
 7357              isCharacterBox: c.isCharacterBox(l),
 7358            };
 7359          },
 7360          htmlBuilder: Ar,
 7361          mathmlBuilder: Tr,
 7362        }));
 7363      var Cr = function (t, e) {
 7364          var r = t.font,
 7365            a = e.withFont(r);
 7366          return oe(t.body, a);
 7367        },
 7368        qr = function (t, e) {
 7369          var r = t.font,
 7370            a = e.withFont(r);
 7371          return ve(t.body, a);
 7372        },
 7373        Nr = {
 7374          "\\Bbb": "\\mathbb",
 7375          "\\bold": "\\mathbf",
 7376          "\\frak": "\\mathfrak",
 7377          "\\bm": "\\boldsymbol",
 7378        };
 7379      (_t({
 7380        type: "font",
 7381        names: [
 7382          "\\mathrm",
 7383          "\\mathit",
 7384          "\\mathbf",
 7385          "\\mathnormal",
 7386          "\\mathbb",
 7387          "\\mathcal",
 7388          "\\mathfrak",
 7389          "\\mathscr",
 7390          "\\mathsf",
 7391          "\\mathtt",
 7392          "\\Bbb",
 7393          "\\bold",
 7394          "\\frak",
 7395        ],
 7396        props: { numArgs: 1, greediness: 2 },
 7397        handler: function (t, e) {
 7398          var r = t.parser,
 7399            a = t.funcName,
 7400            n = e[0],
 7401            i = a;
 7402          return (
 7403            i in Nr && (i = Nr[i]),
 7404            { type: "font", mode: r.mode, font: i.slice(1), body: n }
 7405          );
 7406        },
 7407        htmlBuilder: Cr,
 7408        mathmlBuilder: qr,
 7409      }),
 7410        _t({
 7411          type: "mclass",
 7412          names: ["\\boldsymbol", "\\bm"],
 7413          props: { numArgs: 1, greediness: 2 },
 7414          handler: function (t, e) {
 7415            var r = t.parser,
 7416              a = e[0],
 7417              n = c.isCharacterBox(a);
 7418            return {
 7419              type: "mclass",
 7420              mode: r.mode,
 7421              mclass: Br(a),
 7422              body: [
 7423                { type: "font", mode: r.mode, font: "boldsymbol", body: a },
 7424              ],
 7425              isCharacterBox: n,
 7426            };
 7427          },
 7428        }),
 7429        _t({
 7430          type: "font",
 7431          names: ["\\rm", "\\sf", "\\tt", "\\bf", "\\it", "\\cal"],
 7432          props: { numArgs: 0, allowedInText: !0 },
 7433          handler: function (t, e) {
 7434            var r = t.parser,
 7435              a = t.funcName,
 7436              n = t.breakOnTokenText,
 7437              i = r.mode,
 7438              o = r.parseExpression(!0, n);
 7439            return {
 7440              type: "font",
 7441              mode: i,
 7442              font: "math" + a.slice(1),
 7443              body: { type: "ordgroup", mode: r.mode, body: o },
 7444            };
 7445          },
 7446          htmlBuilder: Cr,
 7447          mathmlBuilder: qr,
 7448        }));
 7449      var Ir = function (t, e) {
 7450          var r = e;
 7451          return (
 7452            "display" === t
 7453              ? (r = r.id >= w.SCRIPT.id ? r.text() : w.DISPLAY)
 7454              : "text" === t && r.size === w.DISPLAY.size
 7455                ? (r = w.TEXT)
 7456                : "script" === t
 7457                  ? (r = w.SCRIPT)
 7458                  : "scriptscript" === t && (r = w.SCRIPTSCRIPT),
 7459            r
 7460          );
 7461        },
 7462        Or = function (t, e) {
 7463          var r,
 7464            a = Ir(t.size, e.style),
 7465            n = a.fracNum(),
 7466            i = a.fracDen();
 7467          r = e.havingStyle(n);
 7468          var o = oe(t.numer, r, e);
 7469          if (t.continued) {
 7470            var s = 8.5 / e.fontMetrics().ptPerEm,
 7471              l = 3.5 / e.fontMetrics().ptPerEm;
 7472            ((o.height = o.height < s ? s : o.height),
 7473              (o.depth = o.depth < l ? l : o.depth));
 7474          }
 7475          r = e.havingStyle(i);
 7476          var h,
 7477            m,
 7478            c,
 7479            u,
 7480            p,
 7481            d,
 7482            f,
 7483            g,
 7484            x,
 7485            v,
 7486            b = oe(t.denom, r, e);
 7487          if (
 7488            (t.hasBarLine
 7489              ? (t.barSize
 7490                  ? ((m = Tt(t.barSize, e)),
 7491                    (h = Dt.makeLineSpan("frac-line", e, m)))
 7492                  : (h = Dt.makeLineSpan("frac-line", e)),
 7493                (m = h.height),
 7494                (c = h.height))
 7495              : ((h = null),
 7496                (m = 0),
 7497                (c = e.fontMetrics().defaultRuleThickness)),
 7498            a.size === w.DISPLAY.size || "display" === t.size
 7499              ? ((u = e.fontMetrics().num1),
 7500                (p = m > 0 ? 3 * c : 7 * c),
 7501                (d = e.fontMetrics().denom1))
 7502              : (m > 0
 7503                  ? ((u = e.fontMetrics().num2), (p = c))
 7504                  : ((u = e.fontMetrics().num3), (p = 3 * c)),
 7505                (d = e.fontMetrics().denom2)),
 7506            h)
 7507          ) {
 7508            var y = e.fontMetrics().axisHeight;
 7509            (u - o.depth - (y + 0.5 * m) < p &&
 7510              (u += p - (u - o.depth - (y + 0.5 * m))),
 7511              y - 0.5 * m - (b.height - d) < p &&
 7512                (d += p - (y - 0.5 * m - (b.height - d))));
 7513            var k = -(y - 0.5 * m);
 7514            f = Dt.makeVList(
 7515              {
 7516                positionType: "individualShift",
 7517                children: [
 7518                  { type: "elem", elem: b, shift: d },
 7519                  { type: "elem", elem: h, shift: k },
 7520                  { type: "elem", elem: o, shift: -u },
 7521                ],
 7522              },
 7523              e,
 7524            );
 7525          } else {
 7526            var S = u - o.depth - (b.height - d);
 7527            (S < p && ((u += 0.5 * (p - S)), (d += 0.5 * (p - S))),
 7528              (f = Dt.makeVList(
 7529                {
 7530                  positionType: "individualShift",
 7531                  children: [
 7532                    { type: "elem", elem: b, shift: d },
 7533                    { type: "elem", elem: o, shift: -u },
 7534                  ],
 7535                },
 7536                e,
 7537              )));
 7538          }
 7539          return (
 7540            (r = e.havingStyle(a)),
 7541            (f.height *= r.sizeMultiplier / e.sizeMultiplier),
 7542            (f.depth *= r.sizeMultiplier / e.sizeMultiplier),
 7543            (g =
 7544              a.size === w.DISPLAY.size
 7545                ? e.fontMetrics().delim1
 7546                : e.fontMetrics().delim2),
 7547            (x =
 7548              null == t.leftDelim
 7549                ? ie(e, ["mopen"])
 7550                : sr(t.leftDelim, g, !0, e.havingStyle(a), t.mode, ["mopen"])),
 7551            (v = t.continued
 7552              ? Dt.makeSpan([])
 7553              : null == t.rightDelim
 7554                ? ie(e, ["mclose"])
 7555                : sr(t.rightDelim, g, !0, e.havingStyle(a), t.mode, [
 7556                    "mclose",
 7557                  ])),
 7558            Dt.makeSpan(
 7559              ["mord"].concat(r.sizingClasses(e)),
 7560              [x, Dt.makeSpan(["mfrac"], [f]), v],
 7561              e,
 7562            )
 7563          );
 7564        },
 7565        Rr = function (t, e) {
 7566          var r = new ue.MathNode("mfrac", [ve(t.numer, e), ve(t.denom, e)]);
 7567          if (t.hasBarLine) {
 7568            if (t.barSize) {
 7569              var a = Tt(t.barSize, e);
 7570              r.setAttribute("linethickness", a + "em");
 7571            }
 7572          } else r.setAttribute("linethickness", "0px");
 7573          var n = Ir(t.size, e.style);
 7574          if (n.size !== e.style.size) {
 7575            r = new ue.MathNode("mstyle", [r]);
 7576            var i = n.size === w.DISPLAY.size ? "true" : "false";
 7577            (r.setAttribute("displaystyle", i),
 7578              r.setAttribute("scriptlevel", "0"));
 7579          }
 7580          if (null != t.leftDelim || null != t.rightDelim) {
 7581            var o = [];
 7582            if (null != t.leftDelim) {
 7583              var s = new ue.MathNode("mo", [
 7584                new ue.TextNode(t.leftDelim.replace("\\", "")),
 7585              ]);
 7586              (s.setAttribute("fence", "true"), o.push(s));
 7587            }
 7588            if ((o.push(r), null != t.rightDelim)) {
 7589              var l = new ue.MathNode("mo", [
 7590                new ue.TextNode(t.rightDelim.replace("\\", "")),
 7591              ]);
 7592              (l.setAttribute("fence", "true"), o.push(l));
 7593            }
 7594            return de(o);
 7595          }
 7596          return r;
 7597        };
 7598      (_t({
 7599        type: "genfrac",
 7600        names: [
 7601          "\\cfrac",
 7602          "\\dfrac",
 7603          "\\frac",
 7604          "\\tfrac",
 7605          "\\dbinom",
 7606          "\\binom",
 7607          "\\tbinom",
 7608          "\\\\atopfrac",
 7609          "\\\\bracefrac",
 7610          "\\\\brackfrac",
 7611        ],
 7612        props: { numArgs: 2, greediness: 2 },
 7613        handler: function (t, e) {
 7614          var r,
 7615            a = t.parser,
 7616            n = t.funcName,
 7617            i = e[0],
 7618            o = e[1],
 7619            s = null,
 7620            l = null,
 7621            h = "auto";
 7622          switch (n) {
 7623            case "\\cfrac":
 7624            case "\\dfrac":
 7625            case "\\frac":
 7626            case "\\tfrac":
 7627              r = !0;
 7628              break;
 7629            case "\\\\atopfrac":
 7630              r = !1;
 7631              break;
 7632            case "\\dbinom":
 7633            case "\\binom":
 7634            case "\\tbinom":
 7635              ((r = !1), (s = "("), (l = ")"));
 7636              break;
 7637            case "\\\\bracefrac":
 7638              ((r = !1), (s = "\\{"), (l = "\\}"));
 7639              break;
 7640            case "\\\\brackfrac":
 7641              ((r = !1), (s = "["), (l = "]"));
 7642              break;
 7643            default:
 7644              throw new Error("Unrecognized genfrac command");
 7645          }
 7646          switch (n) {
 7647            case "\\cfrac":
 7648            case "\\dfrac":
 7649            case "\\dbinom":
 7650              h = "display";
 7651              break;
 7652            case "\\tfrac":
 7653            case "\\tbinom":
 7654              h = "text";
 7655          }
 7656          return {
 7657            type: "genfrac",
 7658            mode: a.mode,
 7659            continued: "\\cfrac" === n,
 7660            numer: i,
 7661            denom: o,
 7662            hasBarLine: r,
 7663            leftDelim: s,
 7664            rightDelim: l,
 7665            size: h,
 7666            barSize: null,
 7667          };
 7668        },
 7669        htmlBuilder: Or,
 7670        mathmlBuilder: Rr,
 7671      }),
 7672        _t({
 7673          type: "infix",
 7674          names: ["\\over", "\\choose", "\\atop", "\\brace", "\\brack"],
 7675          props: { numArgs: 0, infix: !0 },
 7676          handler: function (t) {
 7677            var e,
 7678              r = t.parser,
 7679              a = t.funcName,
 7680              n = t.token;
 7681            switch (a) {
 7682              case "\\over":
 7683                e = "\\frac";
 7684                break;
 7685              case "\\choose":
 7686                e = "\\binom";
 7687                break;
 7688              case "\\atop":
 7689                e = "\\\\atopfrac";
 7690                break;
 7691              case "\\brace":
 7692                e = "\\\\bracefrac";
 7693                break;
 7694              case "\\brack":
 7695                e = "\\\\brackfrac";
 7696                break;
 7697              default:
 7698                throw new Error("Unrecognized infix genfrac command");
 7699            }
 7700            return { type: "infix", mode: r.mode, replaceWith: e, token: n };
 7701          },
 7702        }));
 7703      var Er = ["display", "text", "script", "scriptscript"],
 7704        Lr = function (t) {
 7705          var e = null;
 7706          return (t.length > 0 && (e = "." === (e = t) ? null : e), e);
 7707        };
 7708      (_t({
 7709        type: "genfrac",
 7710        names: ["\\genfrac"],
 7711        props: {
 7712          numArgs: 6,
 7713          greediness: 6,
 7714          argTypes: ["math", "math", "size", "text", "math", "math"],
 7715        },
 7716        handler: function (t, e) {
 7717          var r,
 7718            a = t.parser,
 7719            n = e[4],
 7720            i = e[5],
 7721            o =
 7722              "atom" === e[0].type && "open" === e[0].family
 7723                ? Lr(e[0].text)
 7724                : null,
 7725            s =
 7726              "atom" === e[1].type && "close" === e[1].family
 7727                ? Lr(e[1].text)
 7728                : null,
 7729            l = Ce(e[2], "size"),
 7730            h = null;
 7731          r = !!l.isBlank || (h = l.value).number > 0;
 7732          var m = "auto",
 7733            c = e[3];
 7734          if ("ordgroup" === c.type) {
 7735            if (c.body.length > 0) {
 7736              var u = Ce(c.body[0], "textord");
 7737              m = Er[Number(u.text)];
 7738            }
 7739          } else ((c = Ce(c, "textord")), (m = Er[Number(c.text)]));
 7740          return {
 7741            type: "genfrac",
 7742            mode: a.mode,
 7743            numer: n,
 7744            denom: i,
 7745            continued: !1,
 7746            hasBarLine: r,
 7747            barSize: h,
 7748            leftDelim: o,
 7749            rightDelim: s,
 7750            size: m,
 7751          };
 7752        },
 7753        htmlBuilder: Or,
 7754        mathmlBuilder: Rr,
 7755      }),
 7756        _t({
 7757          type: "infix",
 7758          names: ["\\above"],
 7759          props: { numArgs: 1, argTypes: ["size"], infix: !0 },
 7760          handler: function (t, e) {
 7761            var r = t.parser,
 7762              a = (t.funcName, t.token);
 7763            return {
 7764              type: "infix",
 7765              mode: r.mode,
 7766              replaceWith: "\\\\abovefrac",
 7767              size: Ce(e[0], "size").value,
 7768              token: a,
 7769            };
 7770          },
 7771        }),
 7772        _t({
 7773          type: "genfrac",
 7774          names: ["\\\\abovefrac"],
 7775          props: { numArgs: 3, argTypes: ["math", "size", "math"] },
 7776          handler: function (t, e) {
 7777            var r = t.parser,
 7778              a = (t.funcName, e[0]),
 7779              n = (function (t) {
 7780                if (!t)
 7781                  throw new Error("Expected non-null, but got " + String(t));
 7782                return t;
 7783              })(Ce(e[1], "infix").size),
 7784              i = e[2],
 7785              o = n.number > 0;
 7786            return {
 7787              type: "genfrac",
 7788              mode: r.mode,
 7789              numer: a,
 7790              denom: i,
 7791              continued: !1,
 7792              hasBarLine: o,
 7793              barSize: n,
 7794              leftDelim: null,
 7795              rightDelim: null,
 7796              size: "auto",
 7797            };
 7798          },
 7799          htmlBuilder: Or,
 7800          mathmlBuilder: Rr,
 7801        }));
 7802      var Pr = function (t, e) {
 7803        var r,
 7804          a,
 7805          n = e.style;
 7806        "supsub" === t.type
 7807          ? ((r = t.sup
 7808              ? oe(t.sup, e.havingStyle(n.sup()), e)
 7809              : oe(t.sub, e.havingStyle(n.sub()), e)),
 7810            (a = Ce(t.base, "horizBrace")))
 7811          : (a = Ce(t, "horizBrace"));
 7812        var i,
 7813          o = oe(a.base, e.havingBaseStyle(w.DISPLAY)),
 7814          s = Be(a, e);
 7815        if (
 7816          (a.isOver
 7817            ? (i = Dt.makeVList(
 7818                {
 7819                  positionType: "firstBaseline",
 7820                  children: [
 7821                    { type: "elem", elem: o },
 7822                    { type: "kern", size: 0.1 },
 7823                    { type: "elem", elem: s },
 7824                  ],
 7825                },
 7826                e,
 7827              )).children[0].children[0].children[1].classes.push("svg-align")
 7828            : (i = Dt.makeVList(
 7829                {
 7830                  positionType: "bottom",
 7831                  positionData: o.depth + 0.1 + s.height,
 7832                  children: [
 7833                    { type: "elem", elem: s },
 7834                    { type: "kern", size: 0.1 },
 7835                    { type: "elem", elem: o },
 7836                  ],
 7837                },
 7838                e,
 7839              )).children[0].children[0].children[0].classes.push("svg-align"),
 7840          r)
 7841        ) {
 7842          var l = Dt.makeSpan(["mord", a.isOver ? "mover" : "munder"], [i], e);
 7843          i = a.isOver
 7844            ? Dt.makeVList(
 7845                {
 7846                  positionType: "firstBaseline",
 7847                  children: [
 7848                    { type: "elem", elem: l },
 7849                    { type: "kern", size: 0.2 },
 7850                    { type: "elem", elem: r },
 7851                  ],
 7852                },
 7853                e,
 7854              )
 7855            : Dt.makeVList(
 7856                {
 7857                  positionType: "bottom",
 7858                  positionData: l.depth + 0.2 + r.height + r.depth,
 7859                  children: [
 7860                    { type: "elem", elem: r },
 7861                    { type: "kern", size: 0.2 },
 7862                    { type: "elem", elem: l },
 7863                  ],
 7864                },
 7865                e,
 7866              );
 7867        }
 7868        return Dt.makeSpan(["mord", a.isOver ? "mover" : "munder"], [i], e);
 7869      };
 7870      (_t({
 7871        type: "horizBrace",
 7872        names: ["\\overbrace", "\\underbrace"],
 7873        props: { numArgs: 1 },
 7874        handler: function (t, e) {
 7875          var r = t.parser,
 7876            a = t.funcName;
 7877          return {
 7878            type: "horizBrace",
 7879            mode: r.mode,
 7880            label: a,
 7881            isOver: /^\\over/.test(a),
 7882            base: e[0],
 7883          };
 7884        },
 7885        htmlBuilder: Pr,
 7886        mathmlBuilder: function (t, e) {
 7887          var r = Te(t.label);
 7888          return new ue.MathNode(t.isOver ? "mover" : "munder", [
 7889            ve(t.base, e),
 7890            r,
 7891          ]);
 7892        },
 7893      }),
 7894        _t({
 7895          type: "href",
 7896          names: ["\\href"],
 7897          props: {
 7898            numArgs: 2,
 7899            argTypes: ["url", "original"],
 7900            allowedInText: !0,
 7901          },
 7902          handler: function (t, e) {
 7903            var r = t.parser,
 7904              a = e[1],
 7905              n = Ce(e[0], "url").url;
 7906            return r.settings.isTrusted({ command: "\\href", url: n })
 7907              ? { type: "href", mode: r.mode, href: n, body: $t(a) }
 7908              : r.formatUnsupportedCmd("\\href");
 7909          },
 7910          htmlBuilder: function (t, e) {
 7911            var r = ee(t.body, e, !1);
 7912            return Dt.makeAnchor(t.href, [], r, e);
 7913          },
 7914          mathmlBuilder: function (t, e) {
 7915            var r = xe(t.body, e);
 7916            return (
 7917              r instanceof me || (r = new me("mrow", [r])),
 7918              r.setAttribute("href", t.href),
 7919              r
 7920            );
 7921          },
 7922        }),
 7923        _t({
 7924          type: "href",
 7925          names: ["\\url"],
 7926          props: { numArgs: 1, argTypes: ["url"], allowedInText: !0 },
 7927          handler: function (t, e) {
 7928            var r = t.parser,
 7929              a = Ce(e[0], "url").url;
 7930            if (!r.settings.isTrusted({ command: "\\url", url: a }))
 7931              return r.formatUnsupportedCmd("\\url");
 7932            for (var n = [], i = 0; i < a.length; i++) {
 7933              var o = a[i];
 7934              ("~" === o && (o = "\\textasciitilde"),
 7935                n.push({ type: "textord", mode: "text", text: o }));
 7936            }
 7937            var s = { type: "text", mode: r.mode, font: "\\texttt", body: n };
 7938            return { type: "href", mode: r.mode, href: a, body: $t(s) };
 7939          },
 7940        }),
 7941        _t({
 7942          type: "html",
 7943          names: ["\\htmlClass", "\\htmlId", "\\htmlStyle", "\\htmlData"],
 7944          props: {
 7945            numArgs: 2,
 7946            argTypes: ["raw", "original"],
 7947            allowedInText: !0,
 7948          },
 7949          handler: function (t, e) {
 7950            var r,
 7951              a = t.parser,
 7952              n = t.funcName,
 7953              i = (t.token, Ce(e[0], "raw").string),
 7954              s = e[1];
 7955            a.settings.strict &&
 7956              a.settings.reportNonstrict(
 7957                "htmlExtension",
 7958                "HTML extension is disabled on strict mode",
 7959              );
 7960            var l = {};
 7961            switch (n) {
 7962              case "\\htmlClass":
 7963                ((l.class = i), (r = { command: "\\htmlClass", class: i }));
 7964                break;
 7965              case "\\htmlId":
 7966                ((l.id = i), (r = { command: "\\htmlId", id: i }));
 7967                break;
 7968              case "\\htmlStyle":
 7969                ((l.style = i), (r = { command: "\\htmlStyle", style: i }));
 7970                break;
 7971              case "\\htmlData":
 7972                for (var h = i.split(","), m = 0; m < h.length; m++) {
 7973                  var c = h[m].split("=");
 7974                  if (2 !== c.length)
 7975                    throw new o("Error parsing key-value for \\htmlData");
 7976                  l["data-" + c[0].trim()] = c[1].trim();
 7977                }
 7978                r = { command: "\\htmlData", attributes: l };
 7979                break;
 7980              default:
 7981                throw new Error("Unrecognized html command");
 7982            }
 7983            return a.settings.isTrusted(r)
 7984              ? { type: "html", mode: a.mode, attributes: l, body: $t(s) }
 7985              : a.formatUnsupportedCmd(n);
 7986          },
 7987          htmlBuilder: function (t, e) {
 7988            var r = ee(t.body, e, !1),
 7989              a = ["enclosing"];
 7990            t.attributes.class &&
 7991              a.push.apply(a, t.attributes.class.trim().split(/\s+/));
 7992            var n = Dt.makeSpan(a, r, e);
 7993            for (var i in t.attributes)
 7994              "class" !== i &&
 7995                t.attributes.hasOwnProperty(i) &&
 7996                n.setAttribute(i, t.attributes[i]);
 7997            return n;
 7998          },
 7999          mathmlBuilder: function (t, e) {
 8000            return xe(t.body, e);
 8001          },
 8002        }),
 8003        _t({
 8004          type: "htmlmathml",
 8005          names: ["\\html@mathml"],
 8006          props: { numArgs: 2, allowedInText: !0 },
 8007          handler: function (t, e) {
 8008            return {
 8009              type: "htmlmathml",
 8010              mode: t.parser.mode,
 8011              html: $t(e[0]),
 8012              mathml: $t(e[1]),
 8013            };
 8014          },
 8015          htmlBuilder: function (t, e) {
 8016            var r = ee(t.html, e, !1);
 8017            return Dt.makeFragment(r);
 8018          },
 8019          mathmlBuilder: function (t, e) {
 8020            return xe(t.mathml, e);
 8021          },
 8022        }));
 8023      var Dr = function (t) {
 8024        if (/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(t))
 8025          return { number: +t, unit: "bp" };
 8026        var e = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t);
 8027        if (!e) throw new o("Invalid size: '" + t + "' in \\includegraphics");
 8028        var r = { number: +(e[1] + e[2]), unit: e[3] };
 8029        if (!At(r))
 8030          throw new o("Invalid unit: '" + r.unit + "' in \\includegraphics.");
 8031        return r;
 8032      };
 8033      (_t({
 8034        type: "includegraphics",
 8035        names: ["\\includegraphics"],
 8036        props: {
 8037          numArgs: 1,
 8038          numOptionalArgs: 1,
 8039          argTypes: ["raw", "url"],
 8040          allowedInText: !1,
 8041        },
 8042        handler: function (t, e, r) {
 8043          var a = t.parser,
 8044            n = { number: 0, unit: "em" },
 8045            i = { number: 0.9, unit: "em" },
 8046            s = { number: 0, unit: "em" },
 8047            l = "";
 8048          if (r[0])
 8049            for (
 8050              var h = Ce(r[0], "raw").string.split(","), m = 0;
 8051              m < h.length;
 8052              m++
 8053            ) {
 8054              var c = h[m].split("=");
 8055              if (2 === c.length) {
 8056                var u = c[1].trim();
 8057                switch (c[0].trim()) {
 8058                  case "alt":
 8059                    l = u;
 8060                    break;
 8061                  case "width":
 8062                    n = Dr(u);
 8063                    break;
 8064                  case "height":
 8065                    i = Dr(u);
 8066                    break;
 8067                  case "totalheight":
 8068                    s = Dr(u);
 8069                    break;
 8070                  default:
 8071                    throw new o(
 8072                      "Invalid key: '" + c[0] + "' in \\includegraphics.",
 8073                    );
 8074                }
 8075              }
 8076            }
 8077          var p = Ce(e[0], "url").url;
 8078          return (
 8079            "" === l &&
 8080              (l = (l = (l = p).replace(/^.*[\\/]/, "")).substring(
 8081                0,
 8082                l.lastIndexOf("."),
 8083              )),
 8084            a.settings.isTrusted({ command: "\\includegraphics", url: p })
 8085              ? {
 8086                  type: "includegraphics",
 8087                  mode: a.mode,
 8088                  alt: l,
 8089                  width: n,
 8090                  height: i,
 8091                  totalheight: s,
 8092                  src: p,
 8093                }
 8094              : a.formatUnsupportedCmd("\\includegraphics")
 8095          );
 8096        },
 8097        htmlBuilder: function (t, e) {
 8098          var r = Tt(t.height, e),
 8099            a = 0;
 8100          t.totalheight.number > 0 &&
 8101            ((a = Tt(t.totalheight, e) - r), (a = Number(a.toFixed(2))));
 8102          var n = 0;
 8103          t.width.number > 0 && (n = Tt(t.width, e));
 8104          var i = { height: r + a + "em" };
 8105          (n > 0 && (i.width = n + "em"),
 8106            a > 0 && (i.verticalAlign = -a + "em"));
 8107          var o = new O(t.src, t.alt, i);
 8108          return ((o.height = r), (o.depth = a), o);
 8109        },
 8110        mathmlBuilder: function (t, e) {
 8111          var r = new ue.MathNode("mglyph", []);
 8112          r.setAttribute("alt", t.alt);
 8113          var a = Tt(t.height, e),
 8114            n = 0;
 8115          if (
 8116            (t.totalheight.number > 0 &&
 8117              ((n = (n = Tt(t.totalheight, e) - a).toFixed(2)),
 8118              r.setAttribute("valign", "-" + n + "em")),
 8119            r.setAttribute("height", a + n + "em"),
 8120            t.width.number > 0)
 8121          ) {
 8122            var i = Tt(t.width, e);
 8123            r.setAttribute("width", i + "em");
 8124          }
 8125          return (r.setAttribute("src", t.src), r);
 8126        },
 8127      }),
 8128        _t({
 8129          type: "kern",
 8130          names: ["\\kern", "\\mkern", "\\hskip", "\\mskip"],
 8131          props: { numArgs: 1, argTypes: ["size"], allowedInText: !0 },
 8132          handler: function (t, e) {
 8133            var r = t.parser,
 8134              a = t.funcName,
 8135              n = Ce(e[0], "size");
 8136            if (r.settings.strict) {
 8137              var i = "m" === a[1],
 8138                o = "mu" === n.value.unit;
 8139              i
 8140                ? (o ||
 8141                    r.settings.reportNonstrict(
 8142                      "mathVsTextUnits",
 8143                      "LaTeX's " +
 8144                        a +
 8145                        " supports only mu units, not " +
 8146                        n.value.unit +
 8147                        " units",
 8148                    ),
 8149                  "math" !== r.mode &&
 8150                    r.settings.reportNonstrict(
 8151                      "mathVsTextUnits",
 8152                      "LaTeX's " + a + " works only in math mode",
 8153                    ))
 8154                : o &&
 8155                  r.settings.reportNonstrict(
 8156                    "mathVsTextUnits",
 8157                    "LaTeX's " + a + " doesn't support mu units",
 8158                  );
 8159            }
 8160            return { type: "kern", mode: r.mode, dimension: n.value };
 8161          },
 8162          htmlBuilder: function (t, e) {
 8163            return Dt.makeGlue(t.dimension, e);
 8164          },
 8165          mathmlBuilder: function (t, e) {
 8166            var r = Tt(t.dimension, e);
 8167            return new ue.SpaceNode(r);
 8168          },
 8169        }),
 8170        _t({
 8171          type: "lap",
 8172          names: ["\\mathllap", "\\mathrlap", "\\mathclap"],
 8173          props: { numArgs: 1, allowedInText: !0 },
 8174          handler: function (t, e) {
 8175            var r = t.parser,
 8176              a = t.funcName,
 8177              n = e[0];
 8178            return {
 8179              type: "lap",
 8180              mode: r.mode,
 8181              alignment: a.slice(5),
 8182              body: n,
 8183            };
 8184          },
 8185          htmlBuilder: function (t, e) {
 8186            var r;
 8187            "clap" === t.alignment
 8188              ? ((r = Dt.makeSpan([], [oe(t.body, e)])),
 8189                (r = Dt.makeSpan(["inner"], [r], e)))
 8190              : (r = Dt.makeSpan(["inner"], [oe(t.body, e)]));
 8191            var a = Dt.makeSpan(["fix"], []),
 8192              n = Dt.makeSpan([t.alignment], [r, a], e),
 8193              i = Dt.makeSpan(["strut"]);
 8194            return (
 8195              (i.style.height = n.height + n.depth + "em"),
 8196              (i.style.verticalAlign = -n.depth + "em"),
 8197              n.children.unshift(i),
 8198              (n = Dt.makeSpan(["thinbox"], [n], e)),
 8199              Dt.makeSpan(["mord", "vbox"], [n], e)
 8200            );
 8201          },
 8202          mathmlBuilder: function (t, e) {
 8203            var r = new ue.MathNode("mpadded", [ve(t.body, e)]);
 8204            if ("rlap" !== t.alignment) {
 8205              var a = "llap" === t.alignment ? "-1" : "-0.5";
 8206              r.setAttribute("lspace", a + "width");
 8207            }
 8208            return (r.setAttribute("width", "0px"), r);
 8209          },
 8210        }),
 8211        _t({
 8212          type: "styling",
 8213          names: ["\\(", "$"],
 8214          props: { numArgs: 0, allowedInText: !0, allowedInMath: !1 },
 8215          handler: function (t, e) {
 8216            var r = t.funcName,
 8217              a = t.parser,
 8218              n = a.mode;
 8219            a.switchMode("math");
 8220            var i = "\\(" === r ? "\\)" : "$",
 8221              o = a.parseExpression(!1, i);
 8222            return (
 8223              a.expect(i),
 8224              a.switchMode(n),
 8225              { type: "styling", mode: a.mode, style: "text", body: o }
 8226            );
 8227          },
 8228        }),
 8229        _t({
 8230          type: "text",
 8231          names: ["\\)", "\\]"],
 8232          props: { numArgs: 0, allowedInText: !0, allowedInMath: !1 },
 8233          handler: function (t, e) {
 8234            throw new o("Mismatched " + t.funcName);
 8235          },
 8236        }));
 8237      var Hr = function (t, e) {
 8238        switch (e.style.size) {
 8239          case w.DISPLAY.size:
 8240            return t.display;
 8241          case w.TEXT.size:
 8242            return t.text;
 8243          case w.SCRIPT.size:
 8244            return t.script;
 8245          case w.SCRIPTSCRIPT.size:
 8246            return t.scriptscript;
 8247          default:
 8248            return t.text;
 8249        }
 8250      };
 8251      _t({
 8252        type: "mathchoice",
 8253        names: ["\\mathchoice"],
 8254        props: { numArgs: 4 },
 8255        handler: function (t, e) {
 8256          return {
 8257            type: "mathchoice",
 8258            mode: t.parser.mode,
 8259            display: $t(e[0]),
 8260            text: $t(e[1]),
 8261            script: $t(e[2]),
 8262            scriptscript: $t(e[3]),
 8263          };
 8264        },
 8265        htmlBuilder: function (t, e) {
 8266          var r = Hr(t, e),
 8267            a = ee(r, e, !1);
 8268          return Dt.makeFragment(a);
 8269        },
 8270        mathmlBuilder: function (t, e) {
 8271          var r = Hr(t, e);
 8272          return xe(r, e);
 8273        },
 8274      });
 8275      var Fr = function (t, e, r, a, n, i, o) {
 8276          var s, l, h;
 8277          if (((t = Dt.makeSpan([], [t])), e)) {
 8278            var m = oe(e, a.havingStyle(n.sup()), a);
 8279            l = {
 8280              elem: m,
 8281              kern: Math.max(
 8282                a.fontMetrics().bigOpSpacing1,
 8283                a.fontMetrics().bigOpSpacing3 - m.depth,
 8284              ),
 8285            };
 8286          }
 8287          if (r) {
 8288            var c = oe(r, a.havingStyle(n.sub()), a);
 8289            s = {
 8290              elem: c,
 8291              kern: Math.max(
 8292                a.fontMetrics().bigOpSpacing2,
 8293                a.fontMetrics().bigOpSpacing4 - c.height,
 8294              ),
 8295            };
 8296          }
 8297          if (l && s) {
 8298            var u =
 8299              a.fontMetrics().bigOpSpacing5 +
 8300              s.elem.height +
 8301              s.elem.depth +
 8302              s.kern +
 8303              t.depth +
 8304              o;
 8305            h = Dt.makeVList(
 8306              {
 8307                positionType: "bottom",
 8308                positionData: u,
 8309                children: [
 8310                  { type: "kern", size: a.fontMetrics().bigOpSpacing5 },
 8311                  { type: "elem", elem: s.elem, marginLeft: -i + "em" },
 8312                  { type: "kern", size: s.kern },
 8313                  { type: "elem", elem: t },
 8314                  { type: "kern", size: l.kern },
 8315                  { type: "elem", elem: l.elem, marginLeft: i + "em" },
 8316                  { type: "kern", size: a.fontMetrics().bigOpSpacing5 },
 8317                ],
 8318              },
 8319              a,
 8320            );
 8321          } else if (s) {
 8322            var p = t.height - o;
 8323            h = Dt.makeVList(
 8324              {
 8325                positionType: "top",
 8326                positionData: p,
 8327                children: [
 8328                  { type: "kern", size: a.fontMetrics().bigOpSpacing5 },
 8329                  { type: "elem", elem: s.elem, marginLeft: -i + "em" },
 8330                  { type: "kern", size: s.kern },
 8331                  { type: "elem", elem: t },
 8332                ],
 8333              },
 8334              a,
 8335            );
 8336          } else {
 8337            if (!l) return t;
 8338            var d = t.depth + o;
 8339            h = Dt.makeVList(
 8340              {
 8341                positionType: "bottom",
 8342                positionData: d,
 8343                children: [
 8344                  { type: "elem", elem: t },
 8345                  { type: "kern", size: l.kern },
 8346                  { type: "elem", elem: l.elem, marginLeft: i + "em" },
 8347                  { type: "kern", size: a.fontMetrics().bigOpSpacing5 },
 8348                ],
 8349              },
 8350              a,
 8351            );
 8352          }
 8353          return Dt.makeSpan(["mop", "op-limits"], [h], a);
 8354        },
 8355        Vr = ["\\smallint"],
 8356        Ur = function (t, e) {
 8357          var r,
 8358            a,
 8359            n,
 8360            i = !1;
 8361          "supsub" === t.type
 8362            ? ((r = t.sup), (a = t.sub), (n = Ce(t.base, "op")), (i = !0))
 8363            : (n = Ce(t, "op"));
 8364          var o,
 8365            s = e.style,
 8366            l = !1;
 8367          if (
 8368            (s.size === w.DISPLAY.size &&
 8369              n.symbol &&
 8370              !c.contains(Vr, n.name) &&
 8371              (l = !0),
 8372            n.symbol)
 8373          ) {
 8374            var h = l ? "Size2-Regular" : "Size1-Regular",
 8375              m = "";
 8376            if (
 8377              (("\\oiint" !== n.name && "\\oiiint" !== n.name) ||
 8378                ((m = n.name.substr(1)),
 8379                (n.name = "oiint" === m ? "\\iint" : "\\iiint")),
 8380              (o = Dt.makeSymbol(n.name, h, "math", e, [
 8381                "mop",
 8382                "op-symbol",
 8383                l ? "large-op" : "small-op",
 8384              ])),
 8385              m.length > 0)
 8386            ) {
 8387              var u = o.italic,
 8388                p = Dt.staticSvg(m + "Size" + (l ? "2" : "1"), e);
 8389              ((o = Dt.makeVList(
 8390                {
 8391                  positionType: "individualShift",
 8392                  children: [
 8393                    { type: "elem", elem: o, shift: 0 },
 8394                    { type: "elem", elem: p, shift: l ? 0.08 : 0 },
 8395                  ],
 8396                },
 8397                e,
 8398              )),
 8399                (n.name = "\\" + m),
 8400                o.classes.unshift("mop"),
 8401                (o.italic = u));
 8402            }
 8403          } else if (n.body) {
 8404            var d = ee(n.body, e, !0);
 8405            1 === d.length && d[0] instanceof E
 8406              ? ((o = d[0]).classes[0] = "mop")
 8407              : (o = Dt.makeSpan(["mop"], Dt.tryCombineChars(d), e));
 8408          } else {
 8409            for (var f = [], g = 1; g < n.name.length; g++)
 8410              f.push(Dt.mathsym(n.name[g], n.mode, e));
 8411            o = Dt.makeSpan(["mop"], f, e);
 8412          }
 8413          var x = 0,
 8414            v = 0;
 8415          return (
 8416            (o instanceof E || "\\oiint" === n.name || "\\oiiint" === n.name) &&
 8417              !n.suppressBaseShift &&
 8418              ((x = (o.height - o.depth) / 2 - e.fontMetrics().axisHeight),
 8419              (v = o.italic)),
 8420            i
 8421              ? Fr(o, r, a, e, s, v, x)
 8422              : (x &&
 8423                  ((o.style.position = "relative"), (o.style.top = x + "em")),
 8424                o)
 8425          );
 8426        },
 8427        Gr = function (t, e) {
 8428          var r;
 8429          if (t.symbol)
 8430            ((r = new me("mo", [pe(t.name, t.mode)])),
 8431              c.contains(Vr, t.name) && r.setAttribute("largeop", "false"));
 8432          else if (t.body) r = new me("mo", ge(t.body, e));
 8433          else {
 8434            r = new me("mi", [new ce(t.name.slice(1))]);
 8435            var a = new me("mo", [pe("\u2061", "text")]);
 8436            r = t.parentIsSupSub ? new me("mo", [r, a]) : he([r, a]);
 8437          }
 8438          return r;
 8439        },
 8440        Yr = {
 8441          "\u220f": "\\prod",
 8442          "\u2210": "\\coprod",
 8443          "\u2211": "\\sum",
 8444          "\u22c0": "\\bigwedge",
 8445          "\u22c1": "\\bigvee",
 8446          "\u22c2": "\\bigcap",
 8447          "\u22c3": "\\bigcup",
 8448          "\u2a00": "\\bigodot",
 8449          "\u2a01": "\\bigoplus",
 8450          "\u2a02": "\\bigotimes",
 8451          "\u2a04": "\\biguplus",
 8452          "\u2a06": "\\bigsqcup",
 8453        };
 8454      (_t({
 8455        type: "op",
 8456        names: [
 8457          "\\coprod",
 8458          "\\bigvee",
 8459          "\\bigwedge",
 8460          "\\biguplus",
 8461          "\\bigcap",
 8462          "\\bigcup",
 8463          "\\intop",
 8464          "\\prod",
 8465          "\\sum",
 8466          "\\bigotimes",
 8467          "\\bigoplus",
 8468          "\\bigodot",
 8469          "\\bigsqcup",
 8470          "\\smallint",
 8471          "\u220f",
 8472          "\u2210",
 8473          "\u2211",
 8474          "\u22c0",
 8475          "\u22c1",
 8476          "\u22c2",
 8477          "\u22c3",
 8478          "\u2a00",
 8479          "\u2a01",
 8480          "\u2a02",
 8481          "\u2a04",
 8482          "\u2a06",
 8483        ],
 8484        props: { numArgs: 0 },
 8485        handler: function (t, e) {
 8486          var r = t.parser,
 8487            a = t.funcName;
 8488          return (
 8489            1 === a.length && (a = Yr[a]),
 8490            {
 8491              type: "op",
 8492              mode: r.mode,
 8493              limits: !0,
 8494              parentIsSupSub: !1,
 8495              symbol: !0,
 8496              name: a,
 8497            }
 8498          );
 8499        },
 8500        htmlBuilder: Ur,
 8501        mathmlBuilder: Gr,
 8502      }),
 8503        _t({
 8504          type: "op",
 8505          names: ["\\mathop"],
 8506          props: { numArgs: 1 },
 8507          handler: function (t, e) {
 8508            var r = t.parser,
 8509              a = e[0];
 8510            return {
 8511              type: "op",
 8512              mode: r.mode,
 8513              limits: !1,
 8514              parentIsSupSub: !1,
 8515              symbol: !1,
 8516              body: $t(a),
 8517            };
 8518          },
 8519          htmlBuilder: Ur,
 8520          mathmlBuilder: Gr,
 8521        }));
 8522      var Wr = {
 8523        "\u222b": "\\int",
 8524        "\u222c": "\\iint",
 8525        "\u222d": "\\iiint",
 8526        "\u222e": "\\oint",
 8527        "\u222f": "\\oiint",
 8528        "\u2230": "\\oiiint",
 8529      };
 8530      (_t({
 8531        type: "op",
 8532        names: [
 8533          "\\arcsin",
 8534          "\\arccos",
 8535          "\\arctan",
 8536          "\\arctg",
 8537          "\\arcctg",
 8538          "\\arg",
 8539          "\\ch",
 8540          "\\cos",
 8541          "\\cosec",
 8542          "\\cosh",
 8543          "\\cot",
 8544          "\\cotg",
 8545          "\\coth",
 8546          "\\csc",
 8547          "\\ctg",
 8548          "\\cth",
 8549          "\\deg",
 8550          "\\dim",
 8551          "\\exp",
 8552          "\\hom",
 8553          "\\ker",
 8554          "\\lg",
 8555          "\\ln",
 8556          "\\log",
 8557          "\\sec",
 8558          "\\sin",
 8559          "\\sinh",
 8560          "\\sh",
 8561          "\\tan",
 8562          "\\tanh",
 8563          "\\tg",
 8564          "\\th",
 8565        ],
 8566        props: { numArgs: 0 },
 8567        handler: function (t) {
 8568          var e = t.parser,
 8569            r = t.funcName;
 8570          return {
 8571            type: "op",
 8572            mode: e.mode,
 8573            limits: !1,
 8574            parentIsSupSub: !1,
 8575            symbol: !1,
 8576            name: r,
 8577          };
 8578        },
 8579        htmlBuilder: Ur,
 8580        mathmlBuilder: Gr,
 8581      }),
 8582        _t({
 8583          type: "op",
 8584          names: [
 8585            "\\det",
 8586            "\\gcd",
 8587            "\\inf",
 8588            "\\lim",
 8589            "\\max",
 8590            "\\min",
 8591            "\\Pr",
 8592            "\\sup",
 8593          ],
 8594          props: { numArgs: 0 },
 8595          handler: function (t) {
 8596            var e = t.parser,
 8597              r = t.funcName;
 8598            return {
 8599              type: "op",
 8600              mode: e.mode,
 8601              limits: !0,
 8602              parentIsSupSub: !1,
 8603              symbol: !1,
 8604              name: r,
 8605            };
 8606          },
 8607          htmlBuilder: Ur,
 8608          mathmlBuilder: Gr,
 8609        }),
 8610        _t({
 8611          type: "op",
 8612          names: [
 8613            "\\int",
 8614            "\\iint",
 8615            "\\iiint",
 8616            "\\oint",
 8617            "\\oiint",
 8618            "\\oiiint",
 8619            "\u222b",
 8620            "\u222c",
 8621            "\u222d",
 8622            "\u222e",
 8623            "\u222f",
 8624            "\u2230",
 8625          ],
 8626          props: { numArgs: 0 },
 8627          handler: function (t) {
 8628            var e = t.parser,
 8629              r = t.funcName;
 8630            return (
 8631              1 === r.length && (r = Wr[r]),
 8632              {
 8633                type: "op",
 8634                mode: e.mode,
 8635                limits: !1,
 8636                parentIsSupSub: !1,
 8637                symbol: !0,
 8638                name: r,
 8639              }
 8640            );
 8641          },
 8642          htmlBuilder: Ur,
 8643          mathmlBuilder: Gr,
 8644        }));
 8645      var Xr = function (t, e) {
 8646        var r,
 8647          a,
 8648          n,
 8649          i,
 8650          o = !1;
 8651        if (
 8652          ("supsub" === t.type
 8653            ? ((r = t.sup),
 8654              (a = t.sub),
 8655              (n = Ce(t.base, "operatorname")),
 8656              (o = !0))
 8657            : (n = Ce(t, "operatorname")),
 8658          n.body.length > 0)
 8659        ) {
 8660          for (
 8661            var s = n.body.map(function (t) {
 8662                var e = t.text;
 8663                return "string" == typeof e
 8664                  ? { type: "textord", mode: t.mode, text: e }
 8665                  : t;
 8666              }),
 8667              l = ee(s, e.withFont("mathrm"), !0),
 8668              h = 0;
 8669            h < l.length;
 8670            h++
 8671          ) {
 8672            var m = l[h];
 8673            m instanceof E &&
 8674              (m.text = m.text.replace(/\u2212/, "-").replace(/\u2217/, "*"));
 8675          }
 8676          i = Dt.makeSpan(["mop"], l, e);
 8677        } else i = Dt.makeSpan(["mop"], [], e);
 8678        return o ? Fr(i, r, a, e, e.style, 0, 0) : i;
 8679      };
 8680      function _r(t, e, r) {
 8681        for (
 8682          var a = ee(t, e, !1), n = e.sizeMultiplier / r.sizeMultiplier, i = 0;
 8683          i < a.length;
 8684          i++
 8685        ) {
 8686          var o = a[i].classes.indexOf("sizing");
 8687          (o < 0
 8688            ? Array.prototype.push.apply(a[i].classes, e.sizingClasses(r))
 8689            : a[i].classes[o + 1] === "reset-size" + e.size &&
 8690              (a[i].classes[o + 1] = "reset-size" + r.size),
 8691            (a[i].height *= n),
 8692            (a[i].depth *= n));
 8693        }
 8694        return Dt.makeFragment(a);
 8695      }
 8696      (_t({
 8697        type: "operatorname",
 8698        names: ["\\operatorname", "\\operatorname*"],
 8699        props: { numArgs: 1 },
 8700        handler: function (t, e) {
 8701          var r = t.parser,
 8702            a = t.funcName,
 8703            n = e[0];
 8704          return {
 8705            type: "operatorname",
 8706            mode: r.mode,
 8707            body: $t(n),
 8708            alwaysHandleSupSub: "\\operatorname*" === a,
 8709            limits: !1,
 8710            parentIsSupSub: !1,
 8711          };
 8712        },
 8713        htmlBuilder: Xr,
 8714        mathmlBuilder: function (t, e) {
 8715          for (
 8716            var r = ge(t.body, e.withFont("mathrm")), a = !0, n = 0;
 8717            n < r.length;
 8718            n++
 8719          ) {
 8720            var i = r[n];
 8721            if (i instanceof ue.SpaceNode);
 8722            else if (i instanceof ue.MathNode)
 8723              switch (i.type) {
 8724                case "mi":
 8725                case "mn":
 8726                case "ms":
 8727                case "mspace":
 8728                case "mtext":
 8729                  break;
 8730                case "mo":
 8731                  var o = i.children[0];
 8732                  1 === i.children.length && o instanceof ue.TextNode
 8733                    ? (o.text = o.text
 8734                        .replace(/\u2212/, "-")
 8735                        .replace(/\u2217/, "*"))
 8736                    : (a = !1);
 8737                  break;
 8738                default:
 8739                  a = !1;
 8740              }
 8741            else a = !1;
 8742          }
 8743          if (a) {
 8744            var s = r
 8745              .map(function (t) {
 8746                return t.toText();
 8747              })
 8748              .join("");
 8749            r = [new ue.TextNode(s)];
 8750          }
 8751          var l = new ue.MathNode("mi", r);
 8752          l.setAttribute("mathvariant", "normal");
 8753          var h = new ue.MathNode("mo", [pe("\u2061", "text")]);
 8754          return t.parentIsSupSub
 8755            ? new ue.MathNode("mo", [l, h])
 8756            : ue.newDocumentFragment([l, h]);
 8757        },
 8758      }),
 8759        jt({
 8760          type: "ordgroup",
 8761          htmlBuilder: function (t, e) {
 8762            return t.semisimple
 8763              ? Dt.makeFragment(ee(t.body, e, !1))
 8764              : Dt.makeSpan(["mord"], ee(t.body, e, !0), e);
 8765          },
 8766          mathmlBuilder: function (t, e) {
 8767            return xe(t.body, e, !0);
 8768          },
 8769        }),
 8770        _t({
 8771          type: "overline",
 8772          names: ["\\overline"],
 8773          props: { numArgs: 1 },
 8774          handler: function (t, e) {
 8775            var r = t.parser,
 8776              a = e[0];
 8777            return { type: "overline", mode: r.mode, body: a };
 8778          },
 8779          htmlBuilder: function (t, e) {
 8780            var r = oe(t.body, e.havingCrampedStyle()),
 8781              a = Dt.makeLineSpan("overline-line", e),
 8782              n = e.fontMetrics().defaultRuleThickness,
 8783              i = Dt.makeVList(
 8784                {
 8785                  positionType: "firstBaseline",
 8786                  children: [
 8787                    { type: "elem", elem: r },
 8788                    { type: "kern", size: 3 * n },
 8789                    { type: "elem", elem: a },
 8790                    { type: "kern", size: n },
 8791                  ],
 8792                },
 8793                e,
 8794              );
 8795            return Dt.makeSpan(["mord", "overline"], [i], e);
 8796          },
 8797          mathmlBuilder: function (t, e) {
 8798            var r = new ue.MathNode("mo", [new ue.TextNode("\u203e")]);
 8799            r.setAttribute("stretchy", "true");
 8800            var a = new ue.MathNode("mover", [ve(t.body, e), r]);
 8801            return (a.setAttribute("accent", "true"), a);
 8802          },
 8803        }),
 8804        _t({
 8805          type: "phantom",
 8806          names: ["\\phantom"],
 8807          props: { numArgs: 1, allowedInText: !0 },
 8808          handler: function (t, e) {
 8809            var r = t.parser,
 8810              a = e[0];
 8811            return { type: "phantom", mode: r.mode, body: $t(a) };
 8812          },
 8813          htmlBuilder: function (t, e) {
 8814            var r = ee(t.body, e.withPhantom(), !1);
 8815            return Dt.makeFragment(r);
 8816          },
 8817          mathmlBuilder: function (t, e) {
 8818            var r = ge(t.body, e);
 8819            return new ue.MathNode("mphantom", r);
 8820          },
 8821        }),
 8822        _t({
 8823          type: "hphantom",
 8824          names: ["\\hphantom"],
 8825          props: { numArgs: 1, allowedInText: !0 },
 8826          handler: function (t, e) {
 8827            var r = t.parser,
 8828              a = e[0];
 8829            return { type: "hphantom", mode: r.mode, body: a };
 8830          },
 8831          htmlBuilder: function (t, e) {
 8832            var r = Dt.makeSpan([], [oe(t.body, e.withPhantom())]);
 8833            if (((r.height = 0), (r.depth = 0), r.children))
 8834              for (var a = 0; a < r.children.length; a++)
 8835                ((r.children[a].height = 0), (r.children[a].depth = 0));
 8836            return (
 8837              (r = Dt.makeVList(
 8838                {
 8839                  positionType: "firstBaseline",
 8840                  children: [{ type: "elem", elem: r }],
 8841                },
 8842                e,
 8843              )),
 8844              Dt.makeSpan(["mord"], [r], e)
 8845            );
 8846          },
 8847          mathmlBuilder: function (t, e) {
 8848            var r = ge($t(t.body), e),
 8849              a = new ue.MathNode("mphantom", r),
 8850              n = new ue.MathNode("mpadded", [a]);
 8851            return (
 8852              n.setAttribute("height", "0px"),
 8853              n.setAttribute("depth", "0px"),
 8854              n
 8855            );
 8856          },
 8857        }),
 8858        _t({
 8859          type: "vphantom",
 8860          names: ["\\vphantom"],
 8861          props: { numArgs: 1, allowedInText: !0 },
 8862          handler: function (t, e) {
 8863            var r = t.parser,
 8864              a = e[0];
 8865            return { type: "vphantom", mode: r.mode, body: a };
 8866          },
 8867          htmlBuilder: function (t, e) {
 8868            var r = Dt.makeSpan(["inner"], [oe(t.body, e.withPhantom())]),
 8869              a = Dt.makeSpan(["fix"], []);
 8870            return Dt.makeSpan(["mord", "rlap"], [r, a], e);
 8871          },
 8872          mathmlBuilder: function (t, e) {
 8873            var r = ge($t(t.body), e),
 8874              a = new ue.MathNode("mphantom", r),
 8875              n = new ue.MathNode("mpadded", [a]);
 8876            return (n.setAttribute("width", "0px"), n);
 8877          },
 8878        }),
 8879        _t({
 8880          type: "raisebox",
 8881          names: ["\\raisebox"],
 8882          props: { numArgs: 2, argTypes: ["size", "hbox"], allowedInText: !0 },
 8883          handler: function (t, e) {
 8884            var r = t.parser,
 8885              a = Ce(e[0], "size").value,
 8886              n = e[1];
 8887            return { type: "raisebox", mode: r.mode, dy: a, body: n };
 8888          },
 8889          htmlBuilder: function (t, e) {
 8890            var r = oe(t.body, e),
 8891              a = Tt(t.dy, e);
 8892            return Dt.makeVList(
 8893              {
 8894                positionType: "shift",
 8895                positionData: -a,
 8896                children: [{ type: "elem", elem: r }],
 8897              },
 8898              e,
 8899            );
 8900          },
 8901          mathmlBuilder: function (t, e) {
 8902            var r = new ue.MathNode("mpadded", [ve(t.body, e)]),
 8903              a = t.dy.number + t.dy.unit;
 8904            return (r.setAttribute("voffset", a), r);
 8905          },
 8906        }),
 8907        _t({
 8908          type: "rule",
 8909          names: ["\\rule"],
 8910          props: {
 8911            numArgs: 2,
 8912            numOptionalArgs: 1,
 8913            argTypes: ["size", "size", "size"],
 8914          },
 8915          handler: function (t, e, r) {
 8916            var a = t.parser,
 8917              n = r[0],
 8918              i = Ce(e[0], "size"),
 8919              o = Ce(e[1], "size");
 8920            return {
 8921              type: "rule",
 8922              mode: a.mode,
 8923              shift: n && Ce(n, "size").value,
 8924              width: i.value,
 8925              height: o.value,
 8926            };
 8927          },
 8928          htmlBuilder: function (t, e) {
 8929            var r = Dt.makeSpan(["mord", "rule"], [], e),
 8930              a = Tt(t.width, e),
 8931              n = Tt(t.height, e),
 8932              i = t.shift ? Tt(t.shift, e) : 0;
 8933            return (
 8934              (r.style.borderRightWidth = a + "em"),
 8935              (r.style.borderTopWidth = n + "em"),
 8936              (r.style.bottom = i + "em"),
 8937              (r.width = a),
 8938              (r.height = n + i),
 8939              (r.depth = -i),
 8940              (r.maxFontSize = 1.125 * n * e.sizeMultiplier),
 8941              r
 8942            );
 8943          },
 8944          mathmlBuilder: function (t, e) {
 8945            var r = Tt(t.width, e),
 8946              a = Tt(t.height, e),
 8947              n = t.shift ? Tt(t.shift, e) : 0,
 8948              i = (e.color && e.getColor()) || "black",
 8949              o = new ue.MathNode("mspace");
 8950            (o.setAttribute("mathbackground", i),
 8951              o.setAttribute("width", r + "em"),
 8952              o.setAttribute("height", a + "em"));
 8953            var s = new ue.MathNode("mpadded", [o]);
 8954            return (
 8955              n >= 0
 8956                ? s.setAttribute("height", "+" + n + "em")
 8957                : (s.setAttribute("height", n + "em"),
 8958                  s.setAttribute("depth", "+" + -n + "em")),
 8959              s.setAttribute("voffset", n + "em"),
 8960              s
 8961            );
 8962          },
 8963        }));
 8964      var jr = [
 8965        "\\tiny",
 8966        "\\sixptsize",
 8967        "\\scriptsize",
 8968        "\\footnotesize",
 8969        "\\small",
 8970        "\\normalsize",
 8971        "\\large",
 8972        "\\Large",
 8973        "\\LARGE",
 8974        "\\huge",
 8975        "\\Huge",
 8976      ];
 8977      (_t({
 8978        type: "sizing",
 8979        names: jr,
 8980        props: { numArgs: 0, allowedInText: !0 },
 8981        handler: function (t, e) {
 8982          var r = t.breakOnTokenText,
 8983            a = t.funcName,
 8984            n = t.parser,
 8985            i = n.parseExpression(!1, r);
 8986          return {
 8987            type: "sizing",
 8988            mode: n.mode,
 8989            size: jr.indexOf(a) + 1,
 8990            body: i,
 8991          };
 8992        },
 8993        htmlBuilder: function (t, e) {
 8994          var r = e.havingSize(t.size);
 8995          return _r(t.body, r, e);
 8996        },
 8997        mathmlBuilder: function (t, e) {
 8998          var r = e.havingSize(t.size),
 8999            a = ge(t.body, r),
 9000            n = new ue.MathNode("mstyle", a);
 9001          return (n.setAttribute("mathsize", r.sizeMultiplier + "em"), n);
 9002        },
 9003      }),
 9004        _t({
 9005          type: "smash",
 9006          names: ["\\smash"],
 9007          props: { numArgs: 1, numOptionalArgs: 1, allowedInText: !0 },
 9008          handler: function (t, e, r) {
 9009            var a = t.parser,
 9010              n = !1,
 9011              i = !1,
 9012              o = r[0] && Ce(r[0], "ordgroup");
 9013            if (o)
 9014              for (var s = "", l = 0; l < o.body.length; ++l) {
 9015                if ("t" === (s = o.body[l].text)) n = !0;
 9016                else {
 9017                  if ("b" !== s) {
 9018                    ((n = !1), (i = !1));
 9019                    break;
 9020                  }
 9021                  i = !0;
 9022                }
 9023              }
 9024            else ((n = !0), (i = !0));
 9025            var h = e[0];
 9026            return {
 9027              type: "smash",
 9028              mode: a.mode,
 9029              body: h,
 9030              smashHeight: n,
 9031              smashDepth: i,
 9032            };
 9033          },
 9034          htmlBuilder: function (t, e) {
 9035            var r = Dt.makeSpan([], [oe(t.body, e)]);
 9036            if (!t.smashHeight && !t.smashDepth) return r;
 9037            if (t.smashHeight && ((r.height = 0), r.children))
 9038              for (var a = 0; a < r.children.length; a++)
 9039                r.children[a].height = 0;
 9040            if (t.smashDepth && ((r.depth = 0), r.children))
 9041              for (var n = 0; n < r.children.length; n++)
 9042                r.children[n].depth = 0;
 9043            var i = Dt.makeVList(
 9044              {
 9045                positionType: "firstBaseline",
 9046                children: [{ type: "elem", elem: r }],
 9047              },
 9048              e,
 9049            );
 9050            return Dt.makeSpan(["mord"], [i], e);
 9051          },
 9052          mathmlBuilder: function (t, e) {
 9053            var r = new ue.MathNode("mpadded", [ve(t.body, e)]);
 9054            return (
 9055              t.smashHeight && r.setAttribute("height", "0px"),
 9056              t.smashDepth && r.setAttribute("depth", "0px"),
 9057              r
 9058            );
 9059          },
 9060        }),
 9061        _t({
 9062          type: "sqrt",
 9063          names: ["\\sqrt"],
 9064          props: { numArgs: 1, numOptionalArgs: 1 },
 9065          handler: function (t, e, r) {
 9066            var a = t.parser,
 9067              n = r[0],
 9068              i = e[0];
 9069            return { type: "sqrt", mode: a.mode, body: i, index: n };
 9070          },
 9071          htmlBuilder: function (t, e) {
 9072            var r = oe(t.body, e.havingCrampedStyle());
 9073            (0 === r.height && (r.height = e.fontMetrics().xHeight),
 9074              (r = Dt.wrapFragment(r, e)));
 9075            var a = e.fontMetrics().defaultRuleThickness,
 9076              n = a;
 9077            e.style.id < w.TEXT.id && (n = e.fontMetrics().xHeight);
 9078            var i = a + n / 4,
 9079              o = r.height + r.depth + i + a,
 9080              s = ir(o, e),
 9081              l = s.span,
 9082              h = s.ruleWidth,
 9083              m = s.advanceWidth,
 9084              c = l.height - h;
 9085            c > r.height + r.depth + i &&
 9086              (i = (i + c - r.height - r.depth) / 2);
 9087            var u = l.height - r.height - i - h;
 9088            r.style.paddingLeft = m + "em";
 9089            var p = Dt.makeVList(
 9090              {
 9091                positionType: "firstBaseline",
 9092                children: [
 9093                  { type: "elem", elem: r, wrapperClasses: ["svg-align"] },
 9094                  { type: "kern", size: -(r.height + u) },
 9095                  { type: "elem", elem: l },
 9096                  { type: "kern", size: h },
 9097                ],
 9098              },
 9099              e,
 9100            );
 9101            if (t.index) {
 9102              var d = e.havingStyle(w.SCRIPTSCRIPT),
 9103                f = oe(t.index, d, e),
 9104                g = 0.6 * (p.height - p.depth),
 9105                x = Dt.makeVList(
 9106                  {
 9107                    positionType: "shift",
 9108                    positionData: -g,
 9109                    children: [{ type: "elem", elem: f }],
 9110                  },
 9111                  e,
 9112                ),
 9113                v = Dt.makeSpan(["root"], [x]);
 9114              return Dt.makeSpan(["mord", "sqrt"], [v, p], e);
 9115            }
 9116            return Dt.makeSpan(["mord", "sqrt"], [p], e);
 9117          },
 9118          mathmlBuilder: function (t, e) {
 9119            var r = t.body,
 9120              a = t.index;
 9121            return a
 9122              ? new ue.MathNode("mroot", [ve(r, e), ve(a, e)])
 9123              : new ue.MathNode("msqrt", [ve(r, e)]);
 9124          },
 9125        }));
 9126      var $r = {
 9127        display: w.DISPLAY,
 9128        text: w.TEXT,
 9129        script: w.SCRIPT,
 9130        scriptscript: w.SCRIPTSCRIPT,
 9131      };
 9132      _t({
 9133        type: "styling",
 9134        names: [
 9135          "\\displaystyle",
 9136          "\\textstyle",
 9137          "\\scriptstyle",
 9138          "\\scriptscriptstyle",
 9139        ],
 9140        props: { numArgs: 0, allowedInText: !0 },
 9141        handler: function (t, e) {
 9142          var r = t.breakOnTokenText,
 9143            a = t.funcName,
 9144            n = t.parser,
 9145            i = n.parseExpression(!0, r),
 9146            o = a.slice(1, a.length - 5);
 9147          return { type: "styling", mode: n.mode, style: o, body: i };
 9148        },
 9149        htmlBuilder: function (t, e) {
 9150          var r = $r[t.style],
 9151            a = e.havingStyle(r).withFont("");
 9152          return _r(t.body, a, e);
 9153        },
 9154        mathmlBuilder: function (t, e) {
 9155          var r = $r[t.style],
 9156            a = e.havingStyle(r),
 9157            n = ge(t.body, a),
 9158            i = new ue.MathNode("mstyle", n),
 9159            o = {
 9160              display: ["0", "true"],
 9161              text: ["0", "false"],
 9162              script: ["1", "false"],
 9163              scriptscript: ["2", "false"],
 9164            }[t.style];
 9165          return (
 9166            i.setAttribute("scriptlevel", o[0]),
 9167            i.setAttribute("displaystyle", o[1]),
 9168            i
 9169          );
 9170        },
 9171      });
 9172      (jt({
 9173        type: "supsub",
 9174        htmlBuilder: function (t, e) {
 9175          var r = (function (t, e) {
 9176            var r = t.base;
 9177            return r
 9178              ? "op" === r.type
 9179                ? r.limits &&
 9180                  (e.style.size === w.DISPLAY.size || r.alwaysHandleSupSub)
 9181                  ? Ur
 9182                  : null
 9183                : "operatorname" === r.type
 9184                  ? r.alwaysHandleSupSub &&
 9185                    (e.style.size === w.DISPLAY.size || r.limits)
 9186                    ? Xr
 9187                    : null
 9188                  : "accent" === r.type
 9189                    ? c.isCharacterBox(r.base)
 9190                      ? Ie
 9191                      : null
 9192                    : "horizBrace" === r.type && !t.sub === r.isOver
 9193                      ? Pr
 9194                      : null
 9195              : null;
 9196          })(t, e);
 9197          if (r) return r(t, e);
 9198          var a,
 9199            n,
 9200            i,
 9201            o = t.base,
 9202            s = t.sup,
 9203            l = t.sub,
 9204            h = oe(o, e),
 9205            m = e.fontMetrics(),
 9206            u = 0,
 9207            p = 0,
 9208            d = o && c.isCharacterBox(o);
 9209          if (s) {
 9210            var f = e.havingStyle(e.style.sup());
 9211            ((a = oe(s, f, e)),
 9212              d ||
 9213                (u =
 9214                  h.height -
 9215                  (f.fontMetrics().supDrop * f.sizeMultiplier) /
 9216                    e.sizeMultiplier));
 9217          }
 9218          if (l) {
 9219            var g = e.havingStyle(e.style.sub());
 9220            ((n = oe(l, g, e)),
 9221              d ||
 9222                (p =
 9223                  h.depth +
 9224                  (g.fontMetrics().subDrop * g.sizeMultiplier) /
 9225                    e.sizeMultiplier));
 9226          }
 9227          i =
 9228            e.style === w.DISPLAY ? m.sup1 : e.style.cramped ? m.sup3 : m.sup2;
 9229          var x,
 9230            v = e.sizeMultiplier,
 9231            b = 0.5 / m.ptPerEm / v + "em",
 9232            y = null;
 9233          if (n) {
 9234            var k =
 9235              t.base &&
 9236              "op" === t.base.type &&
 9237              t.base.name &&
 9238              ("\\oiint" === t.base.name || "\\oiiint" === t.base.name);
 9239            (h instanceof E || k) && (y = -h.italic + "em");
 9240          }
 9241          if (a && n) {
 9242            ((u = Math.max(u, i, a.depth + 0.25 * m.xHeight)),
 9243              (p = Math.max(p, m.sub2)));
 9244            var S = 4 * m.defaultRuleThickness;
 9245            if (u - a.depth - (n.height - p) < S) {
 9246              p = S - (u - a.depth) + n.height;
 9247              var M = 0.8 * m.xHeight - (u - a.depth);
 9248              M > 0 && ((u += M), (p -= M));
 9249            }
 9250            var z = [
 9251              {
 9252                type: "elem",
 9253                elem: n,
 9254                shift: p,
 9255                marginRight: b,
 9256                marginLeft: y,
 9257              },
 9258              { type: "elem", elem: a, shift: -u, marginRight: b },
 9259            ];
 9260            x = Dt.makeVList(
 9261              { positionType: "individualShift", children: z },
 9262              e,
 9263            );
 9264          } else if (n) {
 9265            p = Math.max(p, m.sub1, n.height - 0.8 * m.xHeight);
 9266            var A = [{ type: "elem", elem: n, marginLeft: y, marginRight: b }];
 9267            x = Dt.makeVList(
 9268              { positionType: "shift", positionData: p, children: A },
 9269              e,
 9270            );
 9271          } else {
 9272            if (!a) throw new Error("supsub must have either sup or sub.");
 9273            ((u = Math.max(u, i, a.depth + 0.25 * m.xHeight)),
 9274              (x = Dt.makeVList(
 9275                {
 9276                  positionType: "shift",
 9277                  positionData: -u,
 9278                  children: [{ type: "elem", elem: a, marginRight: b }],
 9279                },
 9280                e,
 9281              )));
 9282          }
 9283          var T = ne(h, "right") || "mord";
 9284          return Dt.makeSpan([T], [h, Dt.makeSpan(["msupsub"], [x])], e);
 9285        },
 9286        mathmlBuilder: function (t, e) {
 9287          var r,
 9288            a = !1;
 9289          (t.base &&
 9290            "horizBrace" === t.base.type &&
 9291            !!t.sup === t.base.isOver &&
 9292            ((a = !0), (r = t.base.isOver)),
 9293            !t.base ||
 9294              ("op" !== t.base.type && "operatorname" !== t.base.type) ||
 9295              (t.base.parentIsSupSub = !0));
 9296          var n,
 9297            i = [ve(t.base, e)];
 9298          if ((t.sub && i.push(ve(t.sub, e)), t.sup && i.push(ve(t.sup, e)), a))
 9299            n = r ? "mover" : "munder";
 9300          else if (t.sub)
 9301            if (t.sup) {
 9302              var o = t.base;
 9303              n =
 9304                o && "op" === o.type && o.limits && e.style === w.DISPLAY
 9305                  ? "munderover"
 9306                  : o &&
 9307                      "operatorname" === o.type &&
 9308                      o.alwaysHandleSupSub &&
 9309                      (e.style === w.DISPLAY || o.limits)
 9310                    ? "munderover"
 9311                    : "msubsup";
 9312            } else {
 9313              var s = t.base;
 9314              n =
 9315                s &&
 9316                "op" === s.type &&
 9317                s.limits &&
 9318                (e.style === w.DISPLAY || s.alwaysHandleSupSub)
 9319                  ? "munder"
 9320                  : s &&
 9321                      "operatorname" === s.type &&
 9322                      s.alwaysHandleSupSub &&
 9323                      (s.limits || e.style === w.DISPLAY)
 9324                    ? "munder"
 9325                    : "msub";
 9326            }
 9327          else {
 9328            var l = t.base;
 9329            n =
 9330              l &&
 9331              "op" === l.type &&
 9332              l.limits &&
 9333              (e.style === w.DISPLAY || l.alwaysHandleSupSub)
 9334                ? "mover"
 9335                : l &&
 9336                    "operatorname" === l.type &&
 9337                    l.alwaysHandleSupSub &&
 9338                    (l.limits || e.style === w.DISPLAY)
 9339                  ? "mover"
 9340                  : "msup";
 9341          }
 9342          return new ue.MathNode(n, i);
 9343        },
 9344      }),
 9345        jt({
 9346          type: "atom",
 9347          htmlBuilder: function (t, e) {
 9348            return Dt.mathsym(t.text, t.mode, e, ["m" + t.family]);
 9349          },
 9350          mathmlBuilder: function (t, e) {
 9351            var r = new ue.MathNode("mo", [pe(t.text, t.mode)]);
 9352            if ("bin" === t.family) {
 9353              var a = fe(t, e);
 9354              "bold-italic" === a && r.setAttribute("mathvariant", a);
 9355            } else
 9356              "punct" === t.family
 9357                ? r.setAttribute("separator", "true")
 9358                : ("open" !== t.family && "close" !== t.family) ||
 9359                  r.setAttribute("stretchy", "false");
 9360            return r;
 9361          },
 9362        }));
 9363      var Zr = { mi: "italic", mn: "normal", mtext: "normal" };
 9364      (jt({
 9365        type: "mathord",
 9366        htmlBuilder: function (t, e) {
 9367          return Dt.makeOrd(t, e, "mathord");
 9368        },
 9369        mathmlBuilder: function (t, e) {
 9370          var r = new ue.MathNode("mi", [pe(t.text, t.mode, e)]),
 9371            a = fe(t, e) || "italic";
 9372          return (a !== Zr[r.type] && r.setAttribute("mathvariant", a), r);
 9373        },
 9374      }),
 9375        jt({
 9376          type: "textord",
 9377          htmlBuilder: function (t, e) {
 9378            return Dt.makeOrd(t, e, "textord");
 9379          },
 9380          mathmlBuilder: function (t, e) {
 9381            var r,
 9382              a = pe(t.text, t.mode, e),
 9383              n = fe(t, e) || "normal";
 9384            return (
 9385              (r =
 9386                "text" === t.mode
 9387                  ? new ue.MathNode("mtext", [a])
 9388                  : /[0-9]/.test(t.text)
 9389                    ? new ue.MathNode("mn", [a])
 9390                    : "\\prime" === t.text
 9391                      ? new ue.MathNode("mo", [a])
 9392                      : new ue.MathNode("mi", [a])),
 9393              n !== Zr[r.type] && r.setAttribute("mathvariant", n),
 9394              r
 9395            );
 9396          },
 9397        }));
 9398      var Kr = { "\\nobreak": "nobreak", "\\allowbreak": "allowbreak" },
 9399        Jr = {
 9400          " ": {},
 9401          "\\ ": {},
 9402          "~": { className: "nobreak" },
 9403          "\\space": {},
 9404          "\\nobreakspace": { className: "nobreak" },
 9405        };
 9406      jt({
 9407        type: "spacing",
 9408        htmlBuilder: function (t, e) {
 9409          if (Jr.hasOwnProperty(t.text)) {
 9410            var r = Jr[t.text].className || "";
 9411            if ("text" === t.mode) {
 9412              var a = Dt.makeOrd(t, e, "textord");
 9413              return (a.classes.push(r), a);
 9414            }
 9415            return Dt.makeSpan(
 9416              ["mspace", r],
 9417              [Dt.mathsym(t.text, t.mode, e)],
 9418              e,
 9419            );
 9420          }
 9421          if (Kr.hasOwnProperty(t.text))
 9422            return Dt.makeSpan(["mspace", Kr[t.text]], [], e);
 9423          throw new o('Unknown type of space "' + t.text + '"');
 9424        },
 9425        mathmlBuilder: function (t, e) {
 9426          if (!Jr.hasOwnProperty(t.text)) {
 9427            if (Kr.hasOwnProperty(t.text)) return new ue.MathNode("mspace");
 9428            throw new o('Unknown type of space "' + t.text + '"');
 9429          }
 9430          return new ue.MathNode("mtext", [new ue.TextNode("\xa0")]);
 9431        },
 9432      });
 9433      var Qr = function () {
 9434        var t = new ue.MathNode("mtd", []);
 9435        return (t.setAttribute("width", "50%"), t);
 9436      };
 9437      jt({
 9438        type: "tag",
 9439        mathmlBuilder: function (t, e) {
 9440          var r = new ue.MathNode("mtable", [
 9441            new ue.MathNode("mtr", [
 9442              Qr(),
 9443              new ue.MathNode("mtd", [xe(t.body, e)]),
 9444              Qr(),
 9445              new ue.MathNode("mtd", [xe(t.tag, e)]),
 9446            ]),
 9447          ]);
 9448          return (r.setAttribute("width", "100%"), r);
 9449        },
 9450      });
 9451      var ta = {
 9452          "\\text": void 0,
 9453          "\\textrm": "textrm",
 9454          "\\textsf": "textsf",
 9455          "\\texttt": "texttt",
 9456          "\\textnormal": "textrm",
 9457        },
 9458        ea = { "\\textbf": "textbf", "\\textmd": "textmd" },
 9459        ra = { "\\textit": "textit", "\\textup": "textup" },
 9460        aa = function (t, e) {
 9461          var r = t.font;
 9462          return r
 9463            ? ta[r]
 9464              ? e.withTextFontFamily(ta[r])
 9465              : ea[r]
 9466                ? e.withTextFontWeight(ea[r])
 9467                : e.withTextFontShape(ra[r])
 9468            : e;
 9469        };
 9470      (_t({
 9471        type: "text",
 9472        names: [
 9473          "\\text",
 9474          "\\textrm",
 9475          "\\textsf",
 9476          "\\texttt",
 9477          "\\textnormal",
 9478          "\\textbf",
 9479          "\\textmd",
 9480          "\\textit",
 9481          "\\textup",
 9482        ],
 9483        props: {
 9484          numArgs: 1,
 9485          argTypes: ["text"],
 9486          greediness: 2,
 9487          allowedInText: !0,
 9488        },
 9489        handler: function (t, e) {
 9490          var r = t.parser,
 9491            a = t.funcName,
 9492            n = e[0];
 9493          return { type: "text", mode: r.mode, body: $t(n), font: a };
 9494        },
 9495        htmlBuilder: function (t, e) {
 9496          var r = aa(t, e),
 9497            a = ee(t.body, r, !0);
 9498          return Dt.makeSpan(["mord", "text"], Dt.tryCombineChars(a), r);
 9499        },
 9500        mathmlBuilder: function (t, e) {
 9501          var r = aa(t, e);
 9502          return xe(t.body, r);
 9503        },
 9504      }),
 9505        _t({
 9506          type: "underline",
 9507          names: ["\\underline"],
 9508          props: { numArgs: 1, allowedInText: !0 },
 9509          handler: function (t, e) {
 9510            return { type: "underline", mode: t.parser.mode, body: e[0] };
 9511          },
 9512          htmlBuilder: function (t, e) {
 9513            var r = oe(t.body, e),
 9514              a = Dt.makeLineSpan("underline-line", e),
 9515              n = e.fontMetrics().defaultRuleThickness,
 9516              i = Dt.makeVList(
 9517                {
 9518                  positionType: "top",
 9519                  positionData: r.height,
 9520                  children: [
 9521                    { type: "kern", size: n },
 9522                    { type: "elem", elem: a },
 9523                    { type: "kern", size: 3 * n },
 9524                    { type: "elem", elem: r },
 9525                  ],
 9526                },
 9527                e,
 9528              );
 9529            return Dt.makeSpan(["mord", "underline"], [i], e);
 9530          },
 9531          mathmlBuilder: function (t, e) {
 9532            var r = new ue.MathNode("mo", [new ue.TextNode("\u203e")]);
 9533            r.setAttribute("stretchy", "true");
 9534            var a = new ue.MathNode("munder", [ve(t.body, e), r]);
 9535            return (a.setAttribute("accentunder", "true"), a);
 9536          },
 9537        }),
 9538        _t({
 9539          type: "verb",
 9540          names: ["\\verb"],
 9541          props: { numArgs: 0, allowedInText: !0 },
 9542          handler: function (t, e, r) {
 9543            throw new o(
 9544              "\\verb ended by end of line instead of matching delimiter",
 9545            );
 9546          },
 9547          htmlBuilder: function (t, e) {
 9548            for (
 9549              var r = na(t), a = [], n = e.havingStyle(e.style.text()), i = 0;
 9550              i < r.length;
 9551              i++
 9552            ) {
 9553              var o = r[i];
 9554              ("~" === o && (o = "\\textasciitilde"),
 9555                a.push(
 9556                  Dt.makeSymbol(o, "Typewriter-Regular", t.mode, n, [
 9557                    "mord",
 9558                    "texttt",
 9559                  ]),
 9560                ));
 9561            }
 9562            return Dt.makeSpan(
 9563              ["mord", "text"].concat(n.sizingClasses(e)),
 9564              Dt.tryCombineChars(a),
 9565              n,
 9566            );
 9567          },
 9568          mathmlBuilder: function (t, e) {
 9569            var r = new ue.TextNode(na(t)),
 9570              a = new ue.MathNode("mtext", [r]);
 9571            return (a.setAttribute("mathvariant", "monospace"), a);
 9572          },
 9573        }));
 9574      var na = function (t) {
 9575          return t.body.replace(/ /g, t.star ? "\u2423" : "\xa0");
 9576        },
 9577        ia = Yt,
 9578        oa = new RegExp("^(\\\\[a-zA-Z@]+)[ \r\n\t]*$"),
 9579        sa = new RegExp("[\u0300-\u036f]+$"),
 9580        la =
 9581          "([ \r\n\t]+)|([!-\\[\\]-\u2027\u202a-\ud7ff\uf900-\uffff][\u0300-\u036f]*|[\ud800-\udbff][\udc00-\udfff][\u0300-\u036f]*|\\\\verb\\*([^]).*?\\3|\\\\verb([^*a-zA-Z]).*?\\4|\\\\operatorname\\*|\\\\[a-zA-Z@]+[ \r\n\t]*|\\\\[^\ud800-\udfff])",
 9582        ha = (function () {
 9583          function t(t, e) {
 9584            ((this.input = void 0),
 9585              (this.settings = void 0),
 9586              (this.tokenRegex = void 0),
 9587              (this.catcodes = void 0),
 9588              (this.input = t),
 9589              (this.settings = e),
 9590              (this.tokenRegex = new RegExp(la, "g")),
 9591              (this.catcodes = { "%": 14 }));
 9592          }
 9593          var e = t.prototype;
 9594          return (
 9595            (e.setCatcode = function (t, e) {
 9596              this.catcodes[t] = e;
 9597            }),
 9598            (e.lex = function () {
 9599              var t = this.input,
 9600                e = this.tokenRegex.lastIndex;
 9601              if (e === t.length) return new n("EOF", new a(this, e, e));
 9602              var r = this.tokenRegex.exec(t);
 9603              if (null === r || r.index !== e)
 9604                throw new o(
 9605                  "Unexpected character: '" + t[e] + "'",
 9606                  new n(t[e], new a(this, e, e + 1)),
 9607                );
 9608              var i = r[2] || " ";
 9609              if (14 === this.catcodes[i]) {
 9610                var s = t.indexOf("\n", this.tokenRegex.lastIndex);
 9611                return (
 9612                  -1 === s
 9613                    ? ((this.tokenRegex.lastIndex = t.length),
 9614                      this.settings.reportNonstrict(
 9615                        "commentAtEnd",
 9616                        "% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (Eg. $)",
 9617                      ))
 9618                    : (this.tokenRegex.lastIndex = s + 1),
 9619                  this.lex()
 9620                );
 9621              }
 9622              var l = i.match(oa);
 9623              return (
 9624                l && (i = l[1]),
 9625                new n(i, new a(this, e, this.tokenRegex.lastIndex))
 9626              );
 9627            }),
 9628            t
 9629          );
 9630        })(),
 9631        ma = (function () {
 9632          function t(t, e) {
 9633            (void 0 === t && (t = {}),
 9634              void 0 === e && (e = {}),
 9635              (this.current = void 0),
 9636              (this.builtins = void 0),
 9637              (this.undefStack = void 0),
 9638              (this.current = e),
 9639              (this.builtins = t),
 9640              (this.undefStack = []));
 9641          }
 9642          var e = t.prototype;
 9643          return (
 9644            (e.beginGroup = function () {
 9645              this.undefStack.push({});
 9646            }),
 9647            (e.endGroup = function () {
 9648              if (0 === this.undefStack.length)
 9649                throw new o(
 9650                  "Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug",
 9651                );
 9652              var t = this.undefStack.pop();
 9653              for (var e in t)
 9654                t.hasOwnProperty(e) &&
 9655                  (void 0 === t[e]
 9656                    ? delete this.current[e]
 9657                    : (this.current[e] = t[e]));
 9658            }),
 9659            (e.has = function (t) {
 9660              return (
 9661                this.current.hasOwnProperty(t) ||
 9662                this.builtins.hasOwnProperty(t)
 9663              );
 9664            }),
 9665            (e.get = function (t) {
 9666              return this.current.hasOwnProperty(t)
 9667                ? this.current[t]
 9668                : this.builtins[t];
 9669            }),
 9670            (e.set = function (t, e, r) {
 9671              if ((void 0 === r && (r = !1), r)) {
 9672                for (var a = 0; a < this.undefStack.length; a++)
 9673                  delete this.undefStack[a][t];
 9674                this.undefStack.length > 0 &&
 9675                  (this.undefStack[this.undefStack.length - 1][t] = e);
 9676              } else {
 9677                var n = this.undefStack[this.undefStack.length - 1];
 9678                n && !n.hasOwnProperty(t) && (n[t] = this.current[t]);
 9679              }
 9680              this.current[t] = e;
 9681            }),
 9682            t
 9683          );
 9684        })(),
 9685        ca = {},
 9686        ua = ca;
 9687      function pa(t, e) {
 9688        ca[t] = e;
 9689      }
 9690      (pa("\\noexpand", function (t) {
 9691        var e = t.popToken();
 9692        return (
 9693          t.isExpandable(e.text) && ((e.noexpand = !0), (e.treatAsRelax = !0)),
 9694          { tokens: [e], numArgs: 0 }
 9695        );
 9696      }),
 9697        pa("\\expandafter", function (t) {
 9698          var e = t.popToken();
 9699          return (t.expandOnce(!0), { tokens: [e], numArgs: 0 });
 9700        }),
 9701        pa("\\@firstoftwo", function (t) {
 9702          return { tokens: t.consumeArgs(2)[0], numArgs: 0 };
 9703        }),
 9704        pa("\\@secondoftwo", function (t) {
 9705          return { tokens: t.consumeArgs(2)[1], numArgs: 0 };
 9706        }),
 9707        pa("\\@ifnextchar", function (t) {
 9708          var e = t.consumeArgs(3);
 9709          t.consumeSpaces();
 9710          var r = t.future();
 9711          return 1 === e[0].length && e[0][0].text === r.text
 9712            ? { tokens: e[1], numArgs: 0 }
 9713            : { tokens: e[2], numArgs: 0 };
 9714        }),
 9715        pa("\\@ifstar", "\\@ifnextchar *{\\@firstoftwo{#1}}"),
 9716        pa("\\TextOrMath", function (t) {
 9717          var e = t.consumeArgs(2);
 9718          return "text" === t.mode
 9719            ? { tokens: e[0], numArgs: 0 }
 9720            : { tokens: e[1], numArgs: 0 };
 9721        }));
 9722      var da = {
 9723        0: 0,
 9724        1: 1,
 9725        2: 2,
 9726        3: 3,
 9727        4: 4,
 9728        5: 5,
 9729        6: 6,
 9730        7: 7,
 9731        8: 8,
 9732        9: 9,
 9733        a: 10,
 9734        A: 10,
 9735        b: 11,
 9736        B: 11,
 9737        c: 12,
 9738        C: 12,
 9739        d: 13,
 9740        D: 13,
 9741        e: 14,
 9742        E: 14,
 9743        f: 15,
 9744        F: 15,
 9745      };
 9746      pa("\\char", function (t) {
 9747        var e,
 9748          r = t.popToken(),
 9749          a = "";
 9750        if ("'" === r.text) ((e = 8), (r = t.popToken()));
 9751        else if ('"' === r.text) ((e = 16), (r = t.popToken()));
 9752        else if ("`" === r.text)
 9753          if ("\\" === (r = t.popToken()).text[0]) a = r.text.charCodeAt(1);
 9754          else {
 9755            if ("EOF" === r.text) throw new o("\\char` missing argument");
 9756            a = r.text.charCodeAt(0);
 9757          }
 9758        else e = 10;
 9759        if (e) {
 9760          if (null == (a = da[r.text]) || a >= e)
 9761            throw new o("Invalid base-" + e + " digit " + r.text);
 9762          for (var n; null != (n = da[t.future().text]) && n < e; )
 9763            ((a *= e), (a += n), t.popToken());
 9764        }
 9765        return "\\@char{" + a + "}";
 9766      });
 9767      var fa = function (t, e, r) {
 9768        var a = t.consumeArgs(1)[0];
 9769        if (1 !== a.length)
 9770          throw new o("\\newcommand's first argument must be a macro name");
 9771        var n = a[0].text,
 9772          i = t.isDefined(n);
 9773        if (i && !e)
 9774          throw new o(
 9775            "\\newcommand{" +
 9776              n +
 9777              "} attempting to redefine " +
 9778              n +
 9779              "; use \\renewcommand",
 9780          );
 9781        if (!i && !r)
 9782          throw new o(
 9783            "\\renewcommand{" +
 9784              n +
 9785              "} when command " +
 9786              n +
 9787              " does not yet exist; use \\newcommand",
 9788          );
 9789        var s = 0;
 9790        if (1 === (a = t.consumeArgs(1)[0]).length && "[" === a[0].text) {
 9791          for (
 9792            var l = "", h = t.expandNextToken();
 9793            "]" !== h.text && "EOF" !== h.text;
 9794          )
 9795            ((l += h.text), (h = t.expandNextToken()));
 9796          if (!l.match(/^\s*[0-9]+\s*$/))
 9797            throw new o("Invalid number of arguments: " + l);
 9798          ((s = parseInt(l)), (a = t.consumeArgs(1)[0]));
 9799        }
 9800        return (t.macros.set(n, { tokens: a, numArgs: s }), "");
 9801      };
 9802      (pa("\\newcommand", function (t) {
 9803        return fa(t, !1, !0);
 9804      }),
 9805        pa("\\renewcommand", function (t) {
 9806          return fa(t, !0, !1);
 9807        }),
 9808        pa("\\providecommand", function (t) {
 9809          return fa(t, !0, !0);
 9810        }),
 9811        pa("\\message", function (t) {
 9812          var e = t.consumeArgs(1)[0];
 9813          return (
 9814            console.log(
 9815              e
 9816                .reverse()
 9817                .map(function (t) {
 9818                  return t.text;
 9819                })
 9820                .join(""),
 9821            ),
 9822            ""
 9823          );
 9824        }),
 9825        pa("\\errmessage", function (t) {
 9826          var e = t.consumeArgs(1)[0];
 9827          return (
 9828            console.error(
 9829              e
 9830                .reverse()
 9831                .map(function (t) {
 9832                  return t.text;
 9833                })
 9834                .join(""),
 9835            ),
 9836            ""
 9837          );
 9838        }),
 9839        pa("\\show", function (t) {
 9840          var e = t.popToken(),
 9841            r = e.text;
 9842          return (
 9843            console.log(e, t.macros.get(r), ia[r], j.math[r], j.text[r]),
 9844            ""
 9845          );
 9846        }),
 9847        pa("\\bgroup", "{"),
 9848        pa("\\egroup", "}"),
 9849        pa("\\lq", "`"),
 9850        pa("\\rq", "'"),
 9851        pa("\\aa", "\\r a"),
 9852        pa("\\AA", "\\r A"),
 9853        pa("\\textcopyright", "\\html@mathml{\\textcircled{c}}{\\char`\xa9}"),
 9854        pa(
 9855          "\\copyright",
 9856          "\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}",
 9857        ),
 9858        pa(
 9859          "\\textregistered",
 9860          "\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xae}",
 9861        ),
 9862        pa("\u212c", "\\mathscr{B}"),
 9863        pa("\u2130", "\\mathscr{E}"),
 9864        pa("\u2131", "\\mathscr{F}"),
 9865        pa("\u210b", "\\mathscr{H}"),
 9866        pa("\u2110", "\\mathscr{I}"),
 9867        pa("\u2112", "\\mathscr{L}"),
 9868        pa("\u2133", "\\mathscr{M}"),
 9869        pa("\u211b", "\\mathscr{R}"),
 9870        pa("\u212d", "\\mathfrak{C}"),
 9871        pa("\u210c", "\\mathfrak{H}"),
 9872        pa("\u2128", "\\mathfrak{Z}"),
 9873        pa("\\Bbbk", "\\Bbb{k}"),
 9874        pa("\xb7", "\\cdotp"),
 9875        pa("\\llap", "\\mathllap{\\textrm{#1}}"),
 9876        pa("\\rlap", "\\mathrlap{\\textrm{#1}}"),
 9877        pa("\\clap", "\\mathclap{\\textrm{#1}}"),
 9878        pa("\\not", '\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'),
 9879        pa(
 9880          "\\neq",
 9881          "\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}",
 9882        ),
 9883        pa("\\ne", "\\neq"),
 9884        pa("\u2260", "\\neq"),
 9885        pa(
 9886          "\\notin",
 9887          "\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}",
 9888        ),
 9889        pa("\u2209", "\\notin"),
 9890        pa(
 9891          "\u2258",
 9892          "\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}",
 9893        ),
 9894        pa(
 9895          "\u2259",
 9896          "\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}",
 9897        ),
 9898        pa(
 9899          "\u225a",
 9900          "\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225a}}",
 9901        ),
 9902        pa(
 9903          "\u225b",
 9904          "\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225b}}",
 9905        ),
 9906        pa(
 9907          "\u225d",
 9908          "\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225d}}",
 9909        ),
 9910        pa(
 9911          "\u225e",
 9912          "\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225e}}",
 9913        ),
 9914        pa(
 9915          "\u225f",
 9916          "\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225f}}",
 9917        ),
 9918        pa("\u27c2", "\\perp"),
 9919        pa("\u203c", "\\mathclose{!\\mkern-0.8mu!}"),
 9920        pa("\u220c", "\\notni"),
 9921        pa("\u231c", "\\ulcorner"),
 9922        pa("\u231d", "\\urcorner"),
 9923        pa("\u231e", "\\llcorner"),
 9924        pa("\u231f", "\\lrcorner"),
 9925        pa("\xa9", "\\copyright"),
 9926        pa("\xae", "\\textregistered"),
 9927        pa("\ufe0f", "\\textregistered"),
 9928        pa("\\ulcorner", '\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'),
 9929        pa("\\urcorner", '\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'),
 9930        pa("\\llcorner", '\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'),
 9931        pa("\\lrcorner", '\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'),
 9932        pa("\\vdots", "\\mathord{\\varvdots\\rule{0pt}{15pt}}"),
 9933        pa("\u22ee", "\\vdots"),
 9934        pa("\\varGamma", "\\mathit{\\Gamma}"),
 9935        pa("\\varDelta", "\\mathit{\\Delta}"),
 9936        pa("\\varTheta", "\\mathit{\\Theta}"),
 9937        pa("\\varLambda", "\\mathit{\\Lambda}"),
 9938        pa("\\varXi", "\\mathit{\\Xi}"),
 9939        pa("\\varPi", "\\mathit{\\Pi}"),
 9940        pa("\\varSigma", "\\mathit{\\Sigma}"),
 9941        pa("\\varUpsilon", "\\mathit{\\Upsilon}"),
 9942        pa("\\varPhi", "\\mathit{\\Phi}"),
 9943        pa("\\varPsi", "\\mathit{\\Psi}"),
 9944        pa("\\varOmega", "\\mathit{\\Omega}"),
 9945        pa("\\substack", "\\begin{subarray}{c}#1\\end{subarray}"),
 9946        pa(
 9947          "\\colon",
 9948          "\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu",
 9949        ),
 9950        pa("\\boxed", "\\fbox{$\\displaystyle{#1}$}"),
 9951        pa("\\iff", "\\DOTSB\\;\\Longleftrightarrow\\;"),
 9952        pa("\\implies", "\\DOTSB\\;\\Longrightarrow\\;"),
 9953        pa("\\impliedby", "\\DOTSB\\;\\Longleftarrow\\;"));
 9954      var ga = {
 9955        ",": "\\dotsc",
 9956        "\\not": "\\dotsb",
 9957        "+": "\\dotsb",
 9958        "=": "\\dotsb",
 9959        "<": "\\dotsb",
 9960        ">": "\\dotsb",
 9961        "-": "\\dotsb",
 9962        "*": "\\dotsb",
 9963        ":": "\\dotsb",
 9964        "\\DOTSB": "\\dotsb",
 9965        "\\coprod": "\\dotsb",
 9966        "\\bigvee": "\\dotsb",
 9967        "\\bigwedge": "\\dotsb",
 9968        "\\biguplus": "\\dotsb",
 9969        "\\bigcap": "\\dotsb",
 9970        "\\bigcup": "\\dotsb",
 9971        "\\prod": "\\dotsb",
 9972        "\\sum": "\\dotsb",
 9973        "\\bigotimes": "\\dotsb",
 9974        "\\bigoplus": "\\dotsb",
 9975        "\\bigodot": "\\dotsb",
 9976        "\\bigsqcup": "\\dotsb",
 9977        "\\And": "\\dotsb",
 9978        "\\longrightarrow": "\\dotsb",
 9979        "\\Longrightarrow": "\\dotsb",
 9980        "\\longleftarrow": "\\dotsb",
 9981        "\\Longleftarrow": "\\dotsb",
 9982        "\\longleftrightarrow": "\\dotsb",
 9983        "\\Longleftrightarrow": "\\dotsb",
 9984        "\\mapsto": "\\dotsb",
 9985        "\\longmapsto": "\\dotsb",
 9986        "\\hookrightarrow": "\\dotsb",
 9987        "\\doteq": "\\dotsb",
 9988        "\\mathbin": "\\dotsb",
 9989        "\\mathrel": "\\dotsb",
 9990        "\\relbar": "\\dotsb",
 9991        "\\Relbar": "\\dotsb",
 9992        "\\xrightarrow": "\\dotsb",
 9993        "\\xleftarrow": "\\dotsb",
 9994        "\\DOTSI": "\\dotsi",
 9995        "\\int": "\\dotsi",
 9996        "\\oint": "\\dotsi",
 9997        "\\iint": "\\dotsi",
 9998        "\\iiint": "\\dotsi",
 9999        "\\iiiint": "\\dotsi",
10000        "\\idotsint": "\\dotsi",
10001        "\\DOTSX": "\\dotsx",
10002      };
10003      pa("\\dots", function (t) {
10004        var e = "\\dotso",
10005          r = t.expandAfterFuture().text;
10006        return (
10007          r in ga
10008            ? (e = ga[r])
10009            : "\\not" === r.substr(0, 4)
10010              ? (e = "\\dotsb")
10011              : r in j.math &&
10012                c.contains(["bin", "rel"], j.math[r].group) &&
10013                (e = "\\dotsb"),
10014          e
10015        );
10016      });
10017      var xa = {
10018        ")": !0,
10019        "]": !0,
10020        "\\rbrack": !0,
10021        "\\}": !0,
10022        "\\rbrace": !0,
10023        "\\rangle": !0,
10024        "\\rceil": !0,
10025        "\\rfloor": !0,
10026        "\\rgroup": !0,
10027        "\\rmoustache": !0,
10028        "\\right": !0,
10029        "\\bigr": !0,
10030        "\\biggr": !0,
10031        "\\Bigr": !0,
10032        "\\Biggr": !0,
10033        $: !0,
10034        ";": !0,
10035        ".": !0,
10036        ",": !0,
10037      };
10038      (pa("\\dotso", function (t) {
10039        return t.future().text in xa ? "\\ldots\\," : "\\ldots";
10040      }),
10041        pa("\\dotsc", function (t) {
10042          var e = t.future().text;
10043          return e in xa && "," !== e ? "\\ldots\\," : "\\ldots";
10044        }),
10045        pa("\\cdots", function (t) {
10046          return t.future().text in xa ? "\\@cdots\\," : "\\@cdots";
10047        }),
10048        pa("\\dotsb", "\\cdots"),
10049        pa("\\dotsm", "\\cdots"),
10050        pa("\\dotsi", "\\!\\cdots"),
10051        pa("\\dotsx", "\\ldots\\,"),
10052        pa("\\DOTSI", "\\relax"),
10053        pa("\\DOTSB", "\\relax"),
10054        pa("\\DOTSX", "\\relax"),
10055        pa("\\tmspace", "\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),
10056        pa("\\,", "\\tmspace+{3mu}{.1667em}"),
10057        pa("\\thinspace", "\\,"),
10058        pa("\\>", "\\mskip{4mu}"),
10059        pa("\\:", "\\tmspace+{4mu}{.2222em}"),
10060        pa("\\medspace", "\\:"),
10061        pa("\\;", "\\tmspace+{5mu}{.2777em}"),
10062        pa("\\thickspace", "\\;"),
10063        pa("\\!", "\\tmspace-{3mu}{.1667em}"),
10064        pa("\\negthinspace", "\\!"),
10065        pa("\\negmedspace", "\\tmspace-{4mu}{.2222em}"),
10066        pa("\\negthickspace", "\\tmspace-{5mu}{.277em}"),
10067        pa("\\enspace", "\\kern.5em "),
10068        pa("\\enskip", "\\hskip.5em\\relax"),
10069        pa("\\quad", "\\hskip1em\\relax"),
10070        pa("\\qquad", "\\hskip2em\\relax"),
10071        pa("\\tag", "\\@ifstar\\tag@literal\\tag@paren"),
10072        pa("\\tag@paren", "\\tag@literal{({#1})}"),
10073        pa("\\tag@literal", function (t) {
10074          if (t.macros.get("\\df@tag")) throw new o("Multiple \\tag");
10075          return "\\gdef\\df@tag{\\text{#1}}";
10076        }),
10077        pa(
10078          "\\bmod",
10079          "\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}",
10080        ),
10081        pa(
10082          "\\pod",
10083          "\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)",
10084        ),
10085        pa("\\pmod", "\\pod{{\\rm mod}\\mkern6mu#1}"),
10086        pa(
10087          "\\mod",
10088          "\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1",
10089        ),
10090        pa(
10091          "\\pmb",
10092          "\\html@mathml{\\@binrel{#1}{\\mathrlap{#1}\\kern0.5px#1}}{\\mathbf{#1}}",
10093        ),
10094        pa("\\\\", "\\newline"),
10095        pa(
10096          "\\TeX",
10097          "\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}",
10098        ));
10099      var va =
10100        F["Main-Regular"]["T".charCodeAt(0)][1] -
10101        0.7 * F["Main-Regular"]["A".charCodeAt(0)][1] +
10102        "em";
10103      (pa(
10104        "\\LaTeX",
10105        "\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{" +
10106          va +
10107          "}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}",
10108      ),
10109        pa(
10110          "\\KaTeX",
10111          "\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{" +
10112            va +
10113            "}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}",
10114        ),
10115        pa("\\hspace", "\\@ifstar\\@hspacer\\@hspace"),
10116        pa("\\@hspace", "\\hskip #1\\relax"),
10117        pa("\\@hspacer", "\\rule{0pt}{0pt}\\hskip #1\\relax"),
10118        pa("\\ordinarycolon", ":"),
10119        pa("\\vcentcolon", "\\mathrel{\\mathop\\ordinarycolon}"),
10120        pa(
10121          "\\dblcolon",
10122          '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}',
10123        ),
10124        pa(
10125          "\\coloneqq",
10126          '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}',
10127        ),
10128        pa(
10129          "\\Coloneqq",
10130          '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}',
10131        ),
10132        pa(
10133          "\\coloneq",
10134          '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}',
10135        ),
10136        pa(
10137          "\\Coloneq",
10138          '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}',
10139        ),
10140        pa(
10141          "\\eqqcolon",
10142          '\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}',
10143        ),
10144        pa(
10145          "\\Eqqcolon",
10146          '\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}',
10147        ),
10148        pa(
10149          "\\eqcolon",
10150          '\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}',
10151        ),
10152        pa(
10153          "\\Eqcolon",
10154          '\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}',
10155        ),
10156        pa(
10157          "\\colonapprox",
10158          '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}',
10159        ),
10160        pa(
10161          "\\Colonapprox",
10162          '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}',
10163        ),
10164        pa(
10165          "\\colonsim",
10166          '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}',
10167        ),
10168        pa(
10169          "\\Colonsim",
10170          '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}',
10171        ),
10172        pa("\u2237", "\\dblcolon"),
10173        pa("\u2239", "\\eqcolon"),
10174        pa("\u2254", "\\coloneqq"),
10175        pa("\u2255", "\\eqqcolon"),
10176        pa("\u2a74", "\\Coloneqq"),
10177        pa("\\ratio", "\\vcentcolon"),
10178        pa("\\coloncolon", "\\dblcolon"),
10179        pa("\\colonequals", "\\coloneqq"),
10180        pa("\\coloncolonequals", "\\Coloneqq"),
10181        pa("\\equalscolon", "\\eqqcolon"),
10182        pa("\\equalscoloncolon", "\\Eqqcolon"),
10183        pa("\\colonminus", "\\coloneq"),
10184        pa("\\coloncolonminus", "\\Coloneq"),
10185        pa("\\minuscolon", "\\eqcolon"),
10186        pa("\\minuscoloncolon", "\\Eqcolon"),
10187        pa("\\coloncolonapprox", "\\Colonapprox"),
10188        pa("\\coloncolonsim", "\\Colonsim"),
10189        pa(
10190          "\\simcolon",
10191          "\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}",
10192        ),
10193        pa(
10194          "\\simcoloncolon",
10195          "\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}",
10196        ),
10197        pa(
10198          "\\approxcolon",
10199          "\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}",
10200        ),
10201        pa(
10202          "\\approxcoloncolon",
10203          "\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}",
10204        ),
10205        pa("\\notni", "\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220c}}"),
10206        pa("\\limsup", "\\DOTSB\\operatorname*{lim\\,sup}"),
10207        pa("\\liminf", "\\DOTSB\\operatorname*{lim\\,inf}"),
10208        pa("\\gvertneqq", "\\html@mathml{\\@gvertneqq}{\u2269}"),
10209        pa("\\lvertneqq", "\\html@mathml{\\@lvertneqq}{\u2268}"),
10210        pa("\\ngeqq", "\\html@mathml{\\@ngeqq}{\u2271}"),
10211        pa("\\ngeqslant", "\\html@mathml{\\@ngeqslant}{\u2271}"),
10212        pa("\\nleqq", "\\html@mathml{\\@nleqq}{\u2270}"),
10213        pa("\\nleqslant", "\\html@mathml{\\@nleqslant}{\u2270}"),
10214        pa("\\nshortmid", "\\html@mathml{\\@nshortmid}{\u2224}"),
10215        pa("\\nshortparallel", "\\html@mathml{\\@nshortparallel}{\u2226}"),
10216        pa("\\nsubseteqq", "\\html@mathml{\\@nsubseteqq}{\u2288}"),
10217        pa("\\nsupseteqq", "\\html@mathml{\\@nsupseteqq}{\u2289}"),
10218        pa("\\varsubsetneq", "\\html@mathml{\\@varsubsetneq}{\u228a}"),
10219        pa("\\varsubsetneqq", "\\html@mathml{\\@varsubsetneqq}{\u2acb}"),
10220        pa("\\varsupsetneq", "\\html@mathml{\\@varsupsetneq}{\u228b}"),
10221        pa("\\varsupsetneqq", "\\html@mathml{\\@varsupsetneqq}{\u2acc}"),
10222        pa("\\imath", "\\html@mathml{\\@imath}{\u0131}"),
10223        pa("\\jmath", "\\html@mathml{\\@jmath}{\u0237}"),
10224        pa(
10225          "\\llbracket",
10226          "\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27e6}}",
10227        ),
10228        pa(
10229          "\\rrbracket",
10230          "\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27e7}}",
10231        ),
10232        pa("\u27e6", "\\llbracket"),
10233        pa("\u27e7", "\\rrbracket"),
10234        pa(
10235          "\\lBrace",
10236          "\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}",
10237        ),
10238        pa(
10239          "\\rBrace",
10240          "\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}",
10241        ),
10242        pa("\u2983", "\\lBrace"),
10243        pa("\u2984", "\\rBrace"),
10244        pa(
10245          "\\minuso",
10246          "\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29b5}}",
10247        ),
10248        pa("\u29b5", "\\minuso"),
10249        pa("\\darr", "\\downarrow"),
10250        pa("\\dArr", "\\Downarrow"),
10251        pa("\\Darr", "\\Downarrow"),
10252        pa("\\lang", "\\langle"),
10253        pa("\\rang", "\\rangle"),
10254        pa("\\uarr", "\\uparrow"),
10255        pa("\\uArr", "\\Uparrow"),
10256        pa("\\Uarr", "\\Uparrow"),
10257        pa("\\N", "\\mathbb{N}"),
10258        pa("\\R", "\\mathbb{R}"),
10259        pa("\\Z", "\\mathbb{Z}"),
10260        pa("\\alef", "\\aleph"),
10261        pa("\\alefsym", "\\aleph"),
10262        pa("\\Alpha", "\\mathrm{A}"),
10263        pa("\\Beta", "\\mathrm{B}"),
10264        pa("\\bull", "\\bullet"),
10265        pa("\\Chi", "\\mathrm{X}"),
10266        pa("\\clubs", "\\clubsuit"),
10267        pa("\\cnums", "\\mathbb{C}"),
10268        pa("\\Complex", "\\mathbb{C}"),
10269        pa("\\Dagger", "\\ddagger"),
10270        pa("\\diamonds", "\\diamondsuit"),
10271        pa("\\empty", "\\emptyset"),
10272        pa("\\Epsilon", "\\mathrm{E}"),
10273        pa("\\Eta", "\\mathrm{H}"),
10274        pa("\\exist", "\\exists"),
10275        pa("\\harr", "\\leftrightarrow"),
10276        pa("\\hArr", "\\Leftrightarrow"),
10277        pa("\\Harr", "\\Leftrightarrow"),
10278        pa("\\hearts", "\\heartsuit"),
10279        pa("\\image", "\\Im"),
10280        pa("\\infin", "\\infty"),
10281        pa("\\Iota", "\\mathrm{I}"),
10282        pa("\\isin", "\\in"),
10283        pa("\\Kappa", "\\mathrm{K}"),
10284        pa("\\larr", "\\leftarrow"),
10285        pa("\\lArr", "\\Leftarrow"),
10286        pa("\\Larr", "\\Leftarrow"),
10287        pa("\\lrarr", "\\leftrightarrow"),
10288        pa("\\lrArr", "\\Leftrightarrow"),
10289        pa("\\Lrarr", "\\Leftrightarrow"),
10290        pa("\\Mu", "\\mathrm{M}"),
10291        pa("\\natnums", "\\mathbb{N}"),
10292        pa("\\Nu", "\\mathrm{N}"),
10293        pa("\\Omicron", "\\mathrm{O}"),
10294        pa("\\plusmn", "\\pm"),
10295        pa("\\rarr", "\\rightarrow"),
10296        pa("\\rArr", "\\Rightarrow"),
10297        pa("\\Rarr", "\\Rightarrow"),
10298        pa("\\real", "\\Re"),
10299        pa("\\reals", "\\mathbb{R}"),
10300        pa("\\Reals", "\\mathbb{R}"),
10301        pa("\\Rho", "\\mathrm{P}"),
10302        pa("\\sdot", "\\cdot"),
10303        pa("\\sect", "\\S"),
10304        pa("\\spades", "\\spadesuit"),
10305        pa("\\sub", "\\subset"),
10306        pa("\\sube", "\\subseteq"),
10307        pa("\\supe", "\\supseteq"),
10308        pa("\\Tau", "\\mathrm{T}"),
10309        pa("\\thetasym", "\\vartheta"),
10310        pa("\\weierp", "\\wp"),
10311        pa("\\Zeta", "\\mathrm{Z}"),
10312        pa("\\argmin", "\\DOTSB\\operatorname*{arg\\,min}"),
10313        pa("\\argmax", "\\DOTSB\\operatorname*{arg\\,max}"),
10314        pa("\\plim", "\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),
10315        pa("\\bra", "\\mathinner{\\langle{#1}|}"),
10316        pa("\\ket", "\\mathinner{|{#1}\\rangle}"),
10317        pa("\\braket", "\\mathinner{\\langle{#1}\\rangle}"),
10318        pa("\\Bra", "\\left\\langle#1\\right|"),
10319        pa("\\Ket", "\\left|#1\\right\\rangle"),
10320        pa("\\blue", "\\textcolor{##6495ed}{#1}"),
10321        pa("\\orange", "\\textcolor{##ffa500}{#1}"),
10322        pa("\\pink", "\\textcolor{##ff00af}{#1}"),
10323        pa("\\red", "\\textcolor{##df0030}{#1}"),
10324        pa("\\green", "\\textcolor{##28ae7b}{#1}"),
10325        pa("\\gray", "\\textcolor{gray}{#1}"),
10326        pa("\\purple", "\\textcolor{##9d38bd}{#1}"),
10327        pa("\\blueA", "\\textcolor{##ccfaff}{#1}"),
10328        pa("\\blueB", "\\textcolor{##80f6ff}{#1}"),
10329        pa("\\blueC", "\\textcolor{##63d9ea}{#1}"),
10330        pa("\\blueD", "\\textcolor{##11accd}{#1}"),
10331        pa("\\blueE", "\\textcolor{##0c7f99}{#1}"),
10332        pa("\\tealA", "\\textcolor{##94fff5}{#1}"),
10333        pa("\\tealB", "\\textcolor{##26edd5}{#1}"),
10334        pa("\\tealC", "\\textcolor{##01d1c1}{#1}"),
10335        pa("\\tealD", "\\textcolor{##01a995}{#1}"),
10336        pa("\\tealE", "\\textcolor{##208170}{#1}"),
10337        pa("\\greenA", "\\textcolor{##b6ffb0}{#1}"),
10338        pa("\\greenB", "\\textcolor{##8af281}{#1}"),
10339        pa("\\greenC", "\\textcolor{##74cf70}{#1}"),
10340        pa("\\greenD", "\\textcolor{##1fab54}{#1}"),
10341        pa("\\greenE", "\\textcolor{##0d923f}{#1}"),
10342        pa("\\goldA", "\\textcolor{##ffd0a9}{#1}"),
10343        pa("\\goldB", "\\textcolor{##ffbb71}{#1}"),
10344        pa("\\goldC", "\\textcolor{##ff9c39}{#1}"),
10345        pa("\\goldD", "\\textcolor{##e07d10}{#1}"),
10346        pa("\\goldE", "\\textcolor{##a75a05}{#1}"),
10347        pa("\\redA", "\\textcolor{##fca9a9}{#1}"),
10348        pa("\\redB", "\\textcolor{##ff8482}{#1}"),
10349        pa("\\redC", "\\textcolor{##f9685d}{#1}"),
10350        pa("\\redD", "\\textcolor{##e84d39}{#1}"),
10351        pa("\\redE", "\\textcolor{##bc2612}{#1}"),
10352        pa("\\maroonA", "\\textcolor{##ffbde0}{#1}"),
10353        pa("\\maroonB", "\\textcolor{##ff92c6}{#1}"),
10354        pa("\\maroonC", "\\textcolor{##ed5fa6}{#1}"),
10355        pa("\\maroonD", "\\textcolor{##ca337c}{#1}"),
10356        pa("\\maroonE", "\\textcolor{##9e034e}{#1}"),
10357        pa("\\purpleA", "\\textcolor{##ddd7ff}{#1}"),
10358        pa("\\purpleB", "\\textcolor{##c6b9fc}{#1}"),
10359        pa("\\purpleC", "\\textcolor{##aa87ff}{#1}"),
10360        pa("\\purpleD", "\\textcolor{##7854ab}{#1}"),
10361        pa("\\purpleE", "\\textcolor{##543b78}{#1}"),
10362        pa("\\mintA", "\\textcolor{##f5f9e8}{#1}"),
10363        pa("\\mintB", "\\textcolor{##edf2df}{#1}"),
10364        pa("\\mintC", "\\textcolor{##e0e5cc}{#1}"),
10365        pa("\\grayA", "\\textcolor{##f6f7f7}{#1}"),
10366        pa("\\grayB", "\\textcolor{##f0f1f2}{#1}"),
10367        pa("\\grayC", "\\textcolor{##e3e5e6}{#1}"),
10368        pa("\\grayD", "\\textcolor{##d6d8da}{#1}"),
10369        pa("\\grayE", "\\textcolor{##babec2}{#1}"),
10370        pa("\\grayF", "\\textcolor{##888d93}{#1}"),
10371        pa("\\grayG", "\\textcolor{##626569}{#1}"),
10372        pa("\\grayH", "\\textcolor{##3b3e40}{#1}"),
10373        pa("\\grayI", "\\textcolor{##21242c}{#1}"),
10374        pa("\\kaBlue", "\\textcolor{##314453}{#1}"),
10375        pa("\\kaGreen", "\\textcolor{##71B307}{#1}"));
10376      var ba = {
10377          "\\relax": !0,
10378          "^": !0,
10379          _: !0,
10380          "\\limits": !0,
10381          "\\nolimits": !0,
10382        },
10383        ya = (function () {
10384          function t(t, e, r) {
10385            ((this.settings = void 0),
10386              (this.expansionCount = void 0),
10387              (this.lexer = void 0),
10388              (this.macros = void 0),
10389              (this.stack = void 0),
10390              (this.mode = void 0),
10391              (this.settings = e),
10392              (this.expansionCount = 0),
10393              this.feed(t),
10394              (this.macros = new ma(ua, e.macros)),
10395              (this.mode = r),
10396              (this.stack = []));
10397          }
10398          var e = t.prototype;
10399          return (
10400            (e.feed = function (t) {
10401              this.lexer = new ha(t, this.settings);
10402            }),
10403            (e.switchMode = function (t) {
10404              this.mode = t;
10405            }),
10406            (e.beginGroup = function () {
10407              this.macros.beginGroup();
10408            }),
10409            (e.endGroup = function () {
10410              this.macros.endGroup();
10411            }),
10412            (e.future = function () {
10413              return (
10414                0 === this.stack.length && this.pushToken(this.lexer.lex()),
10415                this.stack[this.stack.length - 1]
10416              );
10417            }),
10418            (e.popToken = function () {
10419              return (this.future(), this.stack.pop());
10420            }),
10421            (e.pushToken = function (t) {
10422              this.stack.push(t);
10423            }),
10424            (e.pushTokens = function (t) {
10425              var e;
10426              (e = this.stack).push.apply(e, t);
10427            }),
10428            (e.consumeSpaces = function () {
10429              for (;;) {
10430                if (" " !== this.future().text) break;
10431                this.stack.pop();
10432              }
10433            }),
10434            (e.consumeArgs = function (t) {
10435              for (var e = [], r = 0; r < t; ++r) {
10436                this.consumeSpaces();
10437                var a = this.popToken();
10438                if ("{" === a.text) {
10439                  for (var n = [], i = 1; 0 !== i; ) {
10440                    var s = this.popToken();
10441                    if ((n.push(s), "{" === s.text)) ++i;
10442                    else if ("}" === s.text) --i;
10443                    else if ("EOF" === s.text)
10444                      throw new o("End of input in macro argument", a);
10445                  }
10446                  (n.pop(), n.reverse(), (e[r] = n));
10447                } else {
10448                  if ("EOF" === a.text)
10449                    throw new o("End of input expecting macro argument");
10450                  e[r] = [a];
10451                }
10452              }
10453              return e;
10454            }),
10455            (e.expandOnce = function (t) {
10456              var e = this.popToken(),
10457                r = e.text,
10458                a = e.noexpand ? null : this._getExpansion(r);
10459              if (null == a || (t && a.unexpandable)) {
10460                if (t && null == a && "\\" === r[0] && !this.isDefined(r))
10461                  throw new o("Undefined control sequence: " + r);
10462                return (this.pushToken(e), e);
10463              }
10464              if (
10465                (this.expansionCount++,
10466                this.expansionCount > this.settings.maxExpand)
10467              )
10468                throw new o(
10469                  "Too many expansions: infinite loop or need to increase maxExpand setting",
10470                );
10471              var n = a.tokens;
10472              if (a.numArgs)
10473                for (
10474                  var i = this.consumeArgs(a.numArgs),
10475                    s = (n = n.slice()).length - 1;
10476                  s >= 0;
10477                  --s
10478                ) {
10479                  var l = n[s];
10480                  if ("#" === l.text) {
10481                    if (0 === s)
10482                      throw new o(
10483                        "Incomplete placeholder at end of macro body",
10484                        l,
10485                      );
10486                    if ("#" === (l = n[--s]).text) n.splice(s + 1, 1);
10487                    else {
10488                      if (!/^[1-9]$/.test(l.text))
10489                        throw new o("Not a valid argument number", l);
10490                      var h;
10491                      (h = n).splice.apply(h, [s, 2].concat(i[+l.text - 1]));
10492                    }
10493                  }
10494                }
10495              return (this.pushTokens(n), n);
10496            }),
10497            (e.expandAfterFuture = function () {
10498              return (this.expandOnce(), this.future());
10499            }),
10500            (e.expandNextToken = function () {
10501              for (;;) {
10502                var t = this.expandOnce();
10503                if (t instanceof n) {
10504                  if ("\\relax" !== t.text && !t.treatAsRelax)
10505                    return this.stack.pop();
10506                  this.stack.pop();
10507                }
10508              }
10509              throw new Error();
10510            }),
10511            (e.expandMacro = function (t) {
10512              return this.macros.has(t)
10513                ? this.expandTokens([new n(t)])
10514                : void 0;
10515            }),
10516            (e.expandTokens = function (t) {
10517              var e = [],
10518                r = this.stack.length;
10519              for (this.pushTokens(t); this.stack.length > r; ) {
10520                var a = this.expandOnce(!0);
10521                a instanceof n &&
10522                  (a.treatAsRelax && ((a.noexpand = !1), (a.treatAsRelax = !1)),
10523                  e.push(this.stack.pop()));
10524              }
10525              return e;
10526            }),
10527            (e.expandMacroAsText = function (t) {
10528              var e = this.expandMacro(t);
10529              return e
10530                ? e
10531                    .map(function (t) {
10532                      return t.text;
10533                    })
10534                    .join("")
10535                : e;
10536            }),
10537            (e._getExpansion = function (t) {
10538              var e = this.macros.get(t);
10539              if (null == e) return e;
10540              var r = "function" == typeof e ? e(this) : e;
10541              if ("string" == typeof r) {
10542                var a = 0;
10543                if (-1 !== r.indexOf("#"))
10544                  for (
10545                    var n = r.replace(/##/g, "");
10546                    -1 !== n.indexOf("#" + (a + 1));
10547                  )
10548                    ++a;
10549                for (
10550                  var i = new ha(r, this.settings), o = [], s = i.lex();
10551                  "EOF" !== s.text;
10552                )
10553                  (o.push(s), (s = i.lex()));
10554                return (o.reverse(), { tokens: o, numArgs: a });
10555              }
10556              return r;
10557            }),
10558            (e.isDefined = function (t) {
10559              return (
10560                this.macros.has(t) ||
10561                ia.hasOwnProperty(t) ||
10562                j.math.hasOwnProperty(t) ||
10563                j.text.hasOwnProperty(t) ||
10564                ba.hasOwnProperty(t)
10565              );
10566            }),
10567            (e.isExpandable = function (t) {
10568              var e = this.macros.get(t);
10569              return null != e
10570                ? "string" == typeof e ||
10571                    "function" == typeof e ||
10572                    !e.unexpandable
10573                : ia.hasOwnProperty(t);
10574            }),
10575            t
10576          );
10577        })(),
10578        wa = {
10579          "\u0301": { text: "\\'", math: "\\acute" },
10580          "\u0300": { text: "\\`", math: "\\grave" },
10581          "\u0308": { text: '\\"', math: "\\ddot" },
10582          "\u0303": { text: "\\~", math: "\\tilde" },
10583          "\u0304": { text: "\\=", math: "\\bar" },
10584          "\u0306": { text: "\\u", math: "\\breve" },
10585          "\u030c": { text: "\\v", math: "\\check" },
10586          "\u0302": { text: "\\^", math: "\\hat" },
10587          "\u0307": { text: "\\.", math: "\\dot" },
10588          "\u030a": { text: "\\r", math: "\\mathring" },
10589          "\u030b": { text: "\\H" },
10590        },
10591        ka = {
10592          "\xe1": "a\u0301",
10593          "\xe0": "a\u0300",
10594          "\xe4": "a\u0308",
10595          "\u01df": "a\u0308\u0304",
10596          "\xe3": "a\u0303",
10597          "\u0101": "a\u0304",
10598          "\u0103": "a\u0306",
10599          "\u1eaf": "a\u0306\u0301",
10600          "\u1eb1": "a\u0306\u0300",
10601          "\u1eb5": "a\u0306\u0303",
10602          "\u01ce": "a\u030c",
10603          "\xe2": "a\u0302",
10604          "\u1ea5": "a\u0302\u0301",
10605          "\u1ea7": "a\u0302\u0300",
10606          "\u1eab": "a\u0302\u0303",
10607          "\u0227": "a\u0307",
10608          "\u01e1": "a\u0307\u0304",
10609          "\xe5": "a\u030a",
10610          "\u01fb": "a\u030a\u0301",
10611          "\u1e03": "b\u0307",
10612          "\u0107": "c\u0301",
10613          "\u010d": "c\u030c",
10614          "\u0109": "c\u0302",
10615          "\u010b": "c\u0307",
10616          "\u010f": "d\u030c",
10617          "\u1e0b": "d\u0307",
10618          "\xe9": "e\u0301",
10619          "\xe8": "e\u0300",
10620          "\xeb": "e\u0308",
10621          "\u1ebd": "e\u0303",
10622          "\u0113": "e\u0304",
10623          "\u1e17": "e\u0304\u0301",
10624          "\u1e15": "e\u0304\u0300",
10625          "\u0115": "e\u0306",
10626          "\u011b": "e\u030c",
10627          "\xea": "e\u0302",
10628          "\u1ebf": "e\u0302\u0301",
10629          "\u1ec1": "e\u0302\u0300",
10630          "\u1ec5": "e\u0302\u0303",
10631          "\u0117": "e\u0307",
10632          "\u1e1f": "f\u0307",
10633          "\u01f5": "g\u0301",
10634          "\u1e21": "g\u0304",
10635          "\u011f": "g\u0306",
10636          "\u01e7": "g\u030c",
10637          "\u011d": "g\u0302",
10638          "\u0121": "g\u0307",
10639          "\u1e27": "h\u0308",
10640          "\u021f": "h\u030c",
10641          "\u0125": "h\u0302",
10642          "\u1e23": "h\u0307",
10643          "\xed": "i\u0301",
10644          "\xec": "i\u0300",
10645          "\xef": "i\u0308",
10646          "\u1e2f": "i\u0308\u0301",
10647          "\u0129": "i\u0303",
10648          "\u012b": "i\u0304",
10649          "\u012d": "i\u0306",
10650          "\u01d0": "i\u030c",
10651          "\xee": "i\u0302",
10652          "\u01f0": "j\u030c",
10653          "\u0135": "j\u0302",
10654          "\u1e31": "k\u0301",
10655          "\u01e9": "k\u030c",
10656          "\u013a": "l\u0301",
10657          "\u013e": "l\u030c",
10658          "\u1e3f": "m\u0301",
10659          "\u1e41": "m\u0307",
10660          "\u0144": "n\u0301",
10661          "\u01f9": "n\u0300",
10662          "\xf1": "n\u0303",
10663          "\u0148": "n\u030c",
10664          "\u1e45": "n\u0307",
10665          "\xf3": "o\u0301",
10666          "\xf2": "o\u0300",
10667          "\xf6": "o\u0308",
10668          "\u022b": "o\u0308\u0304",
10669          "\xf5": "o\u0303",
10670          "\u1e4d": "o\u0303\u0301",
10671          "\u1e4f": "o\u0303\u0308",
10672          "\u022d": "o\u0303\u0304",
10673          "\u014d": "o\u0304",
10674          "\u1e53": "o\u0304\u0301",
10675          "\u1e51": "o\u0304\u0300",
10676          "\u014f": "o\u0306",
10677          "\u01d2": "o\u030c",
10678          "\xf4": "o\u0302",
10679          "\u1ed1": "o\u0302\u0301",
10680          "\u1ed3": "o\u0302\u0300",
10681          "\u1ed7": "o\u0302\u0303",
10682          "\u022f": "o\u0307",
10683          "\u0231": "o\u0307\u0304",
10684          "\u0151": "o\u030b",
10685          "\u1e55": "p\u0301",
10686          "\u1e57": "p\u0307",
10687          "\u0155": "r\u0301",
10688          "\u0159": "r\u030c",
10689          "\u1e59": "r\u0307",
10690          "\u015b": "s\u0301",
10691          "\u1e65": "s\u0301\u0307",
10692          "\u0161": "s\u030c",
10693          "\u1e67": "s\u030c\u0307",
10694          "\u015d": "s\u0302",
10695          "\u1e61": "s\u0307",
10696          "\u1e97": "t\u0308",
10697          "\u0165": "t\u030c",
10698          "\u1e6b": "t\u0307",
10699          "\xfa": "u\u0301",
10700          "\xf9": "u\u0300",
10701          "\xfc": "u\u0308",
10702          "\u01d8": "u\u0308\u0301",
10703          "\u01dc": "u\u0308\u0300",
10704          "\u01d6": "u\u0308\u0304",
10705          "\u01da": "u\u0308\u030c",
10706          "\u0169": "u\u0303",
10707          "\u1e79": "u\u0303\u0301",
10708          "\u016b": "u\u0304",
10709          "\u1e7b": "u\u0304\u0308",
10710          "\u016d": "u\u0306",
10711          "\u01d4": "u\u030c",
10712          "\xfb": "u\u0302",
10713          "\u016f": "u\u030a",
10714          "\u0171": "u\u030b",
10715          "\u1e7d": "v\u0303",
10716          "\u1e83": "w\u0301",
10717          "\u1e81": "w\u0300",
10718          "\u1e85": "w\u0308",
10719          "\u0175": "w\u0302",
10720          "\u1e87": "w\u0307",
10721          "\u1e98": "w\u030a",
10722          "\u1e8d": "x\u0308",
10723          "\u1e8b": "x\u0307",
10724          "\xfd": "y\u0301",
10725          "\u1ef3": "y\u0300",
10726          "\xff": "y\u0308",
10727          "\u1ef9": "y\u0303",
10728          "\u0233": "y\u0304",
10729          "\u0177": "y\u0302",
10730          "\u1e8f": "y\u0307",
10731          "\u1e99": "y\u030a",
10732          "\u017a": "z\u0301",
10733          "\u017e": "z\u030c",
10734          "\u1e91": "z\u0302",
10735          "\u017c": "z\u0307",
10736          "\xc1": "A\u0301",
10737          "\xc0": "A\u0300",
10738          "\xc4": "A\u0308",
10739          "\u01de": "A\u0308\u0304",
10740          "\xc3": "A\u0303",
10741          "\u0100": "A\u0304",
10742          "\u0102": "A\u0306",
10743          "\u1eae": "A\u0306\u0301",
10744          "\u1eb0": "A\u0306\u0300",
10745          "\u1eb4": "A\u0306\u0303",
10746          "\u01cd": "A\u030c",
10747          "\xc2": "A\u0302",
10748          "\u1ea4": "A\u0302\u0301",
10749          "\u1ea6": "A\u0302\u0300",
10750          "\u1eaa": "A\u0302\u0303",
10751          "\u0226": "A\u0307",
10752          "\u01e0": "A\u0307\u0304",
10753          "\xc5": "A\u030a",
10754          "\u01fa": "A\u030a\u0301",
10755          "\u1e02": "B\u0307",
10756          "\u0106": "C\u0301",
10757          "\u010c": "C\u030c",
10758          "\u0108": "C\u0302",
10759          "\u010a": "C\u0307",
10760          "\u010e": "D\u030c",
10761          "\u1e0a": "D\u0307",
10762          "\xc9": "E\u0301",
10763          "\xc8": "E\u0300",
10764          "\xcb": "E\u0308",
10765          "\u1ebc": "E\u0303",
10766          "\u0112": "E\u0304",
10767          "\u1e16": "E\u0304\u0301",
10768          "\u1e14": "E\u0304\u0300",
10769          "\u0114": "E\u0306",
10770          "\u011a": "E\u030c",
10771          "\xca": "E\u0302",
10772          "\u1ebe": "E\u0302\u0301",
10773          "\u1ec0": "E\u0302\u0300",
10774          "\u1ec4": "E\u0302\u0303",
10775          "\u0116": "E\u0307",
10776          "\u1e1e": "F\u0307",
10777          "\u01f4": "G\u0301",
10778          "\u1e20": "G\u0304",
10779          "\u011e": "G\u0306",
10780          "\u01e6": "G\u030c",
10781          "\u011c": "G\u0302",
10782          "\u0120": "G\u0307",
10783          "\u1e26": "H\u0308",
10784          "\u021e": "H\u030c",
10785          "\u0124": "H\u0302",
10786          "\u1e22": "H\u0307",
10787          "\xcd": "I\u0301",
10788          "\xcc": "I\u0300",
10789          "\xcf": "I\u0308",
10790          "\u1e2e": "I\u0308\u0301",
10791          "\u0128": "I\u0303",
10792          "\u012a": "I\u0304",
10793          "\u012c": "I\u0306",
10794          "\u01cf": "I\u030c",
10795          "\xce": "I\u0302",
10796          "\u0130": "I\u0307",
10797          "\u0134": "J\u0302",
10798          "\u1e30": "K\u0301",
10799          "\u01e8": "K\u030c",
10800          "\u0139": "L\u0301",
10801          "\u013d": "L\u030c",
10802          "\u1e3e": "M\u0301",
10803          "\u1e40": "M\u0307",
10804          "\u0143": "N\u0301",
10805          "\u01f8": "N\u0300",
10806          "\xd1": "N\u0303",
10807          "\u0147": "N\u030c",
10808          "\u1e44": "N\u0307",
10809          "\xd3": "O\u0301",
10810          "\xd2": "O\u0300",
10811          "\xd6": "O\u0308",
10812          "\u022a": "O\u0308\u0304",
10813          "\xd5": "O\u0303",
10814          "\u1e4c": "O\u0303\u0301",
10815          "\u1e4e": "O\u0303\u0308",
10816          "\u022c": "O\u0303\u0304",
10817          "\u014c": "O\u0304",
10818          "\u1e52": "O\u0304\u0301",
10819          "\u1e50": "O\u0304\u0300",
10820          "\u014e": "O\u0306",
10821          "\u01d1": "O\u030c",
10822          "\xd4": "O\u0302",
10823          "\u1ed0": "O\u0302\u0301",
10824          "\u1ed2": "O\u0302\u0300",
10825          "\u1ed6": "O\u0302\u0303",
10826          "\u022e": "O\u0307",
10827          "\u0230": "O\u0307\u0304",
10828          "\u0150": "O\u030b",
10829          "\u1e54": "P\u0301",
10830          "\u1e56": "P\u0307",
10831          "\u0154": "R\u0301",
10832          "\u0158": "R\u030c",
10833          "\u1e58": "R\u0307",
10834          "\u015a": "S\u0301",
10835          "\u1e64": "S\u0301\u0307",
10836          "\u0160": "S\u030c",
10837          "\u1e66": "S\u030c\u0307",
10838          "\u015c": "S\u0302",
10839          "\u1e60": "S\u0307",
10840          "\u0164": "T\u030c",
10841          "\u1e6a": "T\u0307",
10842          "\xda": "U\u0301",
10843          "\xd9": "U\u0300",
10844          "\xdc": "U\u0308",
10845          "\u01d7": "U\u0308\u0301",
10846          "\u01db": "U\u0308\u0300",
10847          "\u01d5": "U\u0308\u0304",
10848          "\u01d9": "U\u0308\u030c",
10849          "\u0168": "U\u0303",
10850          "\u1e78": "U\u0303\u0301",
10851          "\u016a": "U\u0304",
10852          "\u1e7a": "U\u0304\u0308",
10853          "\u016c": "U\u0306",
10854          "\u01d3": "U\u030c",
10855          "\xdb": "U\u0302",
10856          "\u016e": "U\u030a",
10857          "\u0170": "U\u030b",
10858          "\u1e7c": "V\u0303",
10859          "\u1e82": "W\u0301",
10860          "\u1e80": "W\u0300",
10861          "\u1e84": "W\u0308",
10862          "\u0174": "W\u0302",
10863          "\u1e86": "W\u0307",
10864          "\u1e8c": "X\u0308",
10865          "\u1e8a": "X\u0307",
10866          "\xdd": "Y\u0301",
10867          "\u1ef2": "Y\u0300",
10868          "\u0178": "Y\u0308",
10869          "\u1ef8": "Y\u0303",
10870          "\u0232": "Y\u0304",
10871          "\u0176": "Y\u0302",
10872          "\u1e8e": "Y\u0307",
10873          "\u0179": "Z\u0301",
10874          "\u017d": "Z\u030c",
10875          "\u1e90": "Z\u0302",
10876          "\u017b": "Z\u0307",
10877          "\u03ac": "\u03b1\u0301",
10878          "\u1f70": "\u03b1\u0300",
10879          "\u1fb1": "\u03b1\u0304",
10880          "\u1fb0": "\u03b1\u0306",
10881          "\u03ad": "\u03b5\u0301",
10882          "\u1f72": "\u03b5\u0300",
10883          "\u03ae": "\u03b7\u0301",
10884          "\u1f74": "\u03b7\u0300",
10885          "\u03af": "\u03b9\u0301",
10886          "\u1f76": "\u03b9\u0300",
10887          "\u03ca": "\u03b9\u0308",
10888          "\u0390": "\u03b9\u0308\u0301",
10889          "\u1fd2": "\u03b9\u0308\u0300",
10890          "\u1fd1": "\u03b9\u0304",
10891          "\u1fd0": "\u03b9\u0306",
10892          "\u03cc": "\u03bf\u0301",
10893          "\u1f78": "\u03bf\u0300",
10894          "\u03cd": "\u03c5\u0301",
10895          "\u1f7a": "\u03c5\u0300",
10896          "\u03cb": "\u03c5\u0308",
10897          "\u03b0": "\u03c5\u0308\u0301",
10898          "\u1fe2": "\u03c5\u0308\u0300",
10899          "\u1fe1": "\u03c5\u0304",
10900          "\u1fe0": "\u03c5\u0306",
10901          "\u03ce": "\u03c9\u0301",
10902          "\u1f7c": "\u03c9\u0300",
10903          "\u038e": "\u03a5\u0301",
10904          "\u1fea": "\u03a5\u0300",
10905          "\u03ab": "\u03a5\u0308",
10906          "\u1fe9": "\u03a5\u0304",
10907          "\u1fe8": "\u03a5\u0306",
10908          "\u038f": "\u03a9\u0301",
10909          "\u1ffa": "\u03a9\u0300",
10910        },
10911        Sa = (function () {
10912          function t(t, e) {
10913            ((this.mode = void 0),
10914              (this.gullet = void 0),
10915              (this.settings = void 0),
10916              (this.leftrightDepth = void 0),
10917              (this.nextToken = void 0),
10918              (this.mode = "math"),
10919              (this.gullet = new ya(t, e, this.mode)),
10920              (this.settings = e),
10921              (this.leftrightDepth = 0));
10922          }
10923          var e = t.prototype;
10924          return (
10925            (e.expect = function (t, e) {
10926              if ((void 0 === e && (e = !0), this.fetch().text !== t))
10927                throw new o(
10928                  "Expected '" + t + "', got '" + this.fetch().text + "'",
10929                  this.fetch(),
10930                );
10931              e && this.consume();
10932            }),
10933            (e.consume = function () {
10934              this.nextToken = null;
10935            }),
10936            (e.fetch = function () {
10937              return (
10938                null == this.nextToken &&
10939                  (this.nextToken = this.gullet.expandNextToken()),
10940                this.nextToken
10941              );
10942            }),
10943            (e.switchMode = function (t) {
10944              ((this.mode = t), this.gullet.switchMode(t));
10945            }),
10946            (e.parse = function () {
10947              (this.settings.globalGroup || this.gullet.beginGroup(),
10948                this.settings.colorIsTextColor &&
10949                  this.gullet.macros.set("\\color", "\\textcolor"));
10950              var t = this.parseExpression(!1);
10951              return (
10952                this.expect("EOF"),
10953                this.settings.globalGroup || this.gullet.endGroup(),
10954                t
10955              );
10956            }),
10957            (e.parseExpression = function (e, r) {
10958              for (var a = []; ; ) {
10959                "math" === this.mode && this.consumeSpaces();
10960                var n = this.fetch();
10961                if (-1 !== t.endOfExpression.indexOf(n.text)) break;
10962                if (r && n.text === r) break;
10963                if (e && ia[n.text] && ia[n.text].infix) break;
10964                var i = this.parseAtom(r);
10965                if (!i) break;
10966                "internal" !== i.type && a.push(i);
10967              }
10968              return (
10969                "text" === this.mode && this.formLigatures(a),
10970                this.handleInfixNodes(a)
10971              );
10972            }),
10973            (e.handleInfixNodes = function (t) {
10974              for (var e, r = -1, a = 0; a < t.length; a++)
10975                if ("infix" === t[a].type) {
10976                  if (-1 !== r)
10977                    throw new o(
10978                      "only one infix operator per group",
10979                      t[a].token,
10980                    );
10981                  ((r = a), (e = t[a].replaceWith));
10982                }
10983              if (-1 !== r && e) {
10984                var n,
10985                  i,
10986                  s = t.slice(0, r),
10987                  l = t.slice(r + 1);
10988                return (
10989                  (n =
10990                    1 === s.length && "ordgroup" === s[0].type
10991                      ? s[0]
10992                      : { type: "ordgroup", mode: this.mode, body: s }),
10993                  (i =
10994                    1 === l.length && "ordgroup" === l[0].type
10995                      ? l[0]
10996                      : { type: "ordgroup", mode: this.mode, body: l }),
10997                  [
10998                    "\\\\abovefrac" === e
10999                      ? this.callFunction(e, [n, t[r], i], [])
11000                      : this.callFunction(e, [n, i], []),
11001                  ]
11002                );
11003              }
11004              return t;
11005            }),
11006            (e.handleSupSubscript = function (e) {
11007              var r = this.fetch(),
11008                a = r.text;
11009              this.consume();
11010              var n = this.parseGroup(
11011                e,
11012                !1,
11013                t.SUPSUB_GREEDINESS,
11014                void 0,
11015                void 0,
11016                !0,
11017              );
11018              if (!n) throw new o("Expected group after '" + a + "'", r);
11019              return n;
11020            }),
11021            (e.formatUnsupportedCmd = function (t) {
11022              for (var e = [], r = 0; r < t.length; r++)
11023                e.push({ type: "textord", mode: "text", text: t[r] });
11024              var a = { type: "text", mode: this.mode, body: e };
11025              return {
11026                type: "color",
11027                mode: this.mode,
11028                color: this.settings.errorColor,
11029                body: [a],
11030              };
11031            }),
11032            (e.parseAtom = function (t) {
11033              var e,
11034                r,
11035                a = this.parseGroup("atom", !1, null, t);
11036              if ("text" === this.mode) return a;
11037              for (;;) {
11038                this.consumeSpaces();
11039                var n = this.fetch();
11040                if ("\\limits" === n.text || "\\nolimits" === n.text) {
11041                  if (a && "op" === a.type) {
11042                    var i = "\\limits" === n.text;
11043                    ((a.limits = i), (a.alwaysHandleSupSub = !0));
11044                  } else {
11045                    if (
11046                      !a ||
11047                      "operatorname" !== a.type ||
11048                      !a.alwaysHandleSupSub
11049                    )
11050                      throw new o(
11051                        "Limit controls must follow a math operator",
11052                        n,
11053                      );
11054                    var s = "\\limits" === n.text;
11055                    a.limits = s;
11056                  }
11057                  this.consume();
11058                } else if ("^" === n.text) {
11059                  if (e) throw new o("Double superscript", n);
11060                  e = this.handleSupSubscript("superscript");
11061                } else if ("_" === n.text) {
11062                  if (r) throw new o("Double subscript", n);
11063                  r = this.handleSupSubscript("subscript");
11064                } else {
11065                  if ("'" !== n.text) break;
11066                  if (e) throw new o("Double superscript", n);
11067                  var l = { type: "textord", mode: this.mode, text: "\\prime" },
11068                    h = [l];
11069                  for (this.consume(); "'" === this.fetch().text; )
11070                    (h.push(l), this.consume());
11071                  ("^" === this.fetch().text &&
11072                    h.push(this.handleSupSubscript("superscript")),
11073                    (e = { type: "ordgroup", mode: this.mode, body: h }));
11074                }
11075              }
11076              return e || r
11077                ? { type: "supsub", mode: this.mode, base: a, sup: e, sub: r }
11078                : a;
11079            }),
11080            (e.parseFunction = function (t, e, r) {
11081              var a = this.fetch(),
11082                n = a.text,
11083                i = ia[n];
11084              if (!i) return null;
11085              if ((this.consume(), null != r && i.greediness <= r))
11086                throw new o(
11087                  "Got function '" +
11088                    n +
11089                    "' with no arguments" +
11090                    (e ? " as " + e : ""),
11091                  a,
11092                );
11093              if ("text" === this.mode && !i.allowedInText)
11094                throw new o("Can't use function '" + n + "' in text mode", a);
11095              if ("math" === this.mode && !1 === i.allowedInMath)
11096                throw new o("Can't use function '" + n + "' in math mode", a);
11097              var s = this.parseArguments(n, i),
11098                l = s.args,
11099                h = s.optArgs;
11100              return this.callFunction(n, l, h, a, t);
11101            }),
11102            (e.callFunction = function (t, e, r, a, n) {
11103              var i = {
11104                  funcName: t,
11105                  parser: this,
11106                  token: a,
11107                  breakOnTokenText: n,
11108                },
11109                s = ia[t];
11110              if (s && s.handler) return s.handler(i, e, r);
11111              throw new o("No function handler for " + t);
11112            }),
11113            (e.parseArguments = function (t, e) {
11114              var r = e.numArgs + e.numOptionalArgs;
11115              if (0 === r) return { args: [], optArgs: [] };
11116              for (var a = e.greediness, n = [], i = [], s = 0; s < r; s++) {
11117                var l = e.argTypes && e.argTypes[s],
11118                  h = s < e.numOptionalArgs,
11119                  m = (s > 0 && !h) || (0 === s && !h && "math" === this.mode),
11120                  c = this.parseGroupOfType(
11121                    "argument to '" + t + "'",
11122                    l,
11123                    h,
11124                    a,
11125                    m,
11126                  );
11127                if (!c) {
11128                  if (h) {
11129                    i.push(null);
11130                    continue;
11131                  }
11132                  throw new o("Expected group after '" + t + "'", this.fetch());
11133                }
11134                (h ? i : n).push(c);
11135              }
11136              return { args: n, optArgs: i };
11137            }),
11138            (e.parseGroupOfType = function (t, e, r, a, n) {
11139              switch (e) {
11140                case "color":
11141                  return (n && this.consumeSpaces(), this.parseColorGroup(r));
11142                case "size":
11143                  return (n && this.consumeSpaces(), this.parseSizeGroup(r));
11144                case "url":
11145                  return this.parseUrlGroup(r, n);
11146                case "math":
11147                case "text":
11148                  return this.parseGroup(t, r, a, void 0, e, n);
11149                case "hbox":
11150                  var i = this.parseGroup(t, r, a, void 0, "text", n);
11151                  return i
11152                    ? {
11153                        type: "styling",
11154                        mode: i.mode,
11155                        body: [i],
11156                        style: "text",
11157                      }
11158                    : i;
11159                case "raw":
11160                  if (
11161                    (n && this.consumeSpaces(), r && "{" === this.fetch().text)
11162                  )
11163                    return null;
11164                  var s = this.parseStringGroup("raw", r, !0);
11165                  if (s) return { type: "raw", mode: "text", string: s.text };
11166                  throw new o("Expected raw group", this.fetch());
11167                case "original":
11168                case null:
11169                case void 0:
11170                  return this.parseGroup(t, r, a, void 0, void 0, n);
11171                default:
11172                  throw new o("Unknown group type as " + t, this.fetch());
11173              }
11174            }),
11175            (e.consumeSpaces = function () {
11176              for (; " " === this.fetch().text; ) this.consume();
11177            }),
11178            (e.parseStringGroup = function (t, e, r) {
11179              var a = e ? "[" : "{",
11180                n = e ? "]" : "}",
11181                i = this.fetch();
11182              if (i.text !== a) {
11183                if (e) return null;
11184                if (r && "EOF" !== i.text && /[^{}[\]]/.test(i.text))
11185                  return (this.consume(), i);
11186              }
11187              var s = this.mode;
11188              ((this.mode = "text"), this.expect(a));
11189              for (
11190                var l, h = "", m = this.fetch(), c = 0, u = m;
11191                (l = this.fetch()).text !== n || (r && c > 0);
11192              ) {
11193                switch (l.text) {
11194                  case "EOF":
11195                    throw new o(
11196                      "Unexpected end of input in " + t,
11197                      m.range(u, h),
11198                    );
11199                  case a:
11200                    c++;
11201                    break;
11202                  case n:
11203                    c--;
11204                }
11205                ((h += (u = l).text), this.consume());
11206              }
11207              return (this.expect(n), (this.mode = s), m.range(u, h));
11208            }),
11209            (e.parseRegexGroup = function (t, e) {
11210              var r = this.mode;
11211              this.mode = "text";
11212              for (
11213                var a, n = this.fetch(), i = n, s = "";
11214                "EOF" !== (a = this.fetch()).text && t.test(s + a.text);
11215              )
11216                ((s += (i = a).text), this.consume());
11217              if ("" === s)
11218                throw new o("Invalid " + e + ": '" + n.text + "'", n);
11219              return ((this.mode = r), n.range(i, s));
11220            }),
11221            (e.parseColorGroup = function (t) {
11222              var e = this.parseStringGroup("color", t);
11223              if (!e) return null;
11224              var r = /^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(e.text);
11225              if (!r) throw new o("Invalid color: '" + e.text + "'", e);
11226              var a = r[0];
11227              return (
11228                /^[0-9a-f]{6}$/i.test(a) && (a = "#" + a),
11229                { type: "color-token", mode: this.mode, color: a }
11230              );
11231            }),
11232            (e.parseSizeGroup = function (t) {
11233              var e,
11234                r = !1;
11235              if (
11236                !(e =
11237                  t || "{" === this.fetch().text
11238                    ? this.parseStringGroup("size", t)
11239                    : this.parseRegexGroup(
11240                        /^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,
11241                        "size",
11242                      ))
11243              )
11244                return null;
11245              t || 0 !== e.text.length || ((e.text = "0pt"), (r = !0));
11246              var a = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e.text);
11247              if (!a) throw new o("Invalid size: '" + e.text + "'", e);
11248              var n = { number: +(a[1] + a[2]), unit: a[3] };
11249              if (!At(n)) throw new o("Invalid unit: '" + n.unit + "'", e);
11250              return { type: "size", mode: this.mode, value: n, isBlank: r };
11251            }),
11252            (e.parseUrlGroup = function (t, e) {
11253              this.gullet.lexer.setCatcode("%", 13);
11254              var r = this.parseStringGroup("url", t, !0);
11255              if ((this.gullet.lexer.setCatcode("%", 14), !r)) return null;
11256              var a = r.text.replace(/\\([#$%&~_^{}])/g, "$1");
11257              return { type: "url", mode: this.mode, url: a };
11258            }),
11259            (e.parseGroup = function (e, r, n, i, s, l) {
11260              var h = this.mode;
11261              (s && this.switchMode(s), l && this.consumeSpaces());
11262              var m,
11263                c = this.fetch(),
11264                u = c.text;
11265              if (r ? "[" === u : "{" === u || "\\begingroup" === u) {
11266                this.consume();
11267                var p = t.endOfGroup[u];
11268                this.gullet.beginGroup();
11269                var d = this.parseExpression(!1, p),
11270                  f = this.fetch();
11271                (this.expect(p),
11272                  this.gullet.endGroup(),
11273                  (m = {
11274                    type: "ordgroup",
11275                    mode: this.mode,
11276                    loc: a.range(c, f),
11277                    body: d,
11278                    semisimple: "\\begingroup" === u || void 0,
11279                  }));
11280              } else if (r) m = null;
11281              else if (
11282                null ==
11283                  (m = this.parseFunction(i, e, n) || this.parseSymbol()) &&
11284                "\\" === u[0] &&
11285                !ba.hasOwnProperty(u)
11286              ) {
11287                if (this.settings.throwOnError)
11288                  throw new o("Undefined control sequence: " + u, c);
11289                ((m = this.formatUnsupportedCmd(u)), this.consume());
11290              }
11291              return (s && this.switchMode(h), m);
11292            }),
11293            (e.formLigatures = function (t) {
11294              for (var e = t.length - 1, r = 0; r < e; ++r) {
11295                var n = t[r],
11296                  i = n.text;
11297                ("-" === i &&
11298                  "-" === t[r + 1].text &&
11299                  (r + 1 < e && "-" === t[r + 2].text
11300                    ? (t.splice(r, 3, {
11301                        type: "textord",
11302                        mode: "text",
11303                        loc: a.range(n, t[r + 2]),
11304                        text: "---",
11305                      }),
11306                      (e -= 2))
11307                    : (t.splice(r, 2, {
11308                        type: "textord",
11309                        mode: "text",
11310                        loc: a.range(n, t[r + 1]),
11311                        text: "--",
11312                      }),
11313                      (e -= 1))),
11314                  ("'" !== i && "`" !== i) ||
11315                    t[r + 1].text !== i ||
11316                    (t.splice(r, 2, {
11317                      type: "textord",
11318                      mode: "text",
11319                      loc: a.range(n, t[r + 1]),
11320                      text: i + i,
11321                    }),
11322                    (e -= 1)));
11323              }
11324            }),
11325            (e.parseSymbol = function () {
11326              var t = this.fetch(),
11327                e = t.text;
11328              if (/^\\verb[^a-zA-Z]/.test(e)) {
11329                this.consume();
11330                var r = e.slice(5),
11331                  n = "*" === r.charAt(0);
11332                if (
11333                  (n && (r = r.slice(1)),
11334                  r.length < 2 || r.charAt(0) !== r.slice(-1))
11335                )
11336                  throw new o(
11337                    "\\verb assertion failed --\n                    please report what input caused this bug",
11338                  );
11339                return {
11340                  type: "verb",
11341                  mode: "text",
11342                  body: (r = r.slice(1, -1)),
11343                  star: n,
11344                };
11345              }
11346              ka.hasOwnProperty(e[0]) &&
11347                !j[this.mode][e[0]] &&
11348                (this.settings.strict &&
11349                  "math" === this.mode &&
11350                  this.settings.reportNonstrict(
11351                    "unicodeTextInMathMode",
11352                    'Accented Unicode text character "' +
11353                      e[0] +
11354                      '" used in math mode',
11355                    t,
11356                  ),
11357                (e = ka[e[0]] + e.substr(1)));
11358              var i,
11359                s = sa.exec(e);
11360              if (
11361                (s &&
11362                  ("i" === (e = e.substring(0, s.index))
11363                    ? (e = "\u0131")
11364                    : "j" === e && (e = "\u0237")),
11365                j[this.mode][e])
11366              ) {
11367                this.settings.strict &&
11368                  "math" === this.mode &&
11369                  "\xc7\xd0\xde\xe7\xfe".indexOf(e) >= 0 &&
11370                  this.settings.reportNonstrict(
11371                    "unicodeTextInMathMode",
11372                    'Latin-1/Unicode text character "' +
11373                      e[0] +
11374                      '" used in math mode',
11375                    t,
11376                  );
11377                var l,
11378                  h = j[this.mode][e].group,
11379                  m = a.range(t);
11380                if (W.hasOwnProperty(h)) {
11381                  var c = h;
11382                  l = {
11383                    type: "atom",
11384                    mode: this.mode,
11385                    family: c,
11386                    loc: m,
11387                    text: e,
11388                  };
11389                } else l = { type: h, mode: this.mode, loc: m, text: e };
11390                i = l;
11391              } else {
11392                if (!(e.charCodeAt(0) >= 128)) return null;
11393                (this.settings.strict &&
11394                  (M(e.charCodeAt(0))
11395                    ? "math" === this.mode &&
11396                      this.settings.reportNonstrict(
11397                        "unicodeTextInMathMode",
11398                        'Unicode text character "' +
11399                          e[0] +
11400                          '" used in math mode',
11401                        t,
11402                      )
11403                    : this.settings.reportNonstrict(
11404                        "unknownSymbol",
11405                        'Unrecognized Unicode character "' +
11406                          e[0] +
11407                          '" (' +
11408                          e.charCodeAt(0) +
11409                          ")",
11410                        t,
11411                      )),
11412                  (i = {
11413                    type: "textord",
11414                    mode: "text",
11415                    loc: a.range(t),
11416                    text: e,
11417                  }));
11418              }
11419              if ((this.consume(), s))
11420                for (var u = 0; u < s[0].length; u++) {
11421                  var p = s[0][u];
11422                  if (!wa[p]) throw new o("Unknown accent ' " + p + "'", t);
11423                  var d = wa[p][this.mode];
11424                  if (!d)
11425                    throw new o(
11426                      "Accent " + p + " unsupported in " + this.mode + " mode",
11427                      t,
11428                    );
11429                  i = {
11430                    type: "accent",
11431                    mode: this.mode,
11432                    loc: a.range(t),
11433                    label: d,
11434                    isStretchy: !1,
11435                    isShifty: !0,
11436                    base: i,
11437                  };
11438                }
11439              return i;
11440            }),
11441            t
11442          );
11443        })();
11444      ((Sa.endOfExpression = ["}", "\\endgroup", "\\end", "\\right", "&"]),
11445        (Sa.endOfGroup = { "[": "]", "{": "}", "\\begingroup": "\\endgroup" }),
11446        (Sa.SUPSUB_GREEDINESS = 1));
11447      var Ma = function (t, e) {
11448          if (!("string" == typeof t || t instanceof String))
11449            throw new TypeError("KaTeX can only parse string typed expression");
11450          var r = new Sa(t, e);
11451          delete r.gullet.macros.current["\\df@tag"];
11452          var a = r.parse();
11453          if (r.gullet.macros.get("\\df@tag")) {
11454            if (!e.displayMode)
11455              throw new o("\\tag works only in display equations");
11456            (r.gullet.feed("\\df@tag"),
11457              (a = [{ type: "tag", mode: "text", body: a, tag: r.parse() }]));
11458          }
11459          return a;
11460        },
11461        za = function (t, e, r) {
11462          e.textContent = "";
11463          var a = Ta(t, r).toNode();
11464          e.appendChild(a);
11465        };
11466      "undefined" != typeof document &&
11467        "CSS1Compat" !== document.compatMode &&
11468        ("undefined" != typeof console &&
11469          console.warn(
11470            "Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype.",
11471          ),
11472        (za = function () {
11473          throw new o("KaTeX doesn't work in quirks mode.");
11474        }));
11475      var Aa = function (t, e, r) {
11476          if (r.throwOnError || !(t instanceof o)) throw t;
11477          var a = Dt.makeSpan(["katex-error"], [new E(e)]);
11478          return (
11479            a.setAttribute("title", t.toString()),
11480            a.setAttribute("style", "color:" + r.errorColor),
11481            a
11482          );
11483        },
11484        Ta = function (t, e) {
11485          var r = new u(e);
11486          try {
11487            var a = Ma(t, r);
11488            return ke(a, t, r);
11489          } catch (e) {
11490            return Aa(e, t, r);
11491          }
11492        },
11493        Ba = {
11494          version: "0.12.0",
11495          render: za,
11496          renderToString: function (t, e) {
11497            return Ta(t, e).toMarkup();
11498          },
11499          ParseError: o,
11500          __parse: function (t, e) {
11501            var r = new u(e);
11502            return Ma(t, r);
11503          },
11504          __renderToDomTree: Ta,
11505          __renderToHTMLTree: function (t, e) {
11506            var r = new u(e);
11507            try {
11508              return (function (t, e, r) {
11509                var a = le(t, ye(r)),
11510                  n = Dt.makeSpan(["katex"], [a]);
11511                return we(n, r);
11512              })(Ma(t, r), 0, r);
11513            } catch (e) {
11514              return Aa(e, t, r);
11515            }
11516          },
11517          __setFontMetrics: function (t, e) {
11518            F[t] = e;
11519          },
11520          __defineSymbol: $,
11521          __defineMacro: pa,
11522          __domTree: {
11523            Span: N,
11524            Anchor: I,
11525            SymbolNode: E,
11526            SvgNode: L,
11527            PathNode: P,
11528            LineNode: D,
11529          },
11530        };
11531      e.default = Ba;
11532    },
11533  ]).default;
11534});