UNPKG

@sheetxl/io

Version:

IO - Import/Export Libraries for SheetXL.

1,370 lines 101 kB
/**
 * @license @sheetxl/io - IO - Import/Export Libraries for SheetXL. - v0.4.0
 *
 * (C) 2025-present SheetXL Inc. & Michael T. Ford
 * License: The license can be found at https://www.sheetxl.com/license.
 */
function Er(E, l) {
  for (var I = 0; I < l.length; I++) {
    const M = l[I];
    if (typeof M != "string" && !Array.isArray(M)) {
      for (const N in M) if (N !== "default" && !(N in E)) {
        const m = Object.getOwnPropertyDescriptor(M, N);
        m && Object.defineProperty(E, N, m.get ? m : { enumerable: !0, get: () => M[N] });
      }
    }
  }
  return Object.freeze(Object.defineProperty(E, Symbol.toStringTag, { value: "Module" }));
}
function gr(E) {
  return E && E.__esModule && Object.prototype.hasOwnProperty.call(E, "default") ? E.default : E;
}
var or, q = {}, ee = {};
function Pe() {
  if (or) return ee;
  function E(a, h) {
    return h === void 0 && (h = Object), h && typeof h.getOwnPropertyDescriptors == "function" && (a = h.create(null, h.getOwnPropertyDescriptors(a))), h && typeof h.freeze == "function" ? h.freeze(a) : a;
  }
  function l(a, h) {
    return Object.prototype.hasOwnProperty.call(a, h);
  }
  or = 1;
  var I = E({ allowfullscreen: !0, async: !0, autofocus: !0, autoplay: !0, checked: !0, controls: !0, default: !0, defer: !0, disabled: !0, formnovalidate: !0, hidden: !0, ismap: !0, itemscope: !0, loop: !0, multiple: !0, muted: !0, nomodule: !0, novalidate: !0, open: !0, playsinline: !0, readonly: !0, required: !0, reversed: !0, selected: !0 }), M = E({ area: !0, base: !0, br: !0, col: !0, embed: !0, hr: !0, img: !0, input: !0, link: !0, meta: !0, param: !0, source: !0, track: !0, wbr: !0 }), N = E({ script: !1, style: !1, textarea: !0, title: !0 });
  function m(a) {
    return a === V.HTML;
  }
  var V = E({ HTML: "text/html", XML_APPLICATION: "application/xml", XML_TEXT: "text/xml", XML_XHTML_APPLICATION: "application/xhtml+xml", XML_SVG_IMAGE: "image/svg+xml" }), Q = Object.keys(V).map(function(a) {
    return V[a];
  }), Y = E({ HTML: "http://www.w3.org/1999/xhtml", SVG: "http://www.w3.org/2000/svg", XML: "http://www.w3.org/XML/1998/namespace", XMLNS: "http://www.w3.org/2000/xmlns/" });
  return ee.assign = function(a, h) {
    if (a === null || typeof a != "object") throw new TypeError("target is not an object");
    for (var p in h) l(h, p) && (a[p] = h[p]);
    return a;
  }, ee.find = function(a, h, p) {
    if (p === void 0 && (p = Array.prototype), a && typeof p.find == "function") return p.find.call(a, h);
    for (var re = 0; re < a.length; re++) if (l(a, re)) {
      var U = a[re];
      if (h.call(void 0, U, re, a)) return U;
    }
  }, ee.freeze = E, ee.HTML_BOOLEAN_ATTRIBUTES = I, ee.HTML_RAW_TEXT_ELEMENTS = N, ee.HTML_VOID_ELEMENTS = M, ee.hasDefaultHTMLNamespace = function(a) {
    return m(a) || a === V.XML_XHTML_APPLICATION;
  }, ee.hasOwn = l, ee.isHTMLBooleanAttribute = function(a) {
    return l(I, a.toLowerCase());
  }, ee.isHTMLRawTextElement = function(a) {
    var h = a.toLowerCase();
    return l(N, h) && !N[h];
  }, ee.isHTMLEscapableRawTextElement = function(a) {
    var h = a.toLowerCase();
    return l(N, h) && N[h];
  }, ee.isHTMLMimeType = m, ee.isHTMLVoidElement = function(a) {
    return l(M, a.toLowerCase());
  }, ee.isValidMimeType = function(a) {
    return Q.indexOf(a) > -1;
  }, ee.MIME_TYPE = V, ee.NAMESPACE = Y, ee;
}
var ar, qe = {};
function je() {
  if (ar) return qe;
  function E(a, h) {
    a.prototype = Object.create(Error.prototype, { constructor: { value: a }, name: { value: a.name, enumerable: !0, writable: h } });
  }
  ar = 1;
  var l = Pe().freeze({ Error: "Error", IndexSizeError: "IndexSizeError", DomstringSizeError: "DomstringSizeError", HierarchyRequestError: "HierarchyRequestError", WrongDocumentError: "WrongDocumentError", InvalidCharacterError: "InvalidCharacterError", NoDataAllowedError: "NoDataAllowedError", NoModificationAllowedError: "NoModificationAllowedError", NotFoundError: "NotFoundError", NotSupportedError: "NotSupportedError", InUseAttributeError: "InUseAttributeError", InvalidStateError: "InvalidStateError", SyntaxError: "SyntaxError", InvalidModificationError: "InvalidModificationError", NamespaceError: "NamespaceError", InvalidAccessError: "InvalidAccessError", ValidationError: "ValidationError", TypeMismatchError: "TypeMismatchError", SecurityError: "SecurityError", NetworkError: "NetworkError", AbortError: "AbortError", URLMismatchError: "URLMismatchError", QuotaExceededError: "QuotaExceededError", TimeoutError: "TimeoutError", InvalidNodeTypeError: "InvalidNodeTypeError", DataCloneError: "DataCloneError", EncodingError: "EncodingError", NotReadableError: "NotReadableError", UnknownError: "UnknownError", ConstraintError: "ConstraintError", DataError: "DataError", TransactionInactiveError: "TransactionInactiveError", ReadOnlyError: "ReadOnlyError", VersionError: "VersionError", OperationError: "OperationError", NotAllowedError: "NotAllowedError", OptOutError: "OptOutError" }), I = Object.keys(l);
  function M(a) {
    return typeof a == "number" && a >= 1 && a <= 25;
  }
  function N(a, h) {
    var p;
    M(a) ? (this.name = I[a], this.message = h || "") : (this.message = a, this.name = typeof (p = h) == "string" && p.substring(p.length - l.Error.length) === l.Error ? h : l.Error), Error.captureStackTrace && Error.captureStackTrace(this, N);
  }
  E(N, !0), Object.defineProperties(N.prototype, { code: { enumerable: !0, get: function() {
    var a = I.indexOf(this.name);
    return M(a) ? a : 0;
  } } });
  for (var m = { INDEX_SIZE_ERR: 1, DOMSTRING_SIZE_ERR: 2, HIERARCHY_REQUEST_ERR: 3, WRONG_DOCUMENT_ERR: 4, INVALID_CHARACTER_ERR: 5, NO_DATA_ALLOWED_ERR: 6, NO_MODIFICATION_ALLOWED_ERR: 7, NOT_FOUND_ERR: 8, NOT_SUPPORTED_ERR: 9, INUSE_ATTRIBUTE_ERR: 10, INVALID_STATE_ERR: 11, SYNTAX_ERR: 12, INVALID_MODIFICATION_ERR: 13, NAMESPACE_ERR: 14, INVALID_ACCESS_ERR: 15, VALIDATION_ERR: 16, TYPE_MISMATCH_ERR: 17, SECURITY_ERR: 18, NETWORK_ERR: 19, ABORT_ERR: 20, URL_MISMATCH_ERR: 21, QUOTA_EXCEEDED_ERR: 22, TIMEOUT_ERR: 23, INVALID_NODE_TYPE_ERR: 24, DATA_CLONE_ERR: 25 }, V = Object.entries(m), Q = 0; Q < V.length; Q++)
    N[V[Q][0]] = V[Q][1];
  function Y(a, h) {
    this.message = a, this.locator = h, Error.captureStackTrace && Error.captureStackTrace(this, Y);
  }
  return E(Y), qe.DOMException = N, qe.DOMExceptionName = l, qe.ExceptionCode = m, qe.ParseError = Y, qe;
}
var ir, sr, z = {}, O = {};
function hr() {
  if (ir) return O;
  function E(_) {
    try {
      typeof _ != "function" && (_ = RegExp);
      var k = new _("𝌆", "u").exec("𝌆");
      return !!k && k[0].length === 2;
    } catch {
    }
    return !1;
  }
  ir = 1;
  var l = E();
  function I(_) {
    if (_.source[0] !== "[") throw new Error(_ + " can not be used with chars");
    return _.source.slice(1, _.source.lastIndexOf("]"));
  }
  function M(_, k) {
    if (_.source[0] !== "[") throw new Error("/" + _.source + "/ can not be used with chars_without");
    if (!k || typeof k != "string") throw new Error(JSON.stringify(k) + " is not a valid search");
    if (_.source.indexOf(k) === -1) throw new Error('"' + k + '" is not is /' + _.source + "/");
    if (k === "-" && _.source.indexOf(k) !== 1) throw new Error('"' + k + '" is not at the first postion of /' + _.source + "/");
    return new RegExp(_.source.replace(k, ""), l ? "u" : "");
  }
  function N(_) {
    var k = this;
    return new RegExp(Array.prototype.slice.call(arguments).map(function(K) {
      var Te = typeof K == "string";
      if (Te && k === void 0 && K === "|") throw new Error("use regg instead of reg to wrap expressions with `|`!");
      return Te ? K : K.source;
    }).join(""), l ? "mu" : "m");
  }
  function m(_) {
    if (arguments.length === 0) throw new Error("no parameters provided");
    return N.apply(m, ["(?:"].concat(Array.prototype.slice.call(arguments), [")"]));
  }
  var V = /[-\x09\x0A\x0D\x20-\x2C\x2E-\uD7FF\uE000-\uFFFD]/;
  l && (V = N("[", I(V), "\\u{10000}-\\u{10FFFF}", "]"));
  var Q = /[\x20\x09\x0D\x0A]/, Y = I(Q), a = N(Q, "+"), h = N(Q, "*"), p = /[:_a-zA-Z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/;
  l && (p = N("[", I(p), "\\u{10000}-\\u{10FFFF}", "]"));
  var re = N("[", I(p), I(/[-.0-9\xB7]/), I(/[\u0300-\u036F\u203F-\u2040]/), "]"), U = N(p, re, "*"), X = N(re, "+"), he = N("&", U, ";"), le = m(/&#[0-9]+;|&#x[0-9a-fA-F]+;/), se = m(he, "|", le), te = N("%", U, ";"), c = m(N('"', m(/[^%&"]/, "|", te, "|", se), "*", '"'), "|", N("'", m(/[^%&']/, "|", te, "|", se), "*", "'")), A = m('"', m(/[^<&"]/, "|", se), "*", '"', "|", "'", m(/[^<&']/, "|", se), "*", "'"), o = N(M(p, ":"), M(re, ":"), "*"), i = N(o, m(":", o), "?"), d = N("^", i, "$"), T = N("(", i, ")"), b = m(/"[^"]*"|'[^']*'/), u = N(/^<\?/, "(", U, ")", m(a, "(", V, "*?)"), "?", /\?>/), y = /[\x20\x0D\x0Aa-zA-Z0-9-'()+,./:=?;!*#@$_%]/, g = m('"', y, '*"', "|", "'", M(y, "'"), "*'"), v = "<!--", D = N(v, m(M(V, "-"), "|", N("-", M(V, "-"))), "*", "-->"), f = "#PCDATA", F = m(N(/\(/, h, f, m(h, /\|/, h, i), "*", h, /\)\*/), "|", N(/\(/, h, f, h, /\)/)), C = m("EMPTY", "|", "ANY", "|", F, "|", N(/\([^>]+\)/, /[?*+]?/)), W = N("<!ELEMENT", a, m(i, "|", te), a, m(C, "|", te), h, ">"), P = N("NOTATION", a, /\(/, h, U, m(h, /\|/, h, U), "*", h, /\)/), pe = N(/\(/, h, X, m(h, /\|/, h, X), "*", h, /\)/), ne = m(P, "|", pe), x = m(/CDATA|ID|IDREF|IDREFS|ENTITY|ENTITIES|NMTOKEN|NMTOKENS/, "|", ne), J = m(/#REQUIRED|#IMPLIED/, "|", m(m("#FIXED", a), "?", A)), Z = N("<!ATTLIST", a, U, m(a, U, a, x, a, J), "*", h, ">"), G = "about:legacy-compat", $ = m('"' + G + '"', "|", "'" + G + "'"), Ee = "SYSTEM", me = "PUBLIC", de = m(m(Ee, a, b), "|", m(me, a, g, a, b)), S = N("^", m(m(Ee, a, "(?<SystemLiteralOnly>", b, ")"), "|", m(me, a, "(?<PubidLiteral>", g, ")", a, "(?<SystemLiteral>", b, ")"))), ge = m(a, "NDATA", a, U), ue = "<!ENTITY", oe = N(ue, a, U, a, m(c, "|", m(de, ge, "?")), h, ">"), xe = m(c, "|", de), ve = m(oe, "|", N(ue, a, "%", a, U, a, xe, h, ">")), ye = N(me, a, g), ce = N("<!NOTATION", a, U, a, m(de, "|", ye), h, ">"), B = N(h, "=", h), Ne = /1[.]\d+/, De = N(a, "version", B, m("'", Ne, "'", "|", '"', Ne, '"')), Se = /[A-Za-z][-A-Za-z0-9._]*/, Ae = N(/^<\?xml/, De, m(a, "encoding", B, m('"', Se, '"', "|", "'", Se, "'")), "?", m(a, "standalone", B, m("'", m("yes", "|", "no"), "'", "|", '"', m("yes", "|", "no"), '"')), "?", h, /\?>/), Re = N(V, "*?", /\]\]>/), R = N(/<!\[CDATA\[/, Re);
  return O.chars = I, O.chars_without = M, O.detectUnicodeSupport = E, O.reg = N, O.regg = m, O.ABOUT_LEGACY_COMPAT = G, O.ABOUT_LEGACY_COMPAT_SystemLiteral = $, O.AttlistDecl = Z, O.CDATA_START = "<![CDATA[", O.CDATA_END = "]]>", O.CDSect = R, O.Char = V, O.Comment = D, O.COMMENT_START = v, O.COMMENT_END = "-->", O.DOCTYPE_DECL_START = "<!DOCTYPE", O.elementdecl = W, O.EntityDecl = ve, O.EntityValue = c, O.ExternalID = de, O.ExternalID_match = S, O.Name = U, O.NotationDecl = ce, O.Reference = se, O.PEReference = te, O.PI = u, O.PUBLIC = me, O.PubidLiteral = g, O.QName = i, O.QName_exact = d, O.QName_group = T, O.S = a, O.SChar_s = Y, O.S_OPT = h, O.SYSTEM = Ee, O.SystemLiteral = b, O.UNICODE_REPLACEMENT_CHARACTER = "�", O.UNICODE_SUPPORT = l, O.XMLDecl = Ae, O;
}
function mr() {
  if (sr) return z;
  sr = 1;
  var E = Pe(), l = E.find, I = E.hasDefaultHTMLNamespace, M = E.hasOwn, N = E.isHTMLMimeType, m = E.isHTMLRawTextElement, V = E.isHTMLVoidElement, Q = E.MIME_TYPE, Y = E.NAMESPACE, a = Symbol(), h = je(), p = h.DOMException, re = h.DOMExceptionName, U = hr();
  function X(e) {
    if (e !== a) throw new TypeError("Illegal constructor");
  }
  function he(e) {
    return e !== "";
  }
  function le(e, r) {
    return M(e, r) || (e[r] = !0), e;
  }
  function se(e) {
    if (!e) return [];
    var r = function(t) {
      return t ? t.split(/[\t\n\f\r ]+/).filter(he) : [];
    }(e);
    return Object.keys(r.reduce(le, {}));
  }
  function te(e) {
    if (!U.QName_exact.test(e)) throw new p(p.INVALID_CHARACTER_ERR, 'invalid character in qualified name "' + e + '"');
  }
  function c(e, r) {
    te(r), e = e || null;
    var t = null, n = r;
    if (r.indexOf(":") >= 0) {
      var s = r.split(":");
      t = s[0], n = s[1];
    }
    if (t !== null && e === null) throw new p(p.NAMESPACE_ERR, "prefix is non-null and namespace is null");
    if (t === "xml" && e !== E.NAMESPACE.XML) throw new p(p.NAMESPACE_ERR, 'prefix is "xml" and namespace is not the XML namespace');
    if ((t === "xmlns" || r === "xmlns") && e !== E.NAMESPACE.XMLNS) throw new p(p.NAMESPACE_ERR, 'either qualifiedName or prefix is "xmlns" and namespace is not the XMLNS namespace');
    if (e === E.NAMESPACE.XMLNS && t !== "xmlns" && r !== "xmlns") throw new p(p.NAMESPACE_ERR, 'namespace is the XMLNS namespace and neither qualifiedName nor prefix is "xmlns"');
    return [e, t, n];
  }
  function A(e, r) {
    for (var t in e) M(e, t) && (r[t] = e[t]);
  }
  function o(e, r) {
    var t = e.prototype;
    if (!(t instanceof r)) {
      let n = function() {
      };
      n.prototype = r.prototype, A(t, n = new n()), e.prototype = t = n;
    }
    t.constructor != e && (typeof e != "function" && console.error("unknown Class:" + e), t.constructor = e);
  }
  var i = {}, d = i.ELEMENT_NODE = 1, T = i.ATTRIBUTE_NODE = 2, b = i.TEXT_NODE = 3, u = i.CDATA_SECTION_NODE = 4, y = i.ENTITY_REFERENCE_NODE = 5, g = i.ENTITY_NODE = 6, v = i.PROCESSING_INSTRUCTION_NODE = 7, D = i.COMMENT_NODE = 8, f = i.DOCUMENT_NODE = 9, F = i.DOCUMENT_TYPE_NODE = 10, C = i.DOCUMENT_FRAGMENT_NODE = 11, W = i.NOTATION_NODE = 12, P = E.freeze({ DOCUMENT_POSITION_DISCONNECTED: 1, DOCUMENT_POSITION_PRECEDING: 2, DOCUMENT_POSITION_FOLLOWING: 4, DOCUMENT_POSITION_CONTAINS: 8, DOCUMENT_POSITION_CONTAINED_BY: 16, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32 });
  function pe(e, r) {
    if (r.length < e.length) return pe(r, e);
    var t = null;
    for (var n in e) {
      if (e[n] !== r[n]) return t;
      t = e[n];
    }
    return t;
  }
  function ne(e) {
    return e.guid || (e.guid = Math.random()), e.guid;
  }
  function x() {
  }
  function J(e, r) {
    this._node = e, this._refresh = r, Z(this);
  }
  function Z(e) {
    var r = e._node._inc || e._node.ownerDocument._inc;
    if (e._inc !== r) {
      var t = e._refresh(e._node);
      if (tr(e, "length", t.length), !e.$$length || t.length < e.$$length) for (var n = t.length; n in e; n++) M(e, n) && delete e[n];
      A(t, e), e._inc = r;
    }
  }
  function G() {
  }
  function $(e, r) {
    for (var t = 0; t < e.length; ) {
      if (e[t] === r) return t;
      t++;
    }
  }
  function Ee(e, r, t, n) {
    if (n ? r[$(r, n)] = t : (r[r.length] = t, r.length++), e) {
      t.ownerElement = e;
      var s = e.ownerDocument;
      s && (n && xe(s, e, n), function(w, H, L) {
        w && w._inc++;
        var j = L.namespaceURI;
        j === Y.XMLNS && (H._nsMap[L.prefix ? L.localName : ""] = L.value);
      }(s, e, t));
    }
  }
  function me(e, r, t) {
    var n = $(r, t);
    if (n >= 0) {
      for (var s = r.length - 1; n <= s; ) r[n] = r[++n];
      if (r.length = s, e) {
        var w = e.ownerDocument;
        w && xe(w, e, t), t.ownerElement = null;
      }
    }
  }
  function de() {
  }
  function S(e) {
    X(e);
  }
  function ge(e) {
    return (e == "<" ? "&lt;" : e == ">" && "&gt;") || e == "&" && "&amp;" || e == '"' && "&quot;" || "&#" + e.charCodeAt() + ";";
  }
  function ue(e, r) {
    if (r(e)) return !0;
    if (e = e.firstChild) do
      if (ue(e, r)) return !0;
    while (e = e.nextSibling);
  }
  function oe(e, r) {
    X(e);
    var t = r || {};
    this.ownerDocument = this, this.contentType = t.contentType || Q.XML_APPLICATION, this.type = N(this.contentType) ? "html" : "xml";
  }
  function xe(e, r, t, n) {
    e && e._inc++, t.namespaceURI === Y.XMLNS && delete r._nsMap[t.prefix ? t.localName : ""];
  }
  function ve(e, r, t) {
    if (e && e._inc) {
      e._inc++;
      var n = r.childNodes;
      if (t && !t.nextSibling) n[n.length++] = t;
      else {
        for (var s = r.firstChild, w = 0; s; ) n[w++] = s, s = s.nextSibling;
        n.length = w, delete n[n.length];
      }
    }
  }
  function ye(e, r) {
    if (e !== r.parentNode) throw new p(p.NOT_FOUND_ERR, "child's parent is not parent");
    var t = r.previousSibling, n = r.nextSibling;
    return t ? t.nextSibling = n : e.firstChild = n, n ? n.previousSibling = t : e.lastChild = t, ve(e.ownerDocument, e), r.parentNode = null, r.previousSibling = null, r.nextSibling = null, r;
  }
  function ce(e) {
    return e && e.nodeType === S.DOCUMENT_TYPE_NODE;
  }
  function B(e) {
    return e && e.nodeType === S.ELEMENT_NODE;
  }
  function Ne(e) {
    return e && e.nodeType === S.TEXT_NODE;
  }
  function De(e, r) {
    var t = e.childNodes || [];
    if (l(t, B) || ce(r)) return !1;
    var n = l(t, ce);
    return !(r && n && t.indexOf(n) > t.indexOf(r));
  }
  function Se(e, r) {
    var t = e.childNodes || [];
    if (l(t, function(s) {
      return B(s) && s !== r;
    })) return !1;
    var n = l(t, ce);
    return !(r && n && t.indexOf(n) > t.indexOf(r));
  }
  function Ae(e, r, t) {
    if (!function(n) {
      return n && (n.nodeType === S.DOCUMENT_NODE || n.nodeType === S.DOCUMENT_FRAGMENT_NODE || n.nodeType === S.ELEMENT_NODE);
    }(e)) throw new p(p.HIERARCHY_REQUEST_ERR, "Unexpected parent node type " + e.nodeType);
    if (t && t.parentNode !== e) throw new p(p.NOT_FOUND_ERR, "child not in parent");
    if (!function(n) {
      return n && (n.nodeType === S.CDATA_SECTION_NODE || n.nodeType === S.COMMENT_NODE || n.nodeType === S.DOCUMENT_FRAGMENT_NODE || n.nodeType === S.DOCUMENT_TYPE_NODE || n.nodeType === S.ELEMENT_NODE || n.nodeType === S.PROCESSING_INSTRUCTION_NODE || n.nodeType === S.TEXT_NODE);
    }(r) || ce(r) && e.nodeType !== S.DOCUMENT_NODE) throw new p(p.HIERARCHY_REQUEST_ERR, "Unexpected node type " + r.nodeType + " for parent node type " + e.nodeType);
  }
  function Re(e, r, t) {
    var n = e.childNodes || [], s = r.childNodes || [];
    if (r.nodeType === S.DOCUMENT_FRAGMENT_NODE) {
      var w = s.filter(B);
      if (w.length > 1 || l(s, Ne)) throw new p(p.HIERARCHY_REQUEST_ERR, "More than one element or text in fragment");
      if (w.length === 1 && !De(e, t)) throw new p(p.HIERARCHY_REQUEST_ERR, "Element in fragment can not be inserted before doctype");
    }
    if (B(r) && !De(e, t)) throw new p(p.HIERARCHY_REQUEST_ERR, "Only one element can be added and only after doctype");
    if (ce(r)) {
      if (l(n, ce)) throw new p(p.HIERARCHY_REQUEST_ERR, "Only one doctype is allowed");
      var H = l(n, B);
      if (t && n.indexOf(H) < n.indexOf(t)) throw new p(p.HIERARCHY_REQUEST_ERR, "Doctype can only be inserted before an element");
      if (!t && H) throw new p(p.HIERARCHY_REQUEST_ERR, "Doctype can not be appended since element is present");
    }
  }
  function R(e, r, t) {
    var n = e.childNodes || [], s = r.childNodes || [];
    if (r.nodeType === S.DOCUMENT_FRAGMENT_NODE) {
      var w = s.filter(B);
      if (w.length > 1 || l(s, Ne)) throw new p(p.HIERARCHY_REQUEST_ERR, "More than one element or text in fragment");
      if (w.length === 1 && !Se(e, t)) throw new p(p.HIERARCHY_REQUEST_ERR, "Element in fragment can not be inserted before doctype");
    }
    if (B(r) && !Se(e, t)) throw new p(p.HIERARCHY_REQUEST_ERR, "Only one element can be added and only after doctype");
    if (ce(r)) {
      if (l(n, function(j) {
        return ce(j) && j !== t;
      })) throw new p(p.HIERARCHY_REQUEST_ERR, "Only one doctype is allowed");
      var H = l(n, B);
      if (t && n.indexOf(H) < n.indexOf(t)) throw new p(p.HIERARCHY_REQUEST_ERR, "Doctype can only be inserted before an element");
    }
  }
  function _(e, r, t, n) {
    Ae(e, r, t), e.nodeType === S.DOCUMENT_NODE && (n || Re)(e, r, t);
    var s = r.parentNode;
    if (s && s.removeChild(r), r.nodeType === C) {
      var w = r.firstChild;
      if (w == null) return r;
      var H = r.lastChild;
    } else w = H = r;
    var L = t ? t.previousSibling : e.lastChild;
    w.previousSibling = L, H.nextSibling = t, L ? L.nextSibling = w : e.firstChild = w, t == null ? e.lastChild = H : t.previousSibling = H;
    do
      w.parentNode = e;
    while (w !== H && (w = w.nextSibling));
    return ve(e.ownerDocument || e, e, r), r.nodeType == C && (r.firstChild = r.lastChild = null), r;
  }
  function k(e) {
    X(e), this._nsMap = /* @__PURE__ */ Object.create(null);
  }
  function K(e) {
    X(e), this.namespaceURI = null, this.prefix = null, this.ownerElement = null;
  }
  function Te(e) {
    X(e);
  }
  function Ue(e) {
    X(e);
  }
  function Ve(e) {
    X(e);
  }
  function Be(e) {
    X(e);
  }
  function Fe(e) {
    X(e);
  }
  function ze(e) {
    X(e);
  }
  function Qe(e) {
    X(e);
  }
  function Ge(e) {
    X(e);
  }
  function ke(e) {
    X(e);
  }
  function Ye(e) {
    X(e);
  }
  function Je() {
  }
  function Ke(e) {
    var r = [], t = this.nodeType === f && this.documentElement || this, n = t.prefix, s = t.namespaceURI;
    if (s && n == null && (n = t.lookupPrefix(s)) == null) var w = [{ namespace: s, prefix: null }];
    return _e(this, r, e, w), r.join("");
  }
  function er(e, r, t) {
    var n = e.prefix || "", s = e.namespaceURI;
    if (!s || n === "xml" && s === Y.XML || s === Y.XMLNS) return !1;
    for (var w = t.length; w--; ) {
      var H = t[w];
      if (H.prefix === n) return H.namespace !== s;
    }
    return !0;
  }
  function We(e, r, t) {
    e.push(" ", r, '="', t.replace(/[<>&"\t\n\r]/g, ge), '"');
  }
  function _e(e, r, t, n) {
    n || (n = []);
    var s = (e.nodeType === f ? e : e.ownerDocument).type === "html";
    if (t) {
      if (!(e = t(e))) return;
      if (typeof e == "string") return void r.push(e);
    }
    switch (e.nodeType) {
      case d:
        var w = e.attributes, H = w.length, L = e.firstChild, j = e.tagName, ae = j;
        if (!s && !e.prefix && e.namespaceURI) {
          for (var ie, Ie = 0; Ie < w.length; Ie++) if (w.item(Ie).name === "xmlns") {
            ie = w.item(Ie).value;
            break;
          }
          if (!ie) {
            for (var be = n.length - 1; be >= 0; be--)
              if ((fe = n[be]).prefix === "" && fe.namespace === e.namespaceURI) {
                ie = fe.namespace;
                break;
              }
          }
          if (ie !== e.namespaceURI) for (be = n.length - 1; be >= 0; be--) {
            var fe;
            if ((fe = n[be]).namespace === e.namespaceURI) {
              fe.prefix && (ae = fe.prefix + ":" + j);
              break;
            }
          }
        }
        r.push("<", ae);
        for (var Oe = 0; Oe < H; Oe++)
          (we = w.item(Oe)).prefix == "xmlns" ? n.push({ prefix: we.localName, namespace: we.value }) : we.nodeName == "xmlns" && n.push({ prefix: "", namespace: we.value });
        for (Oe = 0; Oe < H; Oe++) {
          var we, Le, Xe;
          er(we = w.item(Oe), 0, n) && (We(r, (Le = we.prefix || "") ? "xmlns:" + Le : "xmlns", Xe = we.namespaceURI), n.push({ prefix: Le, namespace: Xe })), _e(we, r, t, n);
        }
        j === ae && er(e, 0, n) && (We(r, (Le = e.prefix || "") ? "xmlns:" + Le : "xmlns", Xe = e.namespaceURI), n.push({ prefix: Le, namespace: Xe }));
        var $e = !L;
        if ($e && (s || e.namespaceURI === Y.HTML) && ($e = V(j)), $e) r.push("/>");
        else {
          if (r.push(">"), s && m(j)) for (; L; ) L.data ? r.push(L.data) : _e(L, r, t, n.slice()), L = L.nextSibling;
          else for (; L; ) _e(L, r, t, n.slice()), L = L.nextSibling;
          r.push("</", ae, ">");
        }
        return;
      case f:
      case C:
        for (L = e.firstChild; L; ) _e(L, r, t, n.slice()), L = L.nextSibling;
        return;
      case T:
        return We(r, e.name, e.value);
      case b:
        return r.push(e.data.replace(/[<&>]/g, ge));
      case u:
        return r.push(U.CDATA_START, e.data, U.CDATA_END);
      case D:
        return r.push(U.COMMENT_START, e.data, U.COMMENT_END);
      case F:
        var nr = e.publicId, Me = e.systemId;
        return r.push(U.DOCTYPE_DECL_START, " ", e.name), nr ? (r.push(" ", U.PUBLIC, " ", nr), Me && Me !== "." && r.push(" ", Me)) : Me && Me !== "." && r.push(" ", U.SYSTEM, " ", Me), e.internalSubset && r.push(" [", e.internalSubset, "]"), void r.push(">");
      case v:
        return r.push("<?", e.target, " ", e.data, "?>");
      case y:
        return r.push("&", e.nodeName, ";");
      default:
        r.push("??", e.nodeName);
    }
  }
  function rr(e, r, t) {
    var n;
    switch (r.nodeType) {
      case d:
        (n = r.cloneNode(!1)).ownerDocument = e;
      case C:
        break;
      case T:
        t = !0;
    }
    if (n || (n = r.cloneNode(!1)), n.ownerDocument = e, n.parentNode = null, t) for (var s = r.firstChild; s; ) n.appendChild(rr(e, s, t)), s = s.nextSibling;
    return n;
  }
  function Ze(e, r, t) {
    var n = new r.constructor(a);
    for (var s in r) if (M(r, s)) {
      var w = r[s];
      typeof w != "object" && w != n[s] && (n[s] = w);
    }
    switch (r.childNodes && (n.childNodes = new x()), n.ownerDocument = e, n.nodeType) {
      case d:
        var H = r.attributes, L = n.attributes = new G(), j = H.length;
        L._ownerElement = n;
        for (var ae = 0; ae < j; ae++) n.setAttributeNode(Ze(e, H.item(ae), !0));
        break;
      case T:
        t = !0;
    }
    if (t) for (var ie = r.firstChild; ie; ) n.appendChild(Ze(e, ie, t)), ie = ie.nextSibling;
    return n;
  }
  function tr(e, r, t) {
    e[r] = t;
  }
  x.prototype = { length: 0, item: function(e) {
    return e >= 0 && e < this.length ? this[e] : null;
  }, toString: function(e) {
    for (var r = [], t = 0; t < this.length; t++) _e(this[t], r, e);
    return r.join("");
  }, filter: function(e) {
    return Array.prototype.filter.call(this, e);
  }, indexOf: function(e) {
    return Array.prototype.indexOf.call(this, e);
  } }, x.prototype[Symbol.iterator] = function() {
    var e = this, r = 0;
    return { next: function() {
      return r < e.length ? { value: e[r++], done: !1 } : { done: !0 };
    }, return: function() {
      return { done: !0 };
    } };
  }, J.prototype.item = function(e) {
    return Z(this), this[e] || null;
  }, o(J, x), G.prototype = { length: 0, item: x.prototype.item, getNamedItem: function(e) {
    this._ownerElement && this._ownerElement._isInHTMLDocumentAndNamespace() && (e = e.toLowerCase());
    for (var r = 0; r < this.length; ) {
      var t = this[r];
      if (t.nodeName === e) return t;
      r++;
    }
    return null;
  }, setNamedItem: function(e) {
    var r = e.ownerElement;
    if (r && r !== this._ownerElement) throw new p(p.INUSE_ATTRIBUTE_ERR);
    var t = this.getNamedItemNS(e.namespaceURI, e.localName);
    return t === e ? e : (Ee(this._ownerElement, this, e, t), t);
  }, setNamedItemNS: function(e) {
    return this.setNamedItem(e);
  }, removeNamedItem: function(e) {
    var r = this.getNamedItem(e);
    if (!r) throw new p(p.NOT_FOUND_ERR, e);
    return me(this._ownerElement, this, r), r;
  }, removeNamedItemNS: function(e, r) {
    var t = this.getNamedItemNS(e, r);
    if (!t) throw new p(p.NOT_FOUND_ERR, e ? e + " : " + r : r);
    return me(this._ownerElement, this, t), t;
  }, getNamedItemNS: function(e, r) {
    e || (e = null);
    for (var t = 0; t < this.length; ) {
      var n = this[t];
      if (n.localName === r && n.namespaceURI === e) return n;
      t++;
    }
    return null;
  } }, G.prototype[Symbol.iterator] = function() {
    var e = this, r = 0;
    return { next: function() {
      return r < e.length ? { value: e[r++], done: !1 } : { done: !0 };
    }, return: function() {
      return { done: !0 };
    } };
  }, de.prototype = { hasFeature: function(e, r) {
    return !0;
  }, createDocument: function(e, r, t) {
    var n = Q.XML_APPLICATION;
    e === Y.HTML ? n = Q.XML_XHTML_APPLICATION : e === Y.SVG && (n = Q.XML_SVG_IMAGE);
    var s = new oe(a, { contentType: n });
    if (s.implementation = this, s.childNodes = new x(), s.doctype = t || null, t && s.appendChild(t), r) {
      var w = s.createElementNS(e, r);
      s.appendChild(w);
    }
    return s;
  }, createDocumentType: function(e, r, t, n) {
    te(e);
    var s = new Fe(a);
    return s.name = e, s.nodeName = e, s.publicId = r || "", s.systemId = t || "", s.internalSubset = n || "", s.childNodes = new x(), s;
  }, createHTMLDocument: function(e) {
    var r = new oe(a, { contentType: Q.HTML });
    if (r.implementation = this, r.childNodes = new x(), e !== !1) {
      r.doctype = this.createDocumentType("html"), r.doctype.ownerDocument = r, r.appendChild(r.doctype);
      var t = r.createElement("html");
      r.appendChild(t);
      var n = r.createElement("head");
      if (t.appendChild(n), typeof e == "string") {
        var s = r.createElement("title");
        s.appendChild(r.createTextNode(e)), n.appendChild(s);
      }
      t.appendChild(r.createElement("body"));
    }
    return r;
  } }, S.prototype = { firstChild: null, lastChild: null, previousSibling: null, nextSibling: null, parentNode: null, get parentElement() {
    return this.parentNode && this.parentNode.nodeType === this.ELEMENT_NODE ? this.parentNode : null;
  }, childNodes: null, ownerDocument: null, nodeValue: null, namespaceURI: null, prefix: null, localName: null, baseURI: "about:blank", get isConnected() {
    var e = this.getRootNode();
    return e && e.nodeType === e.DOCUMENT_NODE;
  }, contains: function(e) {
    if (!e) return !1;
    var r = e;
    do {
      if (this === r) return !0;
      r = e.parentNode;
    } while (r);
    return !1;
  }, getRootNode: function(e) {
    var r = this;
    do {
      if (!r.parentNode) return r;
      r = r.parentNode;
    } while (r);
  }, isEqualNode: function(e) {
    if (!e || this.nodeType !== e.nodeType) return !1;
    switch (this.nodeType) {
      case this.DOCUMENT_TYPE_NODE:
        if (this.name !== e.name || this.publicId !== e.publicId || this.systemId !== e.systemId) return !1;
        break;
      case this.ELEMENT_NODE:
        if (this.namespaceURI !== e.namespaceURI || this.prefix !== e.prefix || this.localName !== e.localName || this.attributes.length !== e.attributes.length) return !1;
        for (var r = 0; r < this.attributes.length; r++) {
          var t = this.attributes.item(r);
          if (!t.isEqualNode(e.getAttributeNodeNS(t.namespaceURI, t.localName))) return !1;
        }
        break;
      case this.ATTRIBUTE_NODE:
        if (this.namespaceURI !== e.namespaceURI || this.localName !== e.localName || this.value !== e.value) return !1;
        break;
      case this.PROCESSING_INSTRUCTION_NODE:
        if (this.target !== e.target || this.data !== e.data) return !1;
        break;
      case this.TEXT_NODE:
      case this.COMMENT_NODE:
        if (this.data !== e.data) return !1;
    }
    if (this.childNodes.length !== e.childNodes.length) return !1;
    for (r = 0; r < this.childNodes.length; r++) if (!this.childNodes[r].isEqualNode(e.childNodes[r])) return !1;
    return !0;
  }, isSameNode: function(e) {
    return this === e;
  }, insertBefore: function(e, r) {
    return _(this, e, r);
  }, replaceChild: function(e, r) {
    _(this, e, r, R), r && this.removeChild(r);
  }, removeChild: function(e) {
    return ye(this, e);
  }, appendChild: function(e) {
    return this.insertBefore(e, null);
  }, hasChildNodes: function() {
    return this.firstChild != null;
  }, cloneNode: function(e) {
    return Ze(this.ownerDocument || this, this, e);
  }, normalize: function() {
    for (var e = this.firstChild; e; ) {
      var r = e.nextSibling;
      r && r.nodeType == b && e.nodeType == b ? (this.removeChild(r), e.appendData(r.data)) : (e.normalize(), e = r);
    }
  }, isSupported: function(e, r) {
    return this.ownerDocument.implementation.hasFeature(e, r);
  }, lookupPrefix: function(e) {
    for (var r = this; r; ) {
      var t = r._nsMap;
      if (t) {
        for (var n in t) if (M(t, n) && t[n] === e) return n;
      }
      r = r.nodeType == T ? r.ownerDocument : r.parentNode;
    }
    return null;
  }, lookupNamespaceURI: function(e) {
    for (var r = this; r; ) {
      var t = r._nsMap;
      if (t && M(t, e)) return t[e];
      r = r.nodeType == T ? r.ownerDocument : r.parentNode;
    }
    return null;
  }, isDefaultNamespace: function(e) {
    return this.lookupPrefix(e) == null;
  }, compareDocumentPosition: function(e) {
    if (this === e) return 0;
    var r = e, t = this, n = null, s = null;
    if (r instanceof K && (r = (n = r).ownerElement), t instanceof K && (t = (s = t).ownerElement, n && r && t === r)) for (var w, H = 0; w = t.attributes[H]; H++) {
      if (w === n) return P.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC + P.DOCUMENT_POSITION_PRECEDING;
      if (w === s) return P.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC + P.DOCUMENT_POSITION_FOLLOWING;
    }
    if (!r || !t || t.ownerDocument !== r.ownerDocument) return P.DOCUMENT_POSITION_DISCONNECTED + P.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC + (ne(t.ownerDocument) > ne(r.ownerDocument) ? P.DOCUMENT_POSITION_FOLLOWING : P.DOCUMENT_POSITION_PRECEDING);
    if (s && r === t) return P.DOCUMENT_POSITION_CONTAINS + P.DOCUMENT_POSITION_PRECEDING;
    if (n && r === t) return P.DOCUMENT_POSITION_CONTAINED_BY + P.DOCUMENT_POSITION_FOLLOWING;
    for (var L = [], j = r.parentNode; j; ) {
      if (!s && j === t) return P.DOCUMENT_POSITION_CONTAINED_BY + P.DOCUMENT_POSITION_FOLLOWING;
      L.push(j), j = j.parentNode;
    }
    L.reverse();
    for (var ae = [], ie = t.parentNode; ie; ) {
      if (!n && ie === r) return P.DOCUMENT_POSITION_CONTAINS + P.DOCUMENT_POSITION_PRECEDING;
      ae.push(ie), ie = ie.parentNode;
    }
    ae.reverse();
    var Ie = pe(L, ae);
    for (var be in Ie.childNodes) {
      var fe = Ie.childNodes[be];
      if (fe === t) return P.DOCUMENT_POSITION_FOLLOWING;
      if (fe === r) return P.DOCUMENT_POSITION_PRECEDING;
      if (ae.indexOf(fe) >= 0) return P.DOCUMENT_POSITION_FOLLOWING;
      if (L.indexOf(fe) >= 0) return P.DOCUMENT_POSITION_PRECEDING;
    }
    return 0;
  } }, A(i, S), A(i, S.prototype), A(P, S), A(P, S.prototype), oe.prototype = { implementation: null, nodeName: "#document", nodeType: f, doctype: null, documentElement: null, _inc: 1, insertBefore: function(e, r) {
    if (e.nodeType === C) {
      for (var t = e.firstChild; t; ) {
        var n = t.nextSibling;
        this.insertBefore(t, r), t = n;
      }
      return e;
    }
    return _(this, e, r), e.ownerDocument = this, this.documentElement === null && e.nodeType === d && (this.documentElement = e), e;
  }, removeChild: function(e) {
    var r = ye(this, e);
    return r === this.documentElement && (this.documentElement = null), r;
  }, replaceChild: function(e, r) {
    _(this, e, r, R), e.ownerDocument = this, r && this.removeChild(r), B(e) && (this.documentElement = e);
  }, importNode: function(e, r) {
    return rr(this, e, r);
  }, getElementById: function(e) {
    var r = null;
    return ue(this.documentElement, function(t) {
      if (t.nodeType == d && t.getAttribute("id") == e) return r = t, !0;
    }), r;
  }, createElement: function(e) {
    var r = new k(a);
    return r.ownerDocument = this, this.type === "html" && (e = e.toLowerCase()), I(this.contentType) && (r.namespaceURI = Y.HTML), r.nodeName = e, r.tagName = e, r.localName = e, r.childNodes = new x(), (r.attributes = new G())._ownerElement = r, r;
  }, createDocumentFragment: function() {
    var e = new ke(a);
    return e.ownerDocument = this, e.childNodes = new x(), e;
  }, createTextNode: function(e) {
    var r = new Ue(a);
    return r.ownerDocument = this, r.childNodes = new x(), r.appendData(e), r;
  }, createComment: function(e) {
    var r = new Ve(a);
    return r.ownerDocument = this, r.childNodes = new x(), r.appendData(e), r;
  }, createCDATASection: function(e) {
    var r = new Be(a);
    return r.ownerDocument = this, r.childNodes = new x(), r.appendData(e), r;
  }, createProcessingInstruction: function(e, r) {
    var t = new Ye(a);
    return t.ownerDocument = this, t.childNodes = new x(), t.nodeName = t.target = e, t.nodeValue = t.data = r, t;
  }, createAttribute: function(e) {
    if (!U.QName_exact.test(e)) throw new p(p.INVALID_CHARACTER_ERR, 'invalid character in name "' + e + '"');
    return this.type === "html" && (e = e.toLowerCase()), this._createAttribute(e);
  }, _createAttribute: function(e) {
    var r = new K(a);
    return r.ownerDocument = this, r.childNodes = new x(), r.name = e, r.nodeName = e, r.localName = e, r.specified = !0, r;
  }, createEntityReference: function(e) {
    if (!U.Name.test(e)) throw new p(p.INVALID_CHARACTER_ERR, 'not a valid xml name "' + e + '"');
    if (this.type === "html") throw new p("document is an html document", re.NotSupportedError);
    var r = new Ge(a);
    return r.ownerDocument = this, r.childNodes = new x(), r.nodeName = e, r;
  }, createElementNS: function(e, r) {
    var t = c(e, r), n = new k(a), s = n.attributes = new G();
    return n.childNodes = new x(), n.ownerDocument = this, n.nodeName = r, n.tagName = r, n.namespaceURI = t[0], n.prefix = t[1], n.localName = t[2], s._ownerElement = n, n;
  }, createAttributeNS: function(e, r) {
    var t = c(e, r), n = new K(a);
    return n.ownerDocument = this, n.childNodes = new x(), n.nodeName = r, n.name = r, n.specified = !0, n.namespaceURI = t[0], n.prefix = t[1], n.localName = t[2], n;
  } }, o(oe, S), k.prototype = { nodeType: d, attributes: null, getQualifiedName: function() {
    return this.prefix ? this.prefix + ":" + this.localName : this.localName;
  }, _isInHTMLDocumentAndNamespace: function() {
    return this.ownerDocument.type === "html" && this.namespaceURI === Y.HTML;
  }, hasAttributes: function() {
    return !(!this.attributes || !this.attributes.length);
  }, hasAttribute: function(e) {
    return !!this.getAttributeNode(e);
  }, getAttribute: function(e) {
    var r = this.getAttributeNode(e);
    return r ? r.value : null;
  }, getAttributeNode: function(e) {
    return this._isInHTMLDocumentAndNamespace() && (e = e.toLowerCase()), this.attributes.getNamedItem(e);
  }, setAttribute: function(e, r) {
    this._isInHTMLDocumentAndNamespace() && (e = e.toLowerCase());
    var t = this.getAttributeNode(e);
    t ? t.value = t.nodeValue = "" + r : ((t = this.ownerDocument._createAttribute(e)).value = t.nodeValue = "" + r, this.setAttributeNode(t));
  }, removeAttribute: function(e) {
    var r = this.getAttributeNode(e);
    r && this.removeAttributeNode(r);
  }, setAttributeNode: function(e) {
    return this.attributes.setNamedItem(e);
  }, setAttributeNodeNS: function(e) {
    return this.attributes.setNamedItemNS(e);
  }, removeAttributeNode: function(e) {
    return this.attributes.removeNamedItem(e.nodeName);
  }, removeAttributeNS: function(e, r) {
    var t = this.getAttributeNodeNS(e, r);
    t && this.removeAttributeNode(t);
  }, hasAttributeNS: function(e, r) {
    return this.getAttributeNodeNS(e, r) != null;
  }, getAttributeNS: function(e, r) {
    var t = this.getAttributeNodeNS(e, r);
    return t ? t.value : null;
  }, setAttributeNS: function(e, r, t) {
    var n = c(e, r)[2], s = this.getAttributeNodeNS(e, n);
    s ? s.value = s.nodeValue = "" + t : ((s = this.ownerDocument.createAttributeNS(e, r)).value = s.nodeValue = "" + t, this.setAttributeNode(s));
  }, getAttributeNodeNS: function(e, r) {
    return this.attributes.getNamedItemNS(e, r);
  }, getElementsByClassName: function(e) {
    var r = se(e);
    return new J(this, function(t) {
      var n = [];
      return r.length > 0 && ue(t, function(s) {
        if (s !== t && s.nodeType === d) {
          var w = s.getAttribute("class");
          if (w) {
            var H = e === w;
            if (!H) {
              var L = se(w);
              H = r.every((j = L, function(ae) {
                return j && j.indexOf(ae) !== -1;
              }));
            }
            H && n.push(s);
          }
        }
        var j;
      }), n;
    });
  }, getElementsByTagName: function(e) {
    var r = (this.nodeType === f ? this : this.ownerDocument).type === "html", t = e.toLowerCase();
    return new J(this, function(n) {
      var s = [];
      return ue(n, function(w) {
        w !== n && w.nodeType === d && (e === "*" || w.getQualifiedName() === (r && w.namespaceURI === Y.HTML ? t : e)) && s.push(w);
      }), s;
    });
  }, getElementsByTagNameNS: function(e, r) {
    return new J(this, function(t) {
      var n = [];
      return ue(t, function(s) {
        s === t || s.nodeType !== d || e !== "*" && s.namespaceURI !== e || r !== "*" && s.localName != r || n.push(s);
      }), n;
    });
  } }, oe.prototype.getElementsByClassName = k.prototype.getElementsByClassName, oe.prototype.getElementsByTagName = k.prototype.getElementsByTagName, oe.prototype.getElementsByTagNameNS = k.prototype.getElementsByTagNameNS, o(k, S), K.prototype.nodeType = T, o(K, S), Te.prototype = { data: "", substringData: function(e, r) {
    return this.data.substring(e, e + r);
  }, appendData: function(e) {
    e = this.data + e, this.nodeValue = this.data = e, this.length = e.length;
  }, insertData: function(e, r) {
    this.replaceData(e, 0, r);
  }, deleteData: function(e, r) {
    this.replaceData(e, r, "");
  }, replaceData: function(e, r, t) {
    t = this.data.substring(0, e) + t + this.data.substring(e + r), this.nodeValue = this.data = t, this.length = t.length;
  } }, o(Te, S), Ue.prototype = { nodeName: "#text", nodeType: b, splitText: function(e) {
    var r = this.data, t = r.substring(e);
    r = r.substring(0, e), this.data = this.nodeValue = r, this.length = r.length;
    var n = this.ownerDocument.createTextNode(t);
    return this.parentNode && this.parentNode.insertBefore(n, this.nextSibling), n;
  } }, o(Ue, Te), Ve.prototype = { nodeName: "#comment", nodeType: D }, o(Ve, Te), Be.prototype = { nodeName: "#cdata-section", nodeType: u }, o(Be, Ue), Fe.prototype.nodeType = F, o(Fe, S), ze.prototype.nodeType = W, o(ze, S), Qe.prototype.nodeType = g, o(Qe, S), Ge.prototype.nodeType = y, o(Ge, S), ke.prototype.nodeName = "#document-fragment", ke.prototype.nodeType = C, o(ke, S), Ye.prototype.nodeType = v, o(Ye, Te), Je.prototype.serializeToString = function(e, r) {
    return Ke.call(e, r);
  }, S.prototype.toString = Ke;
  try {
    if (Object.defineProperty) {
      let e = function(r) {
        switch (r.nodeType) {
          case d:
          case C:
            var t = [];
            for (r = r.firstChild; r; ) r.nodeType !== 7 && r.nodeType !== 8 && t.push(e(r)), r = r.nextSibling;
            return t.join("");
          default:
            return r.nodeValue;
        }
      };
      Object.defineProperty(J.prototype, "length", { get: function() {
        return Z(this), this.$$length;
      } }), Object.defineProperty(S.prototype, "textContent", { get: function() {
        return e(this);
      }, set: function(r) {
        switch (this.nodeType) {
          case d:
          case C:
            for (; this.firstChild; ) this.removeChild(this.firstChild);
            (r || String(r)) && this.appendChild(this.ownerDocument.createTextNode(r));
            break;
          default:
            this.data = r, this.value = r, this.nodeValue = r;
        }
      } }), tr = function(r, t, n) {
        r["$$" + t] = n;
      };
    }
  } catch {
  }
  return z._updateLiveList = Z, z.Attr = K, z.CDATASection = Be, z.CharacterData = Te, z.Comment = Ve, z.Document = oe, z.DocumentFragment = ke, z.DocumentType = Fe, z.DOMImplementation = de, z.Element = k, z.Entity = Qe, z.EntityReference = Ge, z.LiveNodeList = J, z.NamedNodeMap = G, z.Node = S, z.NodeList = x, z.Notation = ze, z.Text = Ue, z.ProcessingInstruction = Ye, z.XMLSerializer = Je, z;
}
var lr, Ce = {}, cr = {};
function Nr() {
  return lr || (lr = 1, E = cr, l = Pe().freeze, E.XML_ENTITIES = l({ amp: "&", apos: "'", gt: ">", lt: "<", quot: '"' }), E.HTML_ENTITIES = l({ Aacute: "Á", aacute: "á", Abreve: "Ă", abreve: "ă", ac: "∾", acd: "∿", acE: "∾̳", Acirc: "Â", acirc: "â", acute: "´", Acy: "А", acy: "а", AElig: "Æ", aelig: "æ", af: "⁡", Afr: "𝔄", afr: "𝔞", Agrave: "À", agrave: "à", alefsym: "ℵ", aleph: "ℵ", Alpha: "Α", alpha: "α", Amacr: "Ā", amacr: "ā", amalg: "⨿", AMP: "&", amp: "&", And: "⩓", and: "∧", andand: "⩕", andd: "⩜", andslope: "⩘", andv: "⩚", ang: "∠", ange: "⦤", angle: "∠", angmsd: "∡", angmsdaa: "⦨", angmsdab: "⦩", angmsdac: "⦪", angmsdad: "⦫", angmsdae: "⦬", angmsdaf: "⦭", angmsdag: "⦮", angmsdah: "⦯", angrt: "∟", angrtvb: "⊾", angrtvbd: "⦝", angsph: "∢", angst: "Å", angzarr: "⍼", Aogon: "Ą", aogon: "ą", Aopf: "𝔸", aopf: "𝕒", ap: "≈", apacir: "⩯", apE: "⩰", ape: "≊", apid: "≋", apos: "'", ApplyFunction: "⁡", approx: "≈", approxeq: "≊", Aring: "Å", aring: "å", Ascr: "𝒜", ascr: "𝒶", Assign: "≔", ast: "*", asymp: "≈", asympeq: "≍", Atilde: "Ã", atilde: "ã", Auml: "Ä", auml: "ä", awconint: "∳", awint: "⨑", backcong: "≌", backepsilon: "϶", backprime: "‵", backsim: "∽", backsimeq: "⋍", Backslash: "∖", Barv: "⫧", barvee: "⊽", Barwed: "⌆", barwed: "⌅", barwedge: "⌅", bbrk: "⎵", bbrktbrk: "⎶", bcong: "≌", Bcy: "Б", bcy: "б", bdquo: "„", becaus: "∵", Because: "∵", because: "∵", bemptyv: "⦰", bepsi: "϶", bernou: "ℬ", Bernoullis: "ℬ", Beta: "Β", beta: "β", beth: "ℶ", between: "≬", Bfr: "𝔅", bfr: "𝔟", bigcap: "⋂", bigcirc: "◯", bigcup: "⋃", bigodot: "⨀", bigoplus: "⨁", bigotimes: "⨂", bigsqcup: "⨆", bigstar: "★", bigtriangledown: "▽", bigtriangleup: "△", biguplus: "⨄", bigvee: "⋁", bigwedge: "⋀", bkarow: "⤍", blacklozenge: "⧫", blacksquare: "▪", blacktriangle: "▴", blacktriangledown: "▾", blacktriangleleft: "◂", blacktriangleright: "▸", blank: "␣", blk12: "▒", blk14: "░", blk34: "▓", block: "█", bne: "=⃥", bnequiv: "≡⃥", bNot: "⫭", bnot: "⌐", Bopf: "𝔹", bopf: "𝕓", bot: "⊥", bottom: "⊥", bowtie: "⋈", boxbox: "⧉", boxDL: "╗", boxDl: "╖", boxdL: "╕", boxdl: "┐", boxDR: "╔", boxDr: "╓", boxdR: "╒", boxdr: "┌", boxH: "═", boxh: "─", boxHD: "╦", boxHd: "╤", boxhD: "╥", boxhd: "┬", boxHU: "╩", boxHu: "╧", boxhU: "╨", boxhu: "┴", boxminus: "⊟", boxplus: "⊞", boxtimes: "⊠", boxUL: "╝", boxUl: "╜", boxuL: "╛", boxul: "┘", boxUR: "╚", boxUr: "╙", boxuR: "╘", boxur: "└", boxV: "║", boxv: "│", boxVH: "╬", boxVh: "╫", boxvH: "╪", boxvh: "┼", boxVL: "╣", boxVl: "╢", boxvL: "╡", boxvl: "┤", boxVR: "╠", boxVr: "╟", boxvR: "╞", boxvr: "├", bprime: "‵", Breve: "˘", breve: "˘", brvbar: "¦", Bscr: "ℬ", bscr: "𝒷", bsemi: "⁏", bsim: "∽", bsime: "⋍", bsol: "\\", bsolb: "⧅", bsolhsub: "⟈", bull: "•", bullet: "•", bump: "≎", bumpE: "⪮", bumpe: "≏", Bumpeq: "≎", bumpeq: "≏", Cacute: "Ć", cacute: "ć", Cap: "⋒", cap: "∩", capand: "⩄", capbrcup: "⩉", capcap: "⩋", capcup: "⩇", capdot: "⩀", CapitalDifferentialD: "ⅅ", caps: "∩︀", caret: "⁁", caron: "ˇ", Cayleys: "ℭ", ccaps: "⩍", Ccaron: "Č", ccaron: "č", Ccedil: "Ç", ccedil: "ç", Ccirc: "Ĉ", ccirc: "ĉ", Cconint: "∰", ccups: "⩌", ccupssm: "⩐", Cdot: "Ċ", cdot: "ċ", cedil: "¸", Cedilla: "¸", cemptyv: "⦲", cent: "¢", CenterDot: "·", centerdot: "·", Cfr: "ℭ", cfr: "𝔠", CHcy: "Ч", chcy: "ч", check: "✓", checkmark: "✓", Chi: "Χ", chi: "χ", cir: "○", circ: "ˆ", circeq: "≗", circlearrowleft: "↺", circlearrowright: "↻", circledast: "⊛", circledcirc: "⊚", circleddash: "⊝", CircleDot: "⊙", circledR: "®", circledS: "Ⓢ", CircleMinus: "⊖", CirclePlus: "⊕", CircleTimes: "⊗", cirE: "⧃", cire: "≗", cirfnint: "⨐", cirmid: "⫯", cirscir: "⧂", ClockwiseContourIntegral: "∲", CloseCurlyDoubleQuote: "”", CloseCurlyQuote: "’", clubs: "♣", clubsuit: "♣", Colon: "∷", colon: ":", Colone: "⩴", colone: "≔", coloneq: "≔", comma: ",", commat: "@", comp: "∁", compfn: "∘", complement: "∁", complexes: "ℂ", cong: "≅", congdot: "⩭", Congruent: "≡", Conint: "∯", conint: "∮", ContourIntegral: "∮", Copf: "ℂ", copf: "𝕔", coprod: "∐", Coproduct: "∐", COPY: "©", copy: "©", copysr: "℗", CounterClockwiseContourIntegral: "∳", crarr: "↵", Cross: "⨯", cross: "✗", Cscr: "𝒞", cscr: "𝒸", csub: "⫏", csube: "⫑", csup: "⫐", csupe: "⫒", ctdot: "⋯", cudarrl: "⤸", cudarrr: "⤵", cuepr: "⋞", cuesc: "⋟", cularr: "↶", cularrp: "⤽", Cup: "⋓", cup: "∪", cupbrcap: "⩈", CupCap: "≍", cupcap: "⩆", cupcup: "⩊", cupdot: "⊍", cupor: "⩅", cups: "∪︀", curarr: "↷", curarrm: "⤼", curlyeqprec: "⋞", curlyeqsucc: "⋟", curlyvee: "⋎", curlywedge: "⋏", curren: "¤", curvearrowleft: "↶", curvearrowright: "↷", cuvee: "⋎", cuwed: "⋏", cwconint: "∲", cwint: "∱", cylcty: "⌭", Dagger: "‡", dagger: "†", daleth: "ℸ", Darr: "↡", dArr: "⇓", darr: "↓", dash: "‐", Dashv: "⫤", dashv: "⊣", dbkarow: "⤏", dblac: "˝", Dcaron: "Ď", dcaron: "ď", Dcy: "Д", dcy: "д", DD: "ⅅ", dd: "ⅆ", ddagger: "‡", ddarr: "⇊", DDotrahd: "⤑", ddotseq: "⩷", deg: "°", Del: "∇", Delta: "Δ", delta: "δ", demptyv: "⦱", dfisht: "⥿", Dfr: "𝔇", dfr: "𝔡", dHar: "⥥", dharl: "⇃", dharr: "⇂", DiacriticalAcute: "´", DiacriticalDot: "˙", DiacriticalDoubleAcute: "˝", DiacriticalGrave: "`", DiacriticalTilde: "˜", diam: "⋄", Diamond: "⋄", diamond: "⋄", diamondsuit: "♦", diams: "♦", die: "¨", DifferentialD: "ⅆ", digamma: "ϝ", disin: "⋲", div: "÷", divide: "÷", divideontimes: "⋇", divonx: "⋇", DJcy: "Ђ", djcy: "ђ", dlcorn: "⌞", dlcrop: "⌍", dollar: "$", Dopf: "𝔻", dopf: "𝕕", Dot: "¨", dot: "˙", DotDot: "⃜", doteq: "≐", doteqdot: "≑", DotEqual: "≐", dotminus: "∸", dotplus: "∔", dotsquare: "⊡", doublebarwedge: "⌆", DoubleContourIntegral: "∯", DoubleDot: "¨", DoubleDownArrow: "⇓", DoubleLeftArrow: "⇐", DoubleLeftRightArrow: "⇔", DoubleLeftTee: "⫤", DoubleLongLeftArrow: "⟸", DoubleLongLeftRightArrow: "⟺", DoubleLongRightArrow: "⟹", DoubleRightArrow: "⇒", DoubleRightTee: "⊨", DoubleUpArrow: "⇑", DoubleUpDownArrow: "⇕", DoubleVerticalBar: "∥", DownArrow: "↓", Downarrow: "⇓", downarrow: "↓", DownArrowBar: "⤓", DownArrowUpArrow: "⇵", DownBreve: "̑", downdownarrows: "⇊", downharpoonleft: "⇃", downharpoonright: "⇂", DownLeftRightVector: "⥐", DownLeftTeeVector: "⥞", DownLeftVector: "↽", DownLeftVectorBar: "⥖", DownRightTeeVector: "⥟", DownRightVector: "⇁", DownRightVectorBar: "⥗", DownTee: "⊤", DownTeeArrow: "↧", drbkarow: "⤐", drcorn: "⌟", drcrop: "⌌", Dscr: "𝒟", dscr: "𝒹", DScy: "Ѕ", dscy: "ѕ", dsol: "⧶", Dstrok: "Đ", dstrok: "đ", dtdot: "⋱", dtri: "▿", dtrif: "▾", duarr: "⇵", duhar: "⥯", dwangle: "⦦", DZcy: "Џ", dzcy: "џ", dzigrarr: "⟿", Eacute: "É", eacute: "é", easter: "⩮", Ecaron: "Ě", ecaron: "ě", ecir: "≖", Ecirc: "Ê", ecirc: "ê", ecolon: "≕", Ecy: "Э", ecy: "э", eDDot: "⩷", Edot: "Ė", eDot: "≑", edot: "ė", ee: "ⅇ", efDot: "≒", Efr: "𝔈", efr: "𝔢", eg: "⪚", Egrave: "È", egrave: "è", egs: "⪖", egsdot: "⪘", el: "⪙", Element: "∈", elinters: "⏧", ell: "ℓ", els: "⪕", elsdot: "⪗", Emacr: "Ē", emacr: "ē", empty: "∅", emptyset: "∅", EmptySmallSquare: "◻", emptyv: "∅", EmptyVerySmallSquare: "▫", emsp: " ", emsp13: " ", emsp14: " ", ENG: "Ŋ", eng: "ŋ", ensp: " ", Eogon: "Ę", eogon: "ę", Eopf: "𝔼", eopf: "𝕖", epar: "⋕", eparsl: "⧣", eplus: "⩱", epsi: "ε", Epsilon: "Ε", epsilon: "ε", epsiv: "ϵ", eqcirc: "≖", eqcolon: "≕", eqsim: "≂", eqslantgtr: "⪖", eqslantless: "⪕", Equal: "⩵", equals: "=", EqualTilde: "≂", equest: "≟", Equilibrium: "⇌", equiv: "≡", equivDD: "⩸", eqvparsl: "⧥", erarr: "⥱", erDot: "≓", Escr: "ℰ", escr: "ℯ", esdot: "≐", Esim: "⩳", esim: "≂", Eta: "Η", eta: "η", ETH: "Ð", eth: "ð", Euml: "Ë", euml: "ë", euro: "€", excl: "!", exist: "∃", Exists: "∃", expectation: "ℰ", ExponentialE: "ⅇ", exponentiale: "ⅇ", fallingdotseq: "≒", Fcy: "Ф", fcy: "ф", female: "♀", ffilig: "ffi", fflig: "ff", ffllig: "ffl", Ffr: "𝔉", ffr: "𝔣", filig: "fi", FilledSmallSquare: "◼", FilledVerySmallSquare: "▪", fjlig: "fj", flat: "♭", fllig: "fl", fltns: "▱", fnof: "ƒ", Fopf: "𝔽", fopf: "𝕗", ForAll: "∀", forall: "∀", fork: "⋔", forkv: "⫙", Fouriertrf: "ℱ", fpartint: "⨍", frac12: "½", frac13: "⅓", frac14: "¼", frac15: "⅕", frac16: "⅙", frac18: "⅛", frac23: "⅔", frac25: "⅖", frac34: "¾", frac35: "⅗", frac38: "⅜", frac45: "⅘", frac56: "⅚", frac58: "⅝", frac78: "⅞", frasl: "⁄", frown: "⌢", Fscr: "ℱ", fscr: "𝒻", gacute: "ǵ", Gamma: "Γ", gamma: "γ", Gammad: "Ϝ", gammad: "ϝ", gap: "⪆", Gbreve: "Ğ", gbreve: "ğ", Gcedil: "Ģ", Gcirc: "Ĝ", gcirc: "ĝ", Gcy: "Г", gcy: "г", Gdot: "Ġ", gdot: "ġ", gE: "≧", ge: "≥", gEl: "⪌", gel: "⋛", geq: "≥", geqq: "≧", geqslant: "⩾", ges: "⩾", gescc: "⪩", gesdot: "⪀", gesdoto: "⪂", gesdotol: "⪄", gesl: "⋛︀", gesles: "⪔", Gfr: "𝔊", gfr: "𝔤", Gg: "⋙", gg: "≫", ggg: "⋙", gimel: "ℷ", GJcy: "Ѓ", gjcy: "ѓ", gl: "≷", gla: "⪥", glE: "⪒", glj: "⪤", gnap: "⪊", gnapprox: "⪊", gnE: "≩", gne: "⪈", gneq: "⪈", gneqq: "≩", gnsim: "⋧", Gopf: "𝔾", gopf: "𝕘", grave: "`", GreaterEqual: "≥", GreaterEqualLess: "⋛", GreaterFullEqual: "≧", GreaterGreater: "⪢", GreaterLess: "≷", GreaterSlantEqual: "⩾", GreaterTilde: "≳", Gscr: "𝒢", gscr: "ℊ", gsim: "≳", gsime: "⪎", gsiml: "⪐", Gt: "≫", GT: ">", gt: ">", gtcc: "⪧", gtcir: "⩺", gtdot: "⋗", gtlPar: "⦕", gtquest: "⩼", gtrapprox: "⪆", gtrarr: "⥸", gtrdot: "⋗", gtreqless: "⋛", gtreqqless: "⪌", gtrless: "≷", gtrsim: "≳", gvertneqq: "≩︀", gvnE: "≩︀", Hacek: "ˇ", hairsp: " ", half: "½", hamilt: "ℋ", HARDcy: "Ъ", hardcy: "ъ", hArr: "⇔", harr: "↔", harrcir: "⥈", harrw: "↭", Hat: "^", hbar: "ℏ", Hcirc: "Ĥ", hcirc: "ĥ", hearts: "♥", heartsuit: "♥", hellip: "…", hercon: "⊹", Hfr: "ℌ", hfr: "𝔥", HilbertSpace: "ℋ", hksearow: "⤥", hkswarow: "⤦", hoarr: "⇿", homtht: "∻", hookleftarrow: "↩", hookrightarrow: "↪", Hopf: "ℍ", hopf: "𝕙", horbar: "―", HorizontalLine: "─", Hscr: "ℋ", hscr: "𝒽", hslash: "ℏ", Hstrok: "Ħ", hstrok: "ħ", HumpDownHump: "≎", HumpEqual: "≏", hybull: "⁃", hyphen: "‐", Iacute: "Í", iacute: "í", ic: "⁣", Icirc: "Î", icirc: "î", Icy: "И", icy: "и", Idot: "İ", IEcy: "Е", iecy: "е", iexcl: "¡", iff: "⇔", Ifr: "ℑ", ifr: "𝔦", Igrave: "Ì", igrave: "ì", ii: "ⅈ", iiiint: "⨌", iiint: "∭", iinfin: "⧜", iiota: "℩", IJlig: "IJ", ijlig: "ij", Im: "ℑ", Imacr: "Ī", imacr: "ī", image: "ℑ", ImaginaryI: "ⅈ", imagline: "ℐ", imagpart: "ℑ", imath: "ı", imof: "⊷", imped: "Ƶ", Implies: "⇒", in: "∈", incare: "℅", infin: "∞", infintie: "⧝", inodot: "ı", Int: "∬", int: "∫", intcal: "⊺", integers: "ℤ", Integral: "∫", intercal: "⊺", Intersection: "⋂", intlarhk: "⨗", intprod: "⨼", InvisibleComma: "⁣", InvisibleTimes: "⁢", IOcy: "Ё", iocy: "ё", Iogon: "Į", iogon: "į", Iopf: "𝕀", iopf: "𝕚", Iota: "Ι", iota: "ι", iprod: "⨼", iquest: "¿", Iscr: "ℐ", iscr: "𝒾", isin: "∈", isindot: "⋵", isinE: "⋹", isins: "⋴", isinsv: "⋳", isinv: "∈", it: "⁢", Itilde: "Ĩ", itilde: "ĩ", Iukcy: "І", iukcy: "і", Iuml: "Ï", iuml: "ï", Jcirc: "Ĵ", jcirc: "ĵ", Jcy: "Й", jcy: "й", Jfr: "𝔍", jfr: "𝔧", jmath: "ȷ", Jopf: "𝕁", jopf: "𝕛", Jscr: "𝒥", jscr: "𝒿", Jsercy: "Ј", jsercy: "ј", Jukcy: "Є", jukcy: "є", Kappa: "Κ", kappa: "κ", kappav: "ϰ", Kcedil: "Ķ", kcedil: "ķ", Kcy: "К", kcy: "к", Kfr: "𝔎", kfr: "𝔨", kgreen: "ĸ", KHcy: "Х", khcy: "х", KJcy: "Ќ", kjcy: "ќ", Kopf: "𝕂", kopf: "𝕜", Kscr: "𝒦", kscr: "𝓀", lAarr: "⇚", Lacute: "Ĺ", lacute: "ĺ", laemptyv: "⦴", lagran: "ℒ", Lambda: "Λ", lambda: "λ", Lang: "⟪", lang: "⟨", langd: "⦑", langle: "⟨", lap: "⪅", Laplacetrf: "ℒ", laquo: "«", Larr: "↞", lArr: "⇐", larr: "←", larrb: "⇤", larrbfs: "⤟", larrfs: "⤝", larrhk: "↩", larrlp: "↫", larrpl: "⤹", larrsim: "⥳", larrtl: "↢", lat: "⪫", lAtail: "⤛", latail: "⤙", late: "⪭", lates: "⪭︀", lBarr: "⤎", lbarr: "⤌", lbbrk: "❲", lbrace: "{", lbrack: "[", lbrke: "⦋", lbrksld: "⦏", lbrkslu: "⦍", Lcaron: "Ľ", lcaron: "ľ", Lcedil: "Ļ", lcedil: "ļ", lceil: "⌈", lcub: "{", Lcy: "Л", lcy: "л", ldca: "⤶", ldquo: "“", ldquor: "„", ldrdhar: "⥧", ldrushar: "⥋", ldsh: "↲", lE: "≦", le: "≤", LeftAngleBracket: "⟨", LeftArrow: "←", Leftarrow: "⇐", leftarrow: "←", LeftArrowBar: "⇤", LeftArrowRightArrow: "⇆", leftarrowtail: "↢", LeftCeiling: "⌈", LeftDoubleBracket: "⟦", LeftDownTeeVector: "⥡", LeftDownVector: "⇃", LeftDownVectorBar: "⥙", LeftFloor: "⌊", leftharpoondown: "↽", leftharpoonup: "↼", leftleftarrows: "⇇", LeftRightArrow: "↔", Leftrightarrow: "⇔", leftrightarrow: "↔", leftrightarrows: "⇆", leftrightharpoons: "⇋", leftrightsquigarrow: "↭", LeftRightVector: "⥎", LeftTee: "⊣", LeftTeeArrow: "↤", LeftTeeVector: "⥚", leftthreetimes: "⋋", LeftTriangle: "⊲", LeftTriangleBar: "⧏", LeftTriangleEqual: "⊴", LeftUpDownVector: "⥑", LeftUpTeeVector: "⥠", LeftUpVector: "↿", LeftUpVectorBar: "⥘", LeftVector: "↼", LeftVectorBar: "⥒", lEg: "⪋", leg: "⋚", leq: "≤", leqq: "≦", leqslant: "⩽", les: "⩽", lescc: "⪨", lesdot: "⩿", lesdoto: "⪁", lesdotor: "⪃", lesg: "⋚︀", lesges: "⪓", lessapprox: "⪅", lessdot: "⋖", lesseqgtr: "⋚", lesseqqgtr: "⪋", LessEqualGreater: "⋚", LessFullEqual: "≦", LessGreater: "≶", lessgtr: "≶", LessLess: "⪡", lesssim: "≲", LessSlantEqual: "⩽", LessTilde: "≲", lfisht: "⥼", lfloor: "⌊", Lfr: "𝔏", lfr: "𝔩", lg: "≶", lgE: "⪑", lHar: "⥢", lhard: "↽", lharu: "↼", lharul: "⥪", lhblk: "▄", LJcy: "Љ", ljcy: "љ", Ll: "⋘", ll: "≪", llarr: "⇇", llcorner: "⌞", Lleftarrow: "⇚", llhard: "⥫", lltri: "◺", Lmidot: "Ŀ", lmidot: "ŀ", lmoust: "⎰", lmoustache: "⎰", lnap: "⪉", lnapprox: "⪉", lnE: "≨", lne: "⪇", lneq: "⪇", lneqq: "≨", lnsim: "⋦", loang: "⟬", loarr: "⇽", lobrk: "⟦", LongLeftArrow: "⟵", Longleftarrow: "⟸", longleftarrow: "⟵", LongLeftRightArrow: "⟷", Longleftrightarrow: "⟺", longleftrightarrow: "⟷", longmapsto: "⟼", LongRightArrow: "⟶", Longrightarrow: "⟹", longrightarrow: "⟶", looparrowleft: "↫", looparrowright: "↬", lopar: "⦅", Lopf: "𝕃", lopf: "𝕝", loplus: "⨭", lotimes: "⨴", lowast: "∗", lowbar: "_", LowerLeftArrow: "↙", LowerRightArrow: "↘", loz: "◊", lozenge: "◊", lozf: "⧫", lpar: "(", lparlt: "⦓", lrarr: "⇆", lrcorner: "⌟", lrhar: "⇋", lrhard: "⥭", lrm: "‎", lrtri: "⊿", lsaquo: "‹", Lscr: "ℒ", lscr: "𝓁", Lsh: "↰", lsh: "↰", lsim: "≲", lsime: "⪍", lsimg: "⪏", lsqb: "[", lsquo: "‘", lsquor: "‚", Lstrok: "Ł", lstrok: "ł", Lt: "≪", LT: "<", lt: "<", ltcc: "⪦", ltcir: "⩹", ltdot: "⋖", lthree: "⋋", ltimes: "⋉", ltlarr: "⥶", ltquest: "⩻", ltri: "◃", ltrie: "⊴", ltrif: "◂", ltrPar: "⦖", lurdshar: "⥊", luruhar: "⥦", lvertneqq: "≨︀", lvnE: "≨︀", macr: "¯", male: "♂", malt: "✠", maltese: "✠", Map: "⤅", map: "↦", mapsto: "↦", mapstodown: "↧", mapstoleft: "↤", mapstoup: "↥", marker: "▮", mcomma: "⨩", Mcy: "М", mcy: "м", mdash: "—", mDDot: "∺", measuredangle: "∡", MediumSpace: " ", Mellintrf: "ℳ", Mfr: "𝔐", mfr: "𝔪", mho: "℧", micro: "µ", mid: "∣", midast: "*", midcir: "⫰", middot: "·", minus: "−", minusb: "⊟", minusd: "∸", minusdu: "⨪", MinusPlus: "∓", mlcp: "⫛", mldr: "…", mnplus: "∓", models: "⊧", Mopf: "𝕄", mopf: "𝕞", mp: "∓", Mscr: "ℳ", mscr: "𝓂", mstpos: "∾", Mu: "Μ", mu: "μ", multimap: "⊸", mumap: "⊸", nabla: "∇", Nacute: "Ń", nacute: "ń", nang: "∠⃒", nap: "≉", napE: "⩰̸", napid: "≋̸", napos: "ʼn", napprox: "≉", natur: "♮", natural: "♮", naturals: "ℕ", nbsp: " ", nbump: "≎̸", nbumpe: "≏̸", ncap: "⩃", Ncaron: "Ň", ncaron: "ň", Ncedil: "Ņ", ncedil: "ņ", ncong: "≇", ncongdot: "⩭̸", ncup: "⩂", Ncy: "Н", ncy: "н", ndash: "–", ne: "≠", nearhk: "⤤", neArr: "⇗", nearr: "↗", nearrow: "↗", nedot: "≐̸", NegativeMediumSpace: "​", NegativeThickSpace: "​", NegativeThinSpace: "​", NegativeVeryThinSpace: "​", nequiv: "≢", nesear: "⤨", nesim: "≂̸", NestedGreaterGreater: "≫", NestedLessLess: "≪", NewLine: `
`, nexist: "∄", nexists: "∄", Nfr: "𝔑", nfr: "𝔫", ngE: "≧̸", nge: "≱", ngeq: "≱", ngeqq: "≧̸", ngeqslant: "⩾̸", nges: "⩾̸", nGg: "⋙̸", ngsim: "≵", nGt: "≫⃒", ngt: "≯", ngtr: "≯", nGtv: "≫̸", nhArr: "⇎", nharr: "↮", nhpar: "⫲", ni: "∋", nis: "⋼", nisd: "⋺", niv: "∋", NJcy: "Њ", njcy: "њ", nlArr: "⇍", nlarr: "↚", nldr: "‥", nlE: "≦̸", nle: "≰", nLeftarrow: "⇍", nleftarrow: "↚", nLeftrightarrow: "⇎", nleftrightarrow: "↮", nleq: "≰", nleqq: "≦̸", nleqslant: "⩽̸", nles: "⩽̸", nless: "≮", nLl: "⋘̸", nlsim: "≴", nLt: "≪⃒", nlt: "≮", nltri: "⋪", nltrie: "⋬", nLtv: "≪̸", nmid: "∤", NoBreak: "⁠", NonBreakingSpace: " ", Nopf: "ℕ", nopf: "𝕟", Not: "⫬", not: "¬", NotCongruent: "≢", NotCupCap: "≭", NotDoubleVerticalBar: "∦", NotElement: "∉", NotEqual: "≠", NotEqualTilde: "≂̸", NotExists: "∄", NotGreater: "≯", NotGreaterEqual: "≱", NotGreaterFullEqual: "≧̸", NotGreaterGreater: "≫̸", NotGreaterLess: "≹", NotGreaterSlantEqual: "⩾̸", NotGreaterTilde: "≵", NotHumpDownHump: "≎̸", NotHumpEqual: "≏̸", notin: "∉", notindot: "⋵̸", notinE: "⋹̸", notinva: "∉", notinvb: "⋷", notinvc: "⋶", NotLeftTriangle: "⋪", NotLeftTriangleBar: "⧏̸", NotLeftTriangleEqual: "⋬", NotLess: "≮", NotLessEqual: "≰", NotLessGreater: "≸", NotLessLess: "≪̸", NotLessSlantEqual: "⩽̸", NotLessTilde: "≴", NotNestedGreaterGreater: "⪢̸", NotNestedLessLess: "⪡̸", notni: "∌", notniva: "∌", notnivb: "⋾", notnivc: "⋽", NotPrecedes: "⊀", NotPrecedesEqual: "⪯̸", NotPrecedesSlantEqual: "⋠", NotReverseElement: "∌", NotRightTriangle: "⋫", NotRightTriangleBar: "⧐̸", NotRightTriangleEqual: "⋭", NotSquareSubset: "⊏̸", NotSquareSubsetEqual: "⋢", NotSquareSuperset: "⊐̸", NotSquareSupersetEqual: "⋣", NotSubset: "⊂⃒", NotSubsetEqual: "⊈", NotSucceeds: "⊁", NotSucceedsEqual: "⪰̸", NotSucceedsSlantEqual: "⋡", NotSucceedsTilde: "≿̸", NotSuperset: "⊃⃒", NotSupersetEqual: "⊉", NotTilde: "≁", NotTildeEqual: "≄", NotTildeFullEqual: "≇", NotTildeTilde: "≉", NotVerticalBar: "∤", npar: "∦", nparallel: "∦", nparsl: "⫽⃥", npart: "∂̸", npolint: "⨔", npr: "⊀", nprcue: "⋠", npre: "⪯̸", nprec: "⊀", npreceq: "⪯̸", nrArr: "⇏", nrarr: "↛", nrarrc: "⤳̸", nrarrw: "↝̸", nRightarrow: "⇏", nrightarrow: "↛", nrtri: "⋫", nrtrie: "⋭", nsc: "⊁", nsccue: "⋡", nsce: "⪰̸", Nscr: "𝒩", nscr: "𝓃", nshortmid: "∤", nshortparallel: "∦", nsim: "≁", nsime: "≄", nsimeq: "≄", nsmid: "∤", nspar: "∦", nsqsube: "⋢", nsqsupe: "⋣", nsub: "⊄", nsubE: "⫅̸", nsube: "⊈", nsubset: "⊂⃒", nsubseteq: "⊈", nsubseteqq: "⫅̸", nsucc: "⊁", nsucceq: "⪰̸", nsup: "⊅", nsupE: "⫆̸", nsupe: "⊉", nsupset: "⊃⃒", nsupseteq: "⊉", nsupseteqq: "⫆̸", ntgl: "≹", Ntilde: "Ñ", ntilde: "ñ", ntlg: "≸", ntriangleleft: "⋪", ntrianglelefteq: "⋬", ntriangleright: "⋫", ntrianglerighteq: "⋭", Nu: "Ν", nu: "ν", num: "#", numero: "№", numsp: " ", nvap: "≍⃒", nVDash: "⊯", nVdash: "⊮", nvDash: "⊭", nvdash: "⊬", nvge: "≥⃒", nvgt: ">⃒", nvHarr: "⤄", nvinfin: "⧞", nvlArr: "⤂", nvle: "≤⃒", nvlt: "<⃒", nvltrie: "⊴⃒", nvrArr: "⤃", nvrtrie: "⊵⃒", nvsim: "∼⃒", nwarhk: "⤣", nwArr: "⇖", nwarr: "↖", nwarrow: "↖", nwnear: "⤧", Oacute: "Ó", oacute: "ó", oast: "⊛", ocir: "⊚", Ocirc: "Ô", ocirc: "ô", Ocy: "О", ocy: "о", odash: "⊝", Odblac: "Ő", odblac: "ő", odiv: "⨸", odot: "⊙", odsold: "⦼", OElig: "Œ", oelig: "œ", ofcir: "⦿", Ofr: "𝔒", ofr: "𝔬", ogon: "˛", Ograve: "Ò", ograve: "ò", ogt: "⧁", ohbar: "⦵", ohm: "Ω", oint: "∮", olarr: "↺", olcir: "⦾", olcross: "⦻", oline: "‾", olt: "⧀", Omacr: "Ō", omacr: "ō", Omega: "Ω", omega: "ω", Omicron: "Ο", omicron: "ο", omid: "⦶", ominus: "⊖", Oopf: "𝕆", oopf: "𝕠", opar: "⦷", OpenCurlyDoubleQuote: "“", OpenCurlyQuote: "‘", operp: "⦹", oplus: "⊕", Or: "⩔", or: "∨", orarr: "↻", ord: "⩝", order: "ℴ", orderof: "ℴ", ordf: "ª", ordm: "º", origof: "⊶", oror: "⩖", orslope: "⩗", orv: "⩛", oS: "Ⓢ", Oscr: "𝒪", oscr: "ℴ", Oslash: "Ø", oslash: "ø", osol: "⊘", Otilde: "Õ", otilde: "õ", Otimes: "⨷", otimes: "⊗", otimesas: "⨶", Ouml: "Ö", ouml: "ö", ovbar: "⌽", OverBar: "‾", OverBrace: "⏞", OverBracket: "⎴", OverParenthesis: "⏜", par: "∥", para: "¶", parallel: "∥", parsim: "⫳", parsl: "⫽", part: "∂", PartialD: "∂", Pcy: "П", pcy: "п", percnt: "%", period: ".", permil: "‰", perp: "⊥", pertenk: "‱", Pfr: "𝔓", pfr: "𝔭", Phi: "Φ", phi: "φ", phiv: "ϕ", phmmat: "ℳ", phone: "☎", Pi: "Π", pi: "π", pitchfork: "⋔", piv: "ϖ", planck: "ℏ", planckh: "ℎ", plankv: "ℏ", plus: "+", plusacir: "⨣", plusb: "⊞", pluscir: "⨢", plusdo: "∔", plusdu: "⨥", pluse: "⩲", PlusMinus: "±", plusmn: "±", plussim: "⨦", plustwo: "⨧", pm: "±", Poincareplane: "ℌ", pointint: "⨕", Popf: "ℙ", popf: "𝕡", pound: "£", Pr: "⪻", pr: "≺", prap: "⪷", prcue: "≼", prE: "⪳", pre: "⪯", prec: "≺", precapprox: "⪷", preccurlyeq: "≼", Precedes: "≺", PrecedesEqual: "⪯", PrecedesSlantEqual: "≼", PrecedesTilde: "≾", preceq: "⪯", precnapprox: "⪹", precneqq: "⪵", precnsim: "⋨", precsim: "≾", Prime: "″", prime: "′", primes: "ℙ", prnap: "⪹", prnE: "⪵", prnsim: "⋨", prod: "∏", Product: "∏", profalar: "⌮", profline: "⌒", profsurf: "⌓", prop: "∝", Proportion: "∷", Proportional: "∝", propto: "∝", prsim: "≾", prurel: "⊰", Pscr: "𝒫", pscr: "𝓅", Psi: "Ψ", psi: "ψ", puncsp: " ", Qfr: "𝔔", qfr: "𝔮", qint: "⨌", Qopf: "ℚ", qopf: "𝕢", qprime: "⁗", Qscr: "𝒬", qscr: "𝓆", quaternions: "ℍ", quatint: "⨖", quest: "?", questeq: "≟", QUOT: '"', quot: '"', rAarr: "⇛", race: "∽̱", Racute: "Ŕ", racute: "ŕ", radic: "√", raemptyv: "⦳", Rang: "⟫", rang: "⟩", rangd: "⦒", range: "⦥", rangle: "⟩", raquo: "»", Rarr: "↠", rArr: "⇒", rarr: "→", rarrap: "⥵", rarrb: "⇥", rarrbfs: "⤠", rarrc: "⤳", rarrfs: "⤞", rarrhk: "↪", rarrlp: "↬", rarrpl: "⥅", rarrsim: "⥴", Rarrtl: "⤖", rarrtl: "↣", rarrw: "↝", rAtail: "⤜", ratail: "⤚", ratio: "∶", rationals: "ℚ", RBarr: "⤐", rBarr: "⤏", rbarr: "⤍", rbbrk: "❳", rbrace: "}", rbrack: "]", rbrke: "⦌", rbrksld: "⦎", rbrkslu: "⦐", Rcaron: "Ř", rcaron: "ř", Rcedil: "Ŗ", rcedil: "ŗ", rceil: "⌉", rcub: "}", Rcy: "Р", rcy: "р", rdca: "⤷", rdldhar: "⥩", rdquo: "”", rdquor: "”", rdsh: "↳", Re: "ℜ", real: "ℜ", realine: "ℛ", realpart: "ℜ", reals: "ℝ", rect: "▭", REG: "®", reg: "®", ReverseElement: "∋", ReverseEquilibrium: "⇋", ReverseUpEquilibrium: "⥯", rfisht: "⥽", rfloor: "⌋", Rfr: "ℜ", rfr: "𝔯", rHar: "⥤", rhard: "⇁", rharu: "⇀", rharul: "⥬", Rho: "Ρ", rho: "ρ", rhov: "ϱ", RightAngleBracket: "⟩", RightArrow: "→", Rightarrow: "⇒", rightarrow: "→", RightArrowBar: "⇥", RightArrowLeftArrow: "⇄", rightarrowtail: "↣", RightCeiling: "⌉", RightDoubleBracket: "⟧", RightDownTeeVector: "⥝", RightDownVector: "⇂", RightDownVectorBar: "⥕", RightFloor: "⌋", rightharpoondown: "⇁", rightharpoonup: "⇀", rightleftarrows: "⇄", rightleftharpoons: "⇌", rightrightarrows: "⇉", rightsquigarrow: "↝", RightTee: "⊢", RightTeeArrow: "↦", RightTeeVector: "⥛", rightthreetimes: "⋌", RightTriangle: "⊳", RightTriangleBar: "⧐", RightTriangleEqual: "⊵", RightUpDownVector: "⥏", RightUpTeeVector: "⥜", RightUpVector: "↾", RightUpVectorBar: "⥔", RightVector: "⇀", RightVectorBar: "⥓", ring: "˚", risingdotseq: "≓", rlarr: "⇄", rlhar: "⇌", rlm: "‏", rmoust: "⎱", rmoustache: "⎱", rnmid: "⫮", roang: "⟭", roarr: "⇾", robrk: "⟧", ropar: "⦆", Ropf: "ℝ", ropf: "𝕣", roplus: "⨮", rotimes: "⨵", RoundImplies: "⥰", rpar: ")", rpargt: "⦔", rppolint: "⨒", rrarr: "⇉", Rrightarrow: "⇛", rsaquo: "›", Rscr: "ℛ", rscr: "𝓇", Rsh: "↱", rsh: "↱", rsqb: "]", rsquo: "’", rsquor: "’", rthree: "⋌", rtimes: "⋊", rtri: "▹", rtrie: "⊵", rtrif: "▸", rtriltri: "⧎", RuleDelayed: "⧴", ruluhar: "⥨", rx: "℞", Sacute: "Ś", sacute: "ś", sbquo: "‚", Sc: "⪼", sc: "≻", scap: "⪸", Scaron: "Š", scaron: "š", sccue: "≽", scE: "⪴", sce: "⪰", Scedil: "Ş", scedil: "ş", Scirc: "Ŝ", scirc: "ŝ", scnap: "⪺", scnE: "⪶", scnsim: "⋩", scpolint: "⨓", scsim: "≿", Scy: "С", scy: "с", sdot: "⋅", sdotb: "⊡", sdote: "⩦", searhk: "⤥", seArr: "⇘", searr: "↘", searrow: "↘", sect: "§", semi: ";", seswar: "⤩", setminus: "∖", setmn: "∖", sext: "✶", Sfr: "𝔖", sfr: "𝔰", sfrown: "⌢", sharp: "♯", SHCHcy: "Щ", shchcy: "щ", SHcy: "Ш", shcy: "ш", ShortDownArrow: "↓", ShortLeftArrow: "←", shortmid: "∣", shortparallel: "∥", ShortRightArrow: "→", ShortUpArrow: "↑", shy: "­", Sigma: "Σ", sigma: "σ", sigmaf: "ς", sigmav: "ς", sim: "∼", simdot: "⩪", sime: "≃", simeq: "≃", simg: "⪞", simgE: "⪠", siml: "⪝", simlE: "⪟", simne: "≆", simplus: "⨤", simrarr: "⥲", slarr: "←", SmallCircle: "∘", smallsetminus: "∖", smashp: "⨳", smeparsl: "⧤", smid: "∣", smile: "⌣", smt: "⪪", smte: "⪬", smtes: "⪬︀", SOFTcy: "Ь", softcy: "ь", sol: "/", solb: "⧄", solbar: "⌿", Sopf: "𝕊", sopf: "𝕤", spades: "♠", spadesuit: "♠", spar: "∥", sqcap: "⊓", sqcaps: "⊓︀", sqcup: "⊔", sqcups: "⊔︀", Sqrt: "√", sqsub: "⊏", sqsube: "⊑", sqsubset: "⊏", sqsubseteq: "⊑", sqsup: "⊐", sqsupe: "⊒", sqsupset: "⊐", sqsupseteq: "⊒", squ: "□", Square: "□", square: "□", SquareIntersection: "⊓", SquareSubset: "⊏", SquareSubsetEqual: "⊑", SquareSuperset: "⊐", SquareSupersetEqual: "⊒", SquareUnion: "⊔", squarf: "▪", squf: "▪", srarr: "→", Sscr: "𝒮", sscr: "𝓈", ssetmn: "∖", ssmile: "⌣", sstarf: "⋆", Star: "⋆", star: "☆", starf: "★", straightepsilon: "ϵ", straightphi: "ϕ", strns: "¯", Sub: "⋐", sub: "⊂", subdot: "⪽", subE: "⫅", sube: "⊆", subedot: "⫃", submult: "⫁", subnE: "⫋", subne: "⊊", subplus: "⪿", subrarr: "⥹", Subset: "⋐", subset: "⊂", subseteq: "⊆", subseteqq: "⫅", SubsetEqual: "⊆", subsetneq: "⊊", subsetneqq: "⫋", subsim: "⫇", subsub: "⫕", subsup: "⫓", succ: "≻", succapprox: "⪸", succcurlyeq: "≽", Succeeds: "≻", SucceedsEqual: "⪰", SucceedsSlantEqual: "≽", SucceedsTilde: "≿", succeq: "⪰", succnapprox: "⪺", succneqq: "⪶", succnsim: "⋩", succsim: "≿", SuchThat: "∋", Sum: "∑", sum: "∑", sung: "♪", Sup: "⋑", sup: "⊃", sup1: "¹", sup2: "²", sup3: "³", supdot: "⪾", supdsub: "⫘", supE: "⫆", supe: "⊇", supedot: "⫄", Superset: "⊃", SupersetEqual: "⊇", suphsol: "⟉", suphsub: "⫗", suplarr: "⥻", supmult: "⫂", supnE: "⫌", supne: "⊋", supplus: "⫀", Supset: "⋑", supset: "⊃", supseteq: "⊇", supseteqq: "⫆", supsetneq: "⊋", supsetneqq: "⫌", supsim: "⫈", supsub: "⫔", supsup: "⫖", swarhk: "⤦", swArr: "⇙", swarr: "↙", swarrow: "↙", swnwar: "⤪", szlig: "ß", Tab: "	", target: "⌖", Tau: "Τ", tau: "τ", tbrk: "⎴", Tcaron: "Ť", tcaron: "ť", Tcedil: "Ţ", tcedil: "ţ", Tcy: "Т", tcy: "т", tdot: "⃛", telrec: "⌕", Tfr: "𝔗", tfr: "𝔱", there4: "∴", Therefore: "∴", therefore: "∴", Theta: "Θ", theta: "θ", thetasym: "ϑ", thetav: "ϑ", thickapprox: "≈", thicksim: "∼", ThickSpace: "  ", thinsp: " ", ThinSpace: " ", thkap: "≈", thksim: "∼", THORN: "Þ", thorn: "þ", Tilde: "∼", tilde: "˜", TildeEqual: "≃", TildeFullEqual: "≅", TildeTilde: "≈", times: "×", timesb: "⊠", timesbar: "⨱", timesd: "⨰", tint: "∭", toea: "⤨", top: "⊤", topbot: "⌶", topcir: "⫱", Topf: "𝕋", topf: "𝕥", topfork: "⫚", tosa: "⤩", tprime: "‴", TRADE: "™", trade: "™", triangle: "▵", triangledown: "▿", triangleleft: "◃", trianglelefteq: "⊴", triangleq: "≜", triangleright: "▹", trianglerighteq: "⊵", tridot: "◬", trie: "≜", triminus: "⨺", TripleDot: "⃛", triplus: "⨹", trisb: "⧍", tritime: "⨻", trpezium: "⏢", Tscr: "𝒯", tscr: "𝓉", TScy: "Ц", tscy: "ц", TSHcy: "Ћ", tshcy: "ћ", Tstrok: "Ŧ", tstrok: "ŧ", twixt: "≬", twoheadleftarrow: "↞", twoheadrightarrow: "↠", Uacute: "Ú", uacute: "ú", Uarr: "↟", uArr: "⇑", uarr: "↑", Uarrocir: "⥉", Ubrcy: "Ў", ubrcy: "ў", Ubreve: "Ŭ", ubreve: "ŭ", Ucirc: "Û", ucirc: "û", Ucy: "У", ucy: "у", udarr: "⇅", Udblac: "Ű", udblac: "ű", udhar: "⥮", ufisht: "⥾", Ufr: "𝔘", ufr: "𝔲", Ugrave: "Ù", ugrave: "ù", uHar: "⥣", uharl: "↿", uharr: "↾", uhblk: "▀", ulcorn: "⌜", ulcorner: "⌜", ulcrop: "⌏", ultri: "◸", Umacr: "Ū", umacr: "ū", uml: "¨", UnderBar: "_", UnderBrace: "⏟", UnderBracket: "⎵", UnderParenthesis: "⏝", Union: "⋃", UnionPlus: "⊎", Uogon: "Ų", uogon: "ų", Uopf: "𝕌", uopf: "𝕦", UpArrow: "↑", Uparrow: "⇑", uparrow: "↑", UpArrowBar: "⤒", UpArrowDownArrow: "⇅", UpDownArrow: "↕", Updownarrow: "⇕", updownarrow: "↕", UpEquilibrium: "⥮", upharpoonleft: "↿", upharpoonright: "↾", uplus: "⊎", UpperLeftArrow: "↖", UpperRightArrow: "↗", Upsi: "ϒ", upsi: "υ", upsih: "ϒ", Upsilon: "Υ", upsilon: "υ", UpTee: "⊥", UpTeeArrow: "↥", upuparrows: "⇈", urcorn: "⌝", urcorner: "⌝", urcrop: "⌎", Uring: "Ů", uring: "ů", urtri: "◹", Uscr: "𝒰", uscr: "𝓊", utdot: "⋰", Utilde: "Ũ", utilde: "ũ", utri: "▵", utrif: "▴", uuarr: "⇈", Uuml: "Ü", uuml: "ü", uwangle: "⦧", vangrt: "⦜", varepsilon: "ϵ", varkappa: "ϰ", varnothing: "∅", varphi: "ϕ", varpi: "ϖ", varpropto: "∝", vArr: "⇕", varr: "↕", varrho: "ϱ", varsigma: "ς", varsubsetneq: "⊊︀", varsubsetneqq: "⫋︀", varsupsetneq: "⊋︀", varsupsetneqq: "⫌︀", vartheta: "ϑ", vartriangleleft: "⊲", vartriangleright: "⊳", Vbar: "⫫", vBar: "⫨", vBarv: "⫩", Vcy: "В", vcy: "в", VDash: "⊫", Vdash: "⊩", vDash: "⊨", vdash: "⊢", Vdashl: "⫦", Vee: "⋁", vee: "∨", veebar: "⊻", veeeq: "≚", vellip: "⋮", Verbar: "‖", verbar: "|", Vert: "‖", vert: "|", VerticalBar: "∣", VerticalLine: "|", VerticalSeparator: "❘", VerticalTilde: "≀", VeryThinSpace: " ", Vfr: "𝔙", vfr: "𝔳", vltri: "⊲", vnsub: "⊂⃒", vnsup: "⊃⃒", Vopf: "𝕍", vopf: "𝕧", vprop: "∝", vrtri: "⊳", Vscr: "𝒱", vscr: "𝓋", vsubnE: "⫋︀", vsubne: "⊊︀", vsupnE: "⫌︀", vsupne: "⊋︀", Vvdash: "⊪", vzigzag: "⦚", Wcirc: "Ŵ", wcirc: "ŵ", wedbar: "⩟", Wedge: "⋀", wedge: "∧", wedgeq: "≙", weierp: "℘", Wfr: "𝔚", wfr: "𝔴", Wopf: "𝕎", wopf: "𝕨", wp: "℘", wr: "≀", wreath: "≀", Wscr: "𝒲", wscr: "𝓌", xcap: "⋂", xcirc: "◯", xcup: "⋃", xdtri: "▽", Xfr: "𝔛", xfr: "𝔵", xhArr: "⟺", xharr: "⟷", Xi: "Ξ", xi: "ξ", xlArr: "⟸", xlarr: "⟵", xmap: "⟼", xnis: "⋻", xodot: "⨀", Xopf: "𝕏", xopf: "𝕩", xoplus: "⨁", xotime: "⨂", xrArr: "⟹", xrarr: "⟶", Xscr: "𝒳", xscr: "𝓍", xsqcup: "⨆", xuplus: "⨄", xutri: "△", xvee: "⋁", xwedge: "⋀", Yacute: "Ý", yacute: "ý", YAcy: "Я", yacy: "я", Ycirc: "Ŷ", ycirc: "ŷ", Ycy: "Ы", ycy: "ы", yen: "¥", Yfr: "𝔜", yfr: "𝔶", YIcy: "Ї", yicy: "ї", Yopf: "𝕐", yopf: "𝕪", Yscr: "𝒴", yscr: "𝓎", YUcy: "Ю", yucy: "ю", Yuml: "Ÿ", yuml: "ÿ", Zacute: "Ź", zacute: "ź", Zcaron: "Ž", zcaron: "ž", Zcy: "З", zcy: "з", Zdot: "Ż", zdot: "ż", zeetrf: "ℨ", ZeroWidthSpace: "​", Zeta: "Ζ", zeta: "ζ", Zfr: "ℨ", zfr: "𝔷", ZHcy: "Ж", zhcy: "ж", zigrarr: "⇝", Zopf: "ℤ", zopf: "𝕫", Zscr: "𝒵", zscr: "𝓏", zwj: "‍", zwnj: "‌" }), E.entityMap = E.HTML_ENTITIES), cr;
  var E, l;
}
var ur, pr, dr, He = {};
function Tr() {
  if (ur) return He;
  ur = 1;
  var E = Pe(), l = hr(), I = je(), M = E.isHTMLEscapableRawTextElement, N = E.isHTMLMimeType, m = E.isHTMLRawTextElement, V = E.hasOwn, Q = E.NAMESPACE, Y = I.ParseError, a = I.DOMException;
  function h() {
  }
  h.prototype = { parse: function(o, i, d) {
    var T = this.domBuilder;
    T.startDocument(), le(i, i = /* @__PURE__ */ Object.create(null)), function(b, u, y, g, v) {
      var D = N(g.mimeType);
      b.indexOf(l.UNICODE_REPLACEMENT_CHARACTER) >= 0 && v.warning("Unicode replacement character detected, source encoding issues?");
      function f(R) {
        if (R > 65535) {
          var _ = 55296 + ((R -= 65536) >> 10), k = 56320 + (1023 & R);
          return String.fromCharCode(_, k);
        }
        return String.fromCharCode(R);
      }
      function F(R) {
        var _ = R[R.length - 1] === ";" ? R : R + ";";
        if (!D && _ !== R) return v.error("EntityRef: expecting ;"), R;
        var k = l.Reference.exec(_);
        if (!k || k[0].length !== _.length) return v.error("entity not matching Reference production: " + R), R;
        var K = _.slice(1, -1);
        return V(y, K) ? y[K] : K.charAt(0) === "#" ? f(parseInt(K.substr(1).replace("x", "0x"))) : (v.error("entity not found:" + R), R);
      }
      function C(R) {
        if (R > G) {
          var _ = b.substring(G, R).replace(p, F);
          x && W(G), g.characters(_, 0, R - G), G = R;
        }
      }
      function W(R, _) {
        for (; R >= pe && (_ = ne.exec(b)); ) P = _.index, pe = P + _[0].length, x.lineNumber++;
        x.columnNumber = R - P + 1;
      }
      for (var P = 0, pe = 0, ne = /.*(?:\r\n?|\n)|.*$/g, x = g.locator, J = [{ currentNSMap: u }], Z = [], G = 0; ; ) {
        try {
          var $ = b.indexOf("<", G);
          if ($ < 0) {
            if (!D && Z.length > 0) return v.fatalError("unclosed xml tag(s): " + Z.join(", "));
            if (!b.substring(G).match(/^\s*$/)) {
              var Ee = g.doc, me = Ee.createTextNode(b.substr(G));
              if (Ee.documentElement) return v.error("Extra content at the end of the document");
              Ee.appendChild(me), g.currentElement = me;
            }
            return;
          }
          if ($ > G) {
            var de = b.substring(G, $);
            D || Z.length !== 0 || (de = de.replace(new RegExp(l.S_OPT.source, "g"), "")) && v.error("Unexpected content outside root element: '" + de + "'"), C($);
          }
          switch (b.charAt($ + 1)) {
            case "/":
              var S = b.indexOf(">", $ + 2), ge = b.substring($ + 2, S > 0 ? S : void 0);
              if (!ge) return v.fatalError("end tag name missing");
              var ue = S > 0 && l.reg("^", l.QName_group, l.S_OPT, "$").exec(ge);
              if (!ue) return v.fatalError('end tag name contains invalid characters: "' + ge + '"');
              if (!g.currentElement && !g.doc.documentElement) return;
              var oe = Z[Z.length - 1] || g.currentElement.tagName || g.doc.documentElement.tagName || "";
              if (oe !== ue[1]) {
                var xe = ue[1].toLowerCase();
                if (!D || oe.toLowerCase() !== xe) return v.fatalError('Opening and ending tag mismatch: "' + oe + '" != "' + ge + '"');
              }
              var ve = J.pop();
              Z.pop();
              var ye = ve.localNSMap;
              if (g.endElement(ve.uri, ve.localName, oe), ye) for (var ce in ye) V(ye, ce) && g.endPrefixMapping(ce);
              S++;
              break;
            case "?":
              x && W($), S = c(b, $, g, v);
              break;
            case "!":
              x && W($), S = te(b, $, g, v, D);
              break;
            default:
              x && W($);
              var B = new A(), Ne = J[J.length - 1].currentNSMap, De = (S = U(b, $, B, Ne, F, v, D), B.length);
              if (B.closed || (D && E.isHTMLVoidElement(B.tagName) ? B.closed = !0 : Z.push(B.tagName)), x && De) {
                for (var Se = re(x, {}), Ae = 0; Ae < De; Ae++) {
                  var Re = B[Ae];
                  W(Re.offset), Re.locator = re(x, {});
                }
                g.locator = Se, X(B, g, Ne) && J.push(B), g.locator = x;
              } else X(B, g, Ne) && J.push(B);
              D && !B.closed ? S = he(b, S, B.tagName, F, g) : S++;
          }
        } catch (R) {
          if (R instanceof Y) throw R;
          if (R instanceof a) throw new Y(R.name + ": " + R.message, g.locator, R);
          v.error("element parse error: " + R), S = -1;
        }
        S > G ? G = S : C(Math.max($, G) + 1);
      }
    }(o, i, d, T, this.errorHandler), T.endDocument();
  } };
  var p = /&#?\w+;?/g;
  function re(o, i) {
    return i.lineNumber = o.lineNumber, i.columnNumber = o.columnNumber, i;
  }
  function U(o, i, d, T, b, u, y) {
    function g(W, P, pe) {
      return V(d.attributeNames, W) ? u.fatalError("Attribute " + W + " redefined") : !y && P.indexOf("<") >= 0 ? u.fatalError("Unescaped '<' not allowed in attributes values") : void d.addValue(W, P.replace(/[\t\n\r]/g, " ").replace(p, b), pe);
    }
    for (var v, D = ++i, f = 0; ; ) {
      var F = o.charAt(D);
      switch (F) {
        case "=":
          if (f === 1) v = o.slice(i, D), f = 3;
          else {
            if (f !== 2) throw new Error("attribute equal must after attrName");
            f = 3;
          }
          break;
        case "'":
        case '"':
          if (f === 3 || f === 1) {
            if (f === 1 && (u.warning('attribute value must after "="'), v = o.slice(i, D)), i = D + 1, !((D = o.indexOf(F, i)) > 0)) throw new Error("attribute value no end '" + F + "' match");
            g(v, C = o.slice(i, D), i - 1), f = 5;
          } else {
            if (f != 4) throw new Error('attribute value must after "="');
            g(v, C = o.slice(i, D), i), u.warning('attribute "' + v + '" missed start quot(' + F + ")!!"), i = D + 1, f = 5;
          }
          break;
        case "/":
          switch (f) {
            case 0:
              d.setTagName(o.slice(i, D));
            case 5:
            case 6:
            case 7:
              f = 7, d.closed = !0;
            case 4:
            case 1:
              break;
            case 2:
              d.closed = !0;
              break;
            default:
              throw new Error("attribute invalid close char('/')");
          }
          break;
        case "":
          return u.error("unexpected end of input"), f == 0 && d.setTagName(o.slice(i, D)), D;
        case ">":
          switch (f) {
            case 0:
              d.setTagName(o.slice(i, D));
            case 5:
            case 6:
            case 7:
              break;
            case 4:
            case 1:
              (C = o.slice(i, D)).slice(-1) === "/" && (d.closed = !0, C = C.slice(0, -1));
            case 2:
              f === 2 && (C = v), f == 4 ? (u.warning('attribute "' + C + '" missed quot(")!'), g(v, C, i)) : (y || u.warning('attribute "' + C + '" missed value!! "' + C + '" instead!!'), g(C, C, i));
              break;
            case 3:
              if (!y) return u.fatalError(`AttValue: ' or " expected`);
          }
          return D;
        case "€":
          F = " ";
        default:
          if (F <= " ") switch (f) {
            case 0:
              d.setTagName(o.slice(i, D)), f = 6;
              break;
            case 1:
              v = o.slice(i, D), f = 2;
              break;
            case 4:
              var C = o.slice(i, D);
              u.warning('attribute "' + C + '" missed quot(")!!'), g(v, C, i);
            case 5:
              f = 6;
          }
          else switch (f) {
            case 2:
              y || u.warning('attribute "' + v + '" missed value!! "' + v + '" instead2!!'), g(v, v, i), i = D, f = 1;
              break;
            case 5:
              u.warning('attribute space is required"' + v + '"!!');
            case 6:
              f = 1, i = D;
              break;
            case 3:
              f = 4, i = D;
              break;
            case 7:
              throw new Error("elements closed character '/' and '>' must be connected to");
          }
      }
      D++;
    }
  }
  function X(o, i, d) {
    for (var T = o.tagName, b = null, u = o.length; u--; ) {
      var y = o[u], g = y.qName, v = y.value;
      if ((C = g.indexOf(":")) > 0) var D = y.prefix = g.slice(0, C), f = g.slice(C + 1), F = D === "xmlns" && f;
      else f = g, D = null, F = g === "xmlns" && "";
      y.localName = f, F !== !1 && (b == null && (b = /* @__PURE__ */ Object.create(null), le(d, d = /* @__PURE__ */ Object.create(null))), d[F] = b[F] = v, y.uri = Q.XMLNS, i.startPrefixMapping(F, v));
    }
    for (u = o.length; u--; ) (y = o[u]).prefix && (y.prefix === "xml" && (y.uri = Q.XML), y.prefix !== "xmlns" && (y.uri = d[y.prefix]));
    var C;
    (C = T.indexOf(":")) > 0 ? (D = o.prefix = T.slice(0, C), f = o.localName = T.slice(C + 1)) : (D = null, f = o.localName = T);
    var W = o.uri = d[D || ""];
    if (i.startElement(W, f, T, o), !o.closed) return o.currentNSMap = d, o.localNSMap = b, !0;
    if (i.endElement(W, f, T), b) for (D in b) V(b, D) && i.endPrefixMapping(D);
  }
  function he(o, i, d, T, b) {
    var u = M(d);
    if (u || m(d)) {
      var y = o.indexOf("</" + d + ">", i), g = o.substring(i + 1, y);
      return u && (g = g.replace(p, T)), b.characters(g, 0, g.length), y;
    }
    return i + 1;
  }
  function le(o, i) {
    for (var d in o) V(o, d) && (i[d] = o[d]);
  }
  function se(o, i) {
    var d = i;
    function T(y) {
      return y = y || 0, o.charAt(d + y);
    }
    function b(y) {
      d += y = y || 1;
    }
    function u() {
      return o.substring(d);
    }
    return { char: T, getIndex: function() {
      return d;
    }, getMatch: function(y) {
      var g = l.reg("^", y).exec(u());
      return g ? (b(g[0].length), g[0]) : null;
    }, getSource: function() {
      return o;
    }, skip: b, skipBlanks: function() {
      for (var y = 0; d < o.length; ) {
        var g = T();
        if (g !== " " && g !== `
` && g !== "	" && g !== "\r") return y;
        y++, b();
      }
      return -1;
    }, substringFromIndex: u, substringStartsWith: function(y) {
      return o.substring(d, d + y.length) === y;
    }, substringStartsWithCaseInsensitive: function(y) {
      return o.substring(d, d + y.length).toUpperCase() === y.toUpperCase();
    } };
  }
  function te(o, i, d, T, b) {
    var u = se(o, i);
    switch (b ? u.char(2).toUpperCase() : u.char(2)) {
      case "-":
        var y = u.getMatch(l.Comment);
        return y ? (d.comment(y, l.COMMENT_START.length, y.length - l.COMMENT_START.length - l.COMMENT_END.length), u.getIndex()) : T.fatalError("comment is not well-formed at position " + u.getIndex());
      case "[":
        var g = u.getMatch(l.CDSect);
        return g ? b || d.currentElement ? (d.startCDATA(), d.characters(g, l.CDATA_START.length, g.length - l.CDATA_START.length - l.CDATA_END.length), d.endCDATA(), u.getIndex()) : T.fatalError("CDATA outside of element") : T.fatalError("Invalid CDATA starting at position " + i);
      case "D":
        if (d.doc && d.doc.documentElement) return T.fatalError("Doctype not allowed inside or after documentElement at position " + u.getIndex());
        if (b ? !u.substringStartsWithCaseInsensitive(l.DOCTYPE_DECL_START) : !u.substringStartsWith(l.DOCTYPE_DECL_START)) return T.fatalError("Expected " + l.DOCTYPE_DECL_START + " at position " + u.getIndex());
        if (u.skip(l.DOCTYPE_DECL_START.length), u.skipBlanks() < 1) return T.fatalError("Expected whitespace after " + l.DOCTYPE_DECL_START + " at position " + u.getIndex());
        var v = { name: void 0, publicId: void 0, systemId: void 0, internalSubset: void 0 };
        if (v.name = u.getMatch(l.Name), !v.name) return T.fatalError("doctype name missing or contains unexpected characters at position " + u.getIndex());
        if (b && v.name.toLowerCase() !== "html" && T.warning("Unexpected DOCTYPE in HTML document at position " + u.getIndex()), u.skipBlanks(), u.substringStartsWith(l.PUBLIC) || u.substringStartsWith(l.SYSTEM)) {
          var D = l.ExternalID_match.exec(u.substringFromIndex());
          if (!D) return T.fatalError("doctype external id is not well-formed at position " + u.getIndex());
          D.groups.SystemLiteralOnly !== void 0 ? v.systemId = D.groups.SystemLiteralOnly : (v.systemId = D.groups.SystemLiteral, v.publicId = D.groups.PubidLiteral), u.skip(D[0].length);
        } else if (b && u.substringStartsWithCaseInsensitive(l.SYSTEM)) {
          if (u.skip(l.SYSTEM.length), u.skipBlanks() < 1) return T.fatalError("Expected whitespace after " + l.SYSTEM + " at position " + u.getIndex());
          if (v.systemId = u.getMatch(l.ABOUT_LEGACY_COMPAT_SystemLiteral), !v.systemId) return T.fatalError("Expected " + l.ABOUT_LEGACY_COMPAT + " in single or double quotes after " + l.SYSTEM + " at position " + u.getIndex());
        }
        return b && v.systemId && !l.ABOUT_LEGACY_COMPAT_SystemLiteral.test(v.systemId) && T.warning("Unexpected doctype.systemId in HTML document at position " + u.getIndex()), b || (u.skipBlanks(), v.internalSubset = function(f, F) {
          function C(x, J) {
            var Z = l.PI.exec(x.substringFromIndex());
            return Z ? Z[1].toLowerCase() === "xml" ? J.fatalError("xml declaration is only allowed at the start of the document, but found at position " + x.getIndex()) : (x.skip(Z[0].length), Z[0]) : J.fatalError("processing instruction is not well-formed at position " + x.getIndex());
          }
          var W = f.getSource();
          if (f.char() === "[") {
            f.skip(1);
            for (var P = f.getIndex(); f.getIndex() < W.length; ) {
              if (f.skipBlanks(), f.char() === "]") {
                var pe = W.substring(P, f.getIndex());
                return f.skip(1), pe;
              }
              var ne = null;
              if (f.char() === "<" && f.char(1) === "!") switch (f.char(2)) {
                case "E":
                  f.char(3) === "L" ? ne = f.getMatch(l.elementdecl) : f.char(3) === "N" && (ne = f.getMatch(l.EntityDecl));
                  break;
                case "A":
                  ne = f.getMatch(l.AttlistDecl);
                  break;
                case "N":
                  ne = f.getMatch(l.NotationDecl);
                  break;
                case "-":
                  ne = f.getMatch(l.Comment);
              }
              else if (f.char() === "<" && f.char(1) === "?") ne = C(f, F);
              else {
                if (f.char() !== "%") return F.fatalError("Error detected in Markup declaration");
                ne = f.getMatch(l.PEReference);
              }
              if (!ne) return F.fatalError("Error in internal subset at position " + f.getIndex());
            }
            return F.fatalError("doctype internal subset is not well-formed, missing ]");
          }
        }(u, T)), u.skipBlanks(), u.char() !== ">" ? T.fatalError("doctype not terminated with > at position " + u.getIndex()) : (u.skip(1), d.startDTD(v.name, v.publicId, v.systemId, v.internalSubset), d.endDTD(), u.getIndex());
      default:
        return T.fatalError('Not well-formed XML starting with "<!" at position ' + i);
    }
  }
  function c(o, i, d, T) {
    var b = o.substring(i).match(l.PI);
    if (!b) return T.fatalError("Invalid processing instruction starting at position " + i);
    if (b[1].toLowerCase() === "xml") {
      if (i > 0) return T.fatalError("processing instruction at position " + i + " is an xml declaration which is only at the start of the document");
      if (!l.XMLDecl.test(o.substring(i))) return T.fatalError("xml declaration is not well-formed");
    }
    return d.processingInstruction(b[1], b[2]), i + b[0].length;
  }
  function A() {
    this.attributeNames = /* @__PURE__ */ Object.create(null);
  }
  return A.prototype = { setTagName: function(o) {
    if (!l.QName_exact.test(o)) throw new Error("invalid tagName:" + o);
    this.tagName = o;
  }, addValue: function(o, i, d) {
    if (!l.QName_exact.test(o)) throw new Error("invalid attribute:" + o);
    this.attributeNames[o] = this.length, this[this.length++] = { qName: o, value: i, offset: d };
  }, length: 0, getLocalName: function(o) {
    return this[o].localName;
  }, getLocator: function(o) {
    return this[o].locator;
  }, getQName: function(o) {
    return this[o].qName;
  }, getURI: function(o) {
    return this[o].uri;
  }, getValue: function(o) {
    return this[o].value;
  } }, He.XMLReader = h, He.parseUtils = se, He.parseDoctypeCommentOrCData = te, He;
}
function br() {
  if (pr) return Ce;
  pr = 1;
  var E = Pe(), l = mr(), I = je(), M = Nr(), N = Tr(), m = l.DOMImplementation, V = E.hasDefaultHTMLNamespace, Q = E.isHTMLMimeType, Y = E.isValidMimeType, a = E.MIME_TYPE, h = E.NAMESPACE, p = I.ParseError, re = N.XMLReader;
  function U(c) {
    return c.replace(/\r[\n\u0085]/g, `
`).replace(/[\r\u0085\u2028]/g, `
`);
  }
  function X(c) {
    if ((c = c || {}).locator === void 0 && (c.locator = !0), this.assign = c.assign || E.assign, this.domHandler = c.domHandler || he, this.onError = c.onError || c.errorHandler, c.errorHandler && typeof c.errorHandler != "function") throw new TypeError("errorHandler object is no longer supported, switch to onError!");
    c.errorHandler && c.errorHandler("warning", "The `errorHandler` option has been deprecated, use `onError` instead!", this), this.normalizeLineEndings = c.normalizeLineEndings || U, this.locator = !!c.locator, this.xmlns = this.assign(/* @__PURE__ */ Object.create(null), c.xmlns);
  }
  function he(c) {
    var A = c || {};
    this.mimeType = A.mimeType || a.XML_APPLICATION, this.defaultNamespace = A.defaultNamespace || null, this.cdata = !1, this.currentElement = void 0, this.doc = void 0, this.locator = void 0, this.onError = A.onError;
  }
  function le(c, A) {
    A.lineNumber = c.lineNumber, A.columnNumber = c.columnNumber;
  }
  function se(c, A, o) {
    return typeof c == "string" ? c.substr(A, o) : c.length >= A + o || A ? new java.lang.String(c, A, o) + "" : c;
  }
  function te(c, A) {
    c.currentElement ? c.currentElement.appendChild(A) : c.doc.appendChild(A);
  }
  return X.prototype.parseFromString = function(c, A) {
    if (!Y(A)) throw new TypeError('DOMParser.parseFromString: the provided mimeType "' + A + '" is not valid.');
    var o = this.assign(/* @__PURE__ */ Object.create(null), this.xmlns), i = M.XML_ENTITIES, d = o[""] || null;
    V(A) ? (i = M.HTML_ENTITIES, d = h.HTML) : A === a.XML_SVG_IMAGE && (d = h.SVG), o[""] = d, o.xml = o.xml || h.XML;
    var T = new this.domHandler({ mimeType: A, defaultNamespace: d, onError: this.onError }), b = this.locator ? {} : void 0;
    this.locator && T.setDocumentLocator(b);
    var u = new re();
    return u.errorHandler = T, u.domBuilder = T, !E.isHTMLMimeType(A) && typeof c != "string" && u.errorHandler.fatalError("source is not a string"), u.parse(this.normalizeLineEndings(String(c)), o, i), T.doc.documentElement || u.errorHandler.fatalError("missing root element"), T.doc;
  }, he.prototype = { startDocument: function() {
    var c = new m();
    this.doc = Q(this.mimeType) ? c.createHTMLDocument(!1) : c.createDocument(this.defaultNamespace, "");
  }, startElement: function(c, A, o, i) {
    var d = this.doc, T = d.createElementNS(c, o || A), b = i.length;
    te(this, T), this.currentElement = T, this.locator && le(this.locator, T);
    for (var u = 0; u < b; u++) {
      c = i.getURI(u);
      var y = i.getValue(u), g = (o = i.getQName(u), d.createAttributeNS(c, o));
      this.locator && le(i.getLocator(u), g), g.value = g.nodeValue = y, T.setAttributeNode(g);
    }
  }, endElement: function(c, A, o) {
    this.currentElement = this.currentElement.parentNode;
  }, startPrefixMapping: function(c, A) {
  }, endPrefixMapping: function(c) {
  }, processingInstruction: function(c, A) {
    var o = this.doc.createProcessingInstruction(c, A);
    this.locator && le(this.locator, o), te(this, o);
  }, ignorableWhitespace: function(c, A, o) {
  }, characters: function(c, A, o) {
    if (c = se.apply(this, arguments)) {
      if (this.cdata) var i = this.doc.createCDATASection(c);
      else i = this.doc.createTextNode(c);
      this.currentElement ? this.currentElement.appendChild(i) : /^\s*$/.test(c) && this.doc.appendChild(i), this.locator && le(this.locator, i);
    }
  }, skippedEntity: function(c) {
  }, endDocument: function() {
    this.doc.normalize();
  }, setDocumentLocator: function(c) {
    c && (c.lineNumber = 0), this.locator = c;
  }, comment: function(c, A, o) {
    c = se.apply(this, arguments);
    var i = this.doc.createComment(c);
    this.locator && le(this.locator, i), te(this, i);
  }, startCDATA: function() {
    this.cdata = !0;
  }, endCDATA: function() {
    this.cdata = !1;
  }, startDTD: function(c, A, o, i) {
    var d = this.doc.implementation;
    if (d && d.createDocumentType) {
      var T = d.createDocumentType(c, A, o, i);
      this.locator && le(this.locator, T), te(this, T), this.doc.doctype = T;
    }
  }, reportError: function(c, A) {
    if (typeof this.onError == "function") try {
      this.onError(c, A, this);
    } catch (o) {
      throw new p("Reporting " + c + ' "' + A + '" caused ' + o, this.locator);
    }
    else console.error("[xmldom " + c + "]	" + A, function(o) {
      if (o) return `
@#[line:` + o.lineNumber + ",col:" + o.columnNumber + "]";
    }(this.locator));
  }, warning: function(c) {
    this.reportError("warning", c);
  }, error: function(c) {
    this.reportError("error", c);
  }, fatalError: function(c) {
    throw this.reportError("fatalError", c), new p(c, this.locator);
  } }, "endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g, function(c) {
    he.prototype[c] = function() {
      return null;
    };
  }), Ce.__DOMHandler = he, Ce.DOMParser = X, Ce.normalizeLineEndings = U, Ce.onErrorStopParsing = function(c) {
    if (c === "error") throw "onErrorStopParsing";
  }, Ce.onWarningStopParsing = function() {
    throw "onWarningStopParsing";
  }, Ce;
}
var fr = function() {
  if (dr) return q;
  dr = 1;
  var E = Pe();
  q.assign = E.assign, q.hasDefaultHTMLNamespace = E.hasDefaultHTMLNamespace, q.isHTMLMimeType = E.isHTMLMimeType, q.isValidMimeType = E.isValidMimeType, q.MIME_TYPE = E.MIME_TYPE, q.NAMESPACE = E.NAMESPACE;
  var l = je();
  q.DOMException = l.DOMException, q.DOMExceptionName = l.DOMExceptionName, q.ExceptionCode = l.ExceptionCode, q.ParseError = l.ParseError;
  var I = mr();
  q.Attr = I.Attr, q.CDATASection = I.CDATASection, q.CharacterData = I.CharacterData, q.Comment = I.Comment, q.Document = I.Document, q.DocumentFragment = I.DocumentFragment, q.DocumentType = I.DocumentType, q.DOMImplementation = I.DOMImplementation, q.Element = I.Element, q.Entity = I.Entity, q.EntityReference = I.EntityReference, q.LiveNodeList = I.LiveNodeList, q.NamedNodeMap = I.NamedNodeMap, q.Node = I.Node, q.NodeList = I.NodeList, q.Notation = I.Notation, q.ProcessingInstruction = I.ProcessingInstruction, q.Text = I.Text, q.XMLSerializer = I.XMLSerializer;
  var M = br();
  return q.DOMParser = M.DOMParser, q.onErrorStopParsing = M.onErrorStopParsing, q.onWarningStopParsing = M.onWarningStopParsing, q;
}();
const wr = Er({ __proto__: null, default: gr(fr) }, [fr]);
export {
  wr as i
};