.js
JavaScript
(text/javascript)
!(function (n, t) {
  "object" == typeof exports && "undefined" != typeof module
    ? (module.exports = t(require("react")))
    : "function" == typeof define && define.amd
    ? define(["react"], t)
    : ((n || self).MarkdownToJSX = t(n.React));
})(this || globalThis, function (n) {
  function t(n) {
    if (n && n.t) return n;
    var t = Object.create(null);
    return (
      n &&
        Object.keys(n).forEach(function (r) {
          if ("default" !== r) {
            var e = Object.getOwnPropertyDescriptor(n, r);
            Object.defineProperty(
              t,
              r,
              e.get
                ? e
                : {
                    enumerable: !0,
                    get: function () {
                      return n[r];
                    },
                  }
            );
          }
        }),
      (t.default = n),
      t
    );
  }
  var r = /*#__PURE__*/ t(n);
  function e() {
    return (e =
      Object.assign ||
      function (n) {
        for (var t = 1; t < arguments.length; t++) {
          var r = arguments[t];
          for (var e in r)
            Object.prototype.hasOwnProperty.call(r, e) && (n[e] = r[e]);
        }
        return n;
      }).apply(this, arguments);
  }
  var o = ["children", "options"],
    u = [
      "allowFullScreen",
      "allowTransparency",
      "autoComplete",
      "autoFocus",
      "autoPlay",
      "cellPadding",
      "cellSpacing",
      "charSet",
      "className",
      "classId",
      "colSpan",
      "contentEditable",
      "contextMenu",
      "crossOrigin",
      "encType",
      "formAction",
      "formEncType",
      "formMethod",
      "formNoValidate",
      "formTarget",
      "frameBorder",
      "hrefLang",
      "inputMode",
      "keyParams",
      "keyType",
      "marginHeight",
      "marginWidth",
      "maxLength",
      "mediaGroup",
      "minLength",
      "noValidate",
      "radioGroup",
      "readOnly",
      "rowSpan",
      "spellCheck",
      "srcDoc",
      "srcLang",
      "srcSet",
      "tabIndex",
      "useMap",
    ].reduce(
      function (n, t) {
        return (n[t.toLowerCase()] = t), n;
      },
      { for: "htmlFor" }
    ),
    a = { amp: "&", apos: "'", gt: ">", lt: "<", nbsp: " ", quot: "“" },
    c = ["style", "script"],
    i =
      /([-A-Z0-9_:]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|(?:\{((?:\\.|{[^}]*?}|[^}])*)\})))?/gi,
    f = /mailto:/i,
    l = /\n{2,}$/,
    s = /^( *>[^\n]+(\n[^\n]+)*\n*)+\n{2,}/,
    _ = /^ *> ?/gm,
    d = /^ {2,}\n/,
    p = /^(?:( *[-*_]) *){3,}(?:\n *)+\n/,
    g = /^\s*(`{3,}|~{3,}) *(\S+)? *\n([\s\S]+?)\s*\1 *(?:\n *)+\n?/,
    m = /^(?: {4}[^\n]+\n*)+(?:\n *)+\n?/,
    v = /^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,
    y = /^(?:\n *)*\n/,
    h = /\r\n?/g,
    k = /^\[\^([^\]]+)](:.*)\n/,
    b = /^\[\^([^\]]+)]/,
    x = /\f/g,
    S = /^\s*?\[(x|\s)\]/,
    $ = /^ *(#{1,6}) *([^\n]+?)(?: +#*)?(?:\n *)*(?:\n|$)/,
    w = /^([^\n]+)\n *(=|-){3,} *(?:\n *)+\n/,
    z =
      /^ *(?!<[a-z][^ >/]* ?\/>)<([a-z][^ >/]*) ?([^>]*)\/{0}>\n?(\s*(?:<\1[^>]*?>[\s\S]*?<\/\1>|(?!<\1)[\s\S])*?)<\/\1>\n*/i,
    O = /&([a-z]+);/g,
    j = /^<!--[\s\S]*?(?:-->)/,
    E = /^(data|aria|x)-[a-z_][a-z\d_.-]*$/,
    A = /^ *<([a-z][a-z0-9:]*)(?:\s+((?:<.*?>|[^>])*))?\/?>(?!<\/\1>)(\s*\n)?/i,
    R = /^\{.*\}$/,
    T = /^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,
    I = /^<([^ >]+@[^ >]+)>/,
    M = /^<([^ >]+:\/[^ >]+)>/,
    B = / *\n+$/,
    L = /(?:^|\n)( *)$/,
    C = /-([a-z])?/gi,
    D = /^(.*\|?.*)\n *(\|? *[-:]+ *\|[-| :]*)\n((?:.*\|.*\n)*)\n?/,
    N = /^\[([^\]]*)\]:\s*(\S+)\s*("([^"]*)")?/,
    Z = /^!\[([^\]]*)\] ?\[([^\]]*)\]/,
    F = /^\[([^\]]*)\] ?\[([^\]]*)\]/,
    P = /(\[|\])/g,
    q = /(\n|^[-*]\s|^#|^ {2,}|^-{2,}|^>\s)/,
    G = /\t/g,
    H = /^ *\| */,
    U = /(^ *\||\| *$)/g,
    V = / *$/,
    W = /^ *:-+: *$/,
    Q = /^ *:-+ *$/,
    X = /^ *-+: *$/,
    J =
      /^([*_])\1((?:\[.*?\][([].*?[)\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~+.*?~+|.)*?)\1\1(?!\1)/,
    K =
      /^([*_])((?:\[.*?\][([].*?[)\]]|<.*?>(?:.*?<.*?>)?|`.*?`|~+.*?~+|.)*?)\1(?!\1|\w)/,
    Y = /^~~((?:\[.*?\]|<.*?>(?:.*?<.*?>)?|`.*?`|.)*?)~~/,
    nn = /^\\([^0-9A-Za-z\s])/,
    tn =
      /^[\s\S]+?(?=[^0-9A-Z\s\u00c0-\uffff&;.()'"]|\d+\.|\n\n| {2,}\n|\w+:\S|$)/i,
    rn = /^\n+/,
    en = /^([ \t]*)/,
    on = /\\([^0-9A-Z\s])/gi,
    un = "( *)((?:[*+-]|\\d+\\.)) +",
    an = new RegExp("^" + un),
    cn = new RegExp(
      "^" + un + "[^\\n]*(?:\\n(?!\\1(?:[*+-]|\\d+\\.) )[^\\n]*)*(\\n|$)",
      "gm"
    ),
    fn = new RegExp(
      "^( *)((?:[*+-]|\\d+\\.)) [\\s\\S]+?(?:\\n{2,}(?! )(?!\\1(?:[*+-]|\\d+\\.) (?!(?:[*+-]|\\d+\\.) ))\\n*|\\s*\\n*$)"
    ),
    ln = "(?:\\[[^\\]]*\\]|[^\\[\\]]|\\](?=[^\\[]*\\]))*",
    sn = "\\s*<?((?:[^\\s\\\\]|\\\\.)*?)>?(?:\\s+['\"]([\\s\\S]*?)['\"])?\\s*",
    _n = new RegExp("^\\[(" + ln + ")\\]\\(" + sn + "\\)"),
    dn = new RegExp("^!\\[(" + ln + ")\\]\\(" + sn + "\\)"),
    pn = [s, m, g, $, w, j, cn, fn, D],
    gn = [].concat(pn, [/^[^\n]+(?:  \n|\n{2,})/, z, A]);
  function mn(n) {
    return n
      .replace(/[ÀÁÂÃÄÅàáâãä忯]/g, "a")
      .replace(/[çÇ]/g, "c")
      .replace(/[ðÐ]/g, "d")
      .replace(/[ÈÉÊËéèêë]/g, "e")
      .replace(/[ÏïÎîÍíÌì]/g, "i")
      .replace(/[Ññ]/g, "n")
      .replace(/[øØœŒÕõÔôÓóÒò]/g, "o")
      .replace(/[ÜüÛûÚúÙù]/g, "u")
      .replace(/[ŸÿÝý]/g, "y")
      .replace(/[^a-z0-9- ]/gi, "")
      .replace(/ /gi, "-")
      .toLowerCase();
  }
  function vn(n) {
    return X.test(n)
      ? "right"
      : W.test(n)
      ? "center"
      : Q.test(n)
      ? "left"
      : null;
  }
  function yn(n, t, r) {
    var e = r.o;
    r.o = !0;
    var o = t(n.trim(), r);
    r.o = e;
    var u = [[]];
    return (
      o.forEach(function (n, t) {
        "tableSeparator" === n.type
          ? 0 !== t && t !== o.length - 1 && u.push([])
          : ("text" !== n.type ||
              (null != o[t + 1] && "tableSeparator" !== o[t + 1].type) ||
              (n.content = n.content.replace(V, "")),
            u[u.length - 1].push(n));
      }),
      u
    );
  }
  function hn(n, t, r) {
    r.u = !0;
    var e = yn(n[1], t, r),
      o = n[2].replace(U, "").split("|").map(vn),
      u = (function (n, t, r) {
        return n
          .trim()
          .split("\n")
          .map(function (n) {
            return yn(n, t, r);
          });
      })(n[3], t, r);
    return (r.u = !1), { align: o, cells: u, header: e, type: "table" };
  }
  function kn(n, t) {
    return null == n.align[t] ? {} : { textAlign: n.align[t] };
  }
  function bn(n) {
    return function (t, r) {
      return r.u ? n.exec(t) : null;
    };
  }
  function xn(n) {
    return function (t, r) {
      return r.u || r.i ? n.exec(t) : null;
    };
  }
  function Sn(n) {
    return function (t, r) {
      return r.u || r.i ? null : n.exec(t);
    };
  }
  function $n(n) {
    return function (t) {
      return n.exec(t);
    };
  }
  function wn(n, t, r) {
    if (t.u || t.i) return null;
    if (r && !r.endsWith("\n")) return null;
    var e = "";
    n.split("\n").every(function (n) {
      return (
        !pn.some(function (t) {
          return t.test(n);
        }) && ((e += n + "\n"), n.trim())
      );
    });
    var o = e.trimEnd();
    return "" == o ? null : [e, o];
  }
  function zn(n) {
    try {
      if (
        decodeURIComponent(n)
          .replace(/[^A-Za-z0-9/:]/g, "")
          .match(/^\s*(javascript|vbscript|data):/i)
      )
        return null;
    } catch (n) {
      return null;
    }
    return n;
  }
  function On(n) {
    return n.replace(on, "$1");
  }
  function jn(n, t, r) {
    var e = r.u || !1,
      o = r.i || !1;
    (r.u = !0), (r.i = !0);
    var u = n(t, r);
    return (r.u = e), (r.i = o), u;
  }
  function En(n, t, r) {
    var e = r.u || !1,
      o = r.i || !1;
    (r.u = !1), (r.i = !0);
    var u = n(t, r);
    return (r.u = e), (r.i = o), u;
  }
  function An(n, t, r) {
    return (r.u = !1), n(t + "\n\n", r);
  }
  var Rn,
    Tn = function (n, t, r) {
      return { content: jn(t, n[1], r) };
    };
  function In() {
    return {};
  }
  function Mn() {
    return null;
  }
  function Bn() {
    return [].slice.call(arguments).filter(Boolean).join(" ");
  }
  function Ln(n, t, r) {
    for (var e = n, o = t.split("."); o.length && void 0 !== (e = e[o[0]]); )
      o.shift();
    return e || r;
  }
  function Cn(n, t) {
    var r = Ln(t, n);
    return r
      ? "function" == typeof r || ("object" == typeof r && "render" in r)
        ? r
        : Ln(t, n + ".component", n)
      : n;
  }
  function Dn(n, t) {
    void 0 === t && (t = {}),
      (t.overrides = t.overrides || {}),
      (t.slugify = t.slugify || mn),
      (t.namedCodesToUnicode = t.namedCodesToUnicode
        ? e({}, a, t.namedCodesToUnicode)
        : a);
    var o = t.createElement || r.createElement;
    function U(n, r) {
      var u = Ln(t.overrides, n + ".props", {});
      return o.apply(
        void 0,
        [
          Cn(n, t.overrides),
          e({}, r, u, {
            className:
              Bn(null == r ? void 0 : r.className, u.className) || void 0,
          }),
        ].concat([].slice.call(arguments, 2))
      );
    }
    function V(n) {
      var e = !1;
      t.forceInline ? (e = !0) : t.forceBlock || (e = !1 === q.test(n));
      for (
        var o = sn(ln(e ? n : n.trimEnd().replace(rn, "") + "\n\n", { u: e }));
        "string" == typeof o[o.length - 1] && !o[o.length - 1].trim();

      )
        o.pop();
      if (null === t.wrapper) return o;
      var u,
        a = t.wrapper || (e ? "span" : "div");
      if (o.length > 1 || t.forceWrapper) u = o;
      else {
        if (1 === o.length)
          return "string" == typeof (u = o[0])
            ? U("span", { key: "outer" }, u)
            : u;
        u = null;
      }
      return r.createElement(a, { key: "outer" }, u);
    }
    function W(n) {
      var t = n.match(i);
      return t
        ? t.reduce(function (n, t, e) {
            var o = t.indexOf("=");
            if (-1 !== o) {
              var a = (function (n) {
                  return (
                    -1 !== n.indexOf("-") &&
                      null === n.match(E) &&
                      (n = n.replace(C, function (n, t) {
                        return t.toUpperCase();
                      })),
                    n
                  );
                })(t.slice(0, o)).trim(),
                c = (function (n) {
                  var t = n[0];
                  return ('"' === t || "'" === t) &&
                    n.length >= 2 &&
                    n[n.length - 1] === t
                    ? n.slice(1, -1)
                    : n;
                })(t.slice(o + 1).trim()),
                i = u[a] || a,
                f = (n[i] = (function (n, t) {
                  return "style" === n
                    ? t.split(/;\s?/).reduce(function (n, t) {
                        var r = t.slice(0, t.indexOf(":"));
                        return (
                          (n[
                            r.replace(/(-[a-z])/g, function (n) {
                              return n[1].toUpperCase();
                            })
                          ] = t.slice(r.length + 1).trim()),
                          n
                        );
                      }, {})
                    : "href" === n
                    ? zn(t)
                    : (t.match(R) && (t = t.slice(1, t.length - 1)),
                      "true" === t || ("false" !== t && t));
                })(a, c));
              "string" == typeof f &&
                (z.test(f) || A.test(f)) &&
                (n[i] = r.cloneElement(V(f.trim()), { key: e }));
            } else "style" !== t && (n[u[t] || t] = !0);
            return n;
          }, {})
        : void 0;
    }
    var Q = [],
      X = {},
      on = {
        blockQuote: {
          l: Sn(s),
          _: Rn.HIGH,
          p: function (n, t, r) {
            return { content: t(n[0].replace(_, ""), r) };
          },
          g: function (n, t, r) {
            return U("blockquote", { key: r.m }, t(n.content, r));
          },
        },
        breakLine: {
          l: $n(d),
          _: Rn.HIGH,
          p: In,
          g: function (n, t, r) {
            return U("br", { key: r.m });
          },
        },
        breakThematic: {
          l: Sn(p),
          _: Rn.HIGH,
          p: In,
          g: function (n, t, r) {
            return U("hr", { key: r.m });
          },
        },
        codeBlock: {
          l: Sn(m),
          _: Rn.MAX,
          p: function (n) {
            return {
              content: n[0].replace(/^ {4}/gm, "").replace(/\n+$/, ""),
              lang: void 0,
            };
          },
          g: function (n, t, r) {
            return U(
              "pre",
              { key: r.m },
              U(
                "code",
                { className: n.lang ? "lang-" + n.lang : "" },
                n.content
              )
            );
          },
        },
        codeFenced: {
          l: Sn(g),
          _: Rn.MAX,
          p: function (n) {
            return { content: n[3], lang: n[2] || void 0, type: "codeBlock" };
          },
        },
        codeInline: {
          l: xn(v),
          _: Rn.LOW,
          p: function (n) {
            return { content: n[2] };
          },
          g: function (n, t, r) {
            return U("code", { key: r.m }, n.content);
          },
        },
        footnote: {
          l: Sn(k),
          _: Rn.MAX,
          p: function (n) {
            return Q.push({ footnote: n[2], identifier: n[1] }), {};
          },
          g: Mn,
        },
        footnoteReference: {
          l: bn(b),
          _: Rn.HIGH,
          p: function (n) {
            return { content: n[1], target: "#" + t.slugify(n[1]) };
          },
          g: function (n, t, r) {
            return U(
              "a",
              { key: r.m, href: zn(n.target) },
              U("sup", { key: r.m }, n.content)
            );
          },
        },
        gfmTask: {
          l: bn(S),
          _: Rn.HIGH,
          p: function (n) {
            return { completed: "x" === n[1].toLowerCase() };
          },
          g: function (n, t, r) {
            return U("input", {
              checked: n.completed,
              key: r.m,
              readOnly: !0,
              type: "checkbox",
            });
          },
        },
        heading: {
          l: Sn($),
          _: Rn.HIGH,
          p: function (n, r, e) {
            return {
              content: jn(r, n[2], e),
              id: t.slugify(n[2]),
              level: n[1].length,
            };
          },
          g: function (n, t, r) {
            return (
              (n.tag = "h" + n.level),
              U(n.tag, { id: n.id, key: r.m }, t(n.content, r))
            );
          },
        },
        headingSetext: {
          l: Sn(w),
          _: Rn.MAX,
          p: function (n, t, r) {
            return {
              content: jn(t, n[1], r),
              level: "=" === n[2] ? 1 : 2,
              type: "heading",
            };
          },
        },
        htmlComment: {
          l: $n(j),
          _: Rn.HIGH,
          p: function () {
            return {};
          },
          g: Mn,
        },
        image: {
          l: xn(dn),
          _: Rn.HIGH,
          p: function (n) {
            return { alt: n[1], target: On(n[2]), title: n[3] };
          },
          g: function (n, t, r) {
            return U("img", {
              key: r.m,
              alt: n.alt || void 0,
              title: n.title || void 0,
              src: zn(n.target),
            });
          },
        },
        link: {
          l: bn(_n),
          _: Rn.LOW,
          p: function (n, t, r) {
            return { content: En(t, n[1], r), target: On(n[2]), title: n[3] };
          },
          g: function (n, t, r) {
            return U(
              "a",
              { key: r.m, href: zn(n.target), title: n.title },
              t(n.content, r)
            );
          },
        },
        linkAngleBraceStyleDetector: {
          l: bn(M),
          _: Rn.MAX,
          p: function (n) {
            return {
              content: [{ content: n[1], type: "text" }],
              target: n[1],
              type: "link",
            };
          },
        },
        linkBareUrlDetector: {
          l: function (n, t) {
            return t.v ? null : bn(T)(n, t);
          },
          _: Rn.MAX,
          p: function (n) {
            return {
              content: [{ content: n[1], type: "text" }],
              target: n[1],
              title: void 0,
              type: "link",
            };
          },
        },
        linkMailtoDetector: {
          l: bn(I),
          _: Rn.MAX,
          p: function (n) {
            var t = n[1],
              r = n[1];
            return (
              f.test(r) || (r = "mailto:" + r),
              {
                content: [{ content: t.replace("mailto:", ""), type: "text" }],
                target: r,
                type: "link",
              }
            );
          },
        },
        list: {
          l: function (n, t, r) {
            var e = L.exec(r);
            return !e || (!t.h && t.u) ? null : fn.exec((n = e[1] + n));
          },
          _: Rn.HIGH,
          p: function (n, t, r) {
            var e = n[2],
              o = e.length > 1,
              u = o ? +e : void 0,
              a = n[0].replace(l, "\n").match(cn),
              c = !1;
            return {
              items: a.map(function (n, e) {
                var o = an.exec(n)[0].length,
                  u = new RegExp("^ {1," + o + "}", "gm"),
                  i = n.replace(u, "").replace(an, ""),
                  f = e === a.length - 1,
                  l = -1 !== i.indexOf("\n\n") || (f && c);
                c = l;
                var s,
                  _ = r.u,
                  d = r.h;
                (r.h = !0),
                  l
                    ? ((r.u = !1), (s = i.replace(B, "\n\n")))
                    : ((r.u = !0), (s = i.replace(B, "")));
                var p = t(s, r);
                return (r.u = _), (r.h = d), p;
              }),
              ordered: o,
              start: u,
            };
          },
          g: function (n, t, r) {
            return U(
              n.ordered ? "ol" : "ul",
              { key: r.m, start: n.start },
              n.items.map(function (n, e) {
                return U("li", { key: e }, t(n, r));
              })
            );
          },
        },
        newlineCoalescer: {
          l: Sn(y),
          _: Rn.LOW,
          p: In,
          g: function () {
            return "\n";
          },
        },
        paragraph: {
          l: wn,
          _: Rn.LOW,
          p: Tn,
          g: function (n, t, r) {
            return U("p", { key: r.m }, t(n.content, r));
          },
        },
        ref: {
          l: bn(N),
          _: Rn.MAX,
          p: function (n) {
            return (X[n[1]] = { target: n[2], title: n[4] }), {};
          },
          g: Mn,
        },
        refImage: {
          l: xn(Z),
          _: Rn.MAX,
          p: function (n) {
            return { alt: n[1] || void 0, ref: n[2] };
          },
          g: function (n, t, r) {
            return U("img", {
              key: r.m,
              alt: n.alt,
              src: zn(X[n.ref].target),
              title: X[n.ref].title,
            });
          },
        },
        refLink: {
          l: bn(F),
          _: Rn.MAX,
          p: function (n, t, r) {
            return {
              content: t(n[1], r),
              fallbackContent: t(n[0].replace(P, "\\$1"), r),
              ref: n[2],
            };
          },
          g: function (n, t, r) {
            return X[n.ref]
              ? U(
                  "a",
                  {
                    key: r.m,
                    href: zn(X[n.ref].target),
                    title: X[n.ref].title,
                  },
                  t(n.content, r)
                )
              : U("span", { key: r.m }, t(n.fallbackContent, r));
          },
        },
        table: {
          l: Sn(D),
          _: Rn.HIGH,
          p: hn,
          g: function (n, t, r) {
            return U(
              "table",
              { key: r.m },
              U(
                "thead",
                null,
                U(
                  "tr",
                  null,
                  n.header.map(function (e, o) {
                    return U("th", { key: o, style: kn(n, o) }, t(e, r));
                  })
                )
              ),
              U(
                "tbody",
                null,
                n.cells.map(function (e, o) {
                  return U(
                    "tr",
                    { key: o },
                    e.map(function (e, o) {
                      return U("td", { key: o, style: kn(n, o) }, t(e, r));
                    })
                  );
                })
              )
            );
          },
        },
        tableSeparator: {
          l: function (n, t) {
            return t.o ? H.exec(n) : null;
          },
          _: Rn.HIGH,
          p: function () {
            return { type: "tableSeparator" };
          },
          g: function () {
            return " | ";
          },
        },
        text: {
          l: $n(tn),
          _: Rn.MIN,
          p: function (n) {
            return {
              content: n[0].replace(O, function (n, r) {
                return t.namedCodesToUnicode[r] ? t.namedCodesToUnicode[r] : n;
              }),
            };
          },
          g: function (n) {
            return n.content;
          },
        },
        textBolded: {
          l: xn(J),
          _: Rn.MED,
          p: function (n, t, r) {
            return { content: t(n[2], r) };
          },
          g: function (n, t, r) {
            return U("strong", { key: r.m }, t(n.content, r));
          },
        },
        textEmphasized: {
          l: xn(K),
          _: Rn.LOW,
          p: function (n, t, r) {
            return { content: t(n[2], r) };
          },
          g: function (n, t, r) {
            return U("em", { key: r.m }, t(n.content, r));
          },
        },
        textEscaped: {
          l: xn(nn),
          _: Rn.HIGH,
          p: function (n) {
            return { content: n[1], type: "text" };
          },
        },
        textStrikethroughed: {
          l: xn(Y),
          _: Rn.LOW,
          p: Tn,
          g: function (n, t, r) {
            return U("del", { key: r.m }, t(n.content, r));
          },
        },
      };
    !0 !== t.disableParsingRawHTML &&
      ((on.htmlBlock = {
        l: $n(z),
        _: Rn.HIGH,
        p: function (n, t, r) {
          var e,
            o = n[3].match(en),
            u = new RegExp("^" + o[1], "gm"),
            a = n[3].replace(u, ""),
            i =
              ((e = a),
              gn.some(function (n) {
                return n.test(e);
              })
                ? An
                : jn),
            f = n[1].toLowerCase(),
            l = -1 !== c.indexOf(f);
          r.v = r.v || "a" === f;
          var s = l ? n[3] : i(t, a, r);
          return (
            (r.v = !1),
            { attrs: W(n[2]), content: s, noInnerParse: l, tag: l ? f : n[1] }
          );
        },
        g: function (n, t, r) {
          return U(
            n.tag,
            e({ key: r.m }, n.attrs),
            n.noInnerParse ? n.content : t(n.content, r)
          );
        },
      }),
      (on.htmlSelfClosing = {
        l: $n(A),
        _: Rn.HIGH,
        p: function (n) {
          return { attrs: W(n[2] || ""), tag: n[1] };
        },
        g: function (n, t, r) {
          return U(n.tag, e({}, n.attrs, { key: r.m }));
        },
      }));
    var un,
      ln = (function (n) {
        var t = Object.keys(n);
        function r(e, o) {
          for (var u = [], a = ""; e; )
            for (var c = 0; c < t.length; ) {
              var i = t[c],
                f = n[i],
                l = f.l(e, o, a);
              if (l) {
                var s = l[0];
                e = e.substring(s.length);
                var _ = f.p(l, r, o);
                null == _.type && (_.type = i), u.push(_), (a = s);
                break;
              }
              c++;
            }
          return u;
        }
        return (
          t.sort(function (t, r) {
            var e = n[t]._,
              o = n[r]._;
            return e !== o ? e - o : t < r ? -1 : 1;
          }),
          function (n, t) {
            return r(
              (function (n) {
                return n.replace(h, "\n").replace(x, "").replace(G, "    ");
              })(n),
              t
            );
          }
        );
      })(on),
      sn =
        ((un = (function (n) {
          return function (t, r, e) {
            return n[t.type].g(t, r, e);
          };
        })(on)),
        function n(t, r) {
          if ((void 0 === r && (r = {}), Array.isArray(t))) {
            for (var e = r.m, o = [], u = !1, a = 0; a < t.length; a++) {
              r.m = a;
              var c = n(t[a], r),
                i = "string" == typeof c;
              i && u ? (o[o.length - 1] += c) : null !== c && o.push(c),
                (u = i);
            }
            return (r.m = e), o;
          }
          return un(t, n, r);
        }),
      pn = V(n);
    return Q.length
      ? U(
          "div",
          null,
          pn,
          U(
            "footer",
            { key: "footer" },
            Q.map(function (n) {
              return U(
                "div",
                { id: t.slugify(n.identifier), key: n.identifier },
                n.identifier,
                sn(ln(n.footnote, { u: !0 }))
              );
            })
          )
        )
      : pn;
  }
  !(function (n) {
    (n[(n.MAX = 0)] = "MAX"),
      (n[(n.HIGH = 1)] = "HIGH"),
      (n[(n.MED = 2)] = "MED"),
      (n[(n.LOW = 3)] = "LOW"),
      (n[(n.MIN = 4)] = "MIN");
  })(Rn || (Rn = {}));
  var Nn = function (n) {
    var t = n.children,
      e = n.options,
      u = (function (n, t) {
        if (null == n) return {};
        var r,
          e,
          o = {},
          u = Object.keys(n);
        for (e = 0; e < u.length; e++)
          t.indexOf((r = u[e])) >= 0 || (o[r] = n[r]);
        return o;
      })(n, o);
    return r.cloneElement(Dn(t, e), u);
  };
  return Object.assign(Nn, { compiler: Dn }), Nn;
});