-
-
Save nonara/67ef1505a98a2c9ad02bf4ab06f0b183 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(() => { | |
var __create = Object.create; | |
var __defProp = Object.defineProperty; | |
var __getOwnPropDesc = Object.getOwnPropertyDescriptor; | |
var __getOwnPropNames = Object.getOwnPropertyNames; | |
var __getProtoOf = Object.getPrototypeOf; | |
var __hasOwnProp = Object.prototype.hasOwnProperty; | |
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true }); | |
var __commonJS = (cb, mod) => function __require() { | |
return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; | |
}; | |
var __reExport = (target, module, desc) => { | |
if (module && typeof module === "object" || typeof module === "function") { | |
for (let key of __getOwnPropNames(module)) | |
if (!__hasOwnProp.call(target, key) && key !== "default") | |
__defProp(target, key, { get: () => module[key], enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable }); | |
} | |
return target; | |
}; | |
var __toModule = (module) => { | |
return __reExport(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, "default", module && module.__esModule && "default" in module ? { get: () => module.default, enumerable: true } : { value: module, enumerable: true })), module); | |
}; | |
// ../node_modules/he/he.js | |
var require_he = __commonJS({ | |
"../node_modules/he/he.js"(exports, module) { | |
(function(root) { | |
var freeExports = typeof exports == "object" && exports; | |
var freeModule = typeof module == "object" && module && module.exports == freeExports && module; | |
var freeGlobal = typeof global == "object" && global; | |
if (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal) { | |
root = freeGlobal; | |
} | |
var regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; | |
var regexAsciiWhitelist = /[\x01-\x7F]/g; | |
var regexBmpWhitelist = /[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g; | |
var regexEncodeNonAscii = /<\u20D2|=\u20E5|>\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g; | |
var encodeMap = { "\xAD": "shy", "\u200C": "zwnj", "\u200D": "zwj", "\u200E": "lrm", "\u2063": "ic", "\u2062": "it", "\u2061": "af", "\u200F": "rlm", "\u200B": "ZeroWidthSpace", "\u2060": "NoBreak", "\u0311": "DownBreve", "\u20DB": "tdot", "\u20DC": "DotDot", " ": "Tab", "\n": "NewLine", "\u2008": "puncsp", "\u205F": "MediumSpace", "\u2009": "thinsp", "\u200A": "hairsp", "\u2004": "emsp13", "\u2002": "ensp", "\u2005": "emsp14", "\u2003": "emsp", "\u2007": "numsp", "\xA0": "nbsp", "\u205F\u200A": "ThickSpace", "\u203E": "oline", "_": "lowbar", "\u2010": "dash", "\u2013": "ndash", "\u2014": "mdash", "\u2015": "horbar", ",": "comma", ";": "semi", "\u204F": "bsemi", ":": "colon", "\u2A74": "Colone", "!": "excl", "\xA1": "iexcl", "?": "quest", "\xBF": "iquest", ".": "period", "\u2025": "nldr", "\u2026": "mldr", "\xB7": "middot", "'": "apos", "\u2018": "lsquo", "\u2019": "rsquo", "\u201A": "sbquo", "\u2039": "lsaquo", "\u203A": "rsaquo", '"': "quot", "\u201C": "ldquo", "\u201D": "rdquo", "\u201E": "bdquo", "\xAB": "laquo", "\xBB": "raquo", "(": "lpar", ")": "rpar", "[": "lsqb", "]": "rsqb", "{": "lcub", "}": "rcub", "\u2308": "lceil", "\u2309": "rceil", "\u230A": "lfloor", "\u230B": "rfloor", "\u2985": "lopar", "\u2986": "ropar", "\u298B": "lbrke", "\u298C": "rbrke", "\u298D": "lbrkslu", "\u298E": "rbrksld", "\u298F": "lbrksld", "\u2990": "rbrkslu", "\u2991": "langd", "\u2992": "rangd", "\u2993": "lparlt", "\u2994": "rpargt", "\u2995": "gtlPar", "\u2996": "ltrPar", "\u27E6": "lobrk", "\u27E7": "robrk", "\u27E8": "lang", "\u27E9": "rang", "\u27EA": "Lang", "\u27EB": "Rang", "\u27EC": "loang", "\u27ED": "roang", "\u2772": "lbbrk", "\u2773": "rbbrk", "\u2016": "Vert", "\xA7": "sect", "\xB6": "para", "@": "commat", "*": "ast", "/": "sol", "undefined": null, "&": "amp", "#": "num", "%": "percnt", "\u2030": "permil", "\u2031": "pertenk", "\u2020": "dagger", "\u2021": "Dagger", "\u2022": "bull", "\u2043": "hybull", "\u2032": "prime", "\u2033": "Prime", "\u2034": "tprime", "\u2057": "qprime", "\u2035": "bprime", "\u2041": "caret", "`": "grave", "\xB4": "acute", "\u02DC": "tilde", "^": "Hat", "\xAF": "macr", "\u02D8": "breve", "\u02D9": "dot", "\xA8": "die", "\u02DA": "ring", "\u02DD": "dblac", "\xB8": "cedil", "\u02DB": "ogon", "\u02C6": "circ", "\u02C7": "caron", "\xB0": "deg", "\xA9": "copy", "\xAE": "reg", "\u2117": "copysr", "\u2118": "wp", "\u211E": "rx", "\u2127": "mho", "\u2129": "iiota", "\u2190": "larr", "\u219A": "nlarr", "\u2192": "rarr", "\u219B": "nrarr", "\u2191": "uarr", "\u2193": "darr", "\u2194": "harr", "\u21AE": "nharr", "\u2195": "varr", "\u2196": "nwarr", "\u2197": "nearr", "\u2198": "searr", "\u2199": "swarr", "\u219D": "rarrw", "\u219D\u0338": "nrarrw", "\u219E": "Larr", "\u219F": "Uarr", "\u21A0": "Rarr", "\u21A1": "Darr", "\u21A2": "larrtl", "\u21A3": "rarrtl", "\u21A4": "mapstoleft", "\u21A5": "mapstoup", "\u21A6": "map", "\u21A7": "mapstodown", "\u21A9": "larrhk", "\u21AA": "rarrhk", "\u21AB": "larrlp", "\u21AC": "rarrlp", "\u21AD": "harrw", "\u21B0": "lsh", "\u21B1": "rsh", "\u21B2": "ldsh", "\u21B3": "rdsh", "\u21B5": "crarr", "\u21B6": "cularr", "\u21B7": "curarr", "\u21BA": "olarr", "\u21BB": "orarr", "\u21BC": "lharu", "\u21BD": "lhard", "\u21BE": "uharr", "\u21BF": "uharl", "\u21C0": "rharu", "\u21C1": "rhard", "\u21C2": "dharr", "\u21C3": "dharl", "\u21C4": "rlarr", "\u21C5": "udarr", "\u21C6": "lrarr", "\u21C7": "llarr", "\u21C8": "uuarr", "\u21C9": "rrarr", "\u21CA": "ddarr", "\u21CB": "lrhar", "\u21CC": "rlhar", "\u21D0": "lArr", "\u21CD": "nlArr", "\u21D1": "uArr", "\u21D2": "rArr", "\u21CF": "nrArr", "\u21D3": "dArr", "\u21D4": "iff", "\u21CE": "nhArr", "\u21D5": "vArr", "\u21D6": "nwArr", "\u21D7": "neArr", "\u21D8": "seArr", "\u21D9": "swArr", "\u21DA": "lAarr", "\u21DB": "rAarr", "\u21DD": "zigrarr", "\u21E4": "larrb", "\u21E5": "rarrb", "\u21F5": "duarr", "\u21FD": "loarr", "\u21FE": "roarr", "\u21FF": "hoarr", "\u2200": "forall", "\u2201": "comp", "\u2202": "part", "\u2202\u0338": "npart", "\u2203": "exist", "\u2204": "nexist", "\u2205": "empty", "\u2207": "Del", "\u2208": "in", "\u2209": "notin", "\u220B": "ni", "\u220C": "notni", "\u03F6": "bepsi", "\u220F": "prod", "\u2210": "coprod", "\u2211": "sum", "+": "plus", "\xB1": "pm", "\xF7": "div", "\xD7": "times", "<": "lt", "\u226E": "nlt", "<\u20D2": "nvlt", "=": "equals", "\u2260": "ne", "=\u20E5": "bne", "\u2A75": "Equal", ">": "gt", "\u226F": "ngt", ">\u20D2": "nvgt", "\xAC": "not", "|": "vert", "\xA6": "brvbar", "\u2212": "minus", "\u2213": "mp", "\u2214": "plusdo", "\u2044": "frasl", "\u2216": "setmn", "\u2217": "lowast", "\u2218": "compfn", "\u221A": "Sqrt", "\u221D": "prop", "\u221E": "infin", "\u221F": "angrt", "\u2220": "ang", "\u2220\u20D2": "nang", "\u2221": "angmsd", "\u2222": "angsph", "\u2223": "mid", "\u2224": "nmid", "\u2225": "par", "\u2226": "npar", "\u2227": "and", "\u2228": "or", "\u2229": "cap", "\u2229\uFE00": "caps", "\u222A": "cup", "\u222A\uFE00": "cups", "\u222B": "int", "\u222C": "Int", "\u222D": "tint", "\u2A0C": "qint", "\u222E": "oint", "\u222F": "Conint", "\u2230": "Cconint", "\u2231": "cwint", "\u2232": "cwconint", "\u2233": "awconint", "\u2234": "there4", "\u2235": "becaus", "\u2236": "ratio", "\u2237": "Colon", "\u2238": "minusd", "\u223A": "mDDot", "\u223B": "homtht", "\u223C": "sim", "\u2241": "nsim", "\u223C\u20D2": "nvsim", "\u223D": "bsim", "\u223D\u0331": "race", "\u223E": "ac", "\u223E\u0333": "acE", "\u223F": "acd", "\u2240": "wr", "\u2242": "esim", "\u2242\u0338": "nesim", "\u2243": "sime", "\u2244": "nsime", "\u2245": "cong", "\u2247": "ncong", "\u2246": "simne", "\u2248": "ap", "\u2249": "nap", "\u224A": "ape", "\u224B": "apid", "\u224B\u0338": "napid", "\u224C": "bcong", "\u224D": "CupCap", "\u226D": "NotCupCap", "\u224D\u20D2": "nvap", "\u224E": "bump", "\u224E\u0338": "nbump", "\u224F": "bumpe", "\u224F\u0338": "nbumpe", "\u2250": "doteq", "\u2250\u0338": "nedot", "\u2251": "eDot", "\u2252": "efDot", "\u2253": "erDot", "\u2254": "colone", "\u2255": "ecolon", "\u2256": "ecir", "\u2257": "cire", "\u2259": "wedgeq", "\u225A": "veeeq", "\u225C": "trie", "\u225F": "equest", "\u2261": "equiv", "\u2262": "nequiv", "\u2261\u20E5": "bnequiv", "\u2264": "le", "\u2270": "nle", "\u2264\u20D2": "nvle", "\u2265": "ge", "\u2271": "nge", "\u2265\u20D2": "nvge", "\u2266": "lE", "\u2266\u0338": "nlE", "\u2267": "gE", "\u2267\u0338": "ngE", "\u2268\uFE00": "lvnE", "\u2268": "lnE", "\u2269": "gnE", "\u2269\uFE00": "gvnE", "\u226A": "ll", "\u226A\u0338": "nLtv", "\u226A\u20D2": "nLt", "\u226B": "gg", "\u226B\u0338": "nGtv", "\u226B\u20D2": "nGt", "\u226C": "twixt", "\u2272": "lsim", "\u2274": "nlsim", "\u2273": "gsim", "\u2275": "ngsim", "\u2276": "lg", "\u2278": "ntlg", "\u2277": "gl", "\u2279": "ntgl", "\u227A": "pr", "\u2280": "npr", "\u227B": "sc", "\u2281": "nsc", "\u227C": "prcue", "\u22E0": "nprcue", "\u227D": "sccue", "\u22E1": "nsccue", "\u227E": "prsim", "\u227F": "scsim", "\u227F\u0338": "NotSucceedsTilde", "\u2282": "sub", "\u2284": "nsub", "\u2282\u20D2": "vnsub", "\u2283": "sup", "\u2285": "nsup", "\u2283\u20D2": "vnsup", "\u2286": "sube", "\u2288": "nsube", "\u2287": "supe", "\u2289": "nsupe", "\u228A\uFE00": "vsubne", "\u228A": "subne", "\u228B\uFE00": "vsupne", "\u228B": "supne", "\u228D": "cupdot", "\u228E": "uplus", "\u228F": "sqsub", "\u228F\u0338": "NotSquareSubset", "\u2290": "sqsup", "\u2290\u0338": "NotSquareSuperset", "\u2291": "sqsube", "\u22E2": "nsqsube", "\u2292": "sqsupe", "\u22E3": "nsqsupe", "\u2293": "sqcap", "\u2293\uFE00": "sqcaps", "\u2294": "sqcup", "\u2294\uFE00": "sqcups", "\u2295": "oplus", "\u2296": "ominus", "\u2297": "otimes", "\u2298": "osol", "\u2299": "odot", "\u229A": "ocir", "\u229B": "oast", "\u229D": "odash", "\u229E": "plusb", "\u229F": "minusb", "\u22A0": "timesb", "\u22A1": "sdotb", "\u22A2": "vdash", "\u22AC": "nvdash", "\u22A3": "dashv", "\u22A4": "top", "\u22A5": "bot", "\u22A7": "models", "\u22A8": "vDash", "\u22AD": "nvDash", "\u22A9": "Vdash", "\u22AE": "nVdash", "\u22AA": "Vvdash", "\u22AB": "VDash", "\u22AF": "nVDash", "\u22B0": "prurel", "\u22B2": "vltri", "\u22EA": "nltri", "\u22B3": "vrtri", "\u22EB": "nrtri", "\u22B4": "ltrie", "\u22EC": "nltrie", "\u22B4\u20D2": "nvltrie", "\u22B5": "rtrie", "\u22ED": "nrtrie", "\u22B5\u20D2": "nvrtrie", "\u22B6": "origof", "\u22B7": "imof", "\u22B8": "mumap", "\u22B9": "hercon", "\u22BA": "intcal", "\u22BB": "veebar", "\u22BD": "barvee", "\u22BE": "angrtvb", "\u22BF": "lrtri", "\u22C0": "Wedge", "\u22C1": "Vee", "\u22C2": "xcap", "\u22C3": "xcup", "\u22C4": "diam", "\u22C5": "sdot", "\u22C6": "Star", "\u22C7": "divonx", "\u22C8": "bowtie", "\u22C9": "ltimes", "\u22CA": "rtimes", "\u22CB": "lthree", "\u22CC": "rthree", "\u22CD": "bsime", "\u22CE": "cuvee", "\u22CF": "cuwed", "\u22D0": "Sub", "\u22D1": "Sup", "\u22D2": "Cap", "\u22D3": "Cup", "\u22D4": "fork", "\u22D5": "epar", "\u22D6": "ltdot", "\u22D7": "gtdot", "\u22D8": "Ll", "\u22D8\u0338": "nLl", "\u22D9": "Gg", "\u22D9\u0338": "nGg", "\u22DA\uFE00": "lesg", "\u22DA": "leg", "\u22DB": "gel", "\u22DB\uFE00": "gesl", "\u22DE": "cuepr", "\u22DF": "cuesc", "\u22E6": "lnsim", "\u22E7": "gnsim", "\u22E8": "prnsim", "\u22E9": "scnsim", "\u22EE": "vellip", "\u22EF": "ctdot", "\u22F0": "utdot", "\u22F1": "dtdot", "\u22F2": "disin", "\u22F3": "isinsv", "\u22F4": "isins", "\u22F5": "isindot", "\u22F5\u0338": "notindot", "\u22F6": "notinvc", "\u22F7": "notinvb", "\u22F9": "isinE", "\u22F9\u0338": "notinE", "\u22FA": "nisd", "\u22FB": "xnis", "\u22FC": "nis", "\u22FD": "notnivc", "\u22FE": "notnivb", "\u2305": "barwed", "\u2306": "Barwed", "\u230C": "drcrop", "\u230D": "dlcrop", "\u230E": "urcrop", "\u230F": "ulcrop", "\u2310": "bnot", "\u2312": "profline", "\u2313": "profsurf", "\u2315": "telrec", "\u2316": "target", "\u231C": "ulcorn", "\u231D": "urcorn", "\u231E": "dlcorn", "\u231F": "drcorn", "\u2322": "frown", "\u2323": "smile", "\u232D": "cylcty", "\u232E": "profalar", "\u2336": "topbot", "\u233D": "ovbar", "\u233F": "solbar", "\u237C": "angzarr", "\u23B0": "lmoust", "\u23B1": "rmoust", "\u23B4": "tbrk", "\u23B5": "bbrk", "\u23B6": "bbrktbrk", "\u23DC": "OverParenthesis", "\u23DD": "UnderParenthesis", "\u23DE": "OverBrace", "\u23DF": "UnderBrace", "\u23E2": "trpezium", "\u23E7": "elinters", "\u2423": "blank", "\u2500": "boxh", "\u2502": "boxv", "\u250C": "boxdr", "\u2510": "boxdl", "\u2514": "boxur", "\u2518": "boxul", "\u251C": "boxvr", "\u2524": "boxvl", "\u252C": "boxhd", "\u2534": "boxhu", "\u253C": "boxvh", "\u2550": "boxH", "\u2551": "boxV", "\u2552": "boxdR", "\u2553": "boxDr", "\u2554": "boxDR", "\u2555": "boxdL", "\u2556": "boxDl", "\u2557": "boxDL", "\u2558": "boxuR", "\u2559": "boxUr", "\u255A": "boxUR", "\u255B": "boxuL", "\u255C": "boxUl", "\u255D": "boxUL", "\u255E": "boxvR", "\u255F": "boxVr", "\u2560": "boxVR", "\u2561": "boxvL", "\u2562": "boxVl", "\u2563": "boxVL", "\u2564": "boxHd", "\u2565": "boxhD", "\u2566": "boxHD", "\u2567": "boxHu", "\u2568": "boxhU", "\u2569": "boxHU", "\u256A": "boxvH", "\u256B": "boxVh", "\u256C": "boxVH", "\u2580": "uhblk", "\u2584": "lhblk", "\u2588": "block", "\u2591": "blk14", "\u2592": "blk12", "\u2593": "blk34", "\u25A1": "squ", "\u25AA": "squf", "\u25AB": "EmptyVerySmallSquare", "\u25AD": "rect", "\u25AE": "marker", "\u25B1": "fltns", "\u25B3": "xutri", "\u25B4": "utrif", "\u25B5": "utri", "\u25B8": "rtrif", "\u25B9": "rtri", "\u25BD": "xdtri", "\u25BE": "dtrif", "\u25BF": "dtri", "\u25C2": "ltrif", "\u25C3": "ltri", "\u25CA": "loz", "\u25CB": "cir", "\u25EC": "tridot", "\u25EF": "xcirc", "\u25F8": "ultri", "\u25F9": "urtri", "\u25FA": "lltri", "\u25FB": "EmptySmallSquare", "\u25FC": "FilledSmallSquare", "\u2605": "starf", "\u2606": "star", "\u260E": "phone", "\u2640": "female", "\u2642": "male", "\u2660": "spades", "\u2663": "clubs", "\u2665": "hearts", "\u2666": "diams", "\u266A": "sung", "\u2713": "check", "\u2717": "cross", "\u2720": "malt", "\u2736": "sext", "\u2758": "VerticalSeparator", "\u27C8": "bsolhsub", "\u27C9": "suphsol", "\u27F5": "xlarr", "\u27F6": "xrarr", "\u27F7": "xharr", "\u27F8": "xlArr", "\u27F9": "xrArr", "\u27FA": "xhArr", "\u27FC": "xmap", "\u27FF": "dzigrarr", "\u2902": "nvlArr", "\u2903": "nvrArr", "\u2904": "nvHarr", "\u2905": "Map", "\u290C": "lbarr", "\u290D": "rbarr", "\u290E": "lBarr", "\u290F": "rBarr", "\u2910": "RBarr", "\u2911": "DDotrahd", "\u2912": "UpArrowBar", "\u2913": "DownArrowBar", "\u2916": "Rarrtl", "\u2919": "latail", "\u291A": "ratail", "\u291B": "lAtail", "\u291C": "rAtail", "\u291D": "larrfs", "\u291E": "rarrfs", "\u291F": "larrbfs", "\u2920": "rarrbfs", "\u2923": "nwarhk", "\u2924": "nearhk", "\u2925": "searhk", "\u2926": "swarhk", "\u2927": "nwnear", "\u2928": "toea", "\u2929": "tosa", "\u292A": "swnwar", "\u2933": "rarrc", "\u2933\u0338": "nrarrc", "\u2935": "cudarrr", "\u2936": "ldca", "\u2937": "rdca", "\u2938": "cudarrl", "\u2939": "larrpl", "\u293C": "curarrm", "\u293D": "cularrp", "\u2945": "rarrpl", "\u2948": "harrcir", "\u2949": "Uarrocir", "\u294A": "lurdshar", "\u294B": "ldrushar", "\u294E": "LeftRightVector", "\u294F": "RightUpDownVector", "\u2950": "DownLeftRightVector", "\u2951": "LeftUpDownVector", "\u2952": "LeftVectorBar", "\u2953": "RightVectorBar", "\u2954": "RightUpVectorBar", "\u2955": "RightDownVectorBar", "\u2956": "DownLeftVectorBar", "\u2957": "DownRightVectorBar", "\u2958": "LeftUpVectorBar", "\u2959": "LeftDownVectorBar", "\u295A": "LeftTeeVector", "\u295B": "RightTeeVector", "\u295C": "RightUpTeeVector", "\u295D": "RightDownTeeVector", "\u295E": "DownLeftTeeVector", "\u295F": "DownRightTeeVector", "\u2960": "LeftUpTeeVector", "\u2961": "LeftDownTeeVector", "\u2962": "lHar", "\u2963": "uHar", "\u2964": "rHar", "\u2965": "dHar", "\u2966": "luruhar", "\u2967": "ldrdhar", "\u2968": "ruluhar", "\u2969": "rdldhar", "\u296A": "lharul", "\u296B": "llhard", "\u296C": "rharul", "\u296D": "lrhard", "\u296E": "udhar", "\u296F": "duhar", "\u2970": "RoundImplies", "\u2971": "erarr", "\u2972": "simrarr", "\u2973": "larrsim", "\u2974": "rarrsim", "\u2975": "rarrap", "\u2976": "ltlarr", "\u2978": "gtrarr", "\u2979": "subrarr", "\u297B": "suplarr", "\u297C": "lfisht", "\u297D": "rfisht", "\u297E": "ufisht", "\u297F": "dfisht", "\u299A": "vzigzag", "\u299C": "vangrt", "\u299D": "angrtvbd", "\u29A4": "ange", "\u29A5": "range", "\u29A6": "dwangle", "\u29A7": "uwangle", "\u29A8": "angmsdaa", "\u29A9": "angmsdab", "\u29AA": "angmsdac", "\u29AB": "angmsdad", "\u29AC": "angmsdae", "\u29AD": "angmsdaf", "\u29AE": "angmsdag", "\u29AF": "angmsdah", "\u29B0": "bemptyv", "\u29B1": "demptyv", "\u29B2": "cemptyv", "\u29B3": "raemptyv", "\u29B4": "laemptyv", "\u29B5": "ohbar", "\u29B6": "omid", "\u29B7": "opar", "\u29B9": "operp", "\u29BB": "olcross", "\u29BC": "odsold", "\u29BE": "olcir", "\u29BF": "ofcir", "\u29C0": "olt", "\u29C1": "ogt", "\u29C2": "cirscir", "\u29C3": "cirE", "\u29C4": "solb", "\u29C5": "bsolb", "\u29C9": "boxbox", "\u29CD": "trisb", "\u29CE": "rtriltri", "\u29CF": "LeftTriangleBar", "\u29CF\u0338": "NotLeftTriangleBar", "\u29D0": "RightTriangleBar", "\u29D0\u0338": "NotRightTriangleBar", "\u29DC": "iinfin", "\u29DD": "infintie", "\u29DE": "nvinfin", "\u29E3": "eparsl", "\u29E4": "smeparsl", "\u29E5": "eqvparsl", "\u29EB": "lozf", "\u29F4": "RuleDelayed", "\u29F6": "dsol", "\u2A00": "xodot", "\u2A01": "xoplus", "\u2A02": "xotime", "\u2A04": "xuplus", "\u2A06": "xsqcup", "\u2A0D": "fpartint", "\u2A10": "cirfnint", "\u2A11": "awint", "\u2A12": "rppolint", "\u2A13": "scpolint", "\u2A14": "npolint", "\u2A15": "pointint", "\u2A16": "quatint", "\u2A17": "intlarhk", "\u2A22": "pluscir", "\u2A23": "plusacir", "\u2A24": "simplus", "\u2A25": "plusdu", "\u2A26": "plussim", "\u2A27": "plustwo", "\u2A29": "mcomma", "\u2A2A": "minusdu", "\u2A2D": "loplus", "\u2A2E": "roplus", "\u2A2F": "Cross", "\u2A30": "timesd", "\u2A31": "timesbar", "\u2A33": "smashp", "\u2A34": "lotimes", "\u2A35": "rotimes", "\u2A36": "otimesas", "\u2A37": "Otimes", "\u2A38": "odiv", "\u2A39": "triplus", "\u2A3A": "triminus", "\u2A3B": "tritime", "\u2A3C": "iprod", "\u2A3F": "amalg", "\u2A40": "capdot", "\u2A42": "ncup", "\u2A43": "ncap", "\u2A44": "capand", "\u2A45": "cupor", "\u2A46": "cupcap", "\u2A47": "capcup", "\u2A48": "cupbrcap", "\u2A49": "capbrcup", "\u2A4A": "cupcup", "\u2A4B": "capcap", "\u2A4C": "ccups", "\u2A4D": "ccaps", "\u2A50": "ccupssm", "\u2A53": "And", "\u2A54": "Or", "\u2A55": "andand", "\u2A56": "oror", "\u2A57": "orslope", "\u2A58": "andslope", "\u2A5A": "andv", "\u2A5B": "orv", "\u2A5C": "andd", "\u2A5D": "ord", "\u2A5F": "wedbar", "\u2A66": "sdote", "\u2A6A": "simdot", "\u2A6D": "congdot", "\u2A6D\u0338": "ncongdot", "\u2A6E": "easter", "\u2A6F": "apacir", "\u2A70": "apE", "\u2A70\u0338": "napE", "\u2A71": "eplus", "\u2A72": "pluse", "\u2A73": "Esim", "\u2A77": "eDDot", "\u2A78": "equivDD", "\u2A79": "ltcir", "\u2A7A": "gtcir", "\u2A7B": "ltquest", "\u2A7C": "gtquest", "\u2A7D": "les", "\u2A7D\u0338": "nles", "\u2A7E": "ges", "\u2A7E\u0338": "nges", "\u2A7F": "lesdot", "\u2A80": "gesdot", "\u2A81": "lesdoto", "\u2A82": "gesdoto", "\u2A83": "lesdotor", "\u2A84": "gesdotol", "\u2A85": "lap", "\u2A86": "gap", "\u2A87": "lne", "\u2A88": "gne", "\u2A89": "lnap", "\u2A8A": "gnap", "\u2A8B": "lEg", "\u2A8C": "gEl", "\u2A8D": "lsime", "\u2A8E": "gsime", "\u2A8F": "lsimg", "\u2A90": "gsiml", "\u2A91": "lgE", "\u2A92": "glE", "\u2A93": "lesges", "\u2A94": "gesles", "\u2A95": "els", "\u2A96": "egs", "\u2A97": "elsdot", "\u2A98": "egsdot", "\u2A99": "el", "\u2A9A": "eg", "\u2A9D": "siml", "\u2A9E": "simg", "\u2A9F": "simlE", "\u2AA0": "simgE", "\u2AA1": "LessLess", "\u2AA1\u0338": "NotNestedLessLess", "\u2AA2": "GreaterGreater", "\u2AA2\u0338": "NotNestedGreaterGreater", "\u2AA4": "glj", "\u2AA5": "gla", "\u2AA6": "ltcc", "\u2AA7": "gtcc", "\u2AA8": "lescc", "\u2AA9": "gescc", "\u2AAA": "smt", "\u2AAB": "lat", "\u2AAC": "smte", "\u2AAC\uFE00": "smtes", "\u2AAD": "late", "\u2AAD\uFE00": "lates", "\u2AAE": "bumpE", "\u2AAF": "pre", "\u2AAF\u0338": "npre", "\u2AB0": "sce", "\u2AB0\u0338": "nsce", "\u2AB3": "prE", "\u2AB4": "scE", "\u2AB5": "prnE", "\u2AB6": "scnE", "\u2AB7": "prap", "\u2AB8": "scap", "\u2AB9": "prnap", "\u2ABA": "scnap", "\u2ABB": "Pr", "\u2ABC": "Sc", "\u2ABD": "subdot", "\u2ABE": "supdot", "\u2ABF": "subplus", "\u2AC0": "supplus", "\u2AC1": "submult", "\u2AC2": "supmult", "\u2AC3": "subedot", "\u2AC4": "supedot", "\u2AC5": "subE", "\u2AC5\u0338": "nsubE", "\u2AC6": "supE", "\u2AC6\u0338": "nsupE", "\u2AC7": "subsim", "\u2AC8": "supsim", "\u2ACB\uFE00": "vsubnE", "\u2ACB": "subnE", "\u2ACC\uFE00": "vsupnE", "\u2ACC": "supnE", "\u2ACF": "csub", "\u2AD0": "csup", "\u2AD1": "csube", "\u2AD2": "csupe", "\u2AD3": "subsup", "\u2AD4": "supsub", "\u2AD5": "subsub", "\u2AD6": "supsup", "\u2AD7": "suphsub", "\u2AD8": "supdsub", "\u2AD9": "forkv", "\u2ADA": "topfork", "\u2ADB": "mlcp", "\u2AE4": "Dashv", "\u2AE6": "Vdashl", "\u2AE7": "Barv", "\u2AE8": "vBar", "\u2AE9": "vBarv", "\u2AEB": "Vbar", "\u2AEC": "Not", "\u2AED": "bNot", "\u2AEE": "rnmid", "\u2AEF": "cirmid", "\u2AF0": "midcir", "\u2AF1": "topcir", "\u2AF2": "nhpar", "\u2AF3": "parsim", "\u2AFD": "parsl", "\u2AFD\u20E5": "nparsl", "\u266D": "flat", "\u266E": "natur", "\u266F": "sharp", "\xA4": "curren", "\xA2": "cent", "$": "dollar", "\xA3": "pound", "\xA5": "yen", "\u20AC": "euro", "\xB9": "sup1", "\xBD": "half", "\u2153": "frac13", "\xBC": "frac14", "\u2155": "frac15", "\u2159": "frac16", "\u215B": "frac18", "\xB2": "sup2", "\u2154": "frac23", "\u2156": "frac25", "\xB3": "sup3", "\xBE": "frac34", "\u2157": "frac35", "\u215C": "frac38", "\u2158": "frac45", "\u215A": "frac56", "\u215D": "frac58", "\u215E": "frac78", "\u{1D4B6}": "ascr", "\u{1D552}": "aopf", "\u{1D51E}": "afr", "\u{1D538}": "Aopf", "\u{1D504}": "Afr", "\u{1D49C}": "Ascr", "\xAA": "ordf", "\xE1": "aacute", "\xC1": "Aacute", "\xE0": "agrave", "\xC0": "Agrave", "\u0103": "abreve", "\u0102": "Abreve", "\xE2": "acirc", "\xC2": "Acirc", "\xE5": "aring", "\xC5": "angst", "\xE4": "auml", "\xC4": "Auml", "\xE3": "atilde", "\xC3": "Atilde", "\u0105": "aogon", "\u0104": "Aogon", "\u0101": "amacr", "\u0100": "Amacr", "\xE6": "aelig", "\xC6": "AElig", "\u{1D4B7}": "bscr", "\u{1D553}": "bopf", "\u{1D51F}": "bfr", "\u{1D539}": "Bopf", "\u212C": "Bscr", "\u{1D505}": "Bfr", "\u{1D520}": "cfr", "\u{1D4B8}": "cscr", "\u{1D554}": "copf", "\u212D": "Cfr", "\u{1D49E}": "Cscr", "\u2102": "Copf", "\u0107": "cacute", "\u0106": "Cacute", "\u0109": "ccirc", "\u0108": "Ccirc", "\u010D": "ccaron", "\u010C": "Ccaron", "\u010B": "cdot", "\u010A": "Cdot", "\xE7": "ccedil", "\xC7": "Ccedil", "\u2105": "incare", "\u{1D521}": "dfr", "\u2146": "dd", "\u{1D555}": "dopf", "\u{1D4B9}": "dscr", "\u{1D49F}": "Dscr", "\u{1D507}": "Dfr", "\u2145": "DD", "\u{1D53B}": "Dopf", "\u010F": "dcaron", "\u010E": "Dcaron", "\u0111": "dstrok", "\u0110": "Dstrok", "\xF0": "eth", "\xD0": "ETH", "\u2147": "ee", "\u212F": "escr", "\u{1D522}": "efr", "\u{1D556}": "eopf", "\u2130": "Escr", "\u{1D508}": "Efr", "\u{1D53C}": "Eopf", "\xE9": "eacute", "\xC9": "Eacute", "\xE8": "egrave", "\xC8": "Egrave", "\xEA": "ecirc", "\xCA": "Ecirc", "\u011B": "ecaron", "\u011A": "Ecaron", "\xEB": "euml", "\xCB": "Euml", "\u0117": "edot", "\u0116": "Edot", "\u0119": "eogon", "\u0118": "Eogon", "\u0113": "emacr", "\u0112": "Emacr", "\u{1D523}": "ffr", "\u{1D557}": "fopf", "\u{1D4BB}": "fscr", "\u{1D509}": "Ffr", "\u{1D53D}": "Fopf", "\u2131": "Fscr", "\uFB00": "fflig", "\uFB03": "ffilig", "\uFB04": "ffllig", "\uFB01": "filig", "fj": "fjlig", "\uFB02": "fllig", "\u0192": "fnof", "\u210A": "gscr", "\u{1D558}": "gopf", "\u{1D524}": "gfr", "\u{1D4A2}": "Gscr", "\u{1D53E}": "Gopf", "\u{1D50A}": "Gfr", "\u01F5": "gacute", "\u011F": "gbreve", "\u011E": "Gbreve", "\u011D": "gcirc", "\u011C": "Gcirc", "\u0121": "gdot", "\u0120": "Gdot", "\u0122": "Gcedil", "\u{1D525}": "hfr", "\u210E": "planckh", "\u{1D4BD}": "hscr", "\u{1D559}": "hopf", "\u210B": "Hscr", "\u210C": "Hfr", "\u210D": "Hopf", "\u0125": "hcirc", "\u0124": "Hcirc", "\u210F": "hbar", "\u0127": "hstrok", "\u0126": "Hstrok", "\u{1D55A}": "iopf", "\u{1D526}": "ifr", "\u{1D4BE}": "iscr", "\u2148": "ii", "\u{1D540}": "Iopf", "\u2110": "Iscr", "\u2111": "Im", "\xED": "iacute", "\xCD": "Iacute", "\xEC": "igrave", "\xCC": "Igrave", "\xEE": "icirc", "\xCE": "Icirc", "\xEF": "iuml", "\xCF": "Iuml", "\u0129": "itilde", "\u0128": "Itilde", "\u0130": "Idot", "\u012F": "iogon", "\u012E": "Iogon", "\u012B": "imacr", "\u012A": "Imacr", "\u0133": "ijlig", "\u0132": "IJlig", "\u0131": "imath", "\u{1D4BF}": "jscr", "\u{1D55B}": "jopf", "\u{1D527}": "jfr", "\u{1D4A5}": "Jscr", "\u{1D50D}": "Jfr", "\u{1D541}": "Jopf", "\u0135": "jcirc", "\u0134": "Jcirc", "\u0237": "jmath", "\u{1D55C}": "kopf", "\u{1D4C0}": "kscr", "\u{1D528}": "kfr", "\u{1D4A6}": "Kscr", "\u{1D542}": "Kopf", "\u{1D50E}": "Kfr", "\u0137": "kcedil", "\u0136": "Kcedil", "\u{1D529}": "lfr", "\u{1D4C1}": "lscr", "\u2113": "ell", "\u{1D55D}": "lopf", "\u2112": "Lscr", "\u{1D50F}": "Lfr", "\u{1D543}": "Lopf", "\u013A": "lacute", "\u0139": "Lacute", "\u013E": "lcaron", "\u013D": "Lcaron", "\u013C": "lcedil", "\u013B": "Lcedil", "\u0142": "lstrok", "\u0141": "Lstrok", "\u0140": "lmidot", "\u013F": "Lmidot", "\u{1D52A}": "mfr", "\u{1D55E}": "mopf", "\u{1D4C2}": "mscr", "\u{1D510}": "Mfr", "\u{1D544}": "Mopf", "\u2133": "Mscr", "\u{1D52B}": "nfr", "\u{1D55F}": "nopf", "\u{1D4C3}": "nscr", "\u2115": "Nopf", "\u{1D4A9}": "Nscr", "\u{1D511}": "Nfr", "\u0144": "nacute", "\u0143": "Nacute", "\u0148": "ncaron", "\u0147": "Ncaron", "\xF1": "ntilde", "\xD1": "Ntilde", "\u0146": "ncedil", "\u0145": "Ncedil", "\u2116": "numero", "\u014B": "eng", "\u014A": "ENG", "\u{1D560}": "oopf", "\u{1D52C}": "ofr", "\u2134": "oscr", "\u{1D4AA}": "Oscr", "\u{1D512}": "Ofr", "\u{1D546}": "Oopf", "\xBA": "ordm", "\xF3": "oacute", "\xD3": "Oacute", "\xF2": "ograve", "\xD2": "Ograve", "\xF4": "ocirc", "\xD4": "Ocirc", "\xF6": "ouml", "\xD6": "Ouml", "\u0151": "odblac", "\u0150": "Odblac", "\xF5": "otilde", "\xD5": "Otilde", "\xF8": "oslash", "\xD8": "Oslash", "\u014D": "omacr", "\u014C": "Omacr", "\u0153": "oelig", "\u0152": "OElig", "\u{1D52D}": "pfr", "\u{1D4C5}": "pscr", "\u{1D561}": "popf", "\u2119": "Popf", "\u{1D513}": "Pfr", "\u{1D4AB}": "Pscr", "\u{1D562}": "qopf", "\u{1D52E}": "qfr", "\u{1D4C6}": "qscr", "\u{1D4AC}": "Qscr", "\u{1D514}": "Qfr", "\u211A": "Qopf", "\u0138": "kgreen", "\u{1D52F}": "rfr", "\u{1D563}": "ropf", "\u{1D4C7}": "rscr", "\u211B": "Rscr", "\u211C": "Re", "\u211D": "Ropf", "\u0155": "racute", "\u0154": "Racute", "\u0159": "rcaron", "\u0158": "Rcaron", "\u0157": "rcedil", "\u0156": "Rcedil", "\u{1D564}": "sopf", "\u{1D4C8}": "sscr", "\u{1D530}": "sfr", "\u{1D54A}": "Sopf", "\u{1D516}": "Sfr", "\u{1D4AE}": "Sscr", "\u24C8": "oS", "\u015B": "sacute", "\u015A": "Sacute", "\u015D": "scirc", "\u015C": "Scirc", "\u0161": "scaron", "\u0160": "Scaron", "\u015F": "scedil", "\u015E": "Scedil", "\xDF": "szlig", "\u{1D531}": "tfr", "\u{1D4C9}": "tscr", "\u{1D565}": "topf", "\u{1D4AF}": "Tscr", "\u{1D517}": "Tfr", "\u{1D54B}": "Topf", "\u0165": "tcaron", "\u0164": "Tcaron", "\u0163": "tcedil", "\u0162": "Tcedil", "\u2122": "trade", "\u0167": "tstrok", "\u0166": "Tstrok", "\u{1D4CA}": "uscr", "\u{1D566}": "uopf", "\u{1D532}": "ufr", "\u{1D54C}": "Uopf", "\u{1D518}": "Ufr", "\u{1D4B0}": "Uscr", "\xFA": "uacute", "\xDA": "Uacute", "\xF9": "ugrave", "\xD9": "Ugrave", "\u016D": "ubreve", "\u016C": "Ubreve", "\xFB": "ucirc", "\xDB": "Ucirc", "\u016F": "uring", "\u016E": "Uring", "\xFC": "uuml", "\xDC": "Uuml", "\u0171": "udblac", "\u0170": "Udblac", "\u0169": "utilde", "\u0168": "Utilde", "\u0173": "uogon", "\u0172": "Uogon", "\u016B": "umacr", "\u016A": "Umacr", "\u{1D533}": "vfr", "\u{1D567}": "vopf", "\u{1D4CB}": "vscr", "\u{1D519}": "Vfr", "\u{1D54D}": "Vopf", "\u{1D4B1}": "Vscr", "\u{1D568}": "wopf", "\u{1D4CC}": "wscr", "\u{1D534}": "wfr", "\u{1D4B2}": "Wscr", "\u{1D54E}": "Wopf", "\u{1D51A}": "Wfr", "\u0175": "wcirc", "\u0174": "Wcirc", "\u{1D535}": "xfr", "\u{1D4CD}": "xscr", "\u{1D569}": "xopf", "\u{1D54F}": "Xopf", "\u{1D51B}": "Xfr", "\u{1D4B3}": "Xscr", "\u{1D536}": "yfr", "\u{1D4CE}": "yscr", "\u{1D56A}": "yopf", "\u{1D4B4}": "Yscr", "\u{1D51C}": "Yfr", "\u{1D550}": "Yopf", "\xFD": "yacute", "\xDD": "Yacute", "\u0177": "ycirc", "\u0176": "Ycirc", "\xFF": "yuml", "\u0178": "Yuml", "\u{1D4CF}": "zscr", "\u{1D537}": "zfr", "\u{1D56B}": "zopf", "\u2128": "Zfr", "\u2124": "Zopf", "\u{1D4B5}": "Zscr", "\u017A": "zacute", "\u0179": "Zacute", "\u017E": "zcaron", "\u017D": "Zcaron", "\u017C": "zdot", "\u017B": "Zdot", "\u01B5": "imped", "\xFE": "thorn", "\xDE": "THORN", "\u0149": "napos", "\u03B1": "alpha", "\u0391": "Alpha", "\u03B2": "beta", "\u0392": "Beta", "\u03B3": "gamma", "\u0393": "Gamma", "\u03B4": "delta", "\u0394": "Delta", "\u03B5": "epsi", "\u03F5": "epsiv", "\u0395": "Epsilon", "\u03DD": "gammad", "\u03DC": "Gammad", "\u03B6": "zeta", "\u0396": "Zeta", "\u03B7": "eta", "\u0397": "Eta", "\u03B8": "theta", "\u03D1": "thetav", "\u0398": "Theta", "\u03B9": "iota", "\u0399": "Iota", "\u03BA": "kappa", "\u03F0": "kappav", "\u039A": "Kappa", "\u03BB": "lambda", "\u039B": "Lambda", "\u03BC": "mu", "\xB5": "micro", "\u039C": "Mu", "\u03BD": "nu", "\u039D": "Nu", "\u03BE": "xi", "\u039E": "Xi", "\u03BF": "omicron", "\u039F": "Omicron", "\u03C0": "pi", "\u03D6": "piv", "\u03A0": "Pi", "\u03C1": "rho", "\u03F1": "rhov", "\u03A1": "Rho", "\u03C3": "sigma", "\u03A3": "Sigma", "\u03C2": "sigmaf", "\u03C4": "tau", "\u03A4": "Tau", "\u03C5": "upsi", "\u03A5": "Upsilon", "\u03D2": "Upsi", "\u03C6": "phi", "\u03D5": "phiv", "\u03A6": "Phi", "\u03C7": "chi", "\u03A7": "Chi", "\u03C8": "psi", "\u03A8": "Psi", "\u03C9": "omega", "\u03A9": "ohm", "\u0430": "acy", "\u0410": "Acy", "\u0431": "bcy", "\u0411": "Bcy", "\u0432": "vcy", "\u0412": "Vcy", "\u0433": "gcy", "\u0413": "Gcy", "\u0453": "gjcy", "\u0403": "GJcy", "\u0434": "dcy", "\u0414": "Dcy", "\u0452": "djcy", "\u0402": "DJcy", "\u0435": "iecy", "\u0415": "IEcy", "\u0451": "iocy", "\u0401": "IOcy", "\u0454": "jukcy", "\u0404": "Jukcy", "\u0436": "zhcy", "\u0416": "ZHcy", "\u0437": "zcy", "\u0417": "Zcy", "\u0455": "dscy", "\u0405": "DScy", "\u0438": "icy", "\u0418": "Icy", "\u0456": "iukcy", "\u0406": "Iukcy", "\u0457": "yicy", "\u0407": "YIcy", "\u0439": "jcy", "\u0419": "Jcy", "\u0458": "jsercy", "\u0408": "Jsercy", "\u043A": "kcy", "\u041A": "Kcy", "\u045C": "kjcy", "\u040C": "KJcy", "\u043B": "lcy", "\u041B": "Lcy", "\u0459": "ljcy", "\u0409": "LJcy", "\u043C": "mcy", "\u041C": "Mcy", "\u043D": "ncy", "\u041D": "Ncy", "\u045A": "njcy", "\u040A": "NJcy", "\u043E": "ocy", "\u041E": "Ocy", "\u043F": "pcy", "\u041F": "Pcy", "\u0440": "rcy", "\u0420": "Rcy", "\u0441": "scy", "\u0421": "Scy", "\u0442": "tcy", "\u0422": "Tcy", "\u045B": "tshcy", "\u040B": "TSHcy", "\u0443": "ucy", "\u0423": "Ucy", "\u045E": "ubrcy", "\u040E": "Ubrcy", "\u0444": "fcy", "\u0424": "Fcy", "\u0445": "khcy", "\u0425": "KHcy", "\u0446": "tscy", "\u0426": "TScy", "\u0447": "chcy", "\u0427": "CHcy", "\u045F": "dzcy", "\u040F": "DZcy", "\u0448": "shcy", "\u0428": "SHcy", "\u0449": "shchcy", "\u0429": "SHCHcy", "\u044A": "hardcy", "\u042A": "HARDcy", "\u044B": "ycy", "\u042B": "Ycy", "\u044C": "softcy", "\u042C": "SOFTcy", "\u044D": "ecy", "\u042D": "Ecy", "\u044E": "yucy", "\u042E": "YUcy", "\u044F": "yacy", "\u042F": "YAcy", "\u2135": "aleph", "\u2136": "beth", "\u2137": "gimel", "\u2138": "daleth" }; | |
var regexEscape = /["&'<>`]/g; | |
var escapeMap = { | |
'"': """, | |
"&": "&", | |
"'": "'", | |
"<": "<", | |
">": ">", | |
"`": "`" | |
}; | |
var regexInvalidEntity = /&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/; | |
var regexInvalidRawCodePoint = /[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; | |
var regexDecode = /&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g; | |
var decodeMap = { "aacute": "\xE1", "Aacute": "\xC1", "abreve": "\u0103", "Abreve": "\u0102", "ac": "\u223E", "acd": "\u223F", "acE": "\u223E\u0333", "acirc": "\xE2", "Acirc": "\xC2", "acute": "\xB4", "acy": "\u0430", "Acy": "\u0410", "aelig": "\xE6", "AElig": "\xC6", "af": "\u2061", "afr": "\u{1D51E}", "Afr": "\u{1D504}", "agrave": "\xE0", "Agrave": "\xC0", "alefsym": "\u2135", "aleph": "\u2135", "alpha": "\u03B1", "Alpha": "\u0391", "amacr": "\u0101", "Amacr": "\u0100", "amalg": "\u2A3F", "amp": "&", "AMP": "&", "and": "\u2227", "And": "\u2A53", "andand": "\u2A55", "andd": "\u2A5C", "andslope": "\u2A58", "andv": "\u2A5A", "ang": "\u2220", "ange": "\u29A4", "angle": "\u2220", "angmsd": "\u2221", "angmsdaa": "\u29A8", "angmsdab": "\u29A9", "angmsdac": "\u29AA", "angmsdad": "\u29AB", "angmsdae": "\u29AC", "angmsdaf": "\u29AD", "angmsdag": "\u29AE", "angmsdah": "\u29AF", "angrt": "\u221F", "angrtvb": "\u22BE", "angrtvbd": "\u299D", "angsph": "\u2222", "angst": "\xC5", "angzarr": "\u237C", "aogon": "\u0105", "Aogon": "\u0104", "aopf": "\u{1D552}", "Aopf": "\u{1D538}", "ap": "\u2248", "apacir": "\u2A6F", "ape": "\u224A", "apE": "\u2A70", "apid": "\u224B", "apos": "'", "ApplyFunction": "\u2061", "approx": "\u2248", "approxeq": "\u224A", "aring": "\xE5", "Aring": "\xC5", "ascr": "\u{1D4B6}", "Ascr": "\u{1D49C}", "Assign": "\u2254", "ast": "*", "asymp": "\u2248", "asympeq": "\u224D", "atilde": "\xE3", "Atilde": "\xC3", "auml": "\xE4", "Auml": "\xC4", "awconint": "\u2233", "awint": "\u2A11", "backcong": "\u224C", "backepsilon": "\u03F6", "backprime": "\u2035", "backsim": "\u223D", "backsimeq": "\u22CD", "Backslash": "\u2216", "Barv": "\u2AE7", "barvee": "\u22BD", "barwed": "\u2305", "Barwed": "\u2306", "barwedge": "\u2305", "bbrk": "\u23B5", "bbrktbrk": "\u23B6", "bcong": "\u224C", "bcy": "\u0431", "Bcy": "\u0411", "bdquo": "\u201E", "becaus": "\u2235", "because": "\u2235", "Because": "\u2235", "bemptyv": "\u29B0", "bepsi": "\u03F6", "bernou": "\u212C", "Bernoullis": "\u212C", "beta": "\u03B2", "Beta": "\u0392", "beth": "\u2136", "between": "\u226C", "bfr": "\u{1D51F}", "Bfr": "\u{1D505}", "bigcap": "\u22C2", "bigcirc": "\u25EF", "bigcup": "\u22C3", "bigodot": "\u2A00", "bigoplus": "\u2A01", "bigotimes": "\u2A02", "bigsqcup": "\u2A06", "bigstar": "\u2605", "bigtriangledown": "\u25BD", "bigtriangleup": "\u25B3", "biguplus": "\u2A04", "bigvee": "\u22C1", "bigwedge": "\u22C0", "bkarow": "\u290D", "blacklozenge": "\u29EB", "blacksquare": "\u25AA", "blacktriangle": "\u25B4", "blacktriangledown": "\u25BE", "blacktriangleleft": "\u25C2", "blacktriangleright": "\u25B8", "blank": "\u2423", "blk12": "\u2592", "blk14": "\u2591", "blk34": "\u2593", "block": "\u2588", "bne": "=\u20E5", "bnequiv": "\u2261\u20E5", "bnot": "\u2310", "bNot": "\u2AED", "bopf": "\u{1D553}", "Bopf": "\u{1D539}", "bot": "\u22A5", "bottom": "\u22A5", "bowtie": "\u22C8", "boxbox": "\u29C9", "boxdl": "\u2510", "boxdL": "\u2555", "boxDl": "\u2556", "boxDL": "\u2557", "boxdr": "\u250C", "boxdR": "\u2552", "boxDr": "\u2553", "boxDR": "\u2554", "boxh": "\u2500", "boxH": "\u2550", "boxhd": "\u252C", "boxhD": "\u2565", "boxHd": "\u2564", "boxHD": "\u2566", "boxhu": "\u2534", "boxhU": "\u2568", "boxHu": "\u2567", "boxHU": "\u2569", "boxminus": "\u229F", "boxplus": "\u229E", "boxtimes": "\u22A0", "boxul": "\u2518", "boxuL": "\u255B", "boxUl": "\u255C", "boxUL": "\u255D", "boxur": "\u2514", "boxuR": "\u2558", "boxUr": "\u2559", "boxUR": "\u255A", "boxv": "\u2502", "boxV": "\u2551", "boxvh": "\u253C", "boxvH": "\u256A", "boxVh": "\u256B", "boxVH": "\u256C", "boxvl": "\u2524", "boxvL": "\u2561", "boxVl": "\u2562", "boxVL": "\u2563", "boxvr": "\u251C", "boxvR": "\u255E", "boxVr": "\u255F", "boxVR": "\u2560", "bprime": "\u2035", "breve": "\u02D8", "Breve": "\u02D8", "brvbar": "\xA6", "bscr": "\u{1D4B7}", "Bscr": "\u212C", "bsemi": "\u204F", "bsim": "\u223D", "bsime": "\u22CD", "bsol": "\\", "bsolb": "\u29C5", "bsolhsub": "\u27C8", "bull": "\u2022", "bullet": "\u2022", "bump": "\u224E", "bumpe": "\u224F", "bumpE": "\u2AAE", "bumpeq": "\u224F", "Bumpeq": "\u224E", "cacute": "\u0107", "Cacute": "\u0106", "cap": "\u2229", "Cap": "\u22D2", "capand": "\u2A44", "capbrcup": "\u2A49", "capcap": "\u2A4B", "capcup": "\u2A47", "capdot": "\u2A40", "CapitalDifferentialD": "\u2145", "caps": "\u2229\uFE00", "caret": "\u2041", "caron": "\u02C7", "Cayleys": "\u212D", "ccaps": "\u2A4D", "ccaron": "\u010D", "Ccaron": "\u010C", "ccedil": "\xE7", "Ccedil": "\xC7", "ccirc": "\u0109", "Ccirc": "\u0108", "Cconint": "\u2230", "ccups": "\u2A4C", "ccupssm": "\u2A50", "cdot": "\u010B", "Cdot": "\u010A", "cedil": "\xB8", "Cedilla": "\xB8", "cemptyv": "\u29B2", "cent": "\xA2", "centerdot": "\xB7", "CenterDot": "\xB7", "cfr": "\u{1D520}", "Cfr": "\u212D", "chcy": "\u0447", "CHcy": "\u0427", "check": "\u2713", "checkmark": "\u2713", "chi": "\u03C7", "Chi": "\u03A7", "cir": "\u25CB", "circ": "\u02C6", "circeq": "\u2257", "circlearrowleft": "\u21BA", "circlearrowright": "\u21BB", "circledast": "\u229B", "circledcirc": "\u229A", "circleddash": "\u229D", "CircleDot": "\u2299", "circledR": "\xAE", "circledS": "\u24C8", "CircleMinus": "\u2296", "CirclePlus": "\u2295", "CircleTimes": "\u2297", "cire": "\u2257", "cirE": "\u29C3", "cirfnint": "\u2A10", "cirmid": "\u2AEF", "cirscir": "\u29C2", "ClockwiseContourIntegral": "\u2232", "CloseCurlyDoubleQuote": "\u201D", "CloseCurlyQuote": "\u2019", "clubs": "\u2663", "clubsuit": "\u2663", "colon": ":", "Colon": "\u2237", "colone": "\u2254", "Colone": "\u2A74", "coloneq": "\u2254", "comma": ",", "commat": "@", "comp": "\u2201", "compfn": "\u2218", "complement": "\u2201", "complexes": "\u2102", "cong": "\u2245", "congdot": "\u2A6D", "Congruent": "\u2261", "conint": "\u222E", "Conint": "\u222F", "ContourIntegral": "\u222E", "copf": "\u{1D554}", "Copf": "\u2102", "coprod": "\u2210", "Coproduct": "\u2210", "copy": "\xA9", "COPY": "\xA9", "copysr": "\u2117", "CounterClockwiseContourIntegral": "\u2233", "crarr": "\u21B5", "cross": "\u2717", "Cross": "\u2A2F", "cscr": "\u{1D4B8}", "Cscr": "\u{1D49E}", "csub": "\u2ACF", "csube": "\u2AD1", "csup": "\u2AD0", "csupe": "\u2AD2", "ctdot": "\u22EF", "cudarrl": "\u2938", "cudarrr": "\u2935", "cuepr": "\u22DE", "cuesc": "\u22DF", "cularr": "\u21B6", "cularrp": "\u293D", "cup": "\u222A", "Cup": "\u22D3", "cupbrcap": "\u2A48", "cupcap": "\u2A46", "CupCap": "\u224D", "cupcup": "\u2A4A", "cupdot": "\u228D", "cupor": "\u2A45", "cups": "\u222A\uFE00", "curarr": "\u21B7", "curarrm": "\u293C", "curlyeqprec": "\u22DE", "curlyeqsucc": "\u22DF", "curlyvee": "\u22CE", "curlywedge": "\u22CF", "curren": "\xA4", "curvearrowleft": "\u21B6", "curvearrowright": "\u21B7", "cuvee": "\u22CE", "cuwed": "\u22CF", "cwconint": "\u2232", "cwint": "\u2231", "cylcty": "\u232D", "dagger": "\u2020", "Dagger": "\u2021", "daleth": "\u2138", "darr": "\u2193", "dArr": "\u21D3", "Darr": "\u21A1", "dash": "\u2010", "dashv": "\u22A3", "Dashv": "\u2AE4", "dbkarow": "\u290F", "dblac": "\u02DD", "dcaron": "\u010F", "Dcaron": "\u010E", "dcy": "\u0434", "Dcy": "\u0414", "dd": "\u2146", "DD": "\u2145", "ddagger": "\u2021", "ddarr": "\u21CA", "DDotrahd": "\u2911", "ddotseq": "\u2A77", "deg": "\xB0", "Del": "\u2207", "delta": "\u03B4", "Delta": "\u0394", "demptyv": "\u29B1", "dfisht": "\u297F", "dfr": "\u{1D521}", "Dfr": "\u{1D507}", "dHar": "\u2965", "dharl": "\u21C3", "dharr": "\u21C2", "DiacriticalAcute": "\xB4", "DiacriticalDot": "\u02D9", "DiacriticalDoubleAcute": "\u02DD", "DiacriticalGrave": "`", "DiacriticalTilde": "\u02DC", "diam": "\u22C4", "diamond": "\u22C4", "Diamond": "\u22C4", "diamondsuit": "\u2666", "diams": "\u2666", "die": "\xA8", "DifferentialD": "\u2146", "digamma": "\u03DD", "disin": "\u22F2", "div": "\xF7", "divide": "\xF7", "divideontimes": "\u22C7", "divonx": "\u22C7", "djcy": "\u0452", "DJcy": "\u0402", "dlcorn": "\u231E", "dlcrop": "\u230D", "dollar": "$", "dopf": "\u{1D555}", "Dopf": "\u{1D53B}", "dot": "\u02D9", "Dot": "\xA8", "DotDot": "\u20DC", "doteq": "\u2250", "doteqdot": "\u2251", "DotEqual": "\u2250", "dotminus": "\u2238", "dotplus": "\u2214", "dotsquare": "\u22A1", "doublebarwedge": "\u2306", "DoubleContourIntegral": "\u222F", "DoubleDot": "\xA8", "DoubleDownArrow": "\u21D3", "DoubleLeftArrow": "\u21D0", "DoubleLeftRightArrow": "\u21D4", "DoubleLeftTee": "\u2AE4", "DoubleLongLeftArrow": "\u27F8", "DoubleLongLeftRightArrow": "\u27FA", "DoubleLongRightArrow": "\u27F9", "DoubleRightArrow": "\u21D2", "DoubleRightTee": "\u22A8", "DoubleUpArrow": "\u21D1", "DoubleUpDownArrow": "\u21D5", "DoubleVerticalBar": "\u2225", "downarrow": "\u2193", "Downarrow": "\u21D3", "DownArrow": "\u2193", "DownArrowBar": "\u2913", "DownArrowUpArrow": "\u21F5", "DownBreve": "\u0311", "downdownarrows": "\u21CA", "downharpoonleft": "\u21C3", "downharpoonright": "\u21C2", "DownLeftRightVector": "\u2950", "DownLeftTeeVector": "\u295E", "DownLeftVector": "\u21BD", "DownLeftVectorBar": "\u2956", "DownRightTeeVector": "\u295F", "DownRightVector": "\u21C1", "DownRightVectorBar": "\u2957", "DownTee": "\u22A4", "DownTeeArrow": "\u21A7", "drbkarow": "\u2910", "drcorn": "\u231F", "drcrop": "\u230C", "dscr": "\u{1D4B9}", "Dscr": "\u{1D49F}", "dscy": "\u0455", "DScy": "\u0405", "dsol": "\u29F6", "dstrok": "\u0111", "Dstrok": "\u0110", "dtdot": "\u22F1", "dtri": "\u25BF", "dtrif": "\u25BE", "duarr": "\u21F5", "duhar": "\u296F", "dwangle": "\u29A6", "dzcy": "\u045F", "DZcy": "\u040F", "dzigrarr": "\u27FF", "eacute": "\xE9", "Eacute": "\xC9", "easter": "\u2A6E", "ecaron": "\u011B", "Ecaron": "\u011A", "ecir": "\u2256", "ecirc": "\xEA", "Ecirc": "\xCA", "ecolon": "\u2255", "ecy": "\u044D", "Ecy": "\u042D", "eDDot": "\u2A77", "edot": "\u0117", "eDot": "\u2251", "Edot": "\u0116", "ee": "\u2147", "efDot": "\u2252", "efr": "\u{1D522}", "Efr": "\u{1D508}", "eg": "\u2A9A", "egrave": "\xE8", "Egrave": "\xC8", "egs": "\u2A96", "egsdot": "\u2A98", "el": "\u2A99", "Element": "\u2208", "elinters": "\u23E7", "ell": "\u2113", "els": "\u2A95", "elsdot": "\u2A97", "emacr": "\u0113", "Emacr": "\u0112", "empty": "\u2205", "emptyset": "\u2205", "EmptySmallSquare": "\u25FB", "emptyv": "\u2205", "EmptyVerySmallSquare": "\u25AB", "emsp": "\u2003", "emsp13": "\u2004", "emsp14": "\u2005", "eng": "\u014B", "ENG": "\u014A", "ensp": "\u2002", "eogon": "\u0119", "Eogon": "\u0118", "eopf": "\u{1D556}", "Eopf": "\u{1D53C}", "epar": "\u22D5", "eparsl": "\u29E3", "eplus": "\u2A71", "epsi": "\u03B5", "epsilon": "\u03B5", "Epsilon": "\u0395", "epsiv": "\u03F5", "eqcirc": "\u2256", "eqcolon": "\u2255", "eqsim": "\u2242", "eqslantgtr": "\u2A96", "eqslantless": "\u2A95", "Equal": "\u2A75", "equals": "=", "EqualTilde": "\u2242", "equest": "\u225F", "Equilibrium": "\u21CC", "equiv": "\u2261", "equivDD": "\u2A78", "eqvparsl": "\u29E5", "erarr": "\u2971", "erDot": "\u2253", "escr": "\u212F", "Escr": "\u2130", "esdot": "\u2250", "esim": "\u2242", "Esim": "\u2A73", "eta": "\u03B7", "Eta": "\u0397", "eth": "\xF0", "ETH": "\xD0", "euml": "\xEB", "Euml": "\xCB", "euro": "\u20AC", "excl": "!", "exist": "\u2203", "Exists": "\u2203", "expectation": "\u2130", "exponentiale": "\u2147", "ExponentialE": "\u2147", "fallingdotseq": "\u2252", "fcy": "\u0444", "Fcy": "\u0424", "female": "\u2640", "ffilig": "\uFB03", "fflig": "\uFB00", "ffllig": "\uFB04", "ffr": "\u{1D523}", "Ffr": "\u{1D509}", "filig": "\uFB01", "FilledSmallSquare": "\u25FC", "FilledVerySmallSquare": "\u25AA", "fjlig": "fj", "flat": "\u266D", "fllig": "\uFB02", "fltns": "\u25B1", "fnof": "\u0192", "fopf": "\u{1D557}", "Fopf": "\u{1D53D}", "forall": "\u2200", "ForAll": "\u2200", "fork": "\u22D4", "forkv": "\u2AD9", "Fouriertrf": "\u2131", "fpartint": "\u2A0D", "frac12": "\xBD", "frac13": "\u2153", "frac14": "\xBC", "frac15": "\u2155", "frac16": "\u2159", "frac18": "\u215B", "frac23": "\u2154", "frac25": "\u2156", "frac34": "\xBE", "frac35": "\u2157", "frac38": "\u215C", "frac45": "\u2158", "frac56": "\u215A", "frac58": "\u215D", "frac78": "\u215E", "frasl": "\u2044", "frown": "\u2322", "fscr": "\u{1D4BB}", "Fscr": "\u2131", "gacute": "\u01F5", "gamma": "\u03B3", "Gamma": "\u0393", "gammad": "\u03DD", "Gammad": "\u03DC", "gap": "\u2A86", "gbreve": "\u011F", "Gbreve": "\u011E", "Gcedil": "\u0122", "gcirc": "\u011D", "Gcirc": "\u011C", "gcy": "\u0433", "Gcy": "\u0413", "gdot": "\u0121", "Gdot": "\u0120", "ge": "\u2265", "gE": "\u2267", "gel": "\u22DB", "gEl": "\u2A8C", "geq": "\u2265", "geqq": "\u2267", "geqslant": "\u2A7E", "ges": "\u2A7E", "gescc": "\u2AA9", "gesdot": "\u2A80", "gesdoto": "\u2A82", "gesdotol": "\u2A84", "gesl": "\u22DB\uFE00", "gesles": "\u2A94", "gfr": "\u{1D524}", "Gfr": "\u{1D50A}", "gg": "\u226B", "Gg": "\u22D9", "ggg": "\u22D9", "gimel": "\u2137", "gjcy": "\u0453", "GJcy": "\u0403", "gl": "\u2277", "gla": "\u2AA5", "glE": "\u2A92", "glj": "\u2AA4", "gnap": "\u2A8A", "gnapprox": "\u2A8A", "gne": "\u2A88", "gnE": "\u2269", "gneq": "\u2A88", "gneqq": "\u2269", "gnsim": "\u22E7", "gopf": "\u{1D558}", "Gopf": "\u{1D53E}", "grave": "`", "GreaterEqual": "\u2265", "GreaterEqualLess": "\u22DB", "GreaterFullEqual": "\u2267", "GreaterGreater": "\u2AA2", "GreaterLess": "\u2277", "GreaterSlantEqual": "\u2A7E", "GreaterTilde": "\u2273", "gscr": "\u210A", "Gscr": "\u{1D4A2}", "gsim": "\u2273", "gsime": "\u2A8E", "gsiml": "\u2A90", "gt": ">", "Gt": "\u226B", "GT": ">", "gtcc": "\u2AA7", "gtcir": "\u2A7A", "gtdot": "\u22D7", "gtlPar": "\u2995", "gtquest": "\u2A7C", "gtrapprox": "\u2A86", "gtrarr": "\u2978", "gtrdot": "\u22D7", "gtreqless": "\u22DB", "gtreqqless": "\u2A8C", "gtrless": "\u2277", "gtrsim": "\u2273", "gvertneqq": "\u2269\uFE00", "gvnE": "\u2269\uFE00", "Hacek": "\u02C7", "hairsp": "\u200A", "half": "\xBD", "hamilt": "\u210B", "hardcy": "\u044A", "HARDcy": "\u042A", "harr": "\u2194", "hArr": "\u21D4", "harrcir": "\u2948", "harrw": "\u21AD", "Hat": "^", "hbar": "\u210F", "hcirc": "\u0125", "Hcirc": "\u0124", "hearts": "\u2665", "heartsuit": "\u2665", "hellip": "\u2026", "hercon": "\u22B9", "hfr": "\u{1D525}", "Hfr": "\u210C", "HilbertSpace": "\u210B", "hksearow": "\u2925", "hkswarow": "\u2926", "hoarr": "\u21FF", "homtht": "\u223B", "hookleftarrow": "\u21A9", "hookrightarrow": "\u21AA", "hopf": "\u{1D559}", "Hopf": "\u210D", "horbar": "\u2015", "HorizontalLine": "\u2500", "hscr": "\u{1D4BD}", "Hscr": "\u210B", "hslash": "\u210F", "hstrok": "\u0127", "Hstrok": "\u0126", "HumpDownHump": "\u224E", "HumpEqual": "\u224F", "hybull": "\u2043", "hyphen": "\u2010", "iacute": "\xED", "Iacute": "\xCD", "ic": "\u2063", "icirc": "\xEE", "Icirc": "\xCE", "icy": "\u0438", "Icy": "\u0418", "Idot": "\u0130", "iecy": "\u0435", "IEcy": "\u0415", "iexcl": "\xA1", "iff": "\u21D4", "ifr": "\u{1D526}", "Ifr": "\u2111", "igrave": "\xEC", "Igrave": "\xCC", "ii": "\u2148", "iiiint": "\u2A0C", "iiint": "\u222D", "iinfin": "\u29DC", "iiota": "\u2129", "ijlig": "\u0133", "IJlig": "\u0132", "Im": "\u2111", "imacr": "\u012B", "Imacr": "\u012A", "image": "\u2111", "ImaginaryI": "\u2148", "imagline": "\u2110", "imagpart": "\u2111", "imath": "\u0131", "imof": "\u22B7", "imped": "\u01B5", "Implies": "\u21D2", "in": "\u2208", "incare": "\u2105", "infin": "\u221E", "infintie": "\u29DD", "inodot": "\u0131", "int": "\u222B", "Int": "\u222C", "intcal": "\u22BA", "integers": "\u2124", "Integral": "\u222B", "intercal": "\u22BA", "Intersection": "\u22C2", "intlarhk": "\u2A17", "intprod": "\u2A3C", "InvisibleComma": "\u2063", "InvisibleTimes": "\u2062", "iocy": "\u0451", "IOcy": "\u0401", "iogon": "\u012F", "Iogon": "\u012E", "iopf": "\u{1D55A}", "Iopf": "\u{1D540}", "iota": "\u03B9", "Iota": "\u0399", "iprod": "\u2A3C", "iquest": "\xBF", "iscr": "\u{1D4BE}", "Iscr": "\u2110", "isin": "\u2208", "isindot": "\u22F5", "isinE": "\u22F9", "isins": "\u22F4", "isinsv": "\u22F3", "isinv": "\u2208", "it": "\u2062", "itilde": "\u0129", "Itilde": "\u0128", "iukcy": "\u0456", "Iukcy": "\u0406", "iuml": "\xEF", "Iuml": "\xCF", "jcirc": "\u0135", "Jcirc": "\u0134", "jcy": "\u0439", "Jcy": "\u0419", "jfr": "\u{1D527}", "Jfr": "\u{1D50D}", "jmath": "\u0237", "jopf": "\u{1D55B}", "Jopf": "\u{1D541}", "jscr": "\u{1D4BF}", "Jscr": "\u{1D4A5}", "jsercy": "\u0458", "Jsercy": "\u0408", "jukcy": "\u0454", "Jukcy": "\u0404", "kappa": "\u03BA", "Kappa": "\u039A", "kappav": "\u03F0", "kcedil": "\u0137", "Kcedil": "\u0136", "kcy": "\u043A", "Kcy": "\u041A", "kfr": "\u{1D528}", "Kfr": "\u{1D50E}", "kgreen": "\u0138", "khcy": "\u0445", "KHcy": "\u0425", "kjcy": "\u045C", "KJcy": "\u040C", "kopf": "\u{1D55C}", "Kopf": "\u{1D542}", "kscr": "\u{1D4C0}", "Kscr": "\u{1D4A6}", "lAarr": "\u21DA", "lacute": "\u013A", "Lacute": "\u0139", "laemptyv": "\u29B4", "lagran": "\u2112", "lambda": "\u03BB", "Lambda": "\u039B", "lang": "\u27E8", "Lang": "\u27EA", "langd": "\u2991", "langle": "\u27E8", "lap": "\u2A85", "Laplacetrf": "\u2112", "laquo": "\xAB", "larr": "\u2190", "lArr": "\u21D0", "Larr": "\u219E", "larrb": "\u21E4", "larrbfs": "\u291F", "larrfs": "\u291D", "larrhk": "\u21A9", "larrlp": "\u21AB", "larrpl": "\u2939", "larrsim": "\u2973", "larrtl": "\u21A2", "lat": "\u2AAB", "latail": "\u2919", "lAtail": "\u291B", "late": "\u2AAD", "lates": "\u2AAD\uFE00", "lbarr": "\u290C", "lBarr": "\u290E", "lbbrk": "\u2772", "lbrace": "{", "lbrack": "[", "lbrke": "\u298B", "lbrksld": "\u298F", "lbrkslu": "\u298D", "lcaron": "\u013E", "Lcaron": "\u013D", "lcedil": "\u013C", "Lcedil": "\u013B", "lceil": "\u2308", "lcub": "{", "lcy": "\u043B", "Lcy": "\u041B", "ldca": "\u2936", "ldquo": "\u201C", "ldquor": "\u201E", "ldrdhar": "\u2967", "ldrushar": "\u294B", "ldsh": "\u21B2", "le": "\u2264", "lE": "\u2266", "LeftAngleBracket": "\u27E8", "leftarrow": "\u2190", "Leftarrow": "\u21D0", "LeftArrow": "\u2190", "LeftArrowBar": "\u21E4", "LeftArrowRightArrow": "\u21C6", "leftarrowtail": "\u21A2", "LeftCeiling": "\u2308", "LeftDoubleBracket": "\u27E6", "LeftDownTeeVector": "\u2961", "LeftDownVector": "\u21C3", "LeftDownVectorBar": "\u2959", "LeftFloor": "\u230A", "leftharpoondown": "\u21BD", "leftharpoonup": "\u21BC", "leftleftarrows": "\u21C7", "leftrightarrow": "\u2194", "Leftrightarrow": "\u21D4", "LeftRightArrow": "\u2194", "leftrightarrows": "\u21C6", "leftrightharpoons": "\u21CB", "leftrightsquigarrow": "\u21AD", "LeftRightVector": "\u294E", "LeftTee": "\u22A3", "LeftTeeArrow": "\u21A4", "LeftTeeVector": "\u295A", "leftthreetimes": "\u22CB", "LeftTriangle": "\u22B2", "LeftTriangleBar": "\u29CF", "LeftTriangleEqual": "\u22B4", "LeftUpDownVector": "\u2951", "LeftUpTeeVector": "\u2960", "LeftUpVector": "\u21BF", "LeftUpVectorBar": "\u2958", "LeftVector": "\u21BC", "LeftVectorBar": "\u2952", "leg": "\u22DA", "lEg": "\u2A8B", "leq": "\u2264", "leqq": "\u2266", "leqslant": "\u2A7D", "les": "\u2A7D", "lescc": "\u2AA8", "lesdot": "\u2A7F", "lesdoto": "\u2A81", "lesdotor": "\u2A83", "lesg": "\u22DA\uFE00", "lesges": "\u2A93", "lessapprox": "\u2A85", "lessdot": "\u22D6", "lesseqgtr": "\u22DA", "lesseqqgtr": "\u2A8B", "LessEqualGreater": "\u22DA", "LessFullEqual": "\u2266", "LessGreater": "\u2276", "lessgtr": "\u2276", "LessLess": "\u2AA1", "lesssim": "\u2272", "LessSlantEqual": "\u2A7D", "LessTilde": "\u2272", "lfisht": "\u297C", "lfloor": "\u230A", "lfr": "\u{1D529}", "Lfr": "\u{1D50F}", "lg": "\u2276", "lgE": "\u2A91", "lHar": "\u2962", "lhard": "\u21BD", "lharu": "\u21BC", "lharul": "\u296A", "lhblk": "\u2584", "ljcy": "\u0459", "LJcy": "\u0409", "ll": "\u226A", "Ll": "\u22D8", "llarr": "\u21C7", "llcorner": "\u231E", "Lleftarrow": "\u21DA", "llhard": "\u296B", "lltri": "\u25FA", "lmidot": "\u0140", "Lmidot": "\u013F", "lmoust": "\u23B0", "lmoustache": "\u23B0", "lnap": "\u2A89", "lnapprox": "\u2A89", "lne": "\u2A87", "lnE": "\u2268", "lneq": "\u2A87", "lneqq": "\u2268", "lnsim": "\u22E6", "loang": "\u27EC", "loarr": "\u21FD", "lobrk": "\u27E6", "longleftarrow": "\u27F5", "Longleftarrow": "\u27F8", "LongLeftArrow": "\u27F5", "longleftrightarrow": "\u27F7", "Longleftrightarrow": "\u27FA", "LongLeftRightArrow": "\u27F7", "longmapsto": "\u27FC", "longrightarrow": "\u27F6", "Longrightarrow": "\u27F9", "LongRightArrow": "\u27F6", "looparrowleft": "\u21AB", "looparrowright": "\u21AC", "lopar": "\u2985", "lopf": "\u{1D55D}", "Lopf": "\u{1D543}", "loplus": "\u2A2D", "lotimes": "\u2A34", "lowast": "\u2217", "lowbar": "_", "LowerLeftArrow": "\u2199", "LowerRightArrow": "\u2198", "loz": "\u25CA", "lozenge": "\u25CA", "lozf": "\u29EB", "lpar": "(", "lparlt": "\u2993", "lrarr": "\u21C6", "lrcorner": "\u231F", "lrhar": "\u21CB", "lrhard": "\u296D", "lrm": "\u200E", "lrtri": "\u22BF", "lsaquo": "\u2039", "lscr": "\u{1D4C1}", "Lscr": "\u2112", "lsh": "\u21B0", "Lsh": "\u21B0", "lsim": "\u2272", "lsime": "\u2A8D", "lsimg": "\u2A8F", "lsqb": "[", "lsquo": "\u2018", "lsquor": "\u201A", "lstrok": "\u0142", "Lstrok": "\u0141", "lt": "<", "Lt": "\u226A", "LT": "<", "ltcc": "\u2AA6", "ltcir": "\u2A79", "ltdot": "\u22D6", "lthree": "\u22CB", "ltimes": "\u22C9", "ltlarr": "\u2976", "ltquest": "\u2A7B", "ltri": "\u25C3", "ltrie": "\u22B4", "ltrif": "\u25C2", "ltrPar": "\u2996", "lurdshar": "\u294A", "luruhar": "\u2966", "lvertneqq": "\u2268\uFE00", "lvnE": "\u2268\uFE00", "macr": "\xAF", "male": "\u2642", "malt": "\u2720", "maltese": "\u2720", "map": "\u21A6", "Map": "\u2905", "mapsto": "\u21A6", "mapstodown": "\u21A7", "mapstoleft": "\u21A4", "mapstoup": "\u21A5", "marker": "\u25AE", "mcomma": "\u2A29", "mcy": "\u043C", "Mcy": "\u041C", "mdash": "\u2014", "mDDot": "\u223A", "measuredangle": "\u2221", "MediumSpace": "\u205F", "Mellintrf": "\u2133", "mfr": "\u{1D52A}", "Mfr": "\u{1D510}", "mho": "\u2127", "micro": "\xB5", "mid": "\u2223", "midast": "*", "midcir": "\u2AF0", "middot": "\xB7", "minus": "\u2212", "minusb": "\u229F", "minusd": "\u2238", "minusdu": "\u2A2A", "MinusPlus": "\u2213", "mlcp": "\u2ADB", "mldr": "\u2026", "mnplus": "\u2213", "models": "\u22A7", "mopf": "\u{1D55E}", "Mopf": "\u{1D544}", "mp": "\u2213", "mscr": "\u{1D4C2}", "Mscr": "\u2133", "mstpos": "\u223E", "mu": "\u03BC", "Mu": "\u039C", "multimap": "\u22B8", "mumap": "\u22B8", "nabla": "\u2207", "nacute": "\u0144", "Nacute": "\u0143", "nang": "\u2220\u20D2", "nap": "\u2249", "napE": "\u2A70\u0338", "napid": "\u224B\u0338", "napos": "\u0149", "napprox": "\u2249", "natur": "\u266E", "natural": "\u266E", "naturals": "\u2115", "nbsp": "\xA0", "nbump": "\u224E\u0338", "nbumpe": "\u224F\u0338", "ncap": "\u2A43", "ncaron": "\u0148", "Ncaron": "\u0147", "ncedil": "\u0146", "Ncedil": "\u0145", "ncong": "\u2247", "ncongdot": "\u2A6D\u0338", "ncup": "\u2A42", "ncy": "\u043D", "Ncy": "\u041D", "ndash": "\u2013", "ne": "\u2260", "nearhk": "\u2924", "nearr": "\u2197", "neArr": "\u21D7", "nearrow": "\u2197", "nedot": "\u2250\u0338", "NegativeMediumSpace": "\u200B", "NegativeThickSpace": "\u200B", "NegativeThinSpace": "\u200B", "NegativeVeryThinSpace": "\u200B", "nequiv": "\u2262", "nesear": "\u2928", "nesim": "\u2242\u0338", "NestedGreaterGreater": "\u226B", "NestedLessLess": "\u226A", "NewLine": "\n", "nexist": "\u2204", "nexists": "\u2204", "nfr": "\u{1D52B}", "Nfr": "\u{1D511}", "nge": "\u2271", "ngE": "\u2267\u0338", "ngeq": "\u2271", "ngeqq": "\u2267\u0338", "ngeqslant": "\u2A7E\u0338", "nges": "\u2A7E\u0338", "nGg": "\u22D9\u0338", "ngsim": "\u2275", "ngt": "\u226F", "nGt": "\u226B\u20D2", "ngtr": "\u226F", "nGtv": "\u226B\u0338", "nharr": "\u21AE", "nhArr": "\u21CE", "nhpar": "\u2AF2", "ni": "\u220B", "nis": "\u22FC", "nisd": "\u22FA", "niv": "\u220B", "njcy": "\u045A", "NJcy": "\u040A", "nlarr": "\u219A", "nlArr": "\u21CD", "nldr": "\u2025", "nle": "\u2270", "nlE": "\u2266\u0338", "nleftarrow": "\u219A", "nLeftarrow": "\u21CD", "nleftrightarrow": "\u21AE", "nLeftrightarrow": "\u21CE", "nleq": "\u2270", "nleqq": "\u2266\u0338", "nleqslant": "\u2A7D\u0338", "nles": "\u2A7D\u0338", "nless": "\u226E", "nLl": "\u22D8\u0338", "nlsim": "\u2274", "nlt": "\u226E", "nLt": "\u226A\u20D2", "nltri": "\u22EA", "nltrie": "\u22EC", "nLtv": "\u226A\u0338", "nmid": "\u2224", "NoBreak": "\u2060", "NonBreakingSpace": "\xA0", "nopf": "\u{1D55F}", "Nopf": "\u2115", "not": "\xAC", "Not": "\u2AEC", "NotCongruent": "\u2262", "NotCupCap": "\u226D", "NotDoubleVerticalBar": "\u2226", "NotElement": "\u2209", "NotEqual": "\u2260", "NotEqualTilde": "\u2242\u0338", "NotExists": "\u2204", "NotGreater": "\u226F", "NotGreaterEqual": "\u2271", "NotGreaterFullEqual": "\u2267\u0338", "NotGreaterGreater": "\u226B\u0338", "NotGreaterLess": "\u2279", "NotGreaterSlantEqual": "\u2A7E\u0338", "NotGreaterTilde": "\u2275", "NotHumpDownHump": "\u224E\u0338", "NotHumpEqual": "\u224F\u0338", "notin": "\u2209", "notindot": "\u22F5\u0338", "notinE": "\u22F9\u0338", "notinva": "\u2209", "notinvb": "\u22F7", "notinvc": "\u22F6", "NotLeftTriangle": "\u22EA", "NotLeftTriangleBar": "\u29CF\u0338", "NotLeftTriangleEqual": "\u22EC", "NotLess": "\u226E", "NotLessEqual": "\u2270", "NotLessGreater": "\u2278", "NotLessLess": "\u226A\u0338", "NotLessSlantEqual": "\u2A7D\u0338", "NotLessTilde": "\u2274", "NotNestedGreaterGreater": "\u2AA2\u0338", "NotNestedLessLess": "\u2AA1\u0338", "notni": "\u220C", "notniva": "\u220C", "notnivb": "\u22FE", "notnivc": "\u22FD", "NotPrecedes": "\u2280", "NotPrecedesEqual": "\u2AAF\u0338", "NotPrecedesSlantEqual": "\u22E0", "NotReverseElement": "\u220C", "NotRightTriangle": "\u22EB", "NotRightTriangleBar": "\u29D0\u0338", "NotRightTriangleEqual": "\u22ED", "NotSquareSubset": "\u228F\u0338", "NotSquareSubsetEqual": "\u22E2", "NotSquareSuperset": "\u2290\u0338", "NotSquareSupersetEqual": "\u22E3", "NotSubset": "\u2282\u20D2", "NotSubsetEqual": "\u2288", "NotSucceeds": "\u2281", "NotSucceedsEqual": "\u2AB0\u0338", "NotSucceedsSlantEqual": "\u22E1", "NotSucceedsTilde": "\u227F\u0338", "NotSuperset": "\u2283\u20D2", "NotSupersetEqual": "\u2289", "NotTilde": "\u2241", "NotTildeEqual": "\u2244", "NotTildeFullEqual": "\u2247", "NotTildeTilde": "\u2249", "NotVerticalBar": "\u2224", "npar": "\u2226", "nparallel": "\u2226", "nparsl": "\u2AFD\u20E5", "npart": "\u2202\u0338", "npolint": "\u2A14", "npr": "\u2280", "nprcue": "\u22E0", "npre": "\u2AAF\u0338", "nprec": "\u2280", "npreceq": "\u2AAF\u0338", "nrarr": "\u219B", "nrArr": "\u21CF", "nrarrc": "\u2933\u0338", "nrarrw": "\u219D\u0338", "nrightarrow": "\u219B", "nRightarrow": "\u21CF", "nrtri": "\u22EB", "nrtrie": "\u22ED", "nsc": "\u2281", "nsccue": "\u22E1", "nsce": "\u2AB0\u0338", "nscr": "\u{1D4C3}", "Nscr": "\u{1D4A9}", "nshortmid": "\u2224", "nshortparallel": "\u2226", "nsim": "\u2241", "nsime": "\u2244", "nsimeq": "\u2244", "nsmid": "\u2224", "nspar": "\u2226", "nsqsube": "\u22E2", "nsqsupe": "\u22E3", "nsub": "\u2284", "nsube": "\u2288", "nsubE": "\u2AC5\u0338", "nsubset": "\u2282\u20D2", "nsubseteq": "\u2288", "nsubseteqq": "\u2AC5\u0338", "nsucc": "\u2281", "nsucceq": "\u2AB0\u0338", "nsup": "\u2285", "nsupe": "\u2289", "nsupE": "\u2AC6\u0338", "nsupset": "\u2283\u20D2", "nsupseteq": "\u2289", "nsupseteqq": "\u2AC6\u0338", "ntgl": "\u2279", "ntilde": "\xF1", "Ntilde": "\xD1", "ntlg": "\u2278", "ntriangleleft": "\u22EA", "ntrianglelefteq": "\u22EC", "ntriangleright": "\u22EB", "ntrianglerighteq": "\u22ED", "nu": "\u03BD", "Nu": "\u039D", "num": "#", "numero": "\u2116", "numsp": "\u2007", "nvap": "\u224D\u20D2", "nvdash": "\u22AC", "nvDash": "\u22AD", "nVdash": "\u22AE", "nVDash": "\u22AF", "nvge": "\u2265\u20D2", "nvgt": ">\u20D2", "nvHarr": "\u2904", "nvinfin": "\u29DE", "nvlArr": "\u2902", "nvle": "\u2264\u20D2", "nvlt": "<\u20D2", "nvltrie": "\u22B4\u20D2", "nvrArr": "\u2903", "nvrtrie": "\u22B5\u20D2", "nvsim": "\u223C\u20D2", "nwarhk": "\u2923", "nwarr": "\u2196", "nwArr": "\u21D6", "nwarrow": "\u2196", "nwnear": "\u2927", "oacute": "\xF3", "Oacute": "\xD3", "oast": "\u229B", "ocir": "\u229A", "ocirc": "\xF4", "Ocirc": "\xD4", "ocy": "\u043E", "Ocy": "\u041E", "odash": "\u229D", "odblac": "\u0151", "Odblac": "\u0150", "odiv": "\u2A38", "odot": "\u2299", "odsold": "\u29BC", "oelig": "\u0153", "OElig": "\u0152", "ofcir": "\u29BF", "ofr": "\u{1D52C}", "Ofr": "\u{1D512}", "ogon": "\u02DB", "ograve": "\xF2", "Ograve": "\xD2", "ogt": "\u29C1", "ohbar": "\u29B5", "ohm": "\u03A9", "oint": "\u222E", "olarr": "\u21BA", "olcir": "\u29BE", "olcross": "\u29BB", "oline": "\u203E", "olt": "\u29C0", "omacr": "\u014D", "Omacr": "\u014C", "omega": "\u03C9", "Omega": "\u03A9", "omicron": "\u03BF", "Omicron": "\u039F", "omid": "\u29B6", "ominus": "\u2296", "oopf": "\u{1D560}", "Oopf": "\u{1D546}", "opar": "\u29B7", "OpenCurlyDoubleQuote": "\u201C", "OpenCurlyQuote": "\u2018", "operp": "\u29B9", "oplus": "\u2295", "or": "\u2228", "Or": "\u2A54", "orarr": "\u21BB", "ord": "\u2A5D", "order": "\u2134", "orderof": "\u2134", "ordf": "\xAA", "ordm": "\xBA", "origof": "\u22B6", "oror": "\u2A56", "orslope": "\u2A57", "orv": "\u2A5B", "oS": "\u24C8", "oscr": "\u2134", "Oscr": "\u{1D4AA}", "oslash": "\xF8", "Oslash": "\xD8", "osol": "\u2298", "otilde": "\xF5", "Otilde": "\xD5", "otimes": "\u2297", "Otimes": "\u2A37", "otimesas": "\u2A36", "ouml": "\xF6", "Ouml": "\xD6", "ovbar": "\u233D", "OverBar": "\u203E", "OverBrace": "\u23DE", "OverBracket": "\u23B4", "OverParenthesis": "\u23DC", "par": "\u2225", "para": "\xB6", "parallel": "\u2225", "parsim": "\u2AF3", "parsl": "\u2AFD", "part": "\u2202", "PartialD": "\u2202", "pcy": "\u043F", "Pcy": "\u041F", "percnt": "%", "period": ".", "permil": "\u2030", "perp": "\u22A5", "pertenk": "\u2031", "pfr": "\u{1D52D}", "Pfr": "\u{1D513}", "phi": "\u03C6", "Phi": "\u03A6", "phiv": "\u03D5", "phmmat": "\u2133", "phone": "\u260E", "pi": "\u03C0", "Pi": "\u03A0", "pitchfork": "\u22D4", "piv": "\u03D6", "planck": "\u210F", "planckh": "\u210E", "plankv": "\u210F", "plus": "+", "plusacir": "\u2A23", "plusb": "\u229E", "pluscir": "\u2A22", "plusdo": "\u2214", "plusdu": "\u2A25", "pluse": "\u2A72", "PlusMinus": "\xB1", "plusmn": "\xB1", "plussim": "\u2A26", "plustwo": "\u2A27", "pm": "\xB1", "Poincareplane": "\u210C", "pointint": "\u2A15", "popf": "\u{1D561}", "Popf": "\u2119", "pound": "\xA3", "pr": "\u227A", "Pr": "\u2ABB", "prap": "\u2AB7", "prcue": "\u227C", "pre": "\u2AAF", "prE": "\u2AB3", "prec": "\u227A", "precapprox": "\u2AB7", "preccurlyeq": "\u227C", "Precedes": "\u227A", "PrecedesEqual": "\u2AAF", "PrecedesSlantEqual": "\u227C", "PrecedesTilde": "\u227E", "preceq": "\u2AAF", "precnapprox": "\u2AB9", "precneqq": "\u2AB5", "precnsim": "\u22E8", "precsim": "\u227E", "prime": "\u2032", "Prime": "\u2033", "primes": "\u2119", "prnap": "\u2AB9", "prnE": "\u2AB5", "prnsim": "\u22E8", "prod": "\u220F", "Product": "\u220F", "profalar": "\u232E", "profline": "\u2312", "profsurf": "\u2313", "prop": "\u221D", "Proportion": "\u2237", "Proportional": "\u221D", "propto": "\u221D", "prsim": "\u227E", "prurel": "\u22B0", "pscr": "\u{1D4C5}", "Pscr": "\u{1D4AB}", "psi": "\u03C8", "Psi": "\u03A8", "puncsp": "\u2008", "qfr": "\u{1D52E}", "Qfr": "\u{1D514}", "qint": "\u2A0C", "qopf": "\u{1D562}", "Qopf": "\u211A", "qprime": "\u2057", "qscr": "\u{1D4C6}", "Qscr": "\u{1D4AC}", "quaternions": "\u210D", "quatint": "\u2A16", "quest": "?", "questeq": "\u225F", "quot": '"', "QUOT": '"', "rAarr": "\u21DB", "race": "\u223D\u0331", "racute": "\u0155", "Racute": "\u0154", "radic": "\u221A", "raemptyv": "\u29B3", "rang": "\u27E9", "Rang": "\u27EB", "rangd": "\u2992", "range": "\u29A5", "rangle": "\u27E9", "raquo": "\xBB", "rarr": "\u2192", "rArr": "\u21D2", "Rarr": "\u21A0", "rarrap": "\u2975", "rarrb": "\u21E5", "rarrbfs": "\u2920", "rarrc": "\u2933", "rarrfs": "\u291E", "rarrhk": "\u21AA", "rarrlp": "\u21AC", "rarrpl": "\u2945", "rarrsim": "\u2974", "rarrtl": "\u21A3", "Rarrtl": "\u2916", "rarrw": "\u219D", "ratail": "\u291A", "rAtail": "\u291C", "ratio": "\u2236", "rationals": "\u211A", "rbarr": "\u290D", "rBarr": "\u290F", "RBarr": "\u2910", "rbbrk": "\u2773", "rbrace": "}", "rbrack": "]", "rbrke": "\u298C", "rbrksld": "\u298E", "rbrkslu": "\u2990", "rcaron": "\u0159", "Rcaron": "\u0158", "rcedil": "\u0157", "Rcedil": "\u0156", "rceil": "\u2309", "rcub": "}", "rcy": "\u0440", "Rcy": "\u0420", "rdca": "\u2937", "rdldhar": "\u2969", "rdquo": "\u201D", "rdquor": "\u201D", "rdsh": "\u21B3", "Re": "\u211C", "real": "\u211C", "realine": "\u211B", "realpart": "\u211C", "reals": "\u211D", "rect": "\u25AD", "reg": "\xAE", "REG": "\xAE", "ReverseElement": "\u220B", "ReverseEquilibrium": "\u21CB", "ReverseUpEquilibrium": "\u296F", "rfisht": "\u297D", "rfloor": "\u230B", "rfr": "\u{1D52F}", "Rfr": "\u211C", "rHar": "\u2964", "rhard": "\u21C1", "rharu": "\u21C0", "rharul": "\u296C", "rho": "\u03C1", "Rho": "\u03A1", "rhov": "\u03F1", "RightAngleBracket": "\u27E9", "rightarrow": "\u2192", "Rightarrow": "\u21D2", "RightArrow": "\u2192", "RightArrowBar": "\u21E5", "RightArrowLeftArrow": "\u21C4", "rightarrowtail": "\u21A3", "RightCeiling": "\u2309", "RightDoubleBracket": "\u27E7", "RightDownTeeVector": "\u295D", "RightDownVector": "\u21C2", "RightDownVectorBar": "\u2955", "RightFloor": "\u230B", "rightharpoondown": "\u21C1", "rightharpoonup": "\u21C0", "rightleftarrows": "\u21C4", "rightleftharpoons": "\u21CC", "rightrightarrows": "\u21C9", "rightsquigarrow": "\u219D", "RightTee": "\u22A2", "RightTeeArrow": "\u21A6", "RightTeeVector": "\u295B", "rightthreetimes": "\u22CC", "RightTriangle": "\u22B3", "RightTriangleBar": "\u29D0", "RightTriangleEqual": "\u22B5", "RightUpDownVector": "\u294F", "RightUpTeeVector": "\u295C", "RightUpVector": "\u21BE", "RightUpVectorBar": "\u2954", "RightVector": "\u21C0", "RightVectorBar": "\u2953", "ring": "\u02DA", "risingdotseq": "\u2253", "rlarr": "\u21C4", "rlhar": "\u21CC", "rlm": "\u200F", "rmoust": "\u23B1", "rmoustache": "\u23B1", "rnmid": "\u2AEE", "roang": "\u27ED", "roarr": "\u21FE", "robrk": "\u27E7", "ropar": "\u2986", "ropf": "\u{1D563}", "Ropf": "\u211D", "roplus": "\u2A2E", "rotimes": "\u2A35", "RoundImplies": "\u2970", "rpar": ")", "rpargt": "\u2994", "rppolint": "\u2A12", "rrarr": "\u21C9", "Rrightarrow": "\u21DB", "rsaquo": "\u203A", "rscr": "\u{1D4C7}", "Rscr": "\u211B", "rsh": "\u21B1", "Rsh": "\u21B1", "rsqb": "]", "rsquo": "\u2019", "rsquor": "\u2019", "rthree": "\u22CC", "rtimes": "\u22CA", "rtri": "\u25B9", "rtrie": "\u22B5", "rtrif": "\u25B8", "rtriltri": "\u29CE", "RuleDelayed": "\u29F4", "ruluhar": "\u2968", "rx": "\u211E", "sacute": "\u015B", "Sacute": "\u015A", "sbquo": "\u201A", "sc": "\u227B", "Sc": "\u2ABC", "scap": "\u2AB8", "scaron": "\u0161", "Scaron": "\u0160", "sccue": "\u227D", "sce": "\u2AB0", "scE": "\u2AB4", "scedil": "\u015F", "Scedil": "\u015E", "scirc": "\u015D", "Scirc": "\u015C", "scnap": "\u2ABA", "scnE": "\u2AB6", "scnsim": "\u22E9", "scpolint": "\u2A13", "scsim": "\u227F", "scy": "\u0441", "Scy": "\u0421", "sdot": "\u22C5", "sdotb": "\u22A1", "sdote": "\u2A66", "searhk": "\u2925", "searr": "\u2198", "seArr": "\u21D8", "searrow": "\u2198", "sect": "\xA7", "semi": ";", "seswar": "\u2929", "setminus": "\u2216", "setmn": "\u2216", "sext": "\u2736", "sfr": "\u{1D530}", "Sfr": "\u{1D516}", "sfrown": "\u2322", "sharp": "\u266F", "shchcy": "\u0449", "SHCHcy": "\u0429", "shcy": "\u0448", "SHcy": "\u0428", "ShortDownArrow": "\u2193", "ShortLeftArrow": "\u2190", "shortmid": "\u2223", "shortparallel": "\u2225", "ShortRightArrow": "\u2192", "ShortUpArrow": "\u2191", "shy": "\xAD", "sigma": "\u03C3", "Sigma": "\u03A3", "sigmaf": "\u03C2", "sigmav": "\u03C2", "sim": "\u223C", "simdot": "\u2A6A", "sime": "\u2243", "simeq": "\u2243", "simg": "\u2A9E", "simgE": "\u2AA0", "siml": "\u2A9D", "simlE": "\u2A9F", "simne": "\u2246", "simplus": "\u2A24", "simrarr": "\u2972", "slarr": "\u2190", "SmallCircle": "\u2218", "smallsetminus": "\u2216", "smashp": "\u2A33", "smeparsl": "\u29E4", "smid": "\u2223", "smile": "\u2323", "smt": "\u2AAA", "smte": "\u2AAC", "smtes": "\u2AAC\uFE00", "softcy": "\u044C", "SOFTcy": "\u042C", "sol": "/", "solb": "\u29C4", "solbar": "\u233F", "sopf": "\u{1D564}", "Sopf": "\u{1D54A}", "spades": "\u2660", "spadesuit": "\u2660", "spar": "\u2225", "sqcap": "\u2293", "sqcaps": "\u2293\uFE00", "sqcup": "\u2294", "sqcups": "\u2294\uFE00", "Sqrt": "\u221A", "sqsub": "\u228F", "sqsube": "\u2291", "sqsubset": "\u228F", "sqsubseteq": "\u2291", "sqsup": "\u2290", "sqsupe": "\u2292", "sqsupset": "\u2290", "sqsupseteq": "\u2292", "squ": "\u25A1", "square": "\u25A1", "Square": "\u25A1", "SquareIntersection": "\u2293", "SquareSubset": "\u228F", "SquareSubsetEqual": "\u2291", "SquareSuperset": "\u2290", "SquareSupersetEqual": "\u2292", "SquareUnion": "\u2294", "squarf": "\u25AA", "squf": "\u25AA", "srarr": "\u2192", "sscr": "\u{1D4C8}", "Sscr": "\u{1D4AE}", "ssetmn": "\u2216", "ssmile": "\u2323", "sstarf": "\u22C6", "star": "\u2606", "Star": "\u22C6", "starf": "\u2605", "straightepsilon": "\u03F5", "straightphi": "\u03D5", "strns": "\xAF", "sub": "\u2282", "Sub": "\u22D0", "subdot": "\u2ABD", "sube": "\u2286", "subE": "\u2AC5", "subedot": "\u2AC3", "submult": "\u2AC1", "subne": "\u228A", "subnE": "\u2ACB", "subplus": "\u2ABF", "subrarr": "\u2979", "subset": "\u2282", "Subset": "\u22D0", "subseteq": "\u2286", "subseteqq": "\u2AC5", "SubsetEqual": "\u2286", "subsetneq": "\u228A", "subsetneqq": "\u2ACB", "subsim": "\u2AC7", "subsub": "\u2AD5", "subsup": "\u2AD3", "succ": "\u227B", "succapprox": "\u2AB8", "succcurlyeq": "\u227D", "Succeeds": "\u227B", "SucceedsEqual": "\u2AB0", "SucceedsSlantEqual": "\u227D", "SucceedsTilde": "\u227F", "succeq": "\u2AB0", "succnapprox": "\u2ABA", "succneqq": "\u2AB6", "succnsim": "\u22E9", "succsim": "\u227F", "SuchThat": "\u220B", "sum": "\u2211", "Sum": "\u2211", "sung": "\u266A", "sup": "\u2283", "Sup": "\u22D1", "sup1": "\xB9", "sup2": "\xB2", "sup3": "\xB3", "supdot": "\u2ABE", "supdsub": "\u2AD8", "supe": "\u2287", "supE": "\u2AC6", "supedot": "\u2AC4", "Superset": "\u2283", "SupersetEqual": "\u2287", "suphsol": "\u27C9", "suphsub": "\u2AD7", "suplarr": "\u297B", "supmult": "\u2AC2", "supne": "\u228B", "supnE": "\u2ACC", "supplus": "\u2AC0", "supset": "\u2283", "Supset": "\u22D1", "supseteq": "\u2287", "supseteqq": "\u2AC6", "supsetneq": "\u228B", "supsetneqq": "\u2ACC", "supsim": "\u2AC8", "supsub": "\u2AD4", "supsup": "\u2AD6", "swarhk": "\u2926", "swarr": "\u2199", "swArr": "\u21D9", "swarrow": "\u2199", "swnwar": "\u292A", "szlig": "\xDF", "Tab": " ", "target": "\u2316", "tau": "\u03C4", "Tau": "\u03A4", "tbrk": "\u23B4", "tcaron": "\u0165", "Tcaron": "\u0164", "tcedil": "\u0163", "Tcedil": "\u0162", "tcy": "\u0442", "Tcy": "\u0422", "tdot": "\u20DB", "telrec": "\u2315", "tfr": "\u{1D531}", "Tfr": "\u{1D517}", "there4": "\u2234", "therefore": "\u2234", "Therefore": "\u2234", "theta": "\u03B8", "Theta": "\u0398", "thetasym": "\u03D1", "thetav": "\u03D1", "thickapprox": "\u2248", "thicksim": "\u223C", "ThickSpace": "\u205F\u200A", "thinsp": "\u2009", "ThinSpace": "\u2009", "thkap": "\u2248", "thksim": "\u223C", "thorn": "\xFE", "THORN": "\xDE", "tilde": "\u02DC", "Tilde": "\u223C", "TildeEqual": "\u2243", "TildeFullEqual": "\u2245", "TildeTilde": "\u2248", "times": "\xD7", "timesb": "\u22A0", "timesbar": "\u2A31", "timesd": "\u2A30", "tint": "\u222D", "toea": "\u2928", "top": "\u22A4", "topbot": "\u2336", "topcir": "\u2AF1", "topf": "\u{1D565}", "Topf": "\u{1D54B}", "topfork": "\u2ADA", "tosa": "\u2929", "tprime": "\u2034", "trade": "\u2122", "TRADE": "\u2122", "triangle": "\u25B5", "triangledown": "\u25BF", "triangleleft": "\u25C3", "trianglelefteq": "\u22B4", "triangleq": "\u225C", "triangleright": "\u25B9", "trianglerighteq": "\u22B5", "tridot": "\u25EC", "trie": "\u225C", "triminus": "\u2A3A", "TripleDot": "\u20DB", "triplus": "\u2A39", "trisb": "\u29CD", "tritime": "\u2A3B", "trpezium": "\u23E2", "tscr": "\u{1D4C9}", "Tscr": "\u{1D4AF}", "tscy": "\u0446", "TScy": "\u0426", "tshcy": "\u045B", "TSHcy": "\u040B", "tstrok": "\u0167", "Tstrok": "\u0166", "twixt": "\u226C", "twoheadleftarrow": "\u219E", "twoheadrightarrow": "\u21A0", "uacute": "\xFA", "Uacute": "\xDA", "uarr": "\u2191", "uArr": "\u21D1", "Uarr": "\u219F", "Uarrocir": "\u2949", "ubrcy": "\u045E", "Ubrcy": "\u040E", "ubreve": "\u016D", "Ubreve": "\u016C", "ucirc": "\xFB", "Ucirc": "\xDB", "ucy": "\u0443", "Ucy": "\u0423", "udarr": "\u21C5", "udblac": "\u0171", "Udblac": "\u0170", "udhar": "\u296E", "ufisht": "\u297E", "ufr": "\u{1D532}", "Ufr": "\u{1D518}", "ugrave": "\xF9", "Ugrave": "\xD9", "uHar": "\u2963", "uharl": "\u21BF", "uharr": "\u21BE", "uhblk": "\u2580", "ulcorn": "\u231C", "ulcorner": "\u231C", "ulcrop": "\u230F", "ultri": "\u25F8", "umacr": "\u016B", "Umacr": "\u016A", "uml": "\xA8", "UnderBar": "_", "UnderBrace": "\u23DF", "UnderBracket": "\u23B5", "UnderParenthesis": "\u23DD", "Union": "\u22C3", "UnionPlus": "\u228E", "uogon": "\u0173", "Uogon": "\u0172", "uopf": "\u{1D566}", "Uopf": "\u{1D54C}", "uparrow": "\u2191", "Uparrow": "\u21D1", "UpArrow": "\u2191", "UpArrowBar": "\u2912", "UpArrowDownArrow": "\u21C5", "updownarrow": "\u2195", "Updownarrow": "\u21D5", "UpDownArrow": "\u2195", "UpEquilibrium": "\u296E", "upharpoonleft": "\u21BF", "upharpoonright": "\u21BE", "uplus": "\u228E", "UpperLeftArrow": "\u2196", "UpperRightArrow": "\u2197", "upsi": "\u03C5", "Upsi": "\u03D2", "upsih": "\u03D2", "upsilon": "\u03C5", "Upsilon": "\u03A5", "UpTee": "\u22A5", "UpTeeArrow": "\u21A5", "upuparrows": "\u21C8", "urcorn": "\u231D", "urcorner": "\u231D", "urcrop": "\u230E", "uring": "\u016F", "Uring": "\u016E", "urtri": "\u25F9", "uscr": "\u{1D4CA}", "Uscr": "\u{1D4B0}", "utdot": "\u22F0", "utilde": "\u0169", "Utilde": "\u0168", "utri": "\u25B5", "utrif": "\u25B4", "uuarr": "\u21C8", "uuml": "\xFC", "Uuml": "\xDC", "uwangle": "\u29A7", "vangrt": "\u299C", "varepsilon": "\u03F5", "varkappa": "\u03F0", "varnothing": "\u2205", "varphi": "\u03D5", "varpi": "\u03D6", "varpropto": "\u221D", "varr": "\u2195", "vArr": "\u21D5", "varrho": "\u03F1", "varsigma": "\u03C2", "varsubsetneq": "\u228A\uFE00", "varsubsetneqq": "\u2ACB\uFE00", "varsupsetneq": "\u228B\uFE00", "varsupsetneqq": "\u2ACC\uFE00", "vartheta": "\u03D1", "vartriangleleft": "\u22B2", "vartriangleright": "\u22B3", "vBar": "\u2AE8", "Vbar": "\u2AEB", "vBarv": "\u2AE9", "vcy": "\u0432", "Vcy": "\u0412", "vdash": "\u22A2", "vDash": "\u22A8", "Vdash": "\u22A9", "VDash": "\u22AB", "Vdashl": "\u2AE6", "vee": "\u2228", "Vee": "\u22C1", "veebar": "\u22BB", "veeeq": "\u225A", "vellip": "\u22EE", "verbar": "|", "Verbar": "\u2016", "vert": "|", "Vert": "\u2016", "VerticalBar": "\u2223", "VerticalLine": "|", "VerticalSeparator": "\u2758", "VerticalTilde": "\u2240", "VeryThinSpace": "\u200A", "vfr": "\u{1D533}", "Vfr": "\u{1D519}", "vltri": "\u22B2", "vnsub": "\u2282\u20D2", "vnsup": "\u2283\u20D2", "vopf": "\u{1D567}", "Vopf": "\u{1D54D}", "vprop": "\u221D", "vrtri": "\u22B3", "vscr": "\u{1D4CB}", "Vscr": "\u{1D4B1}", "vsubne": "\u228A\uFE00", "vsubnE": "\u2ACB\uFE00", "vsupne": "\u228B\uFE00", "vsupnE": "\u2ACC\uFE00", "Vvdash": "\u22AA", "vzigzag": "\u299A", "wcirc": "\u0175", "Wcirc": "\u0174", "wedbar": "\u2A5F", "wedge": "\u2227", "Wedge": "\u22C0", "wedgeq": "\u2259", "weierp": "\u2118", "wfr": "\u{1D534}", "Wfr": "\u{1D51A}", "wopf": "\u{1D568}", "Wopf": "\u{1D54E}", "wp": "\u2118", "wr": "\u2240", "wreath": "\u2240", "wscr": "\u{1D4CC}", "Wscr": "\u{1D4B2}", "xcap": "\u22C2", "xcirc": "\u25EF", "xcup": "\u22C3", "xdtri": "\u25BD", "xfr": "\u{1D535}", "Xfr": "\u{1D51B}", "xharr": "\u27F7", "xhArr": "\u27FA", "xi": "\u03BE", "Xi": "\u039E", "xlarr": "\u27F5", "xlArr": "\u27F8", "xmap": "\u27FC", "xnis": "\u22FB", "xodot": "\u2A00", "xopf": "\u{1D569}", "Xopf": "\u{1D54F}", "xoplus": "\u2A01", "xotime": "\u2A02", "xrarr": "\u27F6", "xrArr": "\u27F9", "xscr": "\u{1D4CD}", "Xscr": "\u{1D4B3}", "xsqcup": "\u2A06", "xuplus": "\u2A04", "xutri": "\u25B3", "xvee": "\u22C1", "xwedge": "\u22C0", "yacute": "\xFD", "Yacute": "\xDD", "yacy": "\u044F", "YAcy": "\u042F", "ycirc": "\u0177", "Ycirc": "\u0176", "ycy": "\u044B", "Ycy": "\u042B", "yen": "\xA5", "yfr": "\u{1D536}", "Yfr": "\u{1D51C}", "yicy": "\u0457", "YIcy": "\u0407", "yopf": "\u{1D56A}", "Yopf": "\u{1D550}", "yscr": "\u{1D4CE}", "Yscr": "\u{1D4B4}", "yucy": "\u044E", "YUcy": "\u042E", "yuml": "\xFF", "Yuml": "\u0178", "zacute": "\u017A", "Zacute": "\u0179", "zcaron": "\u017E", "Zcaron": "\u017D", "zcy": "\u0437", "Zcy": "\u0417", "zdot": "\u017C", "Zdot": "\u017B", "zeetrf": "\u2128", "ZeroWidthSpace": "\u200B", "zeta": "\u03B6", "Zeta": "\u0396", "zfr": "\u{1D537}", "Zfr": "\u2128", "zhcy": "\u0436", "ZHcy": "\u0416", "zigrarr": "\u21DD", "zopf": "\u{1D56B}", "Zopf": "\u2124", "zscr": "\u{1D4CF}", "Zscr": "\u{1D4B5}", "zwj": "\u200D", "zwnj": "\u200C" }; | |
var decodeMapLegacy = { "aacute": "\xE1", "Aacute": "\xC1", "acirc": "\xE2", "Acirc": "\xC2", "acute": "\xB4", "aelig": "\xE6", "AElig": "\xC6", "agrave": "\xE0", "Agrave": "\xC0", "amp": "&", "AMP": "&", "aring": "\xE5", "Aring": "\xC5", "atilde": "\xE3", "Atilde": "\xC3", "auml": "\xE4", "Auml": "\xC4", "brvbar": "\xA6", "ccedil": "\xE7", "Ccedil": "\xC7", "cedil": "\xB8", "cent": "\xA2", "copy": "\xA9", "COPY": "\xA9", "curren": "\xA4", "deg": "\xB0", "divide": "\xF7", "eacute": "\xE9", "Eacute": "\xC9", "ecirc": "\xEA", "Ecirc": "\xCA", "egrave": "\xE8", "Egrave": "\xC8", "eth": "\xF0", "ETH": "\xD0", "euml": "\xEB", "Euml": "\xCB", "frac12": "\xBD", "frac14": "\xBC", "frac34": "\xBE", "gt": ">", "GT": ">", "iacute": "\xED", "Iacute": "\xCD", "icirc": "\xEE", "Icirc": "\xCE", "iexcl": "\xA1", "igrave": "\xEC", "Igrave": "\xCC", "iquest": "\xBF", "iuml": "\xEF", "Iuml": "\xCF", "laquo": "\xAB", "lt": "<", "LT": "<", "macr": "\xAF", "micro": "\xB5", "middot": "\xB7", "nbsp": "\xA0", "not": "\xAC", "ntilde": "\xF1", "Ntilde": "\xD1", "oacute": "\xF3", "Oacute": "\xD3", "ocirc": "\xF4", "Ocirc": "\xD4", "ograve": "\xF2", "Ograve": "\xD2", "ordf": "\xAA", "ordm": "\xBA", "oslash": "\xF8", "Oslash": "\xD8", "otilde": "\xF5", "Otilde": "\xD5", "ouml": "\xF6", "Ouml": "\xD6", "para": "\xB6", "plusmn": "\xB1", "pound": "\xA3", "quot": '"', "QUOT": '"', "raquo": "\xBB", "reg": "\xAE", "REG": "\xAE", "sect": "\xA7", "shy": "\xAD", "sup1": "\xB9", "sup2": "\xB2", "sup3": "\xB3", "szlig": "\xDF", "thorn": "\xFE", "THORN": "\xDE", "times": "\xD7", "uacute": "\xFA", "Uacute": "\xDA", "ucirc": "\xFB", "Ucirc": "\xDB", "ugrave": "\xF9", "Ugrave": "\xD9", "uml": "\xA8", "uuml": "\xFC", "Uuml": "\xDC", "yacute": "\xFD", "Yacute": "\xDD", "yen": "\xA5", "yuml": "\xFF" }; | |
var decodeMapNumeric = { "0": "\uFFFD", "128": "\u20AC", "130": "\u201A", "131": "\u0192", "132": "\u201E", "133": "\u2026", "134": "\u2020", "135": "\u2021", "136": "\u02C6", "137": "\u2030", "138": "\u0160", "139": "\u2039", "140": "\u0152", "142": "\u017D", "145": "\u2018", "146": "\u2019", "147": "\u201C", "148": "\u201D", "149": "\u2022", "150": "\u2013", "151": "\u2014", "152": "\u02DC", "153": "\u2122", "154": "\u0161", "155": "\u203A", "156": "\u0153", "158": "\u017E", "159": "\u0178" }; | |
var invalidReferenceCodePoints = [1, 2, 3, 4, 5, 6, 7, 8, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 64976, 64977, 64978, 64979, 64980, 64981, 64982, 64983, 64984, 64985, 64986, 64987, 64988, 64989, 64990, 64991, 64992, 64993, 64994, 64995, 64996, 64997, 64998, 64999, 65e3, 65001, 65002, 65003, 65004, 65005, 65006, 65007, 65534, 65535, 131070, 131071, 196606, 196607, 262142, 262143, 327678, 327679, 393214, 393215, 458750, 458751, 524286, 524287, 589822, 589823, 655358, 655359, 720894, 720895, 786430, 786431, 851966, 851967, 917502, 917503, 983038, 983039, 1048574, 1048575, 1114110, 1114111]; | |
var stringFromCharCode = String.fromCharCode; | |
var object = {}; | |
var hasOwnProperty = object.hasOwnProperty; | |
var has = function(object2, propertyName) { | |
return hasOwnProperty.call(object2, propertyName); | |
}; | |
var contains = function(array, value) { | |
var index = -1; | |
var length = array.length; | |
while (++index < length) { | |
if (array[index] == value) { | |
return true; | |
} | |
} | |
return false; | |
}; | |
var merge = function(options, defaults) { | |
if (!options) { | |
return defaults; | |
} | |
var result = {}; | |
var key2; | |
for (key2 in defaults) { | |
result[key2] = has(options, key2) ? options[key2] : defaults[key2]; | |
} | |
return result; | |
}; | |
var codePointToSymbol = function(codePoint, strict) { | |
var output = ""; | |
if (codePoint >= 55296 && codePoint <= 57343 || codePoint > 1114111) { | |
if (strict) { | |
parseError("character reference outside the permissible Unicode range"); | |
} | |
return "\uFFFD"; | |
} | |
if (has(decodeMapNumeric, codePoint)) { | |
if (strict) { | |
parseError("disallowed character reference"); | |
} | |
return decodeMapNumeric[codePoint]; | |
} | |
if (strict && contains(invalidReferenceCodePoints, codePoint)) { | |
parseError("disallowed character reference"); | |
} | |
if (codePoint > 65535) { | |
codePoint -= 65536; | |
output += stringFromCharCode(codePoint >>> 10 & 1023 | 55296); | |
codePoint = 56320 | codePoint & 1023; | |
} | |
output += stringFromCharCode(codePoint); | |
return output; | |
}; | |
var hexEscape = function(codePoint) { | |
return "&#x" + codePoint.toString(16).toUpperCase() + ";"; | |
}; | |
var decEscape = function(codePoint) { | |
return "&#" + codePoint + ";"; | |
}; | |
var parseError = function(message) { | |
throw Error("Parse error: " + message); | |
}; | |
var encode2 = function(string, options) { | |
options = merge(options, encode2.options); | |
var strict = options.strict; | |
if (strict && regexInvalidRawCodePoint.test(string)) { | |
parseError("forbidden code point"); | |
} | |
var encodeEverything = options.encodeEverything; | |
var useNamedReferences = options.useNamedReferences; | |
var allowUnsafeSymbols = options.allowUnsafeSymbols; | |
var escapeCodePoint = options.decimal ? decEscape : hexEscape; | |
var escapeBmpSymbol = function(symbol) { | |
return escapeCodePoint(symbol.charCodeAt(0)); | |
}; | |
if (encodeEverything) { | |
string = string.replace(regexAsciiWhitelist, function(symbol) { | |
if (useNamedReferences && has(encodeMap, symbol)) { | |
return "&" + encodeMap[symbol] + ";"; | |
} | |
return escapeBmpSymbol(symbol); | |
}); | |
if (useNamedReferences) { | |
string = string.replace(/>\u20D2/g, ">⃒").replace(/<\u20D2/g, "<⃒").replace(/fj/g, "fj"); | |
} | |
if (useNamedReferences) { | |
string = string.replace(regexEncodeNonAscii, function(string2) { | |
return "&" + encodeMap[string2] + ";"; | |
}); | |
} | |
} else if (useNamedReferences) { | |
if (!allowUnsafeSymbols) { | |
string = string.replace(regexEscape, function(string2) { | |
return "&" + encodeMap[string2] + ";"; | |
}); | |
} | |
string = string.replace(/>\u20D2/g, ">⃒").replace(/<\u20D2/g, "<⃒"); | |
string = string.replace(regexEncodeNonAscii, function(string2) { | |
return "&" + encodeMap[string2] + ";"; | |
}); | |
} else if (!allowUnsafeSymbols) { | |
string = string.replace(regexEscape, escapeBmpSymbol); | |
} | |
return string.replace(regexAstralSymbols, function($0) { | |
var high = $0.charCodeAt(0); | |
var low = $0.charCodeAt(1); | |
var codePoint = (high - 55296) * 1024 + low - 56320 + 65536; | |
return escapeCodePoint(codePoint); | |
}).replace(regexBmpWhitelist, escapeBmpSymbol); | |
}; | |
encode2.options = { | |
"allowUnsafeSymbols": false, | |
"encodeEverything": false, | |
"strict": false, | |
"useNamedReferences": false, | |
"decimal": false | |
}; | |
var decode4 = function(html, options) { | |
options = merge(options, decode4.options); | |
var strict = options.strict; | |
if (strict && regexInvalidEntity.test(html)) { | |
parseError("malformed character reference"); | |
} | |
return html.replace(regexDecode, function($0, $1, $2, $3, $4, $5, $6, $7, $8) { | |
var codePoint; | |
var semicolon; | |
var decDigits; | |
var hexDigits; | |
var reference; | |
var next; | |
if ($1) { | |
reference = $1; | |
return decodeMap[reference]; | |
} | |
if ($2) { | |
reference = $2; | |
next = $3; | |
if (next && options.isAttributeValue) { | |
if (strict && next == "=") { | |
parseError("`&` did not start a character reference"); | |
} | |
return $0; | |
} else { | |
if (strict) { | |
parseError("named character reference was not terminated by a semicolon"); | |
} | |
return decodeMapLegacy[reference] + (next || ""); | |
} | |
} | |
if ($4) { | |
decDigits = $4; | |
semicolon = $5; | |
if (strict && !semicolon) { | |
parseError("character reference was not terminated by a semicolon"); | |
} | |
codePoint = parseInt(decDigits, 10); | |
return codePointToSymbol(codePoint, strict); | |
} | |
if ($6) { | |
hexDigits = $6; | |
semicolon = $7; | |
if (strict && !semicolon) { | |
parseError("character reference was not terminated by a semicolon"); | |
} | |
codePoint = parseInt(hexDigits, 16); | |
return codePointToSymbol(codePoint, strict); | |
} | |
if (strict) { | |
parseError("named character reference was not terminated by a semicolon"); | |
} | |
return $0; | |
}); | |
}; | |
decode4.options = { | |
"isAttributeValue": false, | |
"strict": false | |
}; | |
var escape = function(string) { | |
return string.replace(regexEscape, function($0) { | |
return escapeMap[$0]; | |
}); | |
}; | |
var he2 = { | |
"version": "1.2.0", | |
"encode": encode2, | |
"decode": decode4, | |
"escape": escape, | |
"unescape": decode4 | |
}; | |
if (typeof define == "function" && typeof define.amd == "object" && define.amd) { | |
define(function() { | |
return he2; | |
}); | |
} else if (freeExports && !freeExports.nodeType) { | |
if (freeModule) { | |
freeModule.exports = he2; | |
} else { | |
for (var key in he2) { | |
has(he2, key) && (freeExports[key] = he2[key]); | |
} | |
} | |
} else { | |
root.he = he2; | |
} | |
})(exports); | |
} | |
}); | |
// ../node_modules/domelementtype/lib/index.js | |
var require_lib = __commonJS({ | |
"../node_modules/domelementtype/lib/index.js"(exports) { | |
"use strict"; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.Doctype = exports.CDATA = exports.Tag = exports.Style = exports.Script = exports.Comment = exports.Directive = exports.Text = exports.Root = exports.isTag = exports.ElementType = void 0; | |
var ElementType; | |
(function(ElementType2) { | |
ElementType2["Root"] = "root"; | |
ElementType2["Text"] = "text"; | |
ElementType2["Directive"] = "directive"; | |
ElementType2["Comment"] = "comment"; | |
ElementType2["Script"] = "script"; | |
ElementType2["Style"] = "style"; | |
ElementType2["Tag"] = "tag"; | |
ElementType2["CDATA"] = "cdata"; | |
ElementType2["Doctype"] = "doctype"; | |
})(ElementType = exports.ElementType || (exports.ElementType = {})); | |
function isTag2(elem) { | |
return elem.type === ElementType.Tag || elem.type === ElementType.Script || elem.type === ElementType.Style; | |
} | |
exports.isTag = isTag2; | |
exports.Root = ElementType.Root; | |
exports.Text = ElementType.Text; | |
exports.Directive = ElementType.Directive; | |
exports.Comment = ElementType.Comment; | |
exports.Script = ElementType.Script; | |
exports.Style = ElementType.Style; | |
exports.Tag = ElementType.Tag; | |
exports.CDATA = ElementType.CDATA; | |
exports.Doctype = ElementType.Doctype; | |
} | |
}); | |
// ../node_modules/domhandler/lib/node.js | |
var require_node = __commonJS({ | |
"../node_modules/domhandler/lib/node.js"(exports) { | |
"use strict"; | |
var __extends = exports && exports.__extends || function() { | |
var extendStatics = function(d, b) { | |
extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) { | |
d2.__proto__ = b2; | |
} || function(d2, b2) { | |
for (var p in b2) | |
if (Object.prototype.hasOwnProperty.call(b2, p)) | |
d2[p] = b2[p]; | |
}; | |
return extendStatics(d, b); | |
}; | |
return function(d, b) { | |
if (typeof b !== "function" && b !== null) | |
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); | |
extendStatics(d, b); | |
function __() { | |
this.constructor = d; | |
} | |
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); | |
}; | |
}(); | |
var __assign = exports && exports.__assign || function() { | |
__assign = Object.assign || function(t) { | |
for (var s, i = 1, n = arguments.length; i < n; i++) { | |
s = arguments[i]; | |
for (var p in s) | |
if (Object.prototype.hasOwnProperty.call(s, p)) | |
t[p] = s[p]; | |
} | |
return t; | |
}; | |
return __assign.apply(this, arguments); | |
}; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.cloneNode = exports.hasChildren = exports.isDocument = exports.isDirective = exports.isComment = exports.isText = exports.isCDATA = exports.isTag = exports.Element = exports.Document = exports.NodeWithChildren = exports.ProcessingInstruction = exports.Comment = exports.Text = exports.DataNode = exports.Node = void 0; | |
var domelementtype_1 = require_lib(); | |
var nodeTypes = new Map([ | |
[domelementtype_1.ElementType.Tag, 1], | |
[domelementtype_1.ElementType.Script, 1], | |
[domelementtype_1.ElementType.Style, 1], | |
[domelementtype_1.ElementType.Directive, 1], | |
[domelementtype_1.ElementType.Text, 3], | |
[domelementtype_1.ElementType.CDATA, 4], | |
[domelementtype_1.ElementType.Comment, 8], | |
[domelementtype_1.ElementType.Root, 9] | |
]); | |
var Node2 = function() { | |
function Node3(type) { | |
this.type = type; | |
this.parent = null; | |
this.prev = null; | |
this.next = null; | |
this.startIndex = null; | |
this.endIndex = null; | |
} | |
Object.defineProperty(Node3.prototype, "nodeType", { | |
get: function() { | |
var _a; | |
return (_a = nodeTypes.get(this.type)) !== null && _a !== void 0 ? _a : 1; | |
}, | |
enumerable: false, | |
configurable: true | |
}); | |
Object.defineProperty(Node3.prototype, "parentNode", { | |
get: function() { | |
return this.parent; | |
}, | |
set: function(parent) { | |
this.parent = parent; | |
}, | |
enumerable: false, | |
configurable: true | |
}); | |
Object.defineProperty(Node3.prototype, "previousSibling", { | |
get: function() { | |
return this.prev; | |
}, | |
set: function(prev) { | |
this.prev = prev; | |
}, | |
enumerable: false, | |
configurable: true | |
}); | |
Object.defineProperty(Node3.prototype, "nextSibling", { | |
get: function() { | |
return this.next; | |
}, | |
set: function(next) { | |
this.next = next; | |
}, | |
enumerable: false, | |
configurable: true | |
}); | |
Node3.prototype.cloneNode = function(recursive) { | |
if (recursive === void 0) { | |
recursive = false; | |
} | |
return cloneNode(this, recursive); | |
}; | |
return Node3; | |
}(); | |
exports.Node = Node2; | |
var DataNode = function(_super) { | |
__extends(DataNode2, _super); | |
function DataNode2(type, data) { | |
var _this = _super.call(this, type) || this; | |
_this.data = data; | |
return _this; | |
} | |
Object.defineProperty(DataNode2.prototype, "nodeValue", { | |
get: function() { | |
return this.data; | |
}, | |
set: function(data) { | |
this.data = data; | |
}, | |
enumerable: false, | |
configurable: true | |
}); | |
return DataNode2; | |
}(Node2); | |
exports.DataNode = DataNode; | |
var Text = function(_super) { | |
__extends(Text2, _super); | |
function Text2(data) { | |
return _super.call(this, domelementtype_1.ElementType.Text, data) || this; | |
} | |
return Text2; | |
}(DataNode); | |
exports.Text = Text; | |
var Comment = function(_super) { | |
__extends(Comment2, _super); | |
function Comment2(data) { | |
return _super.call(this, domelementtype_1.ElementType.Comment, data) || this; | |
} | |
return Comment2; | |
}(DataNode); | |
exports.Comment = Comment; | |
var ProcessingInstruction = function(_super) { | |
__extends(ProcessingInstruction2, _super); | |
function ProcessingInstruction2(name, data) { | |
var _this = _super.call(this, domelementtype_1.ElementType.Directive, data) || this; | |
_this.name = name; | |
return _this; | |
} | |
return ProcessingInstruction2; | |
}(DataNode); | |
exports.ProcessingInstruction = ProcessingInstruction; | |
var NodeWithChildren = function(_super) { | |
__extends(NodeWithChildren2, _super); | |
function NodeWithChildren2(type, children) { | |
var _this = _super.call(this, type) || this; | |
_this.children = children; | |
return _this; | |
} | |
Object.defineProperty(NodeWithChildren2.prototype, "firstChild", { | |
get: function() { | |
var _a; | |
return (_a = this.children[0]) !== null && _a !== void 0 ? _a : null; | |
}, | |
enumerable: false, | |
configurable: true | |
}); | |
Object.defineProperty(NodeWithChildren2.prototype, "lastChild", { | |
get: function() { | |
return this.children.length > 0 ? this.children[this.children.length - 1] : null; | |
}, | |
enumerable: false, | |
configurable: true | |
}); | |
Object.defineProperty(NodeWithChildren2.prototype, "childNodes", { | |
get: function() { | |
return this.children; | |
}, | |
set: function(children) { | |
this.children = children; | |
}, | |
enumerable: false, | |
configurable: true | |
}); | |
return NodeWithChildren2; | |
}(Node2); | |
exports.NodeWithChildren = NodeWithChildren; | |
var Document = function(_super) { | |
__extends(Document2, _super); | |
function Document2(children) { | |
return _super.call(this, domelementtype_1.ElementType.Root, children) || this; | |
} | |
return Document2; | |
}(NodeWithChildren); | |
exports.Document = Document; | |
var Element = function(_super) { | |
__extends(Element2, _super); | |
function Element2(name, attribs, children, type) { | |
if (children === void 0) { | |
children = []; | |
} | |
if (type === void 0) { | |
type = name === "script" ? domelementtype_1.ElementType.Script : name === "style" ? domelementtype_1.ElementType.Style : domelementtype_1.ElementType.Tag; | |
} | |
var _this = _super.call(this, type, children) || this; | |
_this.name = name; | |
_this.attribs = attribs; | |
return _this; | |
} | |
Object.defineProperty(Element2.prototype, "tagName", { | |
get: function() { | |
return this.name; | |
}, | |
set: function(name) { | |
this.name = name; | |
}, | |
enumerable: false, | |
configurable: true | |
}); | |
Object.defineProperty(Element2.prototype, "attributes", { | |
get: function() { | |
var _this = this; | |
return Object.keys(this.attribs).map(function(name) { | |
var _a, _b; | |
return { | |
name, | |
value: _this.attribs[name], | |
namespace: (_a = _this["x-attribsNamespace"]) === null || _a === void 0 ? void 0 : _a[name], | |
prefix: (_b = _this["x-attribsPrefix"]) === null || _b === void 0 ? void 0 : _b[name] | |
}; | |
}); | |
}, | |
enumerable: false, | |
configurable: true | |
}); | |
return Element2; | |
}(NodeWithChildren); | |
exports.Element = Element; | |
function isTag2(node) { | |
return (0, domelementtype_1.isTag)(node); | |
} | |
exports.isTag = isTag2; | |
function isCDATA(node) { | |
return node.type === domelementtype_1.ElementType.CDATA; | |
} | |
exports.isCDATA = isCDATA; | |
function isText(node) { | |
return node.type === domelementtype_1.ElementType.Text; | |
} | |
exports.isText = isText; | |
function isComment(node) { | |
return node.type === domelementtype_1.ElementType.Comment; | |
} | |
exports.isComment = isComment; | |
function isDirective(node) { | |
return node.type === domelementtype_1.ElementType.Directive; | |
} | |
exports.isDirective = isDirective; | |
function isDocument(node) { | |
return node.type === domelementtype_1.ElementType.Root; | |
} | |
exports.isDocument = isDocument; | |
function hasChildren(node) { | |
return Object.prototype.hasOwnProperty.call(node, "children"); | |
} | |
exports.hasChildren = hasChildren; | |
function cloneNode(node, recursive) { | |
if (recursive === void 0) { | |
recursive = false; | |
} | |
var result; | |
if (isText(node)) { | |
result = new Text(node.data); | |
} else if (isComment(node)) { | |
result = new Comment(node.data); | |
} else if (isTag2(node)) { | |
var children = recursive ? cloneChildren(node.children) : []; | |
var clone_1 = new Element(node.name, __assign({}, node.attribs), children); | |
children.forEach(function(child) { | |
return child.parent = clone_1; | |
}); | |
if (node["x-attribsNamespace"]) { | |
clone_1["x-attribsNamespace"] = __assign({}, node["x-attribsNamespace"]); | |
} | |
if (node["x-attribsPrefix"]) { | |
clone_1["x-attribsPrefix"] = __assign({}, node["x-attribsPrefix"]); | |
} | |
result = clone_1; | |
} else if (isCDATA(node)) { | |
var children = recursive ? cloneChildren(node.children) : []; | |
var clone_2 = new NodeWithChildren(domelementtype_1.ElementType.CDATA, children); | |
children.forEach(function(child) { | |
return child.parent = clone_2; | |
}); | |
result = clone_2; | |
} else if (isDocument(node)) { | |
var children = recursive ? cloneChildren(node.children) : []; | |
var clone_3 = new Document(children); | |
children.forEach(function(child) { | |
return child.parent = clone_3; | |
}); | |
if (node["x-mode"]) { | |
clone_3["x-mode"] = node["x-mode"]; | |
} | |
result = clone_3; | |
} else if (isDirective(node)) { | |
var instruction = new ProcessingInstruction(node.name, node.data); | |
if (node["x-name"] != null) { | |
instruction["x-name"] = node["x-name"]; | |
instruction["x-publicId"] = node["x-publicId"]; | |
instruction["x-systemId"] = node["x-systemId"]; | |
} | |
result = instruction; | |
} else { | |
throw new Error("Not implemented yet: " + node.type); | |
} | |
result.startIndex = node.startIndex; | |
result.endIndex = node.endIndex; | |
return result; | |
} | |
exports.cloneNode = cloneNode; | |
function cloneChildren(childs) { | |
var children = childs.map(function(child) { | |
return cloneNode(child, true); | |
}); | |
for (var i = 1; i < children.length; i++) { | |
children[i].prev = children[i - 1]; | |
children[i - 1].next = children[i]; | |
} | |
return children; | |
} | |
} | |
}); | |
// ../node_modules/domhandler/lib/index.js | |
var require_lib2 = __commonJS({ | |
"../node_modules/domhandler/lib/index.js"(exports) { | |
"use strict"; | |
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { | |
if (k2 === void 0) | |
k2 = k; | |
Object.defineProperty(o, k2, { enumerable: true, get: function() { | |
return m[k]; | |
} }); | |
} : function(o, m, k, k2) { | |
if (k2 === void 0) | |
k2 = k; | |
o[k2] = m[k]; | |
}); | |
var __exportStar = exports && exports.__exportStar || function(m, exports2) { | |
for (var p in m) | |
if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p)) | |
__createBinding(exports2, m, p); | |
}; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.DomHandler = void 0; | |
var domelementtype_1 = require_lib(); | |
var node_1 = require_node(); | |
__exportStar(require_node(), exports); | |
var reWhitespace = /\s+/g; | |
var defaultOpts = { | |
normalizeWhitespace: false, | |
withStartIndices: false, | |
withEndIndices: false, | |
xmlMode: false | |
}; | |
var DomHandler = function() { | |
function DomHandler2(callback, options, elementCB) { | |
this.dom = []; | |
this.root = new node_1.Document(this.dom); | |
this.done = false; | |
this.tagStack = [this.root]; | |
this.lastNode = null; | |
this.parser = null; | |
if (typeof options === "function") { | |
elementCB = options; | |
options = defaultOpts; | |
} | |
if (typeof callback === "object") { | |
options = callback; | |
callback = void 0; | |
} | |
this.callback = callback !== null && callback !== void 0 ? callback : null; | |
this.options = options !== null && options !== void 0 ? options : defaultOpts; | |
this.elementCB = elementCB !== null && elementCB !== void 0 ? elementCB : null; | |
} | |
DomHandler2.prototype.onparserinit = function(parser) { | |
this.parser = parser; | |
}; | |
DomHandler2.prototype.onreset = function() { | |
this.dom = []; | |
this.root = new node_1.Document(this.dom); | |
this.done = false; | |
this.tagStack = [this.root]; | |
this.lastNode = null; | |
this.parser = null; | |
}; | |
DomHandler2.prototype.onend = function() { | |
if (this.done) | |
return; | |
this.done = true; | |
this.parser = null; | |
this.handleCallback(null); | |
}; | |
DomHandler2.prototype.onerror = function(error) { | |
this.handleCallback(error); | |
}; | |
DomHandler2.prototype.onclosetag = function() { | |
this.lastNode = null; | |
var elem = this.tagStack.pop(); | |
if (this.options.withEndIndices) { | |
elem.endIndex = this.parser.endIndex; | |
} | |
if (this.elementCB) | |
this.elementCB(elem); | |
}; | |
DomHandler2.prototype.onopentag = function(name, attribs) { | |
var type = this.options.xmlMode ? domelementtype_1.ElementType.Tag : void 0; | |
var element = new node_1.Element(name, attribs, void 0, type); | |
this.addNode(element); | |
this.tagStack.push(element); | |
}; | |
DomHandler2.prototype.ontext = function(data) { | |
var normalizeWhitespace = this.options.normalizeWhitespace; | |
var lastNode = this.lastNode; | |
if (lastNode && lastNode.type === domelementtype_1.ElementType.Text) { | |
if (normalizeWhitespace) { | |
lastNode.data = (lastNode.data + data).replace(reWhitespace, " "); | |
} else { | |
lastNode.data += data; | |
} | |
if (this.options.withEndIndices) { | |
lastNode.endIndex = this.parser.endIndex; | |
} | |
} else { | |
if (normalizeWhitespace) { | |
data = data.replace(reWhitespace, " "); | |
} | |
var node = new node_1.Text(data); | |
this.addNode(node); | |
this.lastNode = node; | |
} | |
}; | |
DomHandler2.prototype.oncomment = function(data) { | |
if (this.lastNode && this.lastNode.type === domelementtype_1.ElementType.Comment) { | |
this.lastNode.data += data; | |
return; | |
} | |
var node = new node_1.Comment(data); | |
this.addNode(node); | |
this.lastNode = node; | |
}; | |
DomHandler2.prototype.oncommentend = function() { | |
this.lastNode = null; | |
}; | |
DomHandler2.prototype.oncdatastart = function() { | |
var text = new node_1.Text(""); | |
var node = new node_1.NodeWithChildren(domelementtype_1.ElementType.CDATA, [text]); | |
this.addNode(node); | |
text.parent = node; | |
this.lastNode = text; | |
}; | |
DomHandler2.prototype.oncdataend = function() { | |
this.lastNode = null; | |
}; | |
DomHandler2.prototype.onprocessinginstruction = function(name, data) { | |
var node = new node_1.ProcessingInstruction(name, data); | |
this.addNode(node); | |
}; | |
DomHandler2.prototype.handleCallback = function(error) { | |
if (typeof this.callback === "function") { | |
this.callback(error, this.dom); | |
} else if (error) { | |
throw error; | |
} | |
}; | |
DomHandler2.prototype.addNode = function(node) { | |
var parent = this.tagStack[this.tagStack.length - 1]; | |
var previousSibling = parent.children[parent.children.length - 1]; | |
if (this.options.withStartIndices) { | |
node.startIndex = this.parser.startIndex; | |
} | |
if (this.options.withEndIndices) { | |
node.endIndex = this.parser.endIndex; | |
} | |
parent.children.push(node); | |
if (previousSibling) { | |
node.prev = previousSibling; | |
previousSibling.next = node; | |
} | |
node.parent = parent; | |
this.lastNode = null; | |
}; | |
return DomHandler2; | |
}(); | |
exports.DomHandler = DomHandler; | |
exports.default = DomHandler; | |
} | |
}); | |
// ../node_modules/entities/lib/maps/entities.json | |
var require_entities = __commonJS({ | |
"../node_modules/entities/lib/maps/entities.json"(exports, module) { | |
module.exports = { Aacute: "\xC1", aacute: "\xE1", Abreve: "\u0102", abreve: "\u0103", ac: "\u223E", acd: "\u223F", acE: "\u223E\u0333", Acirc: "\xC2", acirc: "\xE2", acute: "\xB4", Acy: "\u0410", acy: "\u0430", AElig: "\xC6", aelig: "\xE6", af: "\u2061", Afr: "\u{1D504}", afr: "\u{1D51E}", Agrave: "\xC0", agrave: "\xE0", alefsym: "\u2135", aleph: "\u2135", Alpha: "\u0391", alpha: "\u03B1", Amacr: "\u0100", amacr: "\u0101", amalg: "\u2A3F", amp: "&", AMP: "&", andand: "\u2A55", And: "\u2A53", and: "\u2227", andd: "\u2A5C", andslope: "\u2A58", andv: "\u2A5A", ang: "\u2220", ange: "\u29A4", angle: "\u2220", angmsdaa: "\u29A8", angmsdab: "\u29A9", angmsdac: "\u29AA", angmsdad: "\u29AB", angmsdae: "\u29AC", angmsdaf: "\u29AD", angmsdag: "\u29AE", angmsdah: "\u29AF", angmsd: "\u2221", angrt: "\u221F", angrtvb: "\u22BE", angrtvbd: "\u299D", angsph: "\u2222", angst: "\xC5", angzarr: "\u237C", Aogon: "\u0104", aogon: "\u0105", Aopf: "\u{1D538}", aopf: "\u{1D552}", apacir: "\u2A6F", ap: "\u2248", apE: "\u2A70", ape: "\u224A", apid: "\u224B", apos: "'", ApplyFunction: "\u2061", approx: "\u2248", approxeq: "\u224A", Aring: "\xC5", aring: "\xE5", Ascr: "\u{1D49C}", ascr: "\u{1D4B6}", Assign: "\u2254", ast: "*", asymp: "\u2248", asympeq: "\u224D", Atilde: "\xC3", atilde: "\xE3", Auml: "\xC4", auml: "\xE4", awconint: "\u2233", awint: "\u2A11", backcong: "\u224C", backepsilon: "\u03F6", backprime: "\u2035", backsim: "\u223D", backsimeq: "\u22CD", Backslash: "\u2216", Barv: "\u2AE7", barvee: "\u22BD", barwed: "\u2305", Barwed: "\u2306", barwedge: "\u2305", bbrk: "\u23B5", bbrktbrk: "\u23B6", bcong: "\u224C", Bcy: "\u0411", bcy: "\u0431", bdquo: "\u201E", becaus: "\u2235", because: "\u2235", Because: "\u2235", bemptyv: "\u29B0", bepsi: "\u03F6", bernou: "\u212C", Bernoullis: "\u212C", Beta: "\u0392", beta: "\u03B2", beth: "\u2136", between: "\u226C", Bfr: "\u{1D505}", bfr: "\u{1D51F}", bigcap: "\u22C2", bigcirc: "\u25EF", bigcup: "\u22C3", bigodot: "\u2A00", bigoplus: "\u2A01", bigotimes: "\u2A02", bigsqcup: "\u2A06", bigstar: "\u2605", bigtriangledown: "\u25BD", bigtriangleup: "\u25B3", biguplus: "\u2A04", bigvee: "\u22C1", bigwedge: "\u22C0", bkarow: "\u290D", blacklozenge: "\u29EB", blacksquare: "\u25AA", blacktriangle: "\u25B4", blacktriangledown: "\u25BE", blacktriangleleft: "\u25C2", blacktriangleright: "\u25B8", blank: "\u2423", blk12: "\u2592", blk14: "\u2591", blk34: "\u2593", block: "\u2588", bne: "=\u20E5", bnequiv: "\u2261\u20E5", bNot: "\u2AED", bnot: "\u2310", Bopf: "\u{1D539}", bopf: "\u{1D553}", bot: "\u22A5", bottom: "\u22A5", bowtie: "\u22C8", boxbox: "\u29C9", boxdl: "\u2510", boxdL: "\u2555", boxDl: "\u2556", boxDL: "\u2557", boxdr: "\u250C", boxdR: "\u2552", boxDr: "\u2553", boxDR: "\u2554", boxh: "\u2500", boxH: "\u2550", boxhd: "\u252C", boxHd: "\u2564", boxhD: "\u2565", boxHD: "\u2566", boxhu: "\u2534", boxHu: "\u2567", boxhU: "\u2568", boxHU: "\u2569", boxminus: "\u229F", boxplus: "\u229E", boxtimes: "\u22A0", boxul: "\u2518", boxuL: "\u255B", boxUl: "\u255C", boxUL: "\u255D", boxur: "\u2514", boxuR: "\u2558", boxUr: "\u2559", boxUR: "\u255A", boxv: "\u2502", boxV: "\u2551", boxvh: "\u253C", boxvH: "\u256A", boxVh: "\u256B", boxVH: "\u256C", boxvl: "\u2524", boxvL: "\u2561", boxVl: "\u2562", boxVL: "\u2563", boxvr: "\u251C", boxvR: "\u255E", boxVr: "\u255F", boxVR: "\u2560", bprime: "\u2035", breve: "\u02D8", Breve: "\u02D8", brvbar: "\xA6", bscr: "\u{1D4B7}", Bscr: "\u212C", bsemi: "\u204F", bsim: "\u223D", bsime: "\u22CD", bsolb: "\u29C5", bsol: "\\", bsolhsub: "\u27C8", bull: "\u2022", bullet: "\u2022", bump: "\u224E", bumpE: "\u2AAE", bumpe: "\u224F", Bumpeq: "\u224E", bumpeq: "\u224F", Cacute: "\u0106", cacute: "\u0107", capand: "\u2A44", capbrcup: "\u2A49", capcap: "\u2A4B", cap: "\u2229", Cap: "\u22D2", capcup: "\u2A47", capdot: "\u2A40", CapitalDifferentialD: "\u2145", caps: "\u2229\uFE00", caret: "\u2041", caron: "\u02C7", Cayleys: "\u212D", ccaps: "\u2A4D", Ccaron: "\u010C", ccaron: "\u010D", Ccedil: "\xC7", ccedil: "\xE7", Ccirc: "\u0108", ccirc: "\u0109", Cconint: "\u2230", ccups: "\u2A4C", ccupssm: "\u2A50", Cdot: "\u010A", cdot: "\u010B", cedil: "\xB8", Cedilla: "\xB8", cemptyv: "\u29B2", cent: "\xA2", centerdot: "\xB7", CenterDot: "\xB7", cfr: "\u{1D520}", Cfr: "\u212D", CHcy: "\u0427", chcy: "\u0447", check: "\u2713", checkmark: "\u2713", Chi: "\u03A7", chi: "\u03C7", circ: "\u02C6", circeq: "\u2257", circlearrowleft: "\u21BA", circlearrowright: "\u21BB", circledast: "\u229B", circledcirc: "\u229A", circleddash: "\u229D", CircleDot: "\u2299", circledR: "\xAE", circledS: "\u24C8", CircleMinus: "\u2296", CirclePlus: "\u2295", CircleTimes: "\u2297", cir: "\u25CB", cirE: "\u29C3", cire: "\u2257", cirfnint: "\u2A10", cirmid: "\u2AEF", cirscir: "\u29C2", ClockwiseContourIntegral: "\u2232", CloseCurlyDoubleQuote: "\u201D", CloseCurlyQuote: "\u2019", clubs: "\u2663", clubsuit: "\u2663", colon: ":", Colon: "\u2237", Colone: "\u2A74", colone: "\u2254", coloneq: "\u2254", comma: ",", commat: "@", comp: "\u2201", compfn: "\u2218", complement: "\u2201", complexes: "\u2102", cong: "\u2245", congdot: "\u2A6D", Congruent: "\u2261", conint: "\u222E", Conint: "\u222F", ContourIntegral: "\u222E", copf: "\u{1D554}", Copf: "\u2102", coprod: "\u2210", Coproduct: "\u2210", copy: "\xA9", COPY: "\xA9", copysr: "\u2117", CounterClockwiseContourIntegral: "\u2233", crarr: "\u21B5", cross: "\u2717", Cross: "\u2A2F", Cscr: "\u{1D49E}", cscr: "\u{1D4B8}", csub: "\u2ACF", csube: "\u2AD1", csup: "\u2AD0", csupe: "\u2AD2", ctdot: "\u22EF", cudarrl: "\u2938", cudarrr: "\u2935", cuepr: "\u22DE", cuesc: "\u22DF", cularr: "\u21B6", cularrp: "\u293D", cupbrcap: "\u2A48", cupcap: "\u2A46", CupCap: "\u224D", cup: "\u222A", Cup: "\u22D3", cupcup: "\u2A4A", cupdot: "\u228D", cupor: "\u2A45", cups: "\u222A\uFE00", curarr: "\u21B7", curarrm: "\u293C", curlyeqprec: "\u22DE", curlyeqsucc: "\u22DF", curlyvee: "\u22CE", curlywedge: "\u22CF", curren: "\xA4", curvearrowleft: "\u21B6", curvearrowright: "\u21B7", cuvee: "\u22CE", cuwed: "\u22CF", cwconint: "\u2232", cwint: "\u2231", cylcty: "\u232D", dagger: "\u2020", Dagger: "\u2021", daleth: "\u2138", darr: "\u2193", Darr: "\u21A1", dArr: "\u21D3", dash: "\u2010", Dashv: "\u2AE4", dashv: "\u22A3", dbkarow: "\u290F", dblac: "\u02DD", Dcaron: "\u010E", dcaron: "\u010F", Dcy: "\u0414", dcy: "\u0434", ddagger: "\u2021", ddarr: "\u21CA", DD: "\u2145", dd: "\u2146", DDotrahd: "\u2911", ddotseq: "\u2A77", deg: "\xB0", Del: "\u2207", Delta: "\u0394", delta: "\u03B4", demptyv: "\u29B1", dfisht: "\u297F", Dfr: "\u{1D507}", dfr: "\u{1D521}", dHar: "\u2965", dharl: "\u21C3", dharr: "\u21C2", DiacriticalAcute: "\xB4", DiacriticalDot: "\u02D9", DiacriticalDoubleAcute: "\u02DD", DiacriticalGrave: "`", DiacriticalTilde: "\u02DC", diam: "\u22C4", diamond: "\u22C4", Diamond: "\u22C4", diamondsuit: "\u2666", diams: "\u2666", die: "\xA8", DifferentialD: "\u2146", digamma: "\u03DD", disin: "\u22F2", div: "\xF7", divide: "\xF7", divideontimes: "\u22C7", divonx: "\u22C7", DJcy: "\u0402", djcy: "\u0452", dlcorn: "\u231E", dlcrop: "\u230D", dollar: "$", Dopf: "\u{1D53B}", dopf: "\u{1D555}", Dot: "\xA8", dot: "\u02D9", DotDot: "\u20DC", doteq: "\u2250", doteqdot: "\u2251", DotEqual: "\u2250", dotminus: "\u2238", dotplus: "\u2214", dotsquare: "\u22A1", doublebarwedge: "\u2306", DoubleContourIntegral: "\u222F", DoubleDot: "\xA8", DoubleDownArrow: "\u21D3", DoubleLeftArrow: "\u21D0", DoubleLeftRightArrow: "\u21D4", DoubleLeftTee: "\u2AE4", DoubleLongLeftArrow: "\u27F8", DoubleLongLeftRightArrow: "\u27FA", DoubleLongRightArrow: "\u27F9", DoubleRightArrow: "\u21D2", DoubleRightTee: "\u22A8", DoubleUpArrow: "\u21D1", DoubleUpDownArrow: "\u21D5", DoubleVerticalBar: "\u2225", DownArrowBar: "\u2913", downarrow: "\u2193", DownArrow: "\u2193", Downarrow: "\u21D3", DownArrowUpArrow: "\u21F5", DownBreve: "\u0311", downdownarrows: "\u21CA", downharpoonleft: "\u21C3", downharpoonright: "\u21C2", DownLeftRightVector: "\u2950", DownLeftTeeVector: "\u295E", DownLeftVectorBar: "\u2956", DownLeftVector: "\u21BD", DownRightTeeVector: "\u295F", DownRightVectorBar: "\u2957", DownRightVector: "\u21C1", DownTeeArrow: "\u21A7", DownTee: "\u22A4", drbkarow: "\u2910", drcorn: "\u231F", drcrop: "\u230C", Dscr: "\u{1D49F}", dscr: "\u{1D4B9}", DScy: "\u0405", dscy: "\u0455", dsol: "\u29F6", Dstrok: "\u0110", dstrok: "\u0111", dtdot: "\u22F1", dtri: "\u25BF", dtrif: "\u25BE", duarr: "\u21F5", duhar: "\u296F", dwangle: "\u29A6", DZcy: "\u040F", dzcy: "\u045F", dzigrarr: "\u27FF", Eacute: "\xC9", eacute: "\xE9", easter: "\u2A6E", Ecaron: "\u011A", ecaron: "\u011B", Ecirc: "\xCA", ecirc: "\xEA", ecir: "\u2256", ecolon: "\u2255", Ecy: "\u042D", ecy: "\u044D", eDDot: "\u2A77", Edot: "\u0116", edot: "\u0117", eDot: "\u2251", ee: "\u2147", efDot: "\u2252", Efr: "\u{1D508}", efr: "\u{1D522}", eg: "\u2A9A", Egrave: "\xC8", egrave: "\xE8", egs: "\u2A96", egsdot: "\u2A98", el: "\u2A99", Element: "\u2208", elinters: "\u23E7", ell: "\u2113", els: "\u2A95", elsdot: "\u2A97", Emacr: "\u0112", emacr: "\u0113", empty: "\u2205", emptyset: "\u2205", EmptySmallSquare: "\u25FB", emptyv: "\u2205", EmptyVerySmallSquare: "\u25AB", emsp13: "\u2004", emsp14: "\u2005", emsp: "\u2003", ENG: "\u014A", eng: "\u014B", ensp: "\u2002", Eogon: "\u0118", eogon: "\u0119", Eopf: "\u{1D53C}", eopf: "\u{1D556}", epar: "\u22D5", eparsl: "\u29E3", eplus: "\u2A71", epsi: "\u03B5", Epsilon: "\u0395", epsilon: "\u03B5", epsiv: "\u03F5", eqcirc: "\u2256", eqcolon: "\u2255", eqsim: "\u2242", eqslantgtr: "\u2A96", eqslantless: "\u2A95", Equal: "\u2A75", equals: "=", EqualTilde: "\u2242", equest: "\u225F", Equilibrium: "\u21CC", equiv: "\u2261", equivDD: "\u2A78", eqvparsl: "\u29E5", erarr: "\u2971", erDot: "\u2253", escr: "\u212F", Escr: "\u2130", esdot: "\u2250", Esim: "\u2A73", esim: "\u2242", Eta: "\u0397", eta: "\u03B7", ETH: "\xD0", eth: "\xF0", Euml: "\xCB", euml: "\xEB", euro: "\u20AC", excl: "!", exist: "\u2203", Exists: "\u2203", expectation: "\u2130", exponentiale: "\u2147", ExponentialE: "\u2147", fallingdotseq: "\u2252", Fcy: "\u0424", fcy: "\u0444", female: "\u2640", ffilig: "\uFB03", fflig: "\uFB00", ffllig: "\uFB04", Ffr: "\u{1D509}", ffr: "\u{1D523}", filig: "\uFB01", FilledSmallSquare: "\u25FC", FilledVerySmallSquare: "\u25AA", fjlig: "fj", flat: "\u266D", fllig: "\uFB02", fltns: "\u25B1", fnof: "\u0192", Fopf: "\u{1D53D}", fopf: "\u{1D557}", forall: "\u2200", ForAll: "\u2200", fork: "\u22D4", forkv: "\u2AD9", Fouriertrf: "\u2131", fpartint: "\u2A0D", frac12: "\xBD", frac13: "\u2153", frac14: "\xBC", frac15: "\u2155", frac16: "\u2159", frac18: "\u215B", frac23: "\u2154", frac25: "\u2156", frac34: "\xBE", frac35: "\u2157", frac38: "\u215C", frac45: "\u2158", frac56: "\u215A", frac58: "\u215D", frac78: "\u215E", frasl: "\u2044", frown: "\u2322", fscr: "\u{1D4BB}", Fscr: "\u2131", gacute: "\u01F5", Gamma: "\u0393", gamma: "\u03B3", Gammad: "\u03DC", gammad: "\u03DD", gap: "\u2A86", Gbreve: "\u011E", gbreve: "\u011F", Gcedil: "\u0122", Gcirc: "\u011C", gcirc: "\u011D", Gcy: "\u0413", gcy: "\u0433", Gdot: "\u0120", gdot: "\u0121", ge: "\u2265", gE: "\u2267", gEl: "\u2A8C", gel: "\u22DB", geq: "\u2265", geqq: "\u2267", geqslant: "\u2A7E", gescc: "\u2AA9", ges: "\u2A7E", gesdot: "\u2A80", gesdoto: "\u2A82", gesdotol: "\u2A84", gesl: "\u22DB\uFE00", gesles: "\u2A94", Gfr: "\u{1D50A}", gfr: "\u{1D524}", gg: "\u226B", Gg: "\u22D9", ggg: "\u22D9", gimel: "\u2137", GJcy: "\u0403", gjcy: "\u0453", gla: "\u2AA5", gl: "\u2277", glE: "\u2A92", glj: "\u2AA4", gnap: "\u2A8A", gnapprox: "\u2A8A", gne: "\u2A88", gnE: "\u2269", gneq: "\u2A88", gneqq: "\u2269", gnsim: "\u22E7", Gopf: "\u{1D53E}", gopf: "\u{1D558}", grave: "`", GreaterEqual: "\u2265", GreaterEqualLess: "\u22DB", GreaterFullEqual: "\u2267", GreaterGreater: "\u2AA2", GreaterLess: "\u2277", GreaterSlantEqual: "\u2A7E", GreaterTilde: "\u2273", Gscr: "\u{1D4A2}", gscr: "\u210A", gsim: "\u2273", gsime: "\u2A8E", gsiml: "\u2A90", gtcc: "\u2AA7", gtcir: "\u2A7A", gt: ">", GT: ">", Gt: "\u226B", gtdot: "\u22D7", gtlPar: "\u2995", gtquest: "\u2A7C", gtrapprox: "\u2A86", gtrarr: "\u2978", gtrdot: "\u22D7", gtreqless: "\u22DB", gtreqqless: "\u2A8C", gtrless: "\u2277", gtrsim: "\u2273", gvertneqq: "\u2269\uFE00", gvnE: "\u2269\uFE00", Hacek: "\u02C7", hairsp: "\u200A", half: "\xBD", hamilt: "\u210B", HARDcy: "\u042A", hardcy: "\u044A", harrcir: "\u2948", harr: "\u2194", hArr: "\u21D4", harrw: "\u21AD", Hat: "^", hbar: "\u210F", Hcirc: "\u0124", hcirc: "\u0125", hearts: "\u2665", heartsuit: "\u2665", hellip: "\u2026", hercon: "\u22B9", hfr: "\u{1D525}", Hfr: "\u210C", HilbertSpace: "\u210B", hksearow: "\u2925", hkswarow: "\u2926", hoarr: "\u21FF", homtht: "\u223B", hookleftarrow: "\u21A9", hookrightarrow: "\u21AA", hopf: "\u{1D559}", Hopf: "\u210D", horbar: "\u2015", HorizontalLine: "\u2500", hscr: "\u{1D4BD}", Hscr: "\u210B", hslash: "\u210F", Hstrok: "\u0126", hstrok: "\u0127", HumpDownHump: "\u224E", HumpEqual: "\u224F", hybull: "\u2043", hyphen: "\u2010", Iacute: "\xCD", iacute: "\xED", ic: "\u2063", Icirc: "\xCE", icirc: "\xEE", Icy: "\u0418", icy: "\u0438", Idot: "\u0130", IEcy: "\u0415", iecy: "\u0435", iexcl: "\xA1", iff: "\u21D4", ifr: "\u{1D526}", Ifr: "\u2111", Igrave: "\xCC", igrave: "\xEC", ii: "\u2148", iiiint: "\u2A0C", iiint: "\u222D", iinfin: "\u29DC", iiota: "\u2129", IJlig: "\u0132", ijlig: "\u0133", Imacr: "\u012A", imacr: "\u012B", image: "\u2111", ImaginaryI: "\u2148", imagline: "\u2110", imagpart: "\u2111", imath: "\u0131", Im: "\u2111", imof: "\u22B7", imped: "\u01B5", Implies: "\u21D2", incare: "\u2105", in: "\u2208", infin: "\u221E", infintie: "\u29DD", inodot: "\u0131", intcal: "\u22BA", int: "\u222B", Int: "\u222C", integers: "\u2124", Integral: "\u222B", intercal: "\u22BA", Intersection: "\u22C2", intlarhk: "\u2A17", intprod: "\u2A3C", InvisibleComma: "\u2063", InvisibleTimes: "\u2062", IOcy: "\u0401", iocy: "\u0451", Iogon: "\u012E", iogon: "\u012F", Iopf: "\u{1D540}", iopf: "\u{1D55A}", Iota: "\u0399", iota: "\u03B9", iprod: "\u2A3C", iquest: "\xBF", iscr: "\u{1D4BE}", Iscr: "\u2110", isin: "\u2208", isindot: "\u22F5", isinE: "\u22F9", isins: "\u22F4", isinsv: "\u22F3", isinv: "\u2208", it: "\u2062", Itilde: "\u0128", itilde: "\u0129", Iukcy: "\u0406", iukcy: "\u0456", Iuml: "\xCF", iuml: "\xEF", Jcirc: "\u0134", jcirc: "\u0135", Jcy: "\u0419", jcy: "\u0439", Jfr: "\u{1D50D}", jfr: "\u{1D527}", jmath: "\u0237", Jopf: "\u{1D541}", jopf: "\u{1D55B}", Jscr: "\u{1D4A5}", jscr: "\u{1D4BF}", Jsercy: "\u0408", jsercy: "\u0458", Jukcy: "\u0404", jukcy: "\u0454", Kappa: "\u039A", kappa: "\u03BA", kappav: "\u03F0", Kcedil: "\u0136", kcedil: "\u0137", Kcy: "\u041A", kcy: "\u043A", Kfr: "\u{1D50E}", kfr: "\u{1D528}", kgreen: "\u0138", KHcy: "\u0425", khcy: "\u0445", KJcy: "\u040C", kjcy: "\u045C", Kopf: "\u{1D542}", kopf: "\u{1D55C}", Kscr: "\u{1D4A6}", kscr: "\u{1D4C0}", lAarr: "\u21DA", Lacute: "\u0139", lacute: "\u013A", laemptyv: "\u29B4", lagran: "\u2112", Lambda: "\u039B", lambda: "\u03BB", lang: "\u27E8", Lang: "\u27EA", langd: "\u2991", langle: "\u27E8", lap: "\u2A85", Laplacetrf: "\u2112", laquo: "\xAB", larrb: "\u21E4", larrbfs: "\u291F", larr: "\u2190", Larr: "\u219E", lArr: "\u21D0", larrfs: "\u291D", larrhk: "\u21A9", larrlp: "\u21AB", larrpl: "\u2939", larrsim: "\u2973", larrtl: "\u21A2", latail: "\u2919", lAtail: "\u291B", lat: "\u2AAB", late: "\u2AAD", lates: "\u2AAD\uFE00", lbarr: "\u290C", lBarr: "\u290E", lbbrk: "\u2772", lbrace: "{", lbrack: "[", lbrke: "\u298B", lbrksld: "\u298F", lbrkslu: "\u298D", Lcaron: "\u013D", lcaron: "\u013E", Lcedil: "\u013B", lcedil: "\u013C", lceil: "\u2308", lcub: "{", Lcy: "\u041B", lcy: "\u043B", ldca: "\u2936", ldquo: "\u201C", ldquor: "\u201E", ldrdhar: "\u2967", ldrushar: "\u294B", ldsh: "\u21B2", le: "\u2264", lE: "\u2266", LeftAngleBracket: "\u27E8", LeftArrowBar: "\u21E4", leftarrow: "\u2190", LeftArrow: "\u2190", Leftarrow: "\u21D0", LeftArrowRightArrow: "\u21C6", leftarrowtail: "\u21A2", LeftCeiling: "\u2308", LeftDoubleBracket: "\u27E6", LeftDownTeeVector: "\u2961", LeftDownVectorBar: "\u2959", LeftDownVector: "\u21C3", LeftFloor: "\u230A", leftharpoondown: "\u21BD", leftharpoonup: "\u21BC", leftleftarrows: "\u21C7", leftrightarrow: "\u2194", LeftRightArrow: "\u2194", Leftrightarrow: "\u21D4", leftrightarrows: "\u21C6", leftrightharpoons: "\u21CB", leftrightsquigarrow: "\u21AD", LeftRightVector: "\u294E", LeftTeeArrow: "\u21A4", LeftTee: "\u22A3", LeftTeeVector: "\u295A", leftthreetimes: "\u22CB", LeftTriangleBar: "\u29CF", LeftTriangle: "\u22B2", LeftTriangleEqual: "\u22B4", LeftUpDownVector: "\u2951", LeftUpTeeVector: "\u2960", LeftUpVectorBar: "\u2958", LeftUpVector: "\u21BF", LeftVectorBar: "\u2952", LeftVector: "\u21BC", lEg: "\u2A8B", leg: "\u22DA", leq: "\u2264", leqq: "\u2266", leqslant: "\u2A7D", lescc: "\u2AA8", les: "\u2A7D", lesdot: "\u2A7F", lesdoto: "\u2A81", lesdotor: "\u2A83", lesg: "\u22DA\uFE00", lesges: "\u2A93", lessapprox: "\u2A85", lessdot: "\u22D6", lesseqgtr: "\u22DA", lesseqqgtr: "\u2A8B", LessEqualGreater: "\u22DA", LessFullEqual: "\u2266", LessGreater: "\u2276", lessgtr: "\u2276", LessLess: "\u2AA1", lesssim: "\u2272", LessSlantEqual: "\u2A7D", LessTilde: "\u2272", lfisht: "\u297C", lfloor: "\u230A", Lfr: "\u{1D50F}", lfr: "\u{1D529}", lg: "\u2276", lgE: "\u2A91", lHar: "\u2962", lhard: "\u21BD", lharu: "\u21BC", lharul: "\u296A", lhblk: "\u2584", LJcy: "\u0409", ljcy: "\u0459", llarr: "\u21C7", ll: "\u226A", Ll: "\u22D8", llcorner: "\u231E", Lleftarrow: "\u21DA", llhard: "\u296B", lltri: "\u25FA", Lmidot: "\u013F", lmidot: "\u0140", lmoustache: "\u23B0", lmoust: "\u23B0", lnap: "\u2A89", lnapprox: "\u2A89", lne: "\u2A87", lnE: "\u2268", lneq: "\u2A87", lneqq: "\u2268", lnsim: "\u22E6", loang: "\u27EC", loarr: "\u21FD", lobrk: "\u27E6", longleftarrow: "\u27F5", LongLeftArrow: "\u27F5", Longleftarrow: "\u27F8", longleftrightarrow: "\u27F7", LongLeftRightArrow: "\u27F7", Longleftrightarrow: "\u27FA", longmapsto: "\u27FC", longrightarrow: "\u27F6", LongRightArrow: "\u27F6", Longrightarrow: "\u27F9", looparrowleft: "\u21AB", looparrowright: "\u21AC", lopar: "\u2985", Lopf: "\u{1D543}", lopf: "\u{1D55D}", loplus: "\u2A2D", lotimes: "\u2A34", lowast: "\u2217", lowbar: "_", LowerLeftArrow: "\u2199", LowerRightArrow: "\u2198", loz: "\u25CA", lozenge: "\u25CA", lozf: "\u29EB", lpar: "(", lparlt: "\u2993", lrarr: "\u21C6", lrcorner: "\u231F", lrhar: "\u21CB", lrhard: "\u296D", lrm: "\u200E", lrtri: "\u22BF", lsaquo: "\u2039", lscr: "\u{1D4C1}", Lscr: "\u2112", lsh: "\u21B0", Lsh: "\u21B0", lsim: "\u2272", lsime: "\u2A8D", lsimg: "\u2A8F", lsqb: "[", lsquo: "\u2018", lsquor: "\u201A", Lstrok: "\u0141", lstrok: "\u0142", ltcc: "\u2AA6", ltcir: "\u2A79", lt: "<", LT: "<", Lt: "\u226A", ltdot: "\u22D6", lthree: "\u22CB", ltimes: "\u22C9", ltlarr: "\u2976", ltquest: "\u2A7B", ltri: "\u25C3", ltrie: "\u22B4", ltrif: "\u25C2", ltrPar: "\u2996", lurdshar: "\u294A", luruhar: "\u2966", lvertneqq: "\u2268\uFE00", lvnE: "\u2268\uFE00", macr: "\xAF", male: "\u2642", malt: "\u2720", maltese: "\u2720", Map: "\u2905", map: "\u21A6", mapsto: "\u21A6", mapstodown: "\u21A7", mapstoleft: "\u21A4", mapstoup: "\u21A5", marker: "\u25AE", mcomma: "\u2A29", Mcy: "\u041C", mcy: "\u043C", mdash: "\u2014", mDDot: "\u223A", measuredangle: "\u2221", MediumSpace: "\u205F", Mellintrf: "\u2133", Mfr: "\u{1D510}", mfr: "\u{1D52A}", mho: "\u2127", micro: "\xB5", midast: "*", midcir: "\u2AF0", mid: "\u2223", middot: "\xB7", minusb: "\u229F", minus: "\u2212", minusd: "\u2238", minusdu: "\u2A2A", MinusPlus: "\u2213", mlcp: "\u2ADB", mldr: "\u2026", mnplus: "\u2213", models: "\u22A7", Mopf: "\u{1D544}", mopf: "\u{1D55E}", mp: "\u2213", mscr: "\u{1D4C2}", Mscr: "\u2133", mstpos: "\u223E", Mu: "\u039C", mu: "\u03BC", multimap: "\u22B8", mumap: "\u22B8", nabla: "\u2207", Nacute: "\u0143", nacute: "\u0144", nang: "\u2220\u20D2", nap: "\u2249", napE: "\u2A70\u0338", napid: "\u224B\u0338", napos: "\u0149", napprox: "\u2249", natural: "\u266E", naturals: "\u2115", natur: "\u266E", nbsp: "\xA0", nbump: "\u224E\u0338", nbumpe: "\u224F\u0338", ncap: "\u2A43", Ncaron: "\u0147", ncaron: "\u0148", Ncedil: "\u0145", ncedil: "\u0146", ncong: "\u2247", ncongdot: "\u2A6D\u0338", ncup: "\u2A42", Ncy: "\u041D", ncy: "\u043D", ndash: "\u2013", nearhk: "\u2924", nearr: "\u2197", neArr: "\u21D7", nearrow: "\u2197", ne: "\u2260", nedot: "\u2250\u0338", NegativeMediumSpace: "\u200B", NegativeThickSpace: "\u200B", NegativeThinSpace: "\u200B", NegativeVeryThinSpace: "\u200B", nequiv: "\u2262", nesear: "\u2928", nesim: "\u2242\u0338", NestedGreaterGreater: "\u226B", NestedLessLess: "\u226A", NewLine: "\n", nexist: "\u2204", nexists: "\u2204", Nfr: "\u{1D511}", nfr: "\u{1D52B}", ngE: "\u2267\u0338", nge: "\u2271", ngeq: "\u2271", ngeqq: "\u2267\u0338", ngeqslant: "\u2A7E\u0338", nges: "\u2A7E\u0338", nGg: "\u22D9\u0338", ngsim: "\u2275", nGt: "\u226B\u20D2", ngt: "\u226F", ngtr: "\u226F", nGtv: "\u226B\u0338", nharr: "\u21AE", nhArr: "\u21CE", nhpar: "\u2AF2", ni: "\u220B", nis: "\u22FC", nisd: "\u22FA", niv: "\u220B", NJcy: "\u040A", njcy: "\u045A", nlarr: "\u219A", nlArr: "\u21CD", nldr: "\u2025", nlE: "\u2266\u0338", nle: "\u2270", nleftarrow: "\u219A", nLeftarrow: "\u21CD", nleftrightarrow: "\u21AE", nLeftrightarrow: "\u21CE", nleq: "\u2270", nleqq: "\u2266\u0338", nleqslant: "\u2A7D\u0338", nles: "\u2A7D\u0338", nless: "\u226E", nLl: "\u22D8\u0338", nlsim: "\u2274", nLt: "\u226A\u20D2", nlt: "\u226E", nltri: "\u22EA", nltrie: "\u22EC", nLtv: "\u226A\u0338", nmid: "\u2224", NoBreak: "\u2060", NonBreakingSpace: "\xA0", nopf: "\u{1D55F}", Nopf: "\u2115", Not: "\u2AEC", not: "\xAC", NotCongruent: "\u2262", NotCupCap: "\u226D", NotDoubleVerticalBar: "\u2226", NotElement: "\u2209", NotEqual: "\u2260", NotEqualTilde: "\u2242\u0338", NotExists: "\u2204", NotGreater: "\u226F", NotGreaterEqual: "\u2271", NotGreaterFullEqual: "\u2267\u0338", NotGreaterGreater: "\u226B\u0338", NotGreaterLess: "\u2279", NotGreaterSlantEqual: "\u2A7E\u0338", NotGreaterTilde: "\u2275", NotHumpDownHump: "\u224E\u0338", NotHumpEqual: "\u224F\u0338", notin: "\u2209", notindot: "\u22F5\u0338", notinE: "\u22F9\u0338", notinva: "\u2209", notinvb: "\u22F7", notinvc: "\u22F6", NotLeftTriangleBar: "\u29CF\u0338", NotLeftTriangle: "\u22EA", NotLeftTriangleEqual: "\u22EC", NotLess: "\u226E", NotLessEqual: "\u2270", NotLessGreater: "\u2278", NotLessLess: "\u226A\u0338", NotLessSlantEqual: "\u2A7D\u0338", NotLessTilde: "\u2274", NotNestedGreaterGreater: "\u2AA2\u0338", NotNestedLessLess: "\u2AA1\u0338", notni: "\u220C", notniva: "\u220C", notnivb: "\u22FE", notnivc: "\u22FD", NotPrecedes: "\u2280", NotPrecedesEqual: "\u2AAF\u0338", NotPrecedesSlantEqual: "\u22E0", NotReverseElement: "\u220C", NotRightTriangleBar: "\u29D0\u0338", NotRightTriangle: "\u22EB", NotRightTriangleEqual: "\u22ED", NotSquareSubset: "\u228F\u0338", NotSquareSubsetEqual: "\u22E2", NotSquareSuperset: "\u2290\u0338", NotSquareSupersetEqual: "\u22E3", NotSubset: "\u2282\u20D2", NotSubsetEqual: "\u2288", NotSucceeds: "\u2281", NotSucceedsEqual: "\u2AB0\u0338", NotSucceedsSlantEqual: "\u22E1", NotSucceedsTilde: "\u227F\u0338", NotSuperset: "\u2283\u20D2", NotSupersetEqual: "\u2289", NotTilde: "\u2241", NotTildeEqual: "\u2244", NotTildeFullEqual: "\u2247", NotTildeTilde: "\u2249", NotVerticalBar: "\u2224", nparallel: "\u2226", npar: "\u2226", nparsl: "\u2AFD\u20E5", npart: "\u2202\u0338", npolint: "\u2A14", npr: "\u2280", nprcue: "\u22E0", nprec: "\u2280", npreceq: "\u2AAF\u0338", npre: "\u2AAF\u0338", nrarrc: "\u2933\u0338", nrarr: "\u219B", nrArr: "\u21CF", nrarrw: "\u219D\u0338", nrightarrow: "\u219B", nRightarrow: "\u21CF", nrtri: "\u22EB", nrtrie: "\u22ED", nsc: "\u2281", nsccue: "\u22E1", nsce: "\u2AB0\u0338", Nscr: "\u{1D4A9}", nscr: "\u{1D4C3}", nshortmid: "\u2224", nshortparallel: "\u2226", nsim: "\u2241", nsime: "\u2244", nsimeq: "\u2244", nsmid: "\u2224", nspar: "\u2226", nsqsube: "\u22E2", nsqsupe: "\u22E3", nsub: "\u2284", nsubE: "\u2AC5\u0338", nsube: "\u2288", nsubset: "\u2282\u20D2", nsubseteq: "\u2288", nsubseteqq: "\u2AC5\u0338", nsucc: "\u2281", nsucceq: "\u2AB0\u0338", nsup: "\u2285", nsupE: "\u2AC6\u0338", nsupe: "\u2289", nsupset: "\u2283\u20D2", nsupseteq: "\u2289", nsupseteqq: "\u2AC6\u0338", ntgl: "\u2279", Ntilde: "\xD1", ntilde: "\xF1", ntlg: "\u2278", ntriangleleft: "\u22EA", ntrianglelefteq: "\u22EC", ntriangleright: "\u22EB", ntrianglerighteq: "\u22ED", Nu: "\u039D", nu: "\u03BD", num: "#", numero: "\u2116", numsp: "\u2007", nvap: "\u224D\u20D2", nvdash: "\u22AC", nvDash: "\u22AD", nVdash: "\u22AE", nVDash: "\u22AF", nvge: "\u2265\u20D2", nvgt: ">\u20D2", nvHarr: "\u2904", nvinfin: "\u29DE", nvlArr: "\u2902", nvle: "\u2264\u20D2", nvlt: "<\u20D2", nvltrie: "\u22B4\u20D2", nvrArr: "\u2903", nvrtrie: "\u22B5\u20D2", nvsim: "\u223C\u20D2", nwarhk: "\u2923", nwarr: "\u2196", nwArr: "\u21D6", nwarrow: "\u2196", nwnear: "\u2927", Oacute: "\xD3", oacute: "\xF3", oast: "\u229B", Ocirc: "\xD4", ocirc: "\xF4", ocir: "\u229A", Ocy: "\u041E", ocy: "\u043E", odash: "\u229D", Odblac: "\u0150", odblac: "\u0151", odiv: "\u2A38", odot: "\u2299", odsold: "\u29BC", OElig: "\u0152", oelig: "\u0153", ofcir: "\u29BF", Ofr: "\u{1D512}", ofr: "\u{1D52C}", ogon: "\u02DB", Ograve: "\xD2", ograve: "\xF2", ogt: "\u29C1", ohbar: "\u29B5", ohm: "\u03A9", oint: "\u222E", olarr: "\u21BA", olcir: "\u29BE", olcross: "\u29BB", oline: "\u203E", olt: "\u29C0", Omacr: "\u014C", omacr: "\u014D", Omega: "\u03A9", omega: "\u03C9", Omicron: "\u039F", omicron: "\u03BF", omid: "\u29B6", ominus: "\u2296", Oopf: "\u{1D546}", oopf: "\u{1D560}", opar: "\u29B7", OpenCurlyDoubleQuote: "\u201C", OpenCurlyQuote: "\u2018", operp: "\u29B9", oplus: "\u2295", orarr: "\u21BB", Or: "\u2A54", or: "\u2228", ord: "\u2A5D", order: "\u2134", orderof: "\u2134", ordf: "\xAA", ordm: "\xBA", origof: "\u22B6", oror: "\u2A56", orslope: "\u2A57", orv: "\u2A5B", oS: "\u24C8", Oscr: "\u{1D4AA}", oscr: "\u2134", Oslash: "\xD8", oslash: "\xF8", osol: "\u2298", Otilde: "\xD5", otilde: "\xF5", otimesas: "\u2A36", Otimes: "\u2A37", otimes: "\u2297", Ouml: "\xD6", ouml: "\xF6", ovbar: "\u233D", OverBar: "\u203E", OverBrace: "\u23DE", OverBracket: "\u23B4", OverParenthesis: "\u23DC", para: "\xB6", parallel: "\u2225", par: "\u2225", parsim: "\u2AF3", parsl: "\u2AFD", part: "\u2202", PartialD: "\u2202", Pcy: "\u041F", pcy: "\u043F", percnt: "%", period: ".", permil: "\u2030", perp: "\u22A5", pertenk: "\u2031", Pfr: "\u{1D513}", pfr: "\u{1D52D}", Phi: "\u03A6", phi: "\u03C6", phiv: "\u03D5", phmmat: "\u2133", phone: "\u260E", Pi: "\u03A0", pi: "\u03C0", pitchfork: "\u22D4", piv: "\u03D6", planck: "\u210F", planckh: "\u210E", plankv: "\u210F", plusacir: "\u2A23", plusb: "\u229E", pluscir: "\u2A22", plus: "+", plusdo: "\u2214", plusdu: "\u2A25", pluse: "\u2A72", PlusMinus: "\xB1", plusmn: "\xB1", plussim: "\u2A26", plustwo: "\u2A27", pm: "\xB1", Poincareplane: "\u210C", pointint: "\u2A15", popf: "\u{1D561}", Popf: "\u2119", pound: "\xA3", prap: "\u2AB7", Pr: "\u2ABB", pr: "\u227A", prcue: "\u227C", precapprox: "\u2AB7", prec: "\u227A", preccurlyeq: "\u227C", Precedes: "\u227A", PrecedesEqual: "\u2AAF", PrecedesSlantEqual: "\u227C", PrecedesTilde: "\u227E", preceq: "\u2AAF", precnapprox: "\u2AB9", precneqq: "\u2AB5", precnsim: "\u22E8", pre: "\u2AAF", prE: "\u2AB3", precsim: "\u227E", prime: "\u2032", Prime: "\u2033", primes: "\u2119", prnap: "\u2AB9", prnE: "\u2AB5", prnsim: "\u22E8", prod: "\u220F", Product: "\u220F", profalar: "\u232E", profline: "\u2312", profsurf: "\u2313", prop: "\u221D", Proportional: "\u221D", Proportion: "\u2237", propto: "\u221D", prsim: "\u227E", prurel: "\u22B0", Pscr: "\u{1D4AB}", pscr: "\u{1D4C5}", Psi: "\u03A8", psi: "\u03C8", puncsp: "\u2008", Qfr: "\u{1D514}", qfr: "\u{1D52E}", qint: "\u2A0C", qopf: "\u{1D562}", Qopf: "\u211A", qprime: "\u2057", Qscr: "\u{1D4AC}", qscr: "\u{1D4C6}", quaternions: "\u210D", quatint: "\u2A16", quest: "?", questeq: "\u225F", quot: '"', QUOT: '"', rAarr: "\u21DB", race: "\u223D\u0331", Racute: "\u0154", racute: "\u0155", radic: "\u221A", raemptyv: "\u29B3", rang: "\u27E9", Rang: "\u27EB", rangd: "\u2992", range: "\u29A5", rangle: "\u27E9", raquo: "\xBB", rarrap: "\u2975", rarrb: "\u21E5", rarrbfs: "\u2920", rarrc: "\u2933", rarr: "\u2192", Rarr: "\u21A0", rArr: "\u21D2", rarrfs: "\u291E", rarrhk: "\u21AA", rarrlp: "\u21AC", rarrpl: "\u2945", rarrsim: "\u2974", Rarrtl: "\u2916", rarrtl: "\u21A3", rarrw: "\u219D", ratail: "\u291A", rAtail: "\u291C", ratio: "\u2236", rationals: "\u211A", rbarr: "\u290D", rBarr: "\u290F", RBarr: "\u2910", rbbrk: "\u2773", rbrace: "}", rbrack: "]", rbrke: "\u298C", rbrksld: "\u298E", rbrkslu: "\u2990", Rcaron: "\u0158", rcaron: "\u0159", Rcedil: "\u0156", rcedil: "\u0157", rceil: "\u2309", rcub: "}", Rcy: "\u0420", rcy: "\u0440", rdca: "\u2937", rdldhar: "\u2969", rdquo: "\u201D", rdquor: "\u201D", rdsh: "\u21B3", real: "\u211C", realine: "\u211B", realpart: "\u211C", reals: "\u211D", Re: "\u211C", rect: "\u25AD", reg: "\xAE", REG: "\xAE", ReverseElement: "\u220B", ReverseEquilibrium: "\u21CB", ReverseUpEquilibrium: "\u296F", rfisht: "\u297D", rfloor: "\u230B", rfr: "\u{1D52F}", Rfr: "\u211C", rHar: "\u2964", rhard: "\u21C1", rharu: "\u21C0", rharul: "\u296C", Rho: "\u03A1", rho: "\u03C1", rhov: "\u03F1", RightAngleBracket: "\u27E9", RightArrowBar: "\u21E5", rightarrow: "\u2192", RightArrow: "\u2192", Rightarrow: "\u21D2", RightArrowLeftArrow: "\u21C4", rightarrowtail: "\u21A3", RightCeiling: "\u2309", RightDoubleBracket: "\u27E7", RightDownTeeVector: "\u295D", RightDownVectorBar: "\u2955", RightDownVector: "\u21C2", RightFloor: "\u230B", rightharpoondown: "\u21C1", rightharpoonup: "\u21C0", rightleftarrows: "\u21C4", rightleftharpoons: "\u21CC", rightrightarrows: "\u21C9", rightsquigarrow: "\u219D", RightTeeArrow: "\u21A6", RightTee: "\u22A2", RightTeeVector: "\u295B", rightthreetimes: "\u22CC", RightTriangleBar: "\u29D0", RightTriangle: "\u22B3", RightTriangleEqual: "\u22B5", RightUpDownVector: "\u294F", RightUpTeeVector: "\u295C", RightUpVectorBar: "\u2954", RightUpVector: "\u21BE", RightVectorBar: "\u2953", RightVector: "\u21C0", ring: "\u02DA", risingdotseq: "\u2253", rlarr: "\u21C4", rlhar: "\u21CC", rlm: "\u200F", rmoustache: "\u23B1", rmoust: "\u23B1", rnmid: "\u2AEE", roang: "\u27ED", roarr: "\u21FE", robrk: "\u27E7", ropar: "\u2986", ropf: "\u{1D563}", Ropf: "\u211D", roplus: "\u2A2E", rotimes: "\u2A35", RoundImplies: "\u2970", rpar: ")", rpargt: "\u2994", rppolint: "\u2A12", rrarr: "\u21C9", Rrightarrow: "\u21DB", rsaquo: "\u203A", rscr: "\u{1D4C7}", Rscr: "\u211B", rsh: "\u21B1", Rsh: "\u21B1", rsqb: "]", rsquo: "\u2019", rsquor: "\u2019", rthree: "\u22CC", rtimes: "\u22CA", rtri: "\u25B9", rtrie: "\u22B5", rtrif: "\u25B8", rtriltri: "\u29CE", RuleDelayed: "\u29F4", ruluhar: "\u2968", rx: "\u211E", Sacute: "\u015A", sacute: "\u015B", sbquo: "\u201A", scap: "\u2AB8", Scaron: "\u0160", scaron: "\u0161", Sc: "\u2ABC", sc: "\u227B", sccue: "\u227D", sce: "\u2AB0", scE: "\u2AB4", Scedil: "\u015E", scedil: "\u015F", Scirc: "\u015C", scirc: "\u015D", scnap: "\u2ABA", scnE: "\u2AB6", scnsim: "\u22E9", scpolint: "\u2A13", scsim: "\u227F", Scy: "\u0421", scy: "\u0441", sdotb: "\u22A1", sdot: "\u22C5", sdote: "\u2A66", searhk: "\u2925", searr: "\u2198", seArr: "\u21D8", searrow: "\u2198", sect: "\xA7", semi: ";", seswar: "\u2929", setminus: "\u2216", setmn: "\u2216", sext: "\u2736", Sfr: "\u{1D516}", sfr: "\u{1D530}", sfrown: "\u2322", sharp: "\u266F", SHCHcy: "\u0429", shchcy: "\u0449", SHcy: "\u0428", shcy: "\u0448", ShortDownArrow: "\u2193", ShortLeftArrow: "\u2190", shortmid: "\u2223", shortparallel: "\u2225", ShortRightArrow: "\u2192", ShortUpArrow: "\u2191", shy: "\xAD", Sigma: "\u03A3", sigma: "\u03C3", sigmaf: "\u03C2", sigmav: "\u03C2", sim: "\u223C", simdot: "\u2A6A", sime: "\u2243", simeq: "\u2243", simg: "\u2A9E", simgE: "\u2AA0", siml: "\u2A9D", simlE: "\u2A9F", simne: "\u2246", simplus: "\u2A24", simrarr: "\u2972", slarr: "\u2190", SmallCircle: "\u2218", smallsetminus: "\u2216", smashp: "\u2A33", smeparsl: "\u29E4", smid: "\u2223", smile: "\u2323", smt: "\u2AAA", smte: "\u2AAC", smtes: "\u2AAC\uFE00", SOFTcy: "\u042C", softcy: "\u044C", solbar: "\u233F", solb: "\u29C4", sol: "/", Sopf: "\u{1D54A}", sopf: "\u{1D564}", spades: "\u2660", spadesuit: "\u2660", spar: "\u2225", sqcap: "\u2293", sqcaps: "\u2293\uFE00", sqcup: "\u2294", sqcups: "\u2294\uFE00", Sqrt: "\u221A", sqsub: "\u228F", sqsube: "\u2291", sqsubset: "\u228F", sqsubseteq: "\u2291", sqsup: "\u2290", sqsupe: "\u2292", sqsupset: "\u2290", sqsupseteq: "\u2292", square: "\u25A1", Square: "\u25A1", SquareIntersection: "\u2293", SquareSubset: "\u228F", SquareSubsetEqual: "\u2291", SquareSuperset: "\u2290", SquareSupersetEqual: "\u2292", SquareUnion: "\u2294", squarf: "\u25AA", squ: "\u25A1", squf: "\u25AA", srarr: "\u2192", Sscr: "\u{1D4AE}", sscr: "\u{1D4C8}", ssetmn: "\u2216", ssmile: "\u2323", sstarf: "\u22C6", Star: "\u22C6", star: "\u2606", starf: "\u2605", straightepsilon: "\u03F5", straightphi: "\u03D5", strns: "\xAF", sub: "\u2282", Sub: "\u22D0", subdot: "\u2ABD", subE: "\u2AC5", sube: "\u2286", subedot: "\u2AC3", submult: "\u2AC1", subnE: "\u2ACB", subne: "\u228A", subplus: "\u2ABF", subrarr: "\u2979", subset: "\u2282", Subset: "\u22D0", subseteq: "\u2286", subseteqq: "\u2AC5", SubsetEqual: "\u2286", subsetneq: "\u228A", subsetneqq: "\u2ACB", subsim: "\u2AC7", subsub: "\u2AD5", subsup: "\u2AD3", succapprox: "\u2AB8", succ: "\u227B", succcurlyeq: "\u227D", Succeeds: "\u227B", SucceedsEqual: "\u2AB0", SucceedsSlantEqual: "\u227D", SucceedsTilde: "\u227F", succeq: "\u2AB0", succnapprox: "\u2ABA", succneqq: "\u2AB6", succnsim: "\u22E9", succsim: "\u227F", SuchThat: "\u220B", sum: "\u2211", Sum: "\u2211", sung: "\u266A", sup1: "\xB9", sup2: "\xB2", sup3: "\xB3", sup: "\u2283", Sup: "\u22D1", supdot: "\u2ABE", supdsub: "\u2AD8", supE: "\u2AC6", supe: "\u2287", supedot: "\u2AC4", Superset: "\u2283", SupersetEqual: "\u2287", suphsol: "\u27C9", suphsub: "\u2AD7", suplarr: "\u297B", supmult: "\u2AC2", supnE: "\u2ACC", supne: "\u228B", supplus: "\u2AC0", supset: "\u2283", Supset: "\u22D1", supseteq: "\u2287", supseteqq: "\u2AC6", supsetneq: "\u228B", supsetneqq: "\u2ACC", supsim: "\u2AC8", supsub: "\u2AD4", supsup: "\u2AD6", swarhk: "\u2926", swarr: "\u2199", swArr: "\u21D9", swarrow: "\u2199", swnwar: "\u292A", szlig: "\xDF", Tab: " ", target: "\u2316", Tau: "\u03A4", tau: "\u03C4", tbrk: "\u23B4", Tcaron: "\u0164", tcaron: "\u0165", Tcedil: "\u0162", tcedil: "\u0163", Tcy: "\u0422", tcy: "\u0442", tdot: "\u20DB", telrec: "\u2315", Tfr: "\u{1D517}", tfr: "\u{1D531}", there4: "\u2234", therefore: "\u2234", Therefore: "\u2234", Theta: "\u0398", theta: "\u03B8", thetasym: "\u03D1", thetav: "\u03D1", thickapprox: "\u2248", thicksim: "\u223C", ThickSpace: "\u205F\u200A", ThinSpace: "\u2009", thinsp: "\u2009", thkap: "\u2248", thksim: "\u223C", THORN: "\xDE", thorn: "\xFE", tilde: "\u02DC", Tilde: "\u223C", TildeEqual: "\u2243", TildeFullEqual: "\u2245", TildeTilde: "\u2248", timesbar: "\u2A31", timesb: "\u22A0", times: "\xD7", timesd: "\u2A30", tint: "\u222D", toea: "\u2928", topbot: "\u2336", topcir: "\u2AF1", top: "\u22A4", Topf: "\u{1D54B}", topf: "\u{1D565}", topfork: "\u2ADA", tosa: "\u2929", tprime: "\u2034", trade: "\u2122", TRADE: "\u2122", triangle: "\u25B5", triangledown: "\u25BF", triangleleft: "\u25C3", trianglelefteq: "\u22B4", triangleq: "\u225C", triangleright: "\u25B9", trianglerighteq: "\u22B5", tridot: "\u25EC", trie: "\u225C", triminus: "\u2A3A", TripleDot: "\u20DB", triplus: "\u2A39", trisb: "\u29CD", tritime: "\u2A3B", trpezium: "\u23E2", Tscr: "\u{1D4AF}", tscr: "\u{1D4C9}", TScy: "\u0426", tscy: "\u0446", TSHcy: "\u040B", tshcy: "\u045B", Tstrok: "\u0166", tstrok: "\u0167", twixt: "\u226C", twoheadleftarrow: "\u219E", twoheadrightarrow: "\u21A0", Uacute: "\xDA", uacute: "\xFA", uarr: "\u2191", Uarr: "\u219F", uArr: "\u21D1", Uarrocir: "\u2949", Ubrcy: "\u040E", ubrcy: "\u045E", Ubreve: "\u016C", ubreve: "\u016D", Ucirc: "\xDB", ucirc: "\xFB", Ucy: "\u0423", ucy: "\u0443", udarr: "\u21C5", Udblac: "\u0170", udblac: "\u0171", udhar: "\u296E", ufisht: "\u297E", Ufr: "\u{1D518}", ufr: "\u{1D532}", Ugrave: "\xD9", ugrave: "\xF9", uHar: "\u2963", uharl: "\u21BF", uharr: "\u21BE", uhblk: "\u2580", ulcorn: "\u231C", ulcorner: "\u231C", ulcrop: "\u230F", ultri: "\u25F8", Umacr: "\u016A", umacr: "\u016B", uml: "\xA8", UnderBar: "_", UnderBrace: "\u23DF", UnderBracket: "\u23B5", UnderParenthesis: "\u23DD", Union: "\u22C3", UnionPlus: "\u228E", Uogon: "\u0172", uogon: "\u0173", Uopf: "\u{1D54C}", uopf: "\u{1D566}", UpArrowBar: "\u2912", uparrow: "\u2191", UpArrow: "\u2191", Uparrow: "\u21D1", UpArrowDownArrow: "\u21C5", updownarrow: "\u2195", UpDownArrow: "\u2195", Updownarrow: "\u21D5", UpEquilibrium: "\u296E", upharpoonleft: "\u21BF", upharpoonright: "\u21BE", uplus: "\u228E", UpperLeftArrow: "\u2196", UpperRightArrow: "\u2197", upsi: "\u03C5", Upsi: "\u03D2", upsih: "\u03D2", Upsilon: "\u03A5", upsilon: "\u03C5", UpTeeArrow: "\u21A5", UpTee: "\u22A5", upuparrows: "\u21C8", urcorn: "\u231D", urcorner: "\u231D", urcrop: "\u230E", Uring: "\u016E", uring: "\u016F", urtri: "\u25F9", Uscr: "\u{1D4B0}", uscr: "\u{1D4CA}", utdot: "\u22F0", Utilde: "\u0168", utilde: "\u0169", utri: "\u25B5", utrif: "\u25B4", uuarr: "\u21C8", Uuml: "\xDC", uuml: "\xFC", uwangle: "\u29A7", vangrt: "\u299C", varepsilon: "\u03F5", varkappa: "\u03F0", varnothing: "\u2205", varphi: "\u03D5", varpi: "\u03D6", varpropto: "\u221D", varr: "\u2195", vArr: "\u21D5", varrho: "\u03F1", varsigma: "\u03C2", varsubsetneq: "\u228A\uFE00", varsubsetneqq: "\u2ACB\uFE00", varsupsetneq: "\u228B\uFE00", varsupsetneqq: "\u2ACC\uFE00", vartheta: "\u03D1", vartriangleleft: "\u22B2", vartriangleright: "\u22B3", vBar: "\u2AE8", Vbar: "\u2AEB", vBarv: "\u2AE9", Vcy: "\u0412", vcy: "\u0432", vdash: "\u22A2", vDash: "\u22A8", Vdash: "\u22A9", VDash: "\u22AB", Vdashl: "\u2AE6", veebar: "\u22BB", vee: "\u2228", Vee: "\u22C1", veeeq: "\u225A", vellip: "\u22EE", verbar: "|", Verbar: "\u2016", vert: "|", Vert: "\u2016", VerticalBar: "\u2223", VerticalLine: "|", VerticalSeparator: "\u2758", VerticalTilde: "\u2240", VeryThinSpace: "\u200A", Vfr: "\u{1D519}", vfr: "\u{1D533}", vltri: "\u22B2", vnsub: "\u2282\u20D2", vnsup: "\u2283\u20D2", Vopf: "\u{1D54D}", vopf: "\u{1D567}", vprop: "\u221D", vrtri: "\u22B3", Vscr: "\u{1D4B1}", vscr: "\u{1D4CB}", vsubnE: "\u2ACB\uFE00", vsubne: "\u228A\uFE00", vsupnE: "\u2ACC\uFE00", vsupne: "\u228B\uFE00", Vvdash: "\u22AA", vzigzag: "\u299A", Wcirc: "\u0174", wcirc: "\u0175", wedbar: "\u2A5F", wedge: "\u2227", Wedge: "\u22C0", wedgeq: "\u2259", weierp: "\u2118", Wfr: "\u{1D51A}", wfr: "\u{1D534}", Wopf: "\u{1D54E}", wopf: "\u{1D568}", wp: "\u2118", wr: "\u2240", wreath: "\u2240", Wscr: "\u{1D4B2}", wscr: "\u{1D4CC}", xcap: "\u22C2", xcirc: "\u25EF", xcup: "\u22C3", xdtri: "\u25BD", Xfr: "\u{1D51B}", xfr: "\u{1D535}", xharr: "\u27F7", xhArr: "\u27FA", Xi: "\u039E", xi: "\u03BE", xlarr: "\u27F5", xlArr: "\u27F8", xmap: "\u27FC", xnis: "\u22FB", xodot: "\u2A00", Xopf: "\u{1D54F}", xopf: "\u{1D569}", xoplus: "\u2A01", xotime: "\u2A02", xrarr: "\u27F6", xrArr: "\u27F9", Xscr: "\u{1D4B3}", xscr: "\u{1D4CD}", xsqcup: "\u2A06", xuplus: "\u2A04", xutri: "\u25B3", xvee: "\u22C1", xwedge: "\u22C0", Yacute: "\xDD", yacute: "\xFD", YAcy: "\u042F", yacy: "\u044F", Ycirc: "\u0176", ycirc: "\u0177", Ycy: "\u042B", ycy: "\u044B", yen: "\xA5", Yfr: "\u{1D51C}", yfr: "\u{1D536}", YIcy: "\u0407", yicy: "\u0457", Yopf: "\u{1D550}", yopf: "\u{1D56A}", Yscr: "\u{1D4B4}", yscr: "\u{1D4CE}", YUcy: "\u042E", yucy: "\u044E", yuml: "\xFF", Yuml: "\u0178", Zacute: "\u0179", zacute: "\u017A", Zcaron: "\u017D", zcaron: "\u017E", Zcy: "\u0417", zcy: "\u0437", Zdot: "\u017B", zdot: "\u017C", zeetrf: "\u2128", ZeroWidthSpace: "\u200B", Zeta: "\u0396", zeta: "\u03B6", zfr: "\u{1D537}", Zfr: "\u2128", ZHcy: "\u0416", zhcy: "\u0436", zigrarr: "\u21DD", zopf: "\u{1D56B}", Zopf: "\u2124", Zscr: "\u{1D4B5}", zscr: "\u{1D4CF}", zwj: "\u200D", zwnj: "\u200C" }; | |
} | |
}); | |
// ../node_modules/entities/lib/maps/legacy.json | |
var require_legacy = __commonJS({ | |
"../node_modules/entities/lib/maps/legacy.json"(exports, module) { | |
module.exports = { Aacute: "\xC1", aacute: "\xE1", Acirc: "\xC2", acirc: "\xE2", acute: "\xB4", AElig: "\xC6", aelig: "\xE6", Agrave: "\xC0", agrave: "\xE0", amp: "&", AMP: "&", Aring: "\xC5", aring: "\xE5", Atilde: "\xC3", atilde: "\xE3", Auml: "\xC4", auml: "\xE4", brvbar: "\xA6", Ccedil: "\xC7", ccedil: "\xE7", cedil: "\xB8", cent: "\xA2", copy: "\xA9", COPY: "\xA9", curren: "\xA4", deg: "\xB0", divide: "\xF7", Eacute: "\xC9", eacute: "\xE9", Ecirc: "\xCA", ecirc: "\xEA", Egrave: "\xC8", egrave: "\xE8", ETH: "\xD0", eth: "\xF0", Euml: "\xCB", euml: "\xEB", frac12: "\xBD", frac14: "\xBC", frac34: "\xBE", gt: ">", GT: ">", Iacute: "\xCD", iacute: "\xED", Icirc: "\xCE", icirc: "\xEE", iexcl: "\xA1", Igrave: "\xCC", igrave: "\xEC", iquest: "\xBF", Iuml: "\xCF", iuml: "\xEF", laquo: "\xAB", lt: "<", LT: "<", macr: "\xAF", micro: "\xB5", middot: "\xB7", nbsp: "\xA0", not: "\xAC", Ntilde: "\xD1", ntilde: "\xF1", Oacute: "\xD3", oacute: "\xF3", Ocirc: "\xD4", ocirc: "\xF4", Ograve: "\xD2", ograve: "\xF2", ordf: "\xAA", ordm: "\xBA", Oslash: "\xD8", oslash: "\xF8", Otilde: "\xD5", otilde: "\xF5", Ouml: "\xD6", ouml: "\xF6", para: "\xB6", plusmn: "\xB1", pound: "\xA3", quot: '"', QUOT: '"', raquo: "\xBB", reg: "\xAE", REG: "\xAE", sect: "\xA7", shy: "\xAD", sup1: "\xB9", sup2: "\xB2", sup3: "\xB3", szlig: "\xDF", THORN: "\xDE", thorn: "\xFE", times: "\xD7", Uacute: "\xDA", uacute: "\xFA", Ucirc: "\xDB", ucirc: "\xFB", Ugrave: "\xD9", ugrave: "\xF9", uml: "\xA8", Uuml: "\xDC", uuml: "\xFC", Yacute: "\xDD", yacute: "\xFD", yen: "\xA5", yuml: "\xFF" }; | |
} | |
}); | |
// ../node_modules/entities/lib/maps/xml.json | |
var require_xml = __commonJS({ | |
"../node_modules/entities/lib/maps/xml.json"(exports, module) { | |
module.exports = { amp: "&", apos: "'", gt: ">", lt: "<", quot: '"' }; | |
} | |
}); | |
// ../node_modules/entities/lib/maps/decode.json | |
var require_decode = __commonJS({ | |
"../node_modules/entities/lib/maps/decode.json"(exports, module) { | |
module.exports = { "0": 65533, "128": 8364, "130": 8218, "131": 402, "132": 8222, "133": 8230, "134": 8224, "135": 8225, "136": 710, "137": 8240, "138": 352, "139": 8249, "140": 338, "142": 381, "145": 8216, "146": 8217, "147": 8220, "148": 8221, "149": 8226, "150": 8211, "151": 8212, "152": 732, "153": 8482, "154": 353, "155": 8250, "156": 339, "158": 382, "159": 376 }; | |
} | |
}); | |
// ../node_modules/entities/lib/decode_codepoint.js | |
var require_decode_codepoint = __commonJS({ | |
"../node_modules/entities/lib/decode_codepoint.js"(exports) { | |
"use strict"; | |
var __importDefault = exports && exports.__importDefault || function(mod) { | |
return mod && mod.__esModule ? mod : { "default": mod }; | |
}; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
var decode_json_1 = __importDefault(require_decode()); | |
var fromCodePoint = String.fromCodePoint || function(codePoint) { | |
var output = ""; | |
if (codePoint > 65535) { | |
codePoint -= 65536; | |
output += String.fromCharCode(codePoint >>> 10 & 1023 | 55296); | |
codePoint = 56320 | codePoint & 1023; | |
} | |
output += String.fromCharCode(codePoint); | |
return output; | |
}; | |
function decodeCodePoint(codePoint) { | |
if (codePoint >= 55296 && codePoint <= 57343 || codePoint > 1114111) { | |
return "\uFFFD"; | |
} | |
if (codePoint in decode_json_1.default) { | |
codePoint = decode_json_1.default[codePoint]; | |
} | |
return fromCodePoint(codePoint); | |
} | |
exports.default = decodeCodePoint; | |
} | |
}); | |
// ../node_modules/entities/lib/decode.js | |
var require_decode2 = __commonJS({ | |
"../node_modules/entities/lib/decode.js"(exports) { | |
"use strict"; | |
var __importDefault = exports && exports.__importDefault || function(mod) { | |
return mod && mod.__esModule ? mod : { "default": mod }; | |
}; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.decodeHTML = exports.decodeHTMLStrict = exports.decodeXML = void 0; | |
var entities_json_1 = __importDefault(require_entities()); | |
var legacy_json_1 = __importDefault(require_legacy()); | |
var xml_json_1 = __importDefault(require_xml()); | |
var decode_codepoint_1 = __importDefault(require_decode_codepoint()); | |
var strictEntityRe = /&(?:[a-zA-Z0-9]+|#[xX][\da-fA-F]+|#\d+);/g; | |
exports.decodeXML = getStrictDecoder(xml_json_1.default); | |
exports.decodeHTMLStrict = getStrictDecoder(entities_json_1.default); | |
function getStrictDecoder(map) { | |
var replace = getReplacer(map); | |
return function(str) { | |
return String(str).replace(strictEntityRe, replace); | |
}; | |
} | |
var sorter = function(a, b) { | |
return a < b ? 1 : -1; | |
}; | |
exports.decodeHTML = function() { | |
var legacy = Object.keys(legacy_json_1.default).sort(sorter); | |
var keys = Object.keys(entities_json_1.default).sort(sorter); | |
for (var i = 0, j = 0; i < keys.length; i++) { | |
if (legacy[j] === keys[i]) { | |
keys[i] += ";?"; | |
j++; | |
} else { | |
keys[i] += ";"; | |
} | |
} | |
var re = new RegExp("&(?:" + keys.join("|") + "|#[xX][\\da-fA-F]+;?|#\\d+;?)", "g"); | |
var replace = getReplacer(entities_json_1.default); | |
function replacer(str) { | |
if (str.substr(-1) !== ";") | |
str += ";"; | |
return replace(str); | |
} | |
return function(str) { | |
return String(str).replace(re, replacer); | |
}; | |
}(); | |
function getReplacer(map) { | |
return function replace(str) { | |
if (str.charAt(1) === "#") { | |
var secondChar = str.charAt(2); | |
if (secondChar === "X" || secondChar === "x") { | |
return decode_codepoint_1.default(parseInt(str.substr(3), 16)); | |
} | |
return decode_codepoint_1.default(parseInt(str.substr(2), 10)); | |
} | |
return map[str.slice(1, -1)] || str; | |
}; | |
} | |
} | |
}); | |
// ../node_modules/entities/lib/encode.js | |
var require_encode = __commonJS({ | |
"../node_modules/entities/lib/encode.js"(exports) { | |
"use strict"; | |
var __importDefault = exports && exports.__importDefault || function(mod) { | |
return mod && mod.__esModule ? mod : { "default": mod }; | |
}; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.escapeUTF8 = exports.escape = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.encodeXML = void 0; | |
var xml_json_1 = __importDefault(require_xml()); | |
var inverseXML = getInverseObj(xml_json_1.default); | |
var xmlReplacer = getInverseReplacer(inverseXML); | |
exports.encodeXML = getASCIIEncoder(inverseXML); | |
var entities_json_1 = __importDefault(require_entities()); | |
var inverseHTML = getInverseObj(entities_json_1.default); | |
var htmlReplacer = getInverseReplacer(inverseHTML); | |
exports.encodeHTML = getInverse(inverseHTML, htmlReplacer); | |
exports.encodeNonAsciiHTML = getASCIIEncoder(inverseHTML); | |
function getInverseObj(obj) { | |
return Object.keys(obj).sort().reduce(function(inverse, name) { | |
inverse[obj[name]] = "&" + name + ";"; | |
return inverse; | |
}, {}); | |
} | |
function getInverseReplacer(inverse) { | |
var single = []; | |
var multiple = []; | |
for (var _i = 0, _a = Object.keys(inverse); _i < _a.length; _i++) { | |
var k = _a[_i]; | |
if (k.length === 1) { | |
single.push("\\" + k); | |
} else { | |
multiple.push(k); | |
} | |
} | |
single.sort(); | |
for (var start = 0; start < single.length - 1; start++) { | |
var end = start; | |
while (end < single.length - 1 && single[end].charCodeAt(1) + 1 === single[end + 1].charCodeAt(1)) { | |
end += 1; | |
} | |
var count = 1 + end - start; | |
if (count < 3) | |
continue; | |
single.splice(start, count, single[start] + "-" + single[end]); | |
} | |
multiple.unshift("[" + single.join("") + "]"); | |
return new RegExp(multiple.join("|"), "g"); | |
} | |
var reNonASCII = /(?:[\x80-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/g; | |
var getCodePoint = String.prototype.codePointAt != null ? function(str) { | |
return str.codePointAt(0); | |
} : function(c) { | |
return (c.charCodeAt(0) - 55296) * 1024 + c.charCodeAt(1) - 56320 + 65536; | |
}; | |
function singleCharReplacer(c) { | |
return "&#x" + (c.length > 1 ? getCodePoint(c) : c.charCodeAt(0)).toString(16).toUpperCase() + ";"; | |
} | |
function getInverse(inverse, re) { | |
return function(data) { | |
return data.replace(re, function(name) { | |
return inverse[name]; | |
}).replace(reNonASCII, singleCharReplacer); | |
}; | |
} | |
var reEscapeChars = new RegExp(xmlReplacer.source + "|" + reNonASCII.source, "g"); | |
function escape(data) { | |
return data.replace(reEscapeChars, singleCharReplacer); | |
} | |
exports.escape = escape; | |
function escapeUTF8(data) { | |
return data.replace(xmlReplacer, singleCharReplacer); | |
} | |
exports.escapeUTF8 = escapeUTF8; | |
function getASCIIEncoder(obj) { | |
return function(data) { | |
return data.replace(reEscapeChars, function(c) { | |
return obj[c] || singleCharReplacer(c); | |
}); | |
}; | |
} | |
} | |
}); | |
// ../node_modules/entities/lib/index.js | |
var require_lib3 = __commonJS({ | |
"../node_modules/entities/lib/index.js"(exports) { | |
"use strict"; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.decodeXMLStrict = exports.decodeHTML5Strict = exports.decodeHTML4Strict = exports.decodeHTML5 = exports.decodeHTML4 = exports.decodeHTMLStrict = exports.decodeHTML = exports.decodeXML = exports.encodeHTML5 = exports.encodeHTML4 = exports.escapeUTF8 = exports.escape = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.encodeXML = exports.encode = exports.decodeStrict = exports.decode = void 0; | |
var decode_1 = require_decode2(); | |
var encode_1 = require_encode(); | |
function decode4(data, level) { | |
return (!level || level <= 0 ? decode_1.decodeXML : decode_1.decodeHTML)(data); | |
} | |
exports.decode = decode4; | |
function decodeStrict(data, level) { | |
return (!level || level <= 0 ? decode_1.decodeXML : decode_1.decodeHTMLStrict)(data); | |
} | |
exports.decodeStrict = decodeStrict; | |
function encode2(data, level) { | |
return (!level || level <= 0 ? encode_1.encodeXML : encode_1.encodeHTML)(data); | |
} | |
exports.encode = encode2; | |
var encode_2 = require_encode(); | |
Object.defineProperty(exports, "encodeXML", { enumerable: true, get: function() { | |
return encode_2.encodeXML; | |
} }); | |
Object.defineProperty(exports, "encodeHTML", { enumerable: true, get: function() { | |
return encode_2.encodeHTML; | |
} }); | |
Object.defineProperty(exports, "encodeNonAsciiHTML", { enumerable: true, get: function() { | |
return encode_2.encodeNonAsciiHTML; | |
} }); | |
Object.defineProperty(exports, "escape", { enumerable: true, get: function() { | |
return encode_2.escape; | |
} }); | |
Object.defineProperty(exports, "escapeUTF8", { enumerable: true, get: function() { | |
return encode_2.escapeUTF8; | |
} }); | |
Object.defineProperty(exports, "encodeHTML4", { enumerable: true, get: function() { | |
return encode_2.encodeHTML; | |
} }); | |
Object.defineProperty(exports, "encodeHTML5", { enumerable: true, get: function() { | |
return encode_2.encodeHTML; | |
} }); | |
var decode_2 = require_decode2(); | |
Object.defineProperty(exports, "decodeXML", { enumerable: true, get: function() { | |
return decode_2.decodeXML; | |
} }); | |
Object.defineProperty(exports, "decodeHTML", { enumerable: true, get: function() { | |
return decode_2.decodeHTML; | |
} }); | |
Object.defineProperty(exports, "decodeHTMLStrict", { enumerable: true, get: function() { | |
return decode_2.decodeHTMLStrict; | |
} }); | |
Object.defineProperty(exports, "decodeHTML4", { enumerable: true, get: function() { | |
return decode_2.decodeHTML; | |
} }); | |
Object.defineProperty(exports, "decodeHTML5", { enumerable: true, get: function() { | |
return decode_2.decodeHTML; | |
} }); | |
Object.defineProperty(exports, "decodeHTML4Strict", { enumerable: true, get: function() { | |
return decode_2.decodeHTMLStrict; | |
} }); | |
Object.defineProperty(exports, "decodeHTML5Strict", { enumerable: true, get: function() { | |
return decode_2.decodeHTMLStrict; | |
} }); | |
Object.defineProperty(exports, "decodeXMLStrict", { enumerable: true, get: function() { | |
return decode_2.decodeXML; | |
} }); | |
} | |
}); | |
// ../node_modules/dom-serializer/lib/foreignNames.js | |
var require_foreignNames = __commonJS({ | |
"../node_modules/dom-serializer/lib/foreignNames.js"(exports) { | |
"use strict"; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.attributeNames = exports.elementNames = void 0; | |
exports.elementNames = new Map([ | |
["altglyph", "altGlyph"], | |
["altglyphdef", "altGlyphDef"], | |
["altglyphitem", "altGlyphItem"], | |
["animatecolor", "animateColor"], | |
["animatemotion", "animateMotion"], | |
["animatetransform", "animateTransform"], | |
["clippath", "clipPath"], | |
["feblend", "feBlend"], | |
["fecolormatrix", "feColorMatrix"], | |
["fecomponenttransfer", "feComponentTransfer"], | |
["fecomposite", "feComposite"], | |
["feconvolvematrix", "feConvolveMatrix"], | |
["fediffuselighting", "feDiffuseLighting"], | |
["fedisplacementmap", "feDisplacementMap"], | |
["fedistantlight", "feDistantLight"], | |
["fedropshadow", "feDropShadow"], | |
["feflood", "feFlood"], | |
["fefunca", "feFuncA"], | |
["fefuncb", "feFuncB"], | |
["fefuncg", "feFuncG"], | |
["fefuncr", "feFuncR"], | |
["fegaussianblur", "feGaussianBlur"], | |
["feimage", "feImage"], | |
["femerge", "feMerge"], | |
["femergenode", "feMergeNode"], | |
["femorphology", "feMorphology"], | |
["feoffset", "feOffset"], | |
["fepointlight", "fePointLight"], | |
["fespecularlighting", "feSpecularLighting"], | |
["fespotlight", "feSpotLight"], | |
["fetile", "feTile"], | |
["feturbulence", "feTurbulence"], | |
["foreignobject", "foreignObject"], | |
["glyphref", "glyphRef"], | |
["lineargradient", "linearGradient"], | |
["radialgradient", "radialGradient"], | |
["textpath", "textPath"] | |
]); | |
exports.attributeNames = new Map([ | |
["definitionurl", "definitionURL"], | |
["attributename", "attributeName"], | |
["attributetype", "attributeType"], | |
["basefrequency", "baseFrequency"], | |
["baseprofile", "baseProfile"], | |
["calcmode", "calcMode"], | |
["clippathunits", "clipPathUnits"], | |
["diffuseconstant", "diffuseConstant"], | |
["edgemode", "edgeMode"], | |
["filterunits", "filterUnits"], | |
["glyphref", "glyphRef"], | |
["gradienttransform", "gradientTransform"], | |
["gradientunits", "gradientUnits"], | |
["kernelmatrix", "kernelMatrix"], | |
["kernelunitlength", "kernelUnitLength"], | |
["keypoints", "keyPoints"], | |
["keysplines", "keySplines"], | |
["keytimes", "keyTimes"], | |
["lengthadjust", "lengthAdjust"], | |
["limitingconeangle", "limitingConeAngle"], | |
["markerheight", "markerHeight"], | |
["markerunits", "markerUnits"], | |
["markerwidth", "markerWidth"], | |
["maskcontentunits", "maskContentUnits"], | |
["maskunits", "maskUnits"], | |
["numoctaves", "numOctaves"], | |
["pathlength", "pathLength"], | |
["patterncontentunits", "patternContentUnits"], | |
["patterntransform", "patternTransform"], | |
["patternunits", "patternUnits"], | |
["pointsatx", "pointsAtX"], | |
["pointsaty", "pointsAtY"], | |
["pointsatz", "pointsAtZ"], | |
["preservealpha", "preserveAlpha"], | |
["preserveaspectratio", "preserveAspectRatio"], | |
["primitiveunits", "primitiveUnits"], | |
["refx", "refX"], | |
["refy", "refY"], | |
["repeatcount", "repeatCount"], | |
["repeatdur", "repeatDur"], | |
["requiredextensions", "requiredExtensions"], | |
["requiredfeatures", "requiredFeatures"], | |
["specularconstant", "specularConstant"], | |
["specularexponent", "specularExponent"], | |
["spreadmethod", "spreadMethod"], | |
["startoffset", "startOffset"], | |
["stddeviation", "stdDeviation"], | |
["stitchtiles", "stitchTiles"], | |
["surfacescale", "surfaceScale"], | |
["systemlanguage", "systemLanguage"], | |
["tablevalues", "tableValues"], | |
["targetx", "targetX"], | |
["targety", "targetY"], | |
["textlength", "textLength"], | |
["viewbox", "viewBox"], | |
["viewtarget", "viewTarget"], | |
["xchannelselector", "xChannelSelector"], | |
["ychannelselector", "yChannelSelector"], | |
["zoomandpan", "zoomAndPan"] | |
]); | |
} | |
}); | |
// ../node_modules/dom-serializer/lib/index.js | |
var require_lib4 = __commonJS({ | |
"../node_modules/dom-serializer/lib/index.js"(exports) { | |
"use strict"; | |
var __assign = exports && exports.__assign || function() { | |
__assign = Object.assign || function(t) { | |
for (var s, i = 1, n = arguments.length; i < n; i++) { | |
s = arguments[i]; | |
for (var p in s) | |
if (Object.prototype.hasOwnProperty.call(s, p)) | |
t[p] = s[p]; | |
} | |
return t; | |
}; | |
return __assign.apply(this, arguments); | |
}; | |
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { | |
if (k2 === void 0) | |
k2 = k; | |
Object.defineProperty(o, k2, { enumerable: true, get: function() { | |
return m[k]; | |
} }); | |
} : function(o, m, k, k2) { | |
if (k2 === void 0) | |
k2 = k; | |
o[k2] = m[k]; | |
}); | |
var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { | |
Object.defineProperty(o, "default", { enumerable: true, value: v }); | |
} : function(o, v) { | |
o["default"] = v; | |
}); | |
var __importStar = exports && exports.__importStar || function(mod) { | |
if (mod && mod.__esModule) | |
return mod; | |
var result = {}; | |
if (mod != null) { | |
for (var k in mod) | |
if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) | |
__createBinding(result, mod, k); | |
} | |
__setModuleDefault(result, mod); | |
return result; | |
}; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
var ElementType = __importStar(require_lib()); | |
var entities_1 = require_lib3(); | |
var foreignNames_1 = require_foreignNames(); | |
var unencodedElements = new Set([ | |
"style", | |
"script", | |
"xmp", | |
"iframe", | |
"noembed", | |
"noframes", | |
"plaintext", | |
"noscript" | |
]); | |
function formatAttributes(attributes, opts) { | |
if (!attributes) | |
return; | |
return Object.keys(attributes).map(function(key) { | |
var _a, _b; | |
var value = (_a = attributes[key]) !== null && _a !== void 0 ? _a : ""; | |
if (opts.xmlMode === "foreign") { | |
key = (_b = foreignNames_1.attributeNames.get(key)) !== null && _b !== void 0 ? _b : key; | |
} | |
if (!opts.emptyAttrs && !opts.xmlMode && value === "") { | |
return key; | |
} | |
return key + '="' + (opts.decodeEntities !== false ? entities_1.encodeXML(value) : value.replace(/"/g, """)) + '"'; | |
}).join(" "); | |
} | |
var singleTag = new Set([ | |
"area", | |
"base", | |
"basefont", | |
"br", | |
"col", | |
"command", | |
"embed", | |
"frame", | |
"hr", | |
"img", | |
"input", | |
"isindex", | |
"keygen", | |
"link", | |
"meta", | |
"param", | |
"source", | |
"track", | |
"wbr" | |
]); | |
function render(node, options) { | |
if (options === void 0) { | |
options = {}; | |
} | |
var nodes = "length" in node ? node : [node]; | |
var output = ""; | |
for (var i = 0; i < nodes.length; i++) { | |
output += renderNode(nodes[i], options); | |
} | |
return output; | |
} | |
exports.default = render; | |
function renderNode(node, options) { | |
switch (node.type) { | |
case ElementType.Root: | |
return render(node.children, options); | |
case ElementType.Directive: | |
case ElementType.Doctype: | |
return renderDirective(node); | |
case ElementType.Comment: | |
return renderComment(node); | |
case ElementType.CDATA: | |
return renderCdata(node); | |
case ElementType.Script: | |
case ElementType.Style: | |
case ElementType.Tag: | |
return renderTag(node, options); | |
case ElementType.Text: | |
return renderText(node, options); | |
} | |
} | |
var foreignModeIntegrationPoints = new Set([ | |
"mi", | |
"mo", | |
"mn", | |
"ms", | |
"mtext", | |
"annotation-xml", | |
"foreignObject", | |
"desc", | |
"title" | |
]); | |
var foreignElements = new Set(["svg", "math"]); | |
function renderTag(elem, opts) { | |
var _a; | |
if (opts.xmlMode === "foreign") { | |
elem.name = (_a = foreignNames_1.elementNames.get(elem.name)) !== null && _a !== void 0 ? _a : elem.name; | |
if (elem.parent && foreignModeIntegrationPoints.has(elem.parent.name)) { | |
opts = __assign(__assign({}, opts), { xmlMode: false }); | |
} | |
} | |
if (!opts.xmlMode && foreignElements.has(elem.name)) { | |
opts = __assign(__assign({}, opts), { xmlMode: "foreign" }); | |
} | |
var tag = "<" + elem.name; | |
var attribs = formatAttributes(elem.attribs, opts); | |
if (attribs) { | |
tag += " " + attribs; | |
} | |
if (elem.children.length === 0 && (opts.xmlMode ? opts.selfClosingTags !== false : opts.selfClosingTags && singleTag.has(elem.name))) { | |
if (!opts.xmlMode) | |
tag += " "; | |
tag += "/>"; | |
} else { | |
tag += ">"; | |
if (elem.children.length > 0) { | |
tag += render(elem.children, opts); | |
} | |
if (opts.xmlMode || !singleTag.has(elem.name)) { | |
tag += "</" + elem.name + ">"; | |
} | |
} | |
return tag; | |
} | |
function renderDirective(elem) { | |
return "<" + elem.data + ">"; | |
} | |
function renderText(elem, opts) { | |
var data = elem.data || ""; | |
if (opts.decodeEntities !== false && !(!opts.xmlMode && elem.parent && unencodedElements.has(elem.parent.name))) { | |
data = entities_1.encodeXML(data); | |
} | |
return data; | |
} | |
function renderCdata(elem) { | |
return "<![CDATA[" + elem.children[0].data + "]]>"; | |
} | |
function renderComment(elem) { | |
return "<!--" + elem.data + "-->"; | |
} | |
} | |
}); | |
// ../node_modules/domutils/lib/stringify.js | |
var require_stringify = __commonJS({ | |
"../node_modules/domutils/lib/stringify.js"(exports) { | |
"use strict"; | |
var __importDefault = exports && exports.__importDefault || function(mod) { | |
return mod && mod.__esModule ? mod : { "default": mod }; | |
}; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.innerText = exports.textContent = exports.getText = exports.getInnerHTML = exports.getOuterHTML = void 0; | |
var domhandler_1 = require_lib2(); | |
var dom_serializer_1 = __importDefault(require_lib4()); | |
var domelementtype_1 = require_lib(); | |
function getOuterHTML(node, options) { | |
return (0, dom_serializer_1.default)(node, options); | |
} | |
exports.getOuterHTML = getOuterHTML; | |
function getInnerHTML(node, options) { | |
return (0, domhandler_1.hasChildren)(node) ? node.children.map(function(node2) { | |
return getOuterHTML(node2, options); | |
}).join("") : ""; | |
} | |
exports.getInnerHTML = getInnerHTML; | |
function getText2(node) { | |
if (Array.isArray(node)) | |
return node.map(getText2).join(""); | |
if ((0, domhandler_1.isTag)(node)) | |
return node.name === "br" ? "\n" : getText2(node.children); | |
if ((0, domhandler_1.isCDATA)(node)) | |
return getText2(node.children); | |
if ((0, domhandler_1.isText)(node)) | |
return node.data; | |
return ""; | |
} | |
exports.getText = getText2; | |
function textContent(node) { | |
if (Array.isArray(node)) | |
return node.map(textContent).join(""); | |
if ((0, domhandler_1.hasChildren)(node) && !(0, domhandler_1.isComment)(node)) { | |
return textContent(node.children); | |
} | |
if ((0, domhandler_1.isText)(node)) | |
return node.data; | |
return ""; | |
} | |
exports.textContent = textContent; | |
function innerText(node) { | |
if (Array.isArray(node)) | |
return node.map(innerText).join(""); | |
if ((0, domhandler_1.hasChildren)(node) && (node.type === domelementtype_1.ElementType.Tag || (0, domhandler_1.isCDATA)(node))) { | |
return innerText(node.children); | |
} | |
if ((0, domhandler_1.isText)(node)) | |
return node.data; | |
return ""; | |
} | |
exports.innerText = innerText; | |
} | |
}); | |
// ../node_modules/domutils/lib/traversal.js | |
var require_traversal = __commonJS({ | |
"../node_modules/domutils/lib/traversal.js"(exports) { | |
"use strict"; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.prevElementSibling = exports.nextElementSibling = exports.getName = exports.hasAttrib = exports.getAttributeValue = exports.getSiblings = exports.getParent = exports.getChildren = void 0; | |
var domhandler_1 = require_lib2(); | |
var emptyArray = []; | |
function getChildren2(elem) { | |
var _a; | |
return (_a = elem.children) !== null && _a !== void 0 ? _a : emptyArray; | |
} | |
exports.getChildren = getChildren2; | |
function getParent2(elem) { | |
return elem.parent || null; | |
} | |
exports.getParent = getParent2; | |
function getSiblings2(elem) { | |
var _a, _b; | |
var parent = getParent2(elem); | |
if (parent != null) | |
return getChildren2(parent); | |
var siblings = [elem]; | |
var prev = elem.prev, next = elem.next; | |
while (prev != null) { | |
siblings.unshift(prev); | |
_a = prev, prev = _a.prev; | |
} | |
while (next != null) { | |
siblings.push(next); | |
_b = next, next = _b.next; | |
} | |
return siblings; | |
} | |
exports.getSiblings = getSiblings2; | |
function getAttributeValue2(elem, name) { | |
var _a; | |
return (_a = elem.attribs) === null || _a === void 0 ? void 0 : _a[name]; | |
} | |
exports.getAttributeValue = getAttributeValue2; | |
function hasAttrib2(elem, name) { | |
return elem.attribs != null && Object.prototype.hasOwnProperty.call(elem.attribs, name) && elem.attribs[name] != null; | |
} | |
exports.hasAttrib = hasAttrib2; | |
function getName2(elem) { | |
return elem.name; | |
} | |
exports.getName = getName2; | |
function nextElementSibling(elem) { | |
var _a; | |
var next = elem.next; | |
while (next !== null && !(0, domhandler_1.isTag)(next)) | |
_a = next, next = _a.next; | |
return next; | |
} | |
exports.nextElementSibling = nextElementSibling; | |
function prevElementSibling(elem) { | |
var _a; | |
var prev = elem.prev; | |
while (prev !== null && !(0, domhandler_1.isTag)(prev)) | |
_a = prev, prev = _a.prev; | |
return prev; | |
} | |
exports.prevElementSibling = prevElementSibling; | |
} | |
}); | |
// ../node_modules/domutils/lib/manipulation.js | |
var require_manipulation = __commonJS({ | |
"../node_modules/domutils/lib/manipulation.js"(exports) { | |
"use strict"; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.prepend = exports.prependChild = exports.append = exports.appendChild = exports.replaceElement = exports.removeElement = void 0; | |
function removeElement(elem) { | |
if (elem.prev) | |
elem.prev.next = elem.next; | |
if (elem.next) | |
elem.next.prev = elem.prev; | |
if (elem.parent) { | |
var childs = elem.parent.children; | |
childs.splice(childs.lastIndexOf(elem), 1); | |
} | |
} | |
exports.removeElement = removeElement; | |
function replaceElement(elem, replacement) { | |
var prev = replacement.prev = elem.prev; | |
if (prev) { | |
prev.next = replacement; | |
} | |
var next = replacement.next = elem.next; | |
if (next) { | |
next.prev = replacement; | |
} | |
var parent = replacement.parent = elem.parent; | |
if (parent) { | |
var childs = parent.children; | |
childs[childs.lastIndexOf(elem)] = replacement; | |
} | |
} | |
exports.replaceElement = replaceElement; | |
function appendChild(elem, child) { | |
removeElement(child); | |
child.next = null; | |
child.parent = elem; | |
if (elem.children.push(child) > 1) { | |
var sibling = elem.children[elem.children.length - 2]; | |
sibling.next = child; | |
child.prev = sibling; | |
} else { | |
child.prev = null; | |
} | |
} | |
exports.appendChild = appendChild; | |
function append(elem, next) { | |
removeElement(next); | |
var parent = elem.parent; | |
var currNext = elem.next; | |
next.next = currNext; | |
next.prev = elem; | |
elem.next = next; | |
next.parent = parent; | |
if (currNext) { | |
currNext.prev = next; | |
if (parent) { | |
var childs = parent.children; | |
childs.splice(childs.lastIndexOf(currNext), 0, next); | |
} | |
} else if (parent) { | |
parent.children.push(next); | |
} | |
} | |
exports.append = append; | |
function prependChild(elem, child) { | |
removeElement(child); | |
child.parent = elem; | |
child.prev = null; | |
if (elem.children.unshift(child) !== 1) { | |
var sibling = elem.children[1]; | |
sibling.prev = child; | |
child.next = sibling; | |
} else { | |
child.next = null; | |
} | |
} | |
exports.prependChild = prependChild; | |
function prepend(elem, prev) { | |
removeElement(prev); | |
var parent = elem.parent; | |
if (parent) { | |
var childs = parent.children; | |
childs.splice(childs.indexOf(elem), 0, prev); | |
} | |
if (elem.prev) { | |
elem.prev.next = prev; | |
} | |
prev.parent = parent; | |
prev.prev = elem.prev; | |
prev.next = elem; | |
elem.prev = prev; | |
} | |
exports.prepend = prepend; | |
} | |
}); | |
// ../node_modules/domutils/lib/querying.js | |
var require_querying = __commonJS({ | |
"../node_modules/domutils/lib/querying.js"(exports) { | |
"use strict"; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.findAll = exports.existsOne = exports.findOne = exports.findOneChild = exports.find = exports.filter = void 0; | |
var domhandler_1 = require_lib2(); | |
function filter(test, node, recurse, limit) { | |
if (recurse === void 0) { | |
recurse = true; | |
} | |
if (limit === void 0) { | |
limit = Infinity; | |
} | |
if (!Array.isArray(node)) | |
node = [node]; | |
return find(test, node, recurse, limit); | |
} | |
exports.filter = filter; | |
function find(test, nodes, recurse, limit) { | |
var result = []; | |
for (var _i = 0, nodes_1 = nodes; _i < nodes_1.length; _i++) { | |
var elem = nodes_1[_i]; | |
if (test(elem)) { | |
result.push(elem); | |
if (--limit <= 0) | |
break; | |
} | |
if (recurse && (0, domhandler_1.hasChildren)(elem) && elem.children.length > 0) { | |
var children = find(test, elem.children, recurse, limit); | |
result.push.apply(result, children); | |
limit -= children.length; | |
if (limit <= 0) | |
break; | |
} | |
} | |
return result; | |
} | |
exports.find = find; | |
function findOneChild(test, nodes) { | |
return nodes.find(test); | |
} | |
exports.findOneChild = findOneChild; | |
function findOne2(test, nodes, recurse) { | |
if (recurse === void 0) { | |
recurse = true; | |
} | |
var elem = null; | |
for (var i = 0; i < nodes.length && !elem; i++) { | |
var checked = nodes[i]; | |
if (!(0, domhandler_1.isTag)(checked)) { | |
continue; | |
} else if (test(checked)) { | |
elem = checked; | |
} else if (recurse && checked.children.length > 0) { | |
elem = findOne2(test, checked.children); | |
} | |
} | |
return elem; | |
} | |
exports.findOne = findOne2; | |
function existsOne2(test, nodes) { | |
return nodes.some(function(checked) { | |
return (0, domhandler_1.isTag)(checked) && (test(checked) || checked.children.length > 0 && existsOne2(test, checked.children)); | |
}); | |
} | |
exports.existsOne = existsOne2; | |
function findAll2(test, nodes) { | |
var _a; | |
var result = []; | |
var stack = nodes.filter(domhandler_1.isTag); | |
var elem; | |
while (elem = stack.shift()) { | |
var children = (_a = elem.children) === null || _a === void 0 ? void 0 : _a.filter(domhandler_1.isTag); | |
if (children && children.length > 0) { | |
stack.unshift.apply(stack, children); | |
} | |
if (test(elem)) | |
result.push(elem); | |
} | |
return result; | |
} | |
exports.findAll = findAll2; | |
} | |
}); | |
// ../node_modules/domutils/lib/legacy.js | |
var require_legacy2 = __commonJS({ | |
"../node_modules/domutils/lib/legacy.js"(exports) { | |
"use strict"; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.getElementsByTagType = exports.getElementsByTagName = exports.getElementById = exports.getElements = exports.testElement = void 0; | |
var domhandler_1 = require_lib2(); | |
var querying_1 = require_querying(); | |
var Checks = { | |
tag_name: function(name) { | |
if (typeof name === "function") { | |
return function(elem) { | |
return (0, domhandler_1.isTag)(elem) && name(elem.name); | |
}; | |
} else if (name === "*") { | |
return domhandler_1.isTag; | |
} | |
return function(elem) { | |
return (0, domhandler_1.isTag)(elem) && elem.name === name; | |
}; | |
}, | |
tag_type: function(type) { | |
if (typeof type === "function") { | |
return function(elem) { | |
return type(elem.type); | |
}; | |
} | |
return function(elem) { | |
return elem.type === type; | |
}; | |
}, | |
tag_contains: function(data) { | |
if (typeof data === "function") { | |
return function(elem) { | |
return (0, domhandler_1.isText)(elem) && data(elem.data); | |
}; | |
} | |
return function(elem) { | |
return (0, domhandler_1.isText)(elem) && elem.data === data; | |
}; | |
} | |
}; | |
function getAttribCheck(attrib, value) { | |
if (typeof value === "function") { | |
return function(elem) { | |
return (0, domhandler_1.isTag)(elem) && value(elem.attribs[attrib]); | |
}; | |
} | |
return function(elem) { | |
return (0, domhandler_1.isTag)(elem) && elem.attribs[attrib] === value; | |
}; | |
} | |
function combineFuncs(a, b) { | |
return function(elem) { | |
return a(elem) || b(elem); | |
}; | |
} | |
function compileTest(options) { | |
var funcs = Object.keys(options).map(function(key) { | |
var value = options[key]; | |
return Object.prototype.hasOwnProperty.call(Checks, key) ? Checks[key](value) : getAttribCheck(key, value); | |
}); | |
return funcs.length === 0 ? null : funcs.reduce(combineFuncs); | |
} | |
function testElement(options, node) { | |
var test = compileTest(options); | |
return test ? test(node) : true; | |
} | |
exports.testElement = testElement; | |
function getElements(options, nodes, recurse, limit) { | |
if (limit === void 0) { | |
limit = Infinity; | |
} | |
var test = compileTest(options); | |
return test ? (0, querying_1.filter)(test, nodes, recurse, limit) : []; | |
} | |
exports.getElements = getElements; | |
function getElementById(id, nodes, recurse) { | |
if (recurse === void 0) { | |
recurse = true; | |
} | |
if (!Array.isArray(nodes)) | |
nodes = [nodes]; | |
return (0, querying_1.findOne)(getAttribCheck("id", id), nodes, recurse); | |
} | |
exports.getElementById = getElementById; | |
function getElementsByTagName(tagName, nodes, recurse, limit) { | |
if (recurse === void 0) { | |
recurse = true; | |
} | |
if (limit === void 0) { | |
limit = Infinity; | |
} | |
return (0, querying_1.filter)(Checks.tag_name(tagName), nodes, recurse, limit); | |
} | |
exports.getElementsByTagName = getElementsByTagName; | |
function getElementsByTagType(type, nodes, recurse, limit) { | |
if (recurse === void 0) { | |
recurse = true; | |
} | |
if (limit === void 0) { | |
limit = Infinity; | |
} | |
return (0, querying_1.filter)(Checks.tag_type(type), nodes, recurse, limit); | |
} | |
exports.getElementsByTagType = getElementsByTagType; | |
} | |
}); | |
// ../node_modules/domutils/lib/helpers.js | |
var require_helpers = __commonJS({ | |
"../node_modules/domutils/lib/helpers.js"(exports) { | |
"use strict"; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.uniqueSort = exports.compareDocumentPosition = exports.removeSubsets = void 0; | |
var domhandler_1 = require_lib2(); | |
function removeSubsets2(nodes) { | |
var idx = nodes.length; | |
while (--idx >= 0) { | |
var node = nodes[idx]; | |
if (idx > 0 && nodes.lastIndexOf(node, idx - 1) >= 0) { | |
nodes.splice(idx, 1); | |
continue; | |
} | |
for (var ancestor = node.parent; ancestor; ancestor = ancestor.parent) { | |
if (nodes.includes(ancestor)) { | |
nodes.splice(idx, 1); | |
break; | |
} | |
} | |
} | |
return nodes; | |
} | |
exports.removeSubsets = removeSubsets2; | |
function compareDocumentPosition(nodeA, nodeB) { | |
var aParents = []; | |
var bParents = []; | |
if (nodeA === nodeB) { | |
return 0; | |
} | |
var current = (0, domhandler_1.hasChildren)(nodeA) ? nodeA : nodeA.parent; | |
while (current) { | |
aParents.unshift(current); | |
current = current.parent; | |
} | |
current = (0, domhandler_1.hasChildren)(nodeB) ? nodeB : nodeB.parent; | |
while (current) { | |
bParents.unshift(current); | |
current = current.parent; | |
} | |
var maxIdx = Math.min(aParents.length, bParents.length); | |
var idx = 0; | |
while (idx < maxIdx && aParents[idx] === bParents[idx]) { | |
idx++; | |
} | |
if (idx === 0) { | |
return 1; | |
} | |
var sharedParent = aParents[idx - 1]; | |
var siblings = sharedParent.children; | |
var aSibling = aParents[idx]; | |
var bSibling = bParents[idx]; | |
if (siblings.indexOf(aSibling) > siblings.indexOf(bSibling)) { | |
if (sharedParent === nodeB) { | |
return 4 | 16; | |
} | |
return 4; | |
} | |
if (sharedParent === nodeA) { | |
return 2 | 8; | |
} | |
return 2; | |
} | |
exports.compareDocumentPosition = compareDocumentPosition; | |
function uniqueSort(nodes) { | |
nodes = nodes.filter(function(node, i, arr) { | |
return !arr.includes(node, i + 1); | |
}); | |
nodes.sort(function(a, b) { | |
var relative = compareDocumentPosition(a, b); | |
if (relative & 2) { | |
return -1; | |
} else if (relative & 4) { | |
return 1; | |
} | |
return 0; | |
}); | |
return nodes; | |
} | |
exports.uniqueSort = uniqueSort; | |
} | |
}); | |
// ../node_modules/domutils/lib/feeds.js | |
var require_feeds = __commonJS({ | |
"../node_modules/domutils/lib/feeds.js"(exports) { | |
"use strict"; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.getFeed = void 0; | |
var stringify_1 = require_stringify(); | |
var legacy_1 = require_legacy2(); | |
function getFeed(doc) { | |
var feedRoot = getOneElement(isValidFeed, doc); | |
return !feedRoot ? null : feedRoot.name === "feed" ? getAtomFeed(feedRoot) : getRssFeed(feedRoot); | |
} | |
exports.getFeed = getFeed; | |
function getAtomFeed(feedRoot) { | |
var _a; | |
var childs = feedRoot.children; | |
var feed = { | |
type: "atom", | |
items: (0, legacy_1.getElementsByTagName)("entry", childs).map(function(item) { | |
var _a2; | |
var children = item.children; | |
var entry = { media: getMediaElements(children) }; | |
addConditionally(entry, "id", "id", children); | |
addConditionally(entry, "title", "title", children); | |
var href2 = (_a2 = getOneElement("link", children)) === null || _a2 === void 0 ? void 0 : _a2.attribs.href; | |
if (href2) { | |
entry.link = href2; | |
} | |
var description = fetch("summary", children) || fetch("content", children); | |
if (description) { | |
entry.description = description; | |
} | |
var pubDate = fetch("updated", children); | |
if (pubDate) { | |
entry.pubDate = new Date(pubDate); | |
} | |
return entry; | |
}) | |
}; | |
addConditionally(feed, "id", "id", childs); | |
addConditionally(feed, "title", "title", childs); | |
var href = (_a = getOneElement("link", childs)) === null || _a === void 0 ? void 0 : _a.attribs.href; | |
if (href) { | |
feed.link = href; | |
} | |
addConditionally(feed, "description", "subtitle", childs); | |
var updated = fetch("updated", childs); | |
if (updated) { | |
feed.updated = new Date(updated); | |
} | |
addConditionally(feed, "author", "email", childs, true); | |
return feed; | |
} | |
function getRssFeed(feedRoot) { | |
var _a, _b; | |
var childs = (_b = (_a = getOneElement("channel", feedRoot.children)) === null || _a === void 0 ? void 0 : _a.children) !== null && _b !== void 0 ? _b : []; | |
var feed = { | |
type: feedRoot.name.substr(0, 3), | |
id: "", | |
items: (0, legacy_1.getElementsByTagName)("item", feedRoot.children).map(function(item) { | |
var children = item.children; | |
var entry = { media: getMediaElements(children) }; | |
addConditionally(entry, "id", "guid", children); | |
addConditionally(entry, "title", "title", children); | |
addConditionally(entry, "link", "link", children); | |
addConditionally(entry, "description", "description", children); | |
var pubDate = fetch("pubDate", children); | |
if (pubDate) | |
entry.pubDate = new Date(pubDate); | |
return entry; | |
}) | |
}; | |
addConditionally(feed, "title", "title", childs); | |
addConditionally(feed, "link", "link", childs); | |
addConditionally(feed, "description", "description", childs); | |
var updated = fetch("lastBuildDate", childs); | |
if (updated) { | |
feed.updated = new Date(updated); | |
} | |
addConditionally(feed, "author", "managingEditor", childs, true); | |
return feed; | |
} | |
var MEDIA_KEYS_STRING = ["url", "type", "lang"]; | |
var MEDIA_KEYS_INT = [ | |
"fileSize", | |
"bitrate", | |
"framerate", | |
"samplingrate", | |
"channels", | |
"duration", | |
"height", | |
"width" | |
]; | |
function getMediaElements(where) { | |
return (0, legacy_1.getElementsByTagName)("media:content", where).map(function(elem) { | |
var attribs = elem.attribs; | |
var media = { | |
medium: attribs.medium, | |
isDefault: !!attribs.isDefault | |
}; | |
for (var _i = 0, MEDIA_KEYS_STRING_1 = MEDIA_KEYS_STRING; _i < MEDIA_KEYS_STRING_1.length; _i++) { | |
var attrib = MEDIA_KEYS_STRING_1[_i]; | |
if (attribs[attrib]) { | |
media[attrib] = attribs[attrib]; | |
} | |
} | |
for (var _a = 0, MEDIA_KEYS_INT_1 = MEDIA_KEYS_INT; _a < MEDIA_KEYS_INT_1.length; _a++) { | |
var attrib = MEDIA_KEYS_INT_1[_a]; | |
if (attribs[attrib]) { | |
media[attrib] = parseInt(attribs[attrib], 10); | |
} | |
} | |
if (attribs.expression) { | |
media.expression = attribs.expression; | |
} | |
return media; | |
}); | |
} | |
function getOneElement(tagName, node) { | |
return (0, legacy_1.getElementsByTagName)(tagName, node, true, 1)[0]; | |
} | |
function fetch(tagName, where, recurse) { | |
if (recurse === void 0) { | |
recurse = false; | |
} | |
return (0, stringify_1.textContent)((0, legacy_1.getElementsByTagName)(tagName, where, recurse, 1)).trim(); | |
} | |
function addConditionally(obj, prop, tagName, where, recurse) { | |
if (recurse === void 0) { | |
recurse = false; | |
} | |
var val = fetch(tagName, where, recurse); | |
if (val) | |
obj[prop] = val; | |
} | |
function isValidFeed(value) { | |
return value === "rss" || value === "feed" || value === "rdf:RDF"; | |
} | |
} | |
}); | |
// ../node_modules/domutils/lib/index.js | |
var require_lib5 = __commonJS({ | |
"../node_modules/domutils/lib/index.js"(exports) { | |
"use strict"; | |
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { | |
if (k2 === void 0) | |
k2 = k; | |
Object.defineProperty(o, k2, { enumerable: true, get: function() { | |
return m[k]; | |
} }); | |
} : function(o, m, k, k2) { | |
if (k2 === void 0) | |
k2 = k; | |
o[k2] = m[k]; | |
}); | |
var __exportStar = exports && exports.__exportStar || function(m, exports2) { | |
for (var p in m) | |
if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p)) | |
__createBinding(exports2, m, p); | |
}; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.hasChildren = exports.isDocument = exports.isComment = exports.isText = exports.isCDATA = exports.isTag = void 0; | |
__exportStar(require_stringify(), exports); | |
__exportStar(require_traversal(), exports); | |
__exportStar(require_manipulation(), exports); | |
__exportStar(require_querying(), exports); | |
__exportStar(require_legacy2(), exports); | |
__exportStar(require_helpers(), exports); | |
__exportStar(require_feeds(), exports); | |
var domhandler_1 = require_lib2(); | |
Object.defineProperty(exports, "isTag", { enumerable: true, get: function() { | |
return domhandler_1.isTag; | |
} }); | |
Object.defineProperty(exports, "isCDATA", { enumerable: true, get: function() { | |
return domhandler_1.isCDATA; | |
} }); | |
Object.defineProperty(exports, "isText", { enumerable: true, get: function() { | |
return domhandler_1.isText; | |
} }); | |
Object.defineProperty(exports, "isComment", { enumerable: true, get: function() { | |
return domhandler_1.isComment; | |
} }); | |
Object.defineProperty(exports, "isDocument", { enumerable: true, get: function() { | |
return domhandler_1.isDocument; | |
} }); | |
Object.defineProperty(exports, "hasChildren", { enumerable: true, get: function() { | |
return domhandler_1.hasChildren; | |
} }); | |
} | |
}); | |
// ../node_modules/boolbase/index.js | |
var require_boolbase = __commonJS({ | |
"../node_modules/boolbase/index.js"(exports, module) { | |
module.exports = { | |
trueFunc: function trueFunc() { | |
return true; | |
}, | |
falseFunc: function falseFunc() { | |
return false; | |
} | |
}; | |
} | |
}); | |
// ../node_modules/css-what/lib/parse.js | |
var require_parse = __commonJS({ | |
"../node_modules/css-what/lib/parse.js"(exports) { | |
"use strict"; | |
var __spreadArray = exports && exports.__spreadArray || function(to, from) { | |
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) | |
to[j] = from[i]; | |
return to; | |
}; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.isTraversal = void 0; | |
var reName = /^[^\\#]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\-\u00b0-\uFFFF])+/; | |
var reEscape = /\\([\da-f]{1,6}\s?|(\s)|.)/gi; | |
var actionTypes = new Map([ | |
["~", "element"], | |
["^", "start"], | |
["$", "end"], | |
["*", "any"], | |
["!", "not"], | |
["|", "hyphen"] | |
]); | |
var Traversals = { | |
">": "child", | |
"<": "parent", | |
"~": "sibling", | |
"+": "adjacent" | |
}; | |
var attribSelectors = { | |
"#": ["id", "equals"], | |
".": ["class", "element"] | |
}; | |
var unpackPseudos = new Set([ | |
"has", | |
"not", | |
"matches", | |
"is", | |
"host", | |
"host-context" | |
]); | |
var traversalNames = new Set(__spreadArray([ | |
"descendant" | |
], Object.keys(Traversals).map(function(k) { | |
return Traversals[k]; | |
}))); | |
var caseInsensitiveAttributes = new Set([ | |
"accept", | |
"accept-charset", | |
"align", | |
"alink", | |
"axis", | |
"bgcolor", | |
"charset", | |
"checked", | |
"clear", | |
"codetype", | |
"color", | |
"compact", | |
"declare", | |
"defer", | |
"dir", | |
"direction", | |
"disabled", | |
"enctype", | |
"face", | |
"frame", | |
"hreflang", | |
"http-equiv", | |
"lang", | |
"language", | |
"link", | |
"media", | |
"method", | |
"multiple", | |
"nohref", | |
"noresize", | |
"noshade", | |
"nowrap", | |
"readonly", | |
"rel", | |
"rev", | |
"rules", | |
"scope", | |
"scrolling", | |
"selected", | |
"shape", | |
"target", | |
"text", | |
"type", | |
"valign", | |
"valuetype", | |
"vlink" | |
]); | |
function isTraversal(selector) { | |
return traversalNames.has(selector.type); | |
} | |
exports.isTraversal = isTraversal; | |
var stripQuotesFromPseudos = new Set(["contains", "icontains"]); | |
var quotes = new Set(['"', "'"]); | |
function funescape(_, escaped, escapedWhitespace) { | |
var high = parseInt(escaped, 16) - 65536; | |
return high !== high || escapedWhitespace ? escaped : high < 0 ? String.fromCharCode(high + 65536) : String.fromCharCode(high >> 10 | 55296, high & 1023 | 56320); | |
} | |
function unescapeCSS(str) { | |
return str.replace(reEscape, funescape); | |
} | |
function isWhitespace(c) { | |
return c === " " || c === "\n" || c === " " || c === "\f" || c === "\r"; | |
} | |
function parse2(selector, options) { | |
var subselects = []; | |
var endIndex = parseSelector(subselects, "" + selector, options, 0); | |
if (endIndex < selector.length) { | |
throw new Error("Unmatched selector: " + selector.slice(endIndex)); | |
} | |
return subselects; | |
} | |
exports.default = parse2; | |
function parseSelector(subselects, selector, options, selectorIndex) { | |
var _a, _b; | |
if (options === void 0) { | |
options = {}; | |
} | |
var tokens = []; | |
var sawWS = false; | |
function getName2(offset) { | |
var match = selector.slice(selectorIndex + offset).match(reName); | |
if (!match) { | |
throw new Error("Expected name, found " + selector.slice(selectorIndex)); | |
} | |
var name = match[0]; | |
selectorIndex += offset + name.length; | |
return unescapeCSS(name); | |
} | |
function stripWhitespace(offset) { | |
while (isWhitespace(selector.charAt(selectorIndex + offset))) | |
offset++; | |
selectorIndex += offset; | |
} | |
function isEscaped(pos) { | |
var slashCount = 0; | |
while (selector.charAt(--pos) === "\\") | |
slashCount++; | |
return (slashCount & 1) === 1; | |
} | |
function ensureNotTraversal() { | |
if (tokens.length > 0 && isTraversal(tokens[tokens.length - 1])) { | |
throw new Error("Did not expect successive traversals."); | |
} | |
} | |
stripWhitespace(0); | |
while (selector !== "") { | |
var firstChar = selector.charAt(selectorIndex); | |
if (isWhitespace(firstChar)) { | |
sawWS = true; | |
stripWhitespace(1); | |
} else if (firstChar in Traversals) { | |
ensureNotTraversal(); | |
tokens.push({ type: Traversals[firstChar] }); | |
sawWS = false; | |
stripWhitespace(1); | |
} else if (firstChar === ",") { | |
if (tokens.length === 0) { | |
throw new Error("Empty sub-selector"); | |
} | |
subselects.push(tokens); | |
tokens = []; | |
sawWS = false; | |
stripWhitespace(1); | |
} else if (selector.startsWith("/*", selectorIndex)) { | |
var endIndex = selector.indexOf("*/", selectorIndex + 2); | |
if (endIndex < 0) { | |
throw new Error("Comment was not terminated"); | |
} | |
selectorIndex = endIndex + 2; | |
} else { | |
if (sawWS) { | |
ensureNotTraversal(); | |
tokens.push({ type: "descendant" }); | |
sawWS = false; | |
} | |
if (firstChar in attribSelectors) { | |
var _c = attribSelectors[firstChar], name_1 = _c[0], action = _c[1]; | |
tokens.push({ | |
type: "attribute", | |
name: name_1, | |
action, | |
value: getName2(1), | |
namespace: null, | |
ignoreCase: options.xmlMode ? null : false | |
}); | |
} else if (firstChar === "[") { | |
stripWhitespace(1); | |
var name_2 = void 0; | |
var namespace = null; | |
if (selector.charAt(selectorIndex) === "|") { | |
namespace = ""; | |
selectorIndex += 1; | |
} | |
if (selector.startsWith("*|", selectorIndex)) { | |
namespace = "*"; | |
selectorIndex += 2; | |
} | |
name_2 = getName2(0); | |
if (namespace === null && selector.charAt(selectorIndex) === "|" && selector.charAt(selectorIndex + 1) !== "=") { | |
namespace = name_2; | |
name_2 = getName2(1); | |
} | |
if ((_a = options.lowerCaseAttributeNames) !== null && _a !== void 0 ? _a : !options.xmlMode) { | |
name_2 = name_2.toLowerCase(); | |
} | |
stripWhitespace(0); | |
var action = "exists"; | |
var possibleAction = actionTypes.get(selector.charAt(selectorIndex)); | |
if (possibleAction) { | |
action = possibleAction; | |
if (selector.charAt(selectorIndex + 1) !== "=") { | |
throw new Error("Expected `=`"); | |
} | |
stripWhitespace(2); | |
} else if (selector.charAt(selectorIndex) === "=") { | |
action = "equals"; | |
stripWhitespace(1); | |
} | |
var value = ""; | |
var ignoreCase = null; | |
if (action !== "exists") { | |
if (quotes.has(selector.charAt(selectorIndex))) { | |
var quote = selector.charAt(selectorIndex); | |
var sectionEnd = selectorIndex + 1; | |
while (sectionEnd < selector.length && (selector.charAt(sectionEnd) !== quote || isEscaped(sectionEnd))) { | |
sectionEnd += 1; | |
} | |
if (selector.charAt(sectionEnd) !== quote) { | |
throw new Error("Attribute value didn't end"); | |
} | |
value = unescapeCSS(selector.slice(selectorIndex + 1, sectionEnd)); | |
selectorIndex = sectionEnd + 1; | |
} else { | |
var valueStart = selectorIndex; | |
while (selectorIndex < selector.length && (!isWhitespace(selector.charAt(selectorIndex)) && selector.charAt(selectorIndex) !== "]" || isEscaped(selectorIndex))) { | |
selectorIndex += 1; | |
} | |
value = unescapeCSS(selector.slice(valueStart, selectorIndex)); | |
} | |
stripWhitespace(0); | |
var forceIgnore = selector.charAt(selectorIndex); | |
if (forceIgnore === "s" || forceIgnore === "S") { | |
ignoreCase = false; | |
stripWhitespace(1); | |
} else if (forceIgnore === "i" || forceIgnore === "I") { | |
ignoreCase = true; | |
stripWhitespace(1); | |
} | |
} | |
if (!options.xmlMode) { | |
ignoreCase !== null && ignoreCase !== void 0 ? ignoreCase : ignoreCase = caseInsensitiveAttributes.has(name_2); | |
} | |
if (selector.charAt(selectorIndex) !== "]") { | |
throw new Error("Attribute selector didn't terminate"); | |
} | |
selectorIndex += 1; | |
var attributeSelector = { | |
type: "attribute", | |
name: name_2, | |
action, | |
value, | |
namespace, | |
ignoreCase | |
}; | |
tokens.push(attributeSelector); | |
} else if (firstChar === ":") { | |
if (selector.charAt(selectorIndex + 1) === ":") { | |
tokens.push({ | |
type: "pseudo-element", | |
name: getName2(2).toLowerCase() | |
}); | |
continue; | |
} | |
var name_3 = getName2(1).toLowerCase(); | |
var data = null; | |
if (selector.charAt(selectorIndex) === "(") { | |
if (unpackPseudos.has(name_3)) { | |
if (quotes.has(selector.charAt(selectorIndex + 1))) { | |
throw new Error("Pseudo-selector " + name_3 + " cannot be quoted"); | |
} | |
data = []; | |
selectorIndex = parseSelector(data, selector, options, selectorIndex + 1); | |
if (selector.charAt(selectorIndex) !== ")") { | |
throw new Error("Missing closing parenthesis in :" + name_3 + " (" + selector + ")"); | |
} | |
selectorIndex += 1; | |
} else { | |
selectorIndex += 1; | |
var start = selectorIndex; | |
var counter = 1; | |
for (; counter > 0 && selectorIndex < selector.length; selectorIndex++) { | |
if (selector.charAt(selectorIndex) === "(" && !isEscaped(selectorIndex)) { | |
counter++; | |
} else if (selector.charAt(selectorIndex) === ")" && !isEscaped(selectorIndex)) { | |
counter--; | |
} | |
} | |
if (counter) { | |
throw new Error("Parenthesis not matched"); | |
} | |
data = selector.slice(start, selectorIndex - 1); | |
if (stripQuotesFromPseudos.has(name_3)) { | |
var quot = data.charAt(0); | |
if (quot === data.slice(-1) && quotes.has(quot)) { | |
data = data.slice(1, -1); | |
} | |
data = unescapeCSS(data); | |
} | |
} | |
} | |
tokens.push({ type: "pseudo", name: name_3, data }); | |
} else { | |
var namespace = null; | |
var name_4 = void 0; | |
if (firstChar === "*") { | |
selectorIndex += 1; | |
name_4 = "*"; | |
} else if (reName.test(selector.slice(selectorIndex))) { | |
if (selector.charAt(selectorIndex) === "|") { | |
namespace = ""; | |
selectorIndex += 1; | |
} | |
name_4 = getName2(0); | |
} else { | |
if (tokens.length && tokens[tokens.length - 1].type === "descendant") { | |
tokens.pop(); | |
} | |
addToken(subselects, tokens); | |
return selectorIndex; | |
} | |
if (selector.charAt(selectorIndex) === "|") { | |
namespace = name_4; | |
if (selector.charAt(selectorIndex + 1) === "*") { | |
name_4 = "*"; | |
selectorIndex += 2; | |
} else { | |
name_4 = getName2(1); | |
} | |
} | |
if (name_4 === "*") { | |
tokens.push({ type: "universal", namespace }); | |
} else { | |
if ((_b = options.lowerCaseTags) !== null && _b !== void 0 ? _b : !options.xmlMode) { | |
name_4 = name_4.toLowerCase(); | |
} | |
tokens.push({ type: "tag", name: name_4, namespace }); | |
} | |
} | |
} | |
} | |
addToken(subselects, tokens); | |
return selectorIndex; | |
} | |
function addToken(subselects, tokens) { | |
if (subselects.length > 0 && tokens.length === 0) { | |
throw new Error("Empty sub-selector"); | |
} | |
subselects.push(tokens); | |
} | |
} | |
}); | |
// ../node_modules/css-what/lib/stringify.js | |
var require_stringify2 = __commonJS({ | |
"../node_modules/css-what/lib/stringify.js"(exports) { | |
"use strict"; | |
var __spreadArray = exports && exports.__spreadArray || function(to, from) { | |
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) | |
to[j] = from[i]; | |
return to; | |
}; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
var actionTypes = { | |
equals: "", | |
element: "~", | |
start: "^", | |
end: "$", | |
any: "*", | |
not: "!", | |
hyphen: "|" | |
}; | |
var charsToEscape = new Set(__spreadArray(__spreadArray([], Object.keys(actionTypes).map(function(typeKey) { | |
return actionTypes[typeKey]; | |
}).filter(Boolean)), [ | |
":", | |
"[", | |
"]", | |
" ", | |
"\\", | |
"(", | |
")", | |
"'" | |
])); | |
function stringify(selector) { | |
return selector.map(stringifySubselector).join(", "); | |
} | |
exports.default = stringify; | |
function stringifySubselector(token) { | |
return token.map(stringifyToken).join(""); | |
} | |
function stringifyToken(token) { | |
switch (token.type) { | |
case "child": | |
return " > "; | |
case "parent": | |
return " < "; | |
case "sibling": | |
return " ~ "; | |
case "adjacent": | |
return " + "; | |
case "descendant": | |
return " "; | |
case "universal": | |
return getNamespace(token.namespace) + "*"; | |
case "tag": | |
return getNamespacedName(token); | |
case "pseudo-element": | |
return "::" + escapeName(token.name); | |
case "pseudo": | |
if (token.data === null) | |
return ":" + escapeName(token.name); | |
if (typeof token.data === "string") { | |
return ":" + escapeName(token.name) + "(" + escapeName(token.data) + ")"; | |
} | |
return ":" + escapeName(token.name) + "(" + stringify(token.data) + ")"; | |
case "attribute": { | |
if (token.name === "id" && token.action === "equals" && !token.ignoreCase && !token.namespace) { | |
return "#" + escapeName(token.value); | |
} | |
if (token.name === "class" && token.action === "element" && !token.ignoreCase && !token.namespace) { | |
return "." + escapeName(token.value); | |
} | |
var name_1 = getNamespacedName(token); | |
if (token.action === "exists") { | |
return "[" + name_1 + "]"; | |
} | |
return "[" + name_1 + actionTypes[token.action] + "='" + escapeName(token.value) + "'" + (token.ignoreCase ? "i" : token.ignoreCase === false ? "s" : "") + "]"; | |
} | |
} | |
} | |
function getNamespacedName(token) { | |
return "" + getNamespace(token.namespace) + escapeName(token.name); | |
} | |
function getNamespace(namespace) { | |
return namespace !== null ? (namespace === "*" ? "*" : escapeName(namespace)) + "|" : ""; | |
} | |
function escapeName(str) { | |
return str.split("").map(function(c) { | |
return charsToEscape.has(c) ? "\\" + c : c; | |
}).join(""); | |
} | |
} | |
}); | |
// ../node_modules/css-what/lib/index.js | |
var require_lib6 = __commonJS({ | |
"../node_modules/css-what/lib/index.js"(exports) { | |
"use strict"; | |
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { | |
if (k2 === void 0) | |
k2 = k; | |
Object.defineProperty(o, k2, { enumerable: true, get: function() { | |
return m[k]; | |
} }); | |
} : function(o, m, k, k2) { | |
if (k2 === void 0) | |
k2 = k; | |
o[k2] = m[k]; | |
}); | |
var __exportStar = exports && exports.__exportStar || function(m, exports2) { | |
for (var p in m) | |
if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p)) | |
__createBinding(exports2, m, p); | |
}; | |
var __importDefault = exports && exports.__importDefault || function(mod) { | |
return mod && mod.__esModule ? mod : { "default": mod }; | |
}; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.stringify = exports.parse = void 0; | |
__exportStar(require_parse(), exports); | |
var parse_1 = require_parse(); | |
Object.defineProperty(exports, "parse", { enumerable: true, get: function() { | |
return __importDefault(parse_1).default; | |
} }); | |
var stringify_1 = require_stringify2(); | |
Object.defineProperty(exports, "stringify", { enumerable: true, get: function() { | |
return __importDefault(stringify_1).default; | |
} }); | |
} | |
}); | |
// ../node_modules/css-select/lib/procedure.js | |
var require_procedure = __commonJS({ | |
"../node_modules/css-select/lib/procedure.js"(exports) { | |
"use strict"; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.isTraversal = exports.procedure = void 0; | |
exports.procedure = { | |
universal: 50, | |
tag: 30, | |
attribute: 1, | |
pseudo: 0, | |
"pseudo-element": 0, | |
descendant: -1, | |
child: -1, | |
parent: -1, | |
sibling: -1, | |
adjacent: -1, | |
_flexibleDescendant: -1 | |
}; | |
function isTraversal(t) { | |
return exports.procedure[t.type] < 0; | |
} | |
exports.isTraversal = isTraversal; | |
} | |
}); | |
// ../node_modules/css-select/lib/sort.js | |
var require_sort = __commonJS({ | |
"../node_modules/css-select/lib/sort.js"(exports) { | |
"use strict"; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
var procedure_1 = require_procedure(); | |
var attributes = { | |
exists: 10, | |
equals: 8, | |
not: 7, | |
start: 6, | |
end: 6, | |
any: 5, | |
hyphen: 4, | |
element: 4 | |
}; | |
function sortByProcedure(arr) { | |
var procs = arr.map(getProcedure); | |
for (var i = 1; i < arr.length; i++) { | |
var procNew = procs[i]; | |
if (procNew < 0) | |
continue; | |
for (var j = i - 1; j >= 0 && procNew < procs[j]; j--) { | |
var token = arr[j + 1]; | |
arr[j + 1] = arr[j]; | |
arr[j] = token; | |
procs[j + 1] = procs[j]; | |
procs[j] = procNew; | |
} | |
} | |
} | |
exports.default = sortByProcedure; | |
function getProcedure(token) { | |
var proc = procedure_1.procedure[token.type]; | |
if (token.type === "attribute") { | |
proc = attributes[token.action]; | |
if (proc === attributes.equals && token.name === "id") { | |
proc = 9; | |
} | |
if (token.ignoreCase) { | |
proc >>= 1; | |
} | |
} else if (token.type === "pseudo") { | |
if (!token.data) { | |
proc = 3; | |
} else if (token.name === "has" || token.name === "contains") { | |
proc = 0; | |
} else if (Array.isArray(token.data)) { | |
proc = 0; | |
for (var i = 0; i < token.data.length; i++) { | |
if (token.data[i].length !== 1) | |
continue; | |
var cur = getProcedure(token.data[i][0]); | |
if (cur === 0) { | |
proc = 0; | |
break; | |
} | |
if (cur > proc) | |
proc = cur; | |
} | |
if (token.data.length > 1 && proc > 0) | |
proc -= 1; | |
} else { | |
proc = 1; | |
} | |
} | |
return proc; | |
} | |
} | |
}); | |
// ../node_modules/css-select/lib/attributes.js | |
var require_attributes = __commonJS({ | |
"../node_modules/css-select/lib/attributes.js"(exports) { | |
"use strict"; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.attributeRules = void 0; | |
var boolbase_1 = require_boolbase(); | |
var reChars = /[-[\]{}()*+?.,\\^$|#\s]/g; | |
function escapeRegex(value) { | |
return value.replace(reChars, "\\$&"); | |
} | |
exports.attributeRules = { | |
equals: function(next, data, _a) { | |
var adapter = _a.adapter; | |
var name = data.name; | |
var value = data.value; | |
if (data.ignoreCase) { | |
value = value.toLowerCase(); | |
return function(elem) { | |
var attr = adapter.getAttributeValue(elem, name); | |
return attr != null && attr.length === value.length && attr.toLowerCase() === value && next(elem); | |
}; | |
} | |
return function(elem) { | |
return adapter.getAttributeValue(elem, name) === value && next(elem); | |
}; | |
}, | |
hyphen: function(next, data, _a) { | |
var adapter = _a.adapter; | |
var name = data.name; | |
var value = data.value; | |
var len = value.length; | |
if (data.ignoreCase) { | |
value = value.toLowerCase(); | |
return function hyphenIC(elem) { | |
var attr = adapter.getAttributeValue(elem, name); | |
return attr != null && (attr.length === len || attr.charAt(len) === "-") && attr.substr(0, len).toLowerCase() === value && next(elem); | |
}; | |
} | |
return function hyphen(elem) { | |
var attr = adapter.getAttributeValue(elem, name); | |
return attr != null && (attr.length === len || attr.charAt(len) === "-") && attr.substr(0, len) === value && next(elem); | |
}; | |
}, | |
element: function(next, _a, _b) { | |
var name = _a.name, value = _a.value, ignoreCase = _a.ignoreCase; | |
var adapter = _b.adapter; | |
if (/\s/.test(value)) { | |
return boolbase_1.falseFunc; | |
} | |
var regex = new RegExp("(?:^|\\s)" + escapeRegex(value) + "(?:$|\\s)", ignoreCase ? "i" : ""); | |
return function element(elem) { | |
var attr = adapter.getAttributeValue(elem, name); | |
return attr != null && attr.length >= value.length && regex.test(attr) && next(elem); | |
}; | |
}, | |
exists: function(next, _a, _b) { | |
var name = _a.name; | |
var adapter = _b.adapter; | |
return function(elem) { | |
return adapter.hasAttrib(elem, name) && next(elem); | |
}; | |
}, | |
start: function(next, data, _a) { | |
var adapter = _a.adapter; | |
var name = data.name; | |
var value = data.value; | |
var len = value.length; | |
if (len === 0) { | |
return boolbase_1.falseFunc; | |
} | |
if (data.ignoreCase) { | |
value = value.toLowerCase(); | |
return function(elem) { | |
var attr = adapter.getAttributeValue(elem, name); | |
return attr != null && attr.length >= len && attr.substr(0, len).toLowerCase() === value && next(elem); | |
}; | |
} | |
return function(elem) { | |
var _a2; | |
return !!((_a2 = adapter.getAttributeValue(elem, name)) === null || _a2 === void 0 ? void 0 : _a2.startsWith(value)) && next(elem); | |
}; | |
}, | |
end: function(next, data, _a) { | |
var adapter = _a.adapter; | |
var name = data.name; | |
var value = data.value; | |
var len = -value.length; | |
if (len === 0) { | |
return boolbase_1.falseFunc; | |
} | |
if (data.ignoreCase) { | |
value = value.toLowerCase(); | |
return function(elem) { | |
var _a2; | |
return ((_a2 = adapter.getAttributeValue(elem, name)) === null || _a2 === void 0 ? void 0 : _a2.substr(len).toLowerCase()) === value && next(elem); | |
}; | |
} | |
return function(elem) { | |
var _a2; | |
return !!((_a2 = adapter.getAttributeValue(elem, name)) === null || _a2 === void 0 ? void 0 : _a2.endsWith(value)) && next(elem); | |
}; | |
}, | |
any: function(next, data, _a) { | |
var adapter = _a.adapter; | |
var name = data.name, value = data.value; | |
if (value === "") { | |
return boolbase_1.falseFunc; | |
} | |
if (data.ignoreCase) { | |
var regex_1 = new RegExp(escapeRegex(value), "i"); | |
return function anyIC(elem) { | |
var attr = adapter.getAttributeValue(elem, name); | |
return attr != null && attr.length >= value.length && regex_1.test(attr) && next(elem); | |
}; | |
} | |
return function(elem) { | |
var _a2; | |
return !!((_a2 = adapter.getAttributeValue(elem, name)) === null || _a2 === void 0 ? void 0 : _a2.includes(value)) && next(elem); | |
}; | |
}, | |
not: function(next, data, _a) { | |
var adapter = _a.adapter; | |
var name = data.name; | |
var value = data.value; | |
if (value === "") { | |
return function(elem) { | |
return !!adapter.getAttributeValue(elem, name) && next(elem); | |
}; | |
} else if (data.ignoreCase) { | |
value = value.toLowerCase(); | |
return function(elem) { | |
var attr = adapter.getAttributeValue(elem, name); | |
return (attr == null || attr.length !== value.length || attr.toLowerCase() !== value) && next(elem); | |
}; | |
} | |
return function(elem) { | |
return adapter.getAttributeValue(elem, name) !== value && next(elem); | |
}; | |
} | |
}; | |
} | |
}); | |
// ../node_modules/nth-check/lib/parse.js | |
var require_parse2 = __commonJS({ | |
"../node_modules/nth-check/lib/parse.js"(exports) { | |
"use strict"; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.parse = void 0; | |
var whitespace = new Set([9, 10, 12, 13, 32]); | |
var ZERO = "0".charCodeAt(0); | |
var NINE = "9".charCodeAt(0); | |
function parse2(formula) { | |
formula = formula.trim().toLowerCase(); | |
if (formula === "even") { | |
return [2, 0]; | |
} else if (formula === "odd") { | |
return [2, 1]; | |
} | |
var idx = 0; | |
var a = 0; | |
var sign = readSign(); | |
var number = readNumber(); | |
if (idx < formula.length && formula.charAt(idx) === "n") { | |
idx++; | |
a = sign * (number !== null && number !== void 0 ? number : 1); | |
skipWhitespace(); | |
if (idx < formula.length) { | |
sign = readSign(); | |
skipWhitespace(); | |
number = readNumber(); | |
} else { | |
sign = number = 0; | |
} | |
} | |
if (number === null || idx < formula.length) { | |
throw new Error("n-th rule couldn't be parsed ('" + formula + "')"); | |
} | |
return [a, sign * number]; | |
function readSign() { | |
if (formula.charAt(idx) === "-") { | |
idx++; | |
return -1; | |
} | |
if (formula.charAt(idx) === "+") { | |
idx++; | |
} | |
return 1; | |
} | |
function readNumber() { | |
var start = idx; | |
var value = 0; | |
while (idx < formula.length && formula.charCodeAt(idx) >= ZERO && formula.charCodeAt(idx) <= NINE) { | |
value = value * 10 + (formula.charCodeAt(idx) - ZERO); | |
idx++; | |
} | |
return idx === start ? null : value; | |
} | |
function skipWhitespace() { | |
while (idx < formula.length && whitespace.has(formula.charCodeAt(idx))) { | |
idx++; | |
} | |
} | |
} | |
exports.parse = parse2; | |
} | |
}); | |
// ../node_modules/nth-check/lib/compile.js | |
var require_compile = __commonJS({ | |
"../node_modules/nth-check/lib/compile.js"(exports) { | |
"use strict"; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.compile = void 0; | |
var boolbase_1 = require_boolbase(); | |
function compile(parsed) { | |
var a = parsed[0]; | |
var b = parsed[1] - 1; | |
if (b < 0 && a <= 0) | |
return boolbase_1.falseFunc; | |
if (a === -1) | |
return function(index) { | |
return index <= b; | |
}; | |
if (a === 0) | |
return function(index) { | |
return index === b; | |
}; | |
if (a === 1) | |
return b < 0 ? boolbase_1.trueFunc : function(index) { | |
return index >= b; | |
}; | |
var absA = Math.abs(a); | |
var bMod = (b % absA + absA) % absA; | |
return a > 1 ? function(index) { | |
return index >= b && index % absA === bMod; | |
} : function(index) { | |
return index <= b && index % absA === bMod; | |
}; | |
} | |
exports.compile = compile; | |
} | |
}); | |
// ../node_modules/nth-check/lib/index.js | |
var require_lib7 = __commonJS({ | |
"../node_modules/nth-check/lib/index.js"(exports) { | |
"use strict"; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.compile = exports.parse = void 0; | |
var parse_1 = require_parse2(); | |
Object.defineProperty(exports, "parse", { enumerable: true, get: function() { | |
return parse_1.parse; | |
} }); | |
var compile_1 = require_compile(); | |
Object.defineProperty(exports, "compile", { enumerable: true, get: function() { | |
return compile_1.compile; | |
} }); | |
function nthCheck(formula) { | |
return (0, compile_1.compile)((0, parse_1.parse)(formula)); | |
} | |
exports.default = nthCheck; | |
} | |
}); | |
// ../node_modules/css-select/lib/pseudo-selectors/filters.js | |
var require_filters = __commonJS({ | |
"../node_modules/css-select/lib/pseudo-selectors/filters.js"(exports) { | |
"use strict"; | |
var __importDefault = exports && exports.__importDefault || function(mod) { | |
return mod && mod.__esModule ? mod : { "default": mod }; | |
}; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.filters = void 0; | |
var nth_check_1 = __importDefault(require_lib7()); | |
var boolbase_1 = require_boolbase(); | |
function getChildFunc(next, adapter) { | |
return function(elem) { | |
var parent = adapter.getParent(elem); | |
return parent != null && adapter.isTag(parent) && next(elem); | |
}; | |
} | |
exports.filters = { | |
contains: function(next, text, _a) { | |
var adapter = _a.adapter; | |
return function contains(elem) { | |
return next(elem) && adapter.getText(elem).includes(text); | |
}; | |
}, | |
icontains: function(next, text, _a) { | |
var adapter = _a.adapter; | |
var itext = text.toLowerCase(); | |
return function icontains(elem) { | |
return next(elem) && adapter.getText(elem).toLowerCase().includes(itext); | |
}; | |
}, | |
"nth-child": function(next, rule, _a) { | |
var adapter = _a.adapter, equals = _a.equals; | |
var func = nth_check_1.default(rule); | |
if (func === boolbase_1.falseFunc) | |
return boolbase_1.falseFunc; | |
if (func === boolbase_1.trueFunc) | |
return getChildFunc(next, adapter); | |
return function nthChild(elem) { | |
var siblings = adapter.getSiblings(elem); | |
var pos = 0; | |
for (var i = 0; i < siblings.length; i++) { | |
if (equals(elem, siblings[i])) | |
break; | |
if (adapter.isTag(siblings[i])) { | |
pos++; | |
} | |
} | |
return func(pos) && next(elem); | |
}; | |
}, | |
"nth-last-child": function(next, rule, _a) { | |
var adapter = _a.adapter, equals = _a.equals; | |
var func = nth_check_1.default(rule); | |
if (func === boolbase_1.falseFunc) | |
return boolbase_1.falseFunc; | |
if (func === boolbase_1.trueFunc) | |
return getChildFunc(next, adapter); | |
return function nthLastChild(elem) { | |
var siblings = adapter.getSiblings(elem); | |
var pos = 0; | |
for (var i = siblings.length - 1; i >= 0; i--) { | |
if (equals(elem, siblings[i])) | |
break; | |
if (adapter.isTag(siblings[i])) { | |
pos++; | |
} | |
} | |
return func(pos) && next(elem); | |
}; | |
}, | |
"nth-of-type": function(next, rule, _a) { | |
var adapter = _a.adapter, equals = _a.equals; | |
var func = nth_check_1.default(rule); | |
if (func === boolbase_1.falseFunc) | |
return boolbase_1.falseFunc; | |
if (func === boolbase_1.trueFunc) | |
return getChildFunc(next, adapter); | |
return function nthOfType(elem) { | |
var siblings = adapter.getSiblings(elem); | |
var pos = 0; | |
for (var i = 0; i < siblings.length; i++) { | |
var currentSibling = siblings[i]; | |
if (equals(elem, currentSibling)) | |
break; | |
if (adapter.isTag(currentSibling) && adapter.getName(currentSibling) === adapter.getName(elem)) { | |
pos++; | |
} | |
} | |
return func(pos) && next(elem); | |
}; | |
}, | |
"nth-last-of-type": function(next, rule, _a) { | |
var adapter = _a.adapter, equals = _a.equals; | |
var func = nth_check_1.default(rule); | |
if (func === boolbase_1.falseFunc) | |
return boolbase_1.falseFunc; | |
if (func === boolbase_1.trueFunc) | |
return getChildFunc(next, adapter); | |
return function nthLastOfType(elem) { | |
var siblings = adapter.getSiblings(elem); | |
var pos = 0; | |
for (var i = siblings.length - 1; i >= 0; i--) { | |
var currentSibling = siblings[i]; | |
if (equals(elem, currentSibling)) | |
break; | |
if (adapter.isTag(currentSibling) && adapter.getName(currentSibling) === adapter.getName(elem)) { | |
pos++; | |
} | |
} | |
return func(pos) && next(elem); | |
}; | |
}, | |
root: function(next, _rule, _a) { | |
var adapter = _a.adapter; | |
return function(elem) { | |
var parent = adapter.getParent(elem); | |
return (parent == null || !adapter.isTag(parent)) && next(elem); | |
}; | |
}, | |
scope: function(next, rule, options, context) { | |
var equals = options.equals; | |
if (!context || context.length === 0) { | |
return exports.filters.root(next, rule, options); | |
} | |
if (context.length === 1) { | |
return function(elem) { | |
return equals(context[0], elem) && next(elem); | |
}; | |
} | |
return function(elem) { | |
return context.includes(elem) && next(elem); | |
}; | |
}, | |
hover: dynamicStatePseudo("isHovered"), | |
visited: dynamicStatePseudo("isVisited"), | |
active: dynamicStatePseudo("isActive") | |
}; | |
function dynamicStatePseudo(name) { | |
return function dynamicPseudo(next, _rule, _a) { | |
var adapter = _a.adapter; | |
var func = adapter[name]; | |
if (typeof func !== "function") { | |
return boolbase_1.falseFunc; | |
} | |
return function active(elem) { | |
return func(elem) && next(elem); | |
}; | |
}; | |
} | |
} | |
}); | |
// ../node_modules/css-select/lib/pseudo-selectors/pseudos.js | |
var require_pseudos = __commonJS({ | |
"../node_modules/css-select/lib/pseudo-selectors/pseudos.js"(exports) { | |
"use strict"; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.verifyPseudoArgs = exports.pseudos = void 0; | |
exports.pseudos = { | |
empty: function(elem, _a) { | |
var adapter = _a.adapter; | |
return !adapter.getChildren(elem).some(function(elem2) { | |
return adapter.isTag(elem2) || adapter.getText(elem2) !== ""; | |
}); | |
}, | |
"first-child": function(elem, _a) { | |
var adapter = _a.adapter, equals = _a.equals; | |
var firstChild = adapter.getSiblings(elem).find(function(elem2) { | |
return adapter.isTag(elem2); | |
}); | |
return firstChild != null && equals(elem, firstChild); | |
}, | |
"last-child": function(elem, _a) { | |
var adapter = _a.adapter, equals = _a.equals; | |
var siblings = adapter.getSiblings(elem); | |
for (var i = siblings.length - 1; i >= 0; i--) { | |
if (equals(elem, siblings[i])) | |
return true; | |
if (adapter.isTag(siblings[i])) | |
break; | |
} | |
return false; | |
}, | |
"first-of-type": function(elem, _a) { | |
var adapter = _a.adapter, equals = _a.equals; | |
var siblings = adapter.getSiblings(elem); | |
var elemName = adapter.getName(elem); | |
for (var i = 0; i < siblings.length; i++) { | |
var currentSibling = siblings[i]; | |
if (equals(elem, currentSibling)) | |
return true; | |
if (adapter.isTag(currentSibling) && adapter.getName(currentSibling) === elemName) { | |
break; | |
} | |
} | |
return false; | |
}, | |
"last-of-type": function(elem, _a) { | |
var adapter = _a.adapter, equals = _a.equals; | |
var siblings = adapter.getSiblings(elem); | |
var elemName = adapter.getName(elem); | |
for (var i = siblings.length - 1; i >= 0; i--) { | |
var currentSibling = siblings[i]; | |
if (equals(elem, currentSibling)) | |
return true; | |
if (adapter.isTag(currentSibling) && adapter.getName(currentSibling) === elemName) { | |
break; | |
} | |
} | |
return false; | |
}, | |
"only-of-type": function(elem, _a) { | |
var adapter = _a.adapter, equals = _a.equals; | |
var elemName = adapter.getName(elem); | |
return adapter.getSiblings(elem).every(function(sibling) { | |
return equals(elem, sibling) || !adapter.isTag(sibling) || adapter.getName(sibling) !== elemName; | |
}); | |
}, | |
"only-child": function(elem, _a) { | |
var adapter = _a.adapter, equals = _a.equals; | |
return adapter.getSiblings(elem).every(function(sibling) { | |
return equals(elem, sibling) || !adapter.isTag(sibling); | |
}); | |
} | |
}; | |
function verifyPseudoArgs(func, name, subselect) { | |
if (subselect === null) { | |
if (func.length > 2) { | |
throw new Error("pseudo-selector :" + name + " requires an argument"); | |
} | |
} else if (func.length === 2) { | |
throw new Error("pseudo-selector :" + name + " doesn't have any arguments"); | |
} | |
} | |
exports.verifyPseudoArgs = verifyPseudoArgs; | |
} | |
}); | |
// ../node_modules/css-select/lib/pseudo-selectors/aliases.js | |
var require_aliases = __commonJS({ | |
"../node_modules/css-select/lib/pseudo-selectors/aliases.js"(exports) { | |
"use strict"; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.aliases = void 0; | |
exports.aliases = { | |
"any-link": ":is(a, area, link)[href]", | |
link: ":any-link:not(:visited)", | |
disabled: ":is(\n :is(button, input, select, textarea, optgroup, option)[disabled],\n optgroup[disabled] > option,\n fieldset[disabled]:not(fieldset[disabled] legend:first-of-type *)\n )", | |
enabled: ":not(:disabled)", | |
checked: ":is(:is(input[type=radio], input[type=checkbox])[checked], option:selected)", | |
required: ":is(input, select, textarea)[required]", | |
optional: ":is(input, select, textarea):not([required])", | |
selected: "option:is([selected], select:not([multiple]):not(:has(> option[selected])) > :first-of-type)", | |
checkbox: "[type=checkbox]", | |
file: "[type=file]", | |
password: "[type=password]", | |
radio: "[type=radio]", | |
reset: "[type=reset]", | |
image: "[type=image]", | |
submit: "[type=submit]", | |
parent: ":not(:empty)", | |
header: ":is(h1, h2, h3, h4, h5, h6)", | |
button: ":is(button, input[type=button])", | |
input: ":is(input, textarea, select, button)", | |
text: "input:is(:not([type!='']), [type=text])" | |
}; | |
} | |
}); | |
// ../node_modules/css-select/lib/pseudo-selectors/subselects.js | |
var require_subselects = __commonJS({ | |
"../node_modules/css-select/lib/pseudo-selectors/subselects.js"(exports) { | |
"use strict"; | |
var __spreadArray = exports && exports.__spreadArray || function(to, from) { | |
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++) | |
to[j] = from[i]; | |
return to; | |
}; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.subselects = exports.getNextSiblings = exports.ensureIsTag = exports.PLACEHOLDER_ELEMENT = void 0; | |
var boolbase_1 = require_boolbase(); | |
var procedure_1 = require_procedure(); | |
exports.PLACEHOLDER_ELEMENT = {}; | |
function ensureIsTag(next, adapter) { | |
if (next === boolbase_1.falseFunc) | |
return boolbase_1.falseFunc; | |
return function(elem) { | |
return adapter.isTag(elem) && next(elem); | |
}; | |
} | |
exports.ensureIsTag = ensureIsTag; | |
function getNextSiblings(elem, adapter) { | |
var siblings = adapter.getSiblings(elem); | |
if (siblings.length <= 1) | |
return []; | |
var elemIndex = siblings.indexOf(elem); | |
if (elemIndex < 0 || elemIndex === siblings.length - 1) | |
return []; | |
return siblings.slice(elemIndex + 1).filter(adapter.isTag); | |
} | |
exports.getNextSiblings = getNextSiblings; | |
var is = function(next, token, options, context, compileToken) { | |
var opts = { | |
xmlMode: !!options.xmlMode, | |
adapter: options.adapter, | |
equals: options.equals | |
}; | |
var func = compileToken(token, opts, context); | |
return function(elem) { | |
return func(elem) && next(elem); | |
}; | |
}; | |
exports.subselects = { | |
is, | |
matches: is, | |
not: function(next, token, options, context, compileToken) { | |
var opts = { | |
xmlMode: !!options.xmlMode, | |
adapter: options.adapter, | |
equals: options.equals | |
}; | |
var func = compileToken(token, opts, context); | |
if (func === boolbase_1.falseFunc) | |
return next; | |
if (func === boolbase_1.trueFunc) | |
return boolbase_1.falseFunc; | |
return function not(elem) { | |
return !func(elem) && next(elem); | |
}; | |
}, | |
has: function(next, subselect, options, _context, compileToken) { | |
var adapter = options.adapter; | |
var opts = { | |
xmlMode: !!options.xmlMode, | |
adapter, | |
equals: options.equals | |
}; | |
var context = subselect.some(function(s) { | |
return s.some(procedure_1.isTraversal); | |
}) ? [exports.PLACEHOLDER_ELEMENT] : void 0; | |
var compiled = compileToken(subselect, opts, context); | |
if (compiled === boolbase_1.falseFunc) | |
return boolbase_1.falseFunc; | |
if (compiled === boolbase_1.trueFunc) { | |
return function(elem) { | |
return adapter.getChildren(elem).some(adapter.isTag) && next(elem); | |
}; | |
} | |
var hasElement = ensureIsTag(compiled, adapter); | |
var _a = compiled.shouldTestNextSiblings, shouldTestNextSiblings = _a === void 0 ? false : _a; | |
if (context) { | |
return function(elem) { | |
context[0] = elem; | |
var childs = adapter.getChildren(elem); | |
var nextElements = shouldTestNextSiblings ? __spreadArray(__spreadArray([], childs), getNextSiblings(elem, adapter)) : childs; | |
return next(elem) && adapter.existsOne(hasElement, nextElements); | |
}; | |
} | |
return function(elem) { | |
return next(elem) && adapter.existsOne(hasElement, adapter.getChildren(elem)); | |
}; | |
} | |
}; | |
} | |
}); | |
// ../node_modules/css-select/lib/pseudo-selectors/index.js | |
var require_pseudo_selectors = __commonJS({ | |
"../node_modules/css-select/lib/pseudo-selectors/index.js"(exports) { | |
"use strict"; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.compilePseudoSelector = exports.aliases = exports.pseudos = exports.filters = void 0; | |
var boolbase_1 = require_boolbase(); | |
var css_what_1 = require_lib6(); | |
var filters_1 = require_filters(); | |
Object.defineProperty(exports, "filters", { enumerable: true, get: function() { | |
return filters_1.filters; | |
} }); | |
var pseudos_1 = require_pseudos(); | |
Object.defineProperty(exports, "pseudos", { enumerable: true, get: function() { | |
return pseudos_1.pseudos; | |
} }); | |
var aliases_1 = require_aliases(); | |
Object.defineProperty(exports, "aliases", { enumerable: true, get: function() { | |
return aliases_1.aliases; | |
} }); | |
var subselects_1 = require_subselects(); | |
function compilePseudoSelector(next, selector, options, context, compileToken) { | |
var name = selector.name, data = selector.data; | |
if (Array.isArray(data)) { | |
return subselects_1.subselects[name](next, data, options, context, compileToken); | |
} | |
if (name in aliases_1.aliases) { | |
if (data != null) { | |
throw new Error("Pseudo " + name + " doesn't have any arguments"); | |
} | |
var alias = css_what_1.parse(aliases_1.aliases[name], options); | |
return subselects_1.subselects.is(next, alias, options, context, compileToken); | |
} | |
if (name in filters_1.filters) { | |
return filters_1.filters[name](next, data, options, context); | |
} | |
if (name in pseudos_1.pseudos) { | |
var pseudo_1 = pseudos_1.pseudos[name]; | |
pseudos_1.verifyPseudoArgs(pseudo_1, name, data); | |
return pseudo_1 === boolbase_1.falseFunc ? boolbase_1.falseFunc : next === boolbase_1.trueFunc ? function(elem) { | |
return pseudo_1(elem, options, data); | |
} : function(elem) { | |
return pseudo_1(elem, options, data) && next(elem); | |
}; | |
} | |
throw new Error("unmatched pseudo-class :" + name); | |
} | |
exports.compilePseudoSelector = compilePseudoSelector; | |
} | |
}); | |
// ../node_modules/css-select/lib/general.js | |
var require_general = __commonJS({ | |
"../node_modules/css-select/lib/general.js"(exports) { | |
"use strict"; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.compileGeneralSelector = void 0; | |
var attributes_1 = require_attributes(); | |
var pseudo_selectors_1 = require_pseudo_selectors(); | |
function compileGeneralSelector(next, selector, options, context, compileToken) { | |
var adapter = options.adapter, equals = options.equals; | |
switch (selector.type) { | |
case "pseudo-element": | |
throw new Error("Pseudo-elements are not supported by css-select"); | |
case "attribute": | |
return attributes_1.attributeRules[selector.action](next, selector, options); | |
case "pseudo": | |
return pseudo_selectors_1.compilePseudoSelector(next, selector, options, context, compileToken); | |
case "tag": | |
return function tag(elem) { | |
return adapter.getName(elem) === selector.name && next(elem); | |
}; | |
case "descendant": | |
if (options.cacheResults === false || typeof WeakSet === "undefined") { | |
return function descendant(elem) { | |
var current = elem; | |
while (current = adapter.getParent(current)) { | |
if (adapter.isTag(current) && next(current)) { | |
return true; | |
} | |
} | |
return false; | |
}; | |
} | |
var isFalseCache_1 = new WeakSet(); | |
return function cachedDescendant(elem) { | |
var current = elem; | |
while (current = adapter.getParent(current)) { | |
if (!isFalseCache_1.has(current)) { | |
if (adapter.isTag(current) && next(current)) { | |
return true; | |
} | |
isFalseCache_1.add(current); | |
} | |
} | |
return false; | |
}; | |
case "_flexibleDescendant": | |
return function flexibleDescendant(elem) { | |
var current = elem; | |
do { | |
if (adapter.isTag(current) && next(current)) | |
return true; | |
} while (current = adapter.getParent(current)); | |
return false; | |
}; | |
case "parent": | |
return function parent(elem) { | |
return adapter.getChildren(elem).some(function(elem2) { | |
return adapter.isTag(elem2) && next(elem2); | |
}); | |
}; | |
case "child": | |
return function child(elem) { | |
var parent = adapter.getParent(elem); | |
return parent != null && adapter.isTag(parent) && next(parent); | |
}; | |
case "sibling": | |
return function sibling(elem) { | |
var siblings = adapter.getSiblings(elem); | |
for (var i = 0; i < siblings.length; i++) { | |
var currentSibling = siblings[i]; | |
if (equals(elem, currentSibling)) | |
break; | |
if (adapter.isTag(currentSibling) && next(currentSibling)) { | |
return true; | |
} | |
} | |
return false; | |
}; | |
case "adjacent": | |
return function adjacent(elem) { | |
var siblings = adapter.getSiblings(elem); | |
var lastElement; | |
for (var i = 0; i < siblings.length; i++) { | |
var currentSibling = siblings[i]; | |
if (equals(elem, currentSibling)) | |
break; | |
if (adapter.isTag(currentSibling)) { | |
lastElement = currentSibling; | |
} | |
} | |
return !!lastElement && next(lastElement); | |
}; | |
case "universal": | |
return next; | |
} | |
} | |
exports.compileGeneralSelector = compileGeneralSelector; | |
} | |
}); | |
// ../node_modules/css-select/lib/compile.js | |
var require_compile2 = __commonJS({ | |
"../node_modules/css-select/lib/compile.js"(exports) { | |
"use strict"; | |
var __importDefault = exports && exports.__importDefault || function(mod) { | |
return mod && mod.__esModule ? mod : { "default": mod }; | |
}; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.compileToken = exports.compileUnsafe = exports.compile = void 0; | |
var css_what_1 = require_lib6(); | |
var boolbase_1 = require_boolbase(); | |
var sort_1 = __importDefault(require_sort()); | |
var procedure_1 = require_procedure(); | |
var general_1 = require_general(); | |
var subselects_1 = require_subselects(); | |
function compile(selector, options, context) { | |
var next = compileUnsafe(selector, options, context); | |
return subselects_1.ensureIsTag(next, options.adapter); | |
} | |
exports.compile = compile; | |
function compileUnsafe(selector, options, context) { | |
var token = typeof selector === "string" ? css_what_1.parse(selector, options) : selector; | |
return compileToken(token, options, context); | |
} | |
exports.compileUnsafe = compileUnsafe; | |
function includesScopePseudo(t) { | |
return t.type === "pseudo" && (t.name === "scope" || Array.isArray(t.data) && t.data.some(function(data) { | |
return data.some(includesScopePseudo); | |
})); | |
} | |
var DESCENDANT_TOKEN = { type: "descendant" }; | |
var FLEXIBLE_DESCENDANT_TOKEN = { | |
type: "_flexibleDescendant" | |
}; | |
var SCOPE_TOKEN = { type: "pseudo", name: "scope", data: null }; | |
function absolutize(token, _a, context) { | |
var adapter = _a.adapter; | |
var hasContext = !!(context === null || context === void 0 ? void 0 : context.every(function(e) { | |
var parent = adapter.isTag(e) && adapter.getParent(e); | |
return e === subselects_1.PLACEHOLDER_ELEMENT || parent && adapter.isTag(parent); | |
})); | |
for (var _i = 0, token_1 = token; _i < token_1.length; _i++) { | |
var t = token_1[_i]; | |
if (t.length > 0 && procedure_1.isTraversal(t[0]) && t[0].type !== "descendant") { | |
} else if (hasContext && !t.some(includesScopePseudo)) { | |
t.unshift(DESCENDANT_TOKEN); | |
} else { | |
continue; | |
} | |
t.unshift(SCOPE_TOKEN); | |
} | |
} | |
function compileToken(token, options, context) { | |
var _a; | |
token = token.filter(function(t) { | |
return t.length > 0; | |
}); | |
token.forEach(sort_1.default); | |
context = (_a = options.context) !== null && _a !== void 0 ? _a : context; | |
var isArrayContext = Array.isArray(context); | |
var finalContext = context && (Array.isArray(context) ? context : [context]); | |
absolutize(token, options, finalContext); | |
var shouldTestNextSiblings = false; | |
var query = token.map(function(rules) { | |
if (rules.length >= 2) { | |
var first = rules[0], second = rules[1]; | |
if (first.type !== "pseudo" || first.name !== "scope") { | |
} else if (isArrayContext && second.type === "descendant") { | |
rules[1] = FLEXIBLE_DESCENDANT_TOKEN; | |
} else if (second.type === "adjacent" || second.type === "sibling") { | |
shouldTestNextSiblings = true; | |
} | |
} | |
return compileRules(rules, options, finalContext); | |
}).reduce(reduceRules, boolbase_1.falseFunc); | |
query.shouldTestNextSiblings = shouldTestNextSiblings; | |
return query; | |
} | |
exports.compileToken = compileToken; | |
function compileRules(rules, options, context) { | |
var _a; | |
return rules.reduce(function(previous, rule) { | |
return previous === boolbase_1.falseFunc ? boolbase_1.falseFunc : general_1.compileGeneralSelector(previous, rule, options, context, compileToken); | |
}, (_a = options.rootFunc) !== null && _a !== void 0 ? _a : boolbase_1.trueFunc); | |
} | |
function reduceRules(a, b) { | |
if (b === boolbase_1.falseFunc || a === boolbase_1.trueFunc) { | |
return a; | |
} | |
if (a === boolbase_1.falseFunc || b === boolbase_1.trueFunc) { | |
return b; | |
} | |
return function combine(elem) { | |
return a(elem) || b(elem); | |
}; | |
} | |
} | |
}); | |
// ../node_modules/css-select/lib/index.js | |
var require_lib8 = __commonJS({ | |
"../node_modules/css-select/lib/index.js"(exports) { | |
"use strict"; | |
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) { | |
if (k2 === void 0) | |
k2 = k; | |
Object.defineProperty(o, k2, { enumerable: true, get: function() { | |
return m[k]; | |
} }); | |
} : function(o, m, k, k2) { | |
if (k2 === void 0) | |
k2 = k; | |
o[k2] = m[k]; | |
}); | |
var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) { | |
Object.defineProperty(o, "default", { enumerable: true, value: v }); | |
} : function(o, v) { | |
o["default"] = v; | |
}); | |
var __importStar = exports && exports.__importStar || function(mod) { | |
if (mod && mod.__esModule) | |
return mod; | |
var result = {}; | |
if (mod != null) { | |
for (var k in mod) | |
if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) | |
__createBinding(result, mod, k); | |
} | |
__setModuleDefault(result, mod); | |
return result; | |
}; | |
Object.defineProperty(exports, "__esModule", { value: true }); | |
exports.aliases = exports.pseudos = exports.filters = exports.is = exports.selectOne = exports.selectAll = exports.prepareContext = exports._compileToken = exports._compileUnsafe = exports.compile = void 0; | |
var DomUtils = __importStar(require_lib5()); | |
var boolbase_1 = require_boolbase(); | |
var compile_1 = require_compile2(); | |
var subselects_1 = require_subselects(); | |
var defaultEquals = function(a, b) { | |
return a === b; | |
}; | |
var defaultOptions = { | |
adapter: DomUtils, | |
equals: defaultEquals | |
}; | |
function convertOptionFormats(options) { | |
var _a, _b, _c, _d; | |
var opts = options !== null && options !== void 0 ? options : defaultOptions; | |
(_a = opts.adapter) !== null && _a !== void 0 ? _a : opts.adapter = DomUtils; | |
(_b = opts.equals) !== null && _b !== void 0 ? _b : opts.equals = (_d = (_c = opts.adapter) === null || _c === void 0 ? void 0 : _c.equals) !== null && _d !== void 0 ? _d : defaultEquals; | |
return opts; | |
} | |
function wrapCompile(func) { | |
return function addAdapter(selector, options, context) { | |
var opts = convertOptionFormats(options); | |
return func(selector, opts, context); | |
}; | |
} | |
exports.compile = wrapCompile(compile_1.compile); | |
exports._compileUnsafe = wrapCompile(compile_1.compileUnsafe); | |
exports._compileToken = wrapCompile(compile_1.compileToken); | |
function getSelectorFunc(searchFunc) { | |
return function select(query, elements, options) { | |
var opts = convertOptionFormats(options); | |
if (typeof query !== "function") { | |
query = compile_1.compileUnsafe(query, opts, elements); | |
} | |
var filteredElements = prepareContext(elements, opts.adapter, query.shouldTestNextSiblings); | |
return searchFunc(query, filteredElements, opts); | |
}; | |
} | |
function prepareContext(elems, adapter, shouldTestNextSiblings) { | |
if (shouldTestNextSiblings === void 0) { | |
shouldTestNextSiblings = false; | |
} | |
if (shouldTestNextSiblings) { | |
elems = appendNextSiblings(elems, adapter); | |
} | |
return Array.isArray(elems) ? adapter.removeSubsets(elems) : adapter.getChildren(elems); | |
} | |
exports.prepareContext = prepareContext; | |
function appendNextSiblings(elem, adapter) { | |
var elems = Array.isArray(elem) ? elem.slice(0) : [elem]; | |
for (var i = 0; i < elems.length; i++) { | |
var nextSiblings = subselects_1.getNextSiblings(elems[i], adapter); | |
elems.push.apply(elems, nextSiblings); | |
} | |
return elems; | |
} | |
exports.selectAll = getSelectorFunc(function(query, elems, options) { | |
return query === boolbase_1.falseFunc || !elems || elems.length === 0 ? [] : options.adapter.findAll(query, elems); | |
}); | |
exports.selectOne = getSelectorFunc(function(query, elems, options) { | |
return query === boolbase_1.falseFunc || !elems || elems.length === 0 ? null : options.adapter.findOne(query, elems); | |
}); | |
function is(elem, query, options) { | |
var opts = convertOptionFormats(options); | |
return (typeof query === "function" ? query : compile_1.compile(query, opts))(elem); | |
} | |
exports.is = is; | |
exports.default = exports.selectAll; | |
var pseudo_selectors_1 = require_pseudo_selectors(); | |
Object.defineProperty(exports, "filters", { enumerable: true, get: function() { | |
return pseudo_selectors_1.filters; | |
} }); | |
Object.defineProperty(exports, "pseudos", { enumerable: true, get: function() { | |
return pseudo_selectors_1.pseudos; | |
} }); | |
Object.defineProperty(exports, "aliases", { enumerable: true, get: function() { | |
return pseudo_selectors_1.aliases; | |
} }); | |
} | |
}); | |
// ../node_modules/node-html-parser/dist/esm/nodes/node.js | |
var import_he = __toModule(require_he()); | |
var Node = class { | |
constructor(parentNode = null, range) { | |
this.parentNode = parentNode; | |
this.childNodes = []; | |
Object.defineProperty(this, "range", { | |
enumerable: false, | |
writable: true, | |
configurable: true, | |
value: range !== null && range !== void 0 ? range : [-1, -1] | |
}); | |
} | |
get innerText() { | |
return this.rawText; | |
} | |
get textContent() { | |
return (0, import_he.decode)(this.rawText); | |
} | |
set textContent(val) { | |
this.rawText = (0, import_he.encode)(val); | |
} | |
}; | |
// ../node_modules/node-html-parser/dist/esm/nodes/type.js | |
var NodeType; | |
(function(NodeType2) { | |
NodeType2[NodeType2["ELEMENT_NODE"] = 1] = "ELEMENT_NODE"; | |
NodeType2[NodeType2["TEXT_NODE"] = 3] = "TEXT_NODE"; | |
NodeType2[NodeType2["COMMENT_NODE"] = 8] = "COMMENT_NODE"; | |
})(NodeType || (NodeType = {})); | |
var type_default = NodeType; | |
// ../node_modules/node-html-parser/dist/esm/nodes/comment.js | |
var CommentNode = class extends Node { | |
constructor(rawText, parentNode, range) { | |
super(parentNode, range); | |
this.rawText = rawText; | |
this.nodeType = type_default.COMMENT_NODE; | |
} | |
get text() { | |
return this.rawText; | |
} | |
toString() { | |
return `<!--${this.rawText}-->`; | |
} | |
}; | |
// ../node_modules/node-html-parser/dist/esm/nodes/html.js | |
var import_he3 = __toModule(require_he()); | |
var import_css_select = __toModule(require_lib8()); | |
// ../node_modules/node-html-parser/dist/esm/nodes/text.js | |
var import_he2 = __toModule(require_he()); | |
var TextNode = class extends Node { | |
constructor(rawText, parentNode, range) { | |
super(parentNode, range); | |
this.nodeType = type_default.TEXT_NODE; | |
this._rawText = rawText; | |
} | |
get rawText() { | |
return this._rawText; | |
} | |
set rawText(text) { | |
this._rawText = text; | |
this._trimmedRawText = void 0; | |
this._trimmedText = void 0; | |
} | |
get trimmedRawText() { | |
if (this._trimmedRawText !== void 0) | |
return this._trimmedRawText; | |
this._trimmedRawText = trimText(this.rawText); | |
return this._trimmedRawText; | |
} | |
get trimmedText() { | |
if (this._trimmedText !== void 0) | |
return this._trimmedText; | |
this._trimmedText = trimText(this.text); | |
return this._trimmedText; | |
} | |
get text() { | |
return (0, import_he2.decode)(this.rawText); | |
} | |
get isWhitespace() { | |
return /^(\s| )*$/.test(this.rawText); | |
} | |
toString() { | |
return this.rawText; | |
} | |
}; | |
function trimText(text) { | |
let i = 0; | |
let startPos; | |
let endPos; | |
while (i >= 0 && i < text.length) { | |
if (/\S/.test(text[i])) { | |
if (startPos === void 0) { | |
startPos = i; | |
i = text.length; | |
} else { | |
endPos = i; | |
i = void 0; | |
} | |
} | |
if (startPos === void 0) | |
i++; | |
else | |
i--; | |
} | |
if (startPos === void 0) | |
startPos = 0; | |
if (endPos === void 0) | |
endPos = text.length - 1; | |
const hasLeadingSpace = startPos > 0 && /[^\S\r\n]/.test(text[startPos - 1]); | |
const hasTrailingSpace = endPos < text.length - 1 && /[^\S\r\n]/.test(text[endPos + 1]); | |
return (hasLeadingSpace ? " " : "") + text.slice(startPos, endPos + 1) + (hasTrailingSpace ? " " : ""); | |
} | |
// ../node_modules/node-html-parser/dist/esm/matcher.js | |
function isTag(node) { | |
return node && node.nodeType === type_default.ELEMENT_NODE; | |
} | |
function getAttributeValue(elem, name) { | |
return isTag(elem) ? elem.getAttribute(name) : void 0; | |
} | |
function getName(elem) { | |
return (elem && elem.rawTagName || "").toLowerCase(); | |
} | |
function getChildren(node) { | |
return node && node.childNodes; | |
} | |
function getParent(node) { | |
return node ? node.parentNode : null; | |
} | |
function getText(node) { | |
return node.text; | |
} | |
function removeSubsets(nodes) { | |
let idx = nodes.length; | |
let node; | |
let ancestor; | |
let replace; | |
while (--idx > -1) { | |
node = ancestor = nodes[idx]; | |
nodes[idx] = null; | |
replace = true; | |
while (ancestor) { | |
if (nodes.indexOf(ancestor) > -1) { | |
replace = false; | |
nodes.splice(idx, 1); | |
break; | |
} | |
ancestor = getParent(ancestor); | |
} | |
if (replace) { | |
nodes[idx] = node; | |
} | |
} | |
return nodes; | |
} | |
function existsOne(test, elems) { | |
return elems.some((elem) => { | |
return isTag(elem) ? test(elem) || existsOne(test, getChildren(elem)) : false; | |
}); | |
} | |
function getSiblings(node) { | |
const parent = getParent(node); | |
return parent && getChildren(parent); | |
} | |
function hasAttrib(elem, name) { | |
return getAttributeValue(elem, name) !== void 0; | |
} | |
function findOne(test, elems) { | |
let elem = null; | |
for (let i = 0, l = elems.length; i < l && !elem; i++) { | |
const el = elems[i]; | |
if (test(el)) { | |
elem = el; | |
} else { | |
const childs = getChildren(el); | |
if (childs && childs.length > 0) { | |
elem = findOne(test, childs); | |
} | |
} | |
} | |
return elem; | |
} | |
function findAll(test, nodes) { | |
let result = []; | |
for (let i = 0, j = nodes.length; i < j; i++) { | |
if (!isTag(nodes[i])) | |
continue; | |
if (test(nodes[i])) | |
result.push(nodes[i]); | |
const childs = getChildren(nodes[i]); | |
if (childs) | |
result = result.concat(findAll(test, childs)); | |
} | |
return result; | |
} | |
var matcher_default = { | |
isTag, | |
getAttributeValue, | |
getName, | |
getChildren, | |
getParent, | |
getText, | |
removeSubsets, | |
existsOne, | |
getSiblings, | |
hasAttrib, | |
findOne, | |
findAll | |
}; | |
// ../node_modules/node-html-parser/dist/esm/back.js | |
function arr_back(arr) { | |
return arr[arr.length - 1]; | |
} | |
// ../node_modules/node-html-parser/dist/esm/nodes/html.js | |
function decode3(val) { | |
return JSON.parse(JSON.stringify(import_he3.default.decode(val))); | |
} | |
var Htags = ["h1", "h2", "h3", "h4", "h5", "h6", "header", "hgroup"]; | |
var Dtags = ["details", "dialog", "dd", "div", "dt"]; | |
var Ftags = ["fieldset", "figcaption", "figure", "footer", "form"]; | |
var tableTags = ["table", "td", "tr"]; | |
var htmlTags = ["address", "article", "aside", "blockquote", "br", "hr", "li", "main", "nav", "ol", "p", "pre", "section", "ul"]; | |
var kBlockElements = new Set(); | |
function addToKBlockElement(...args) { | |
const addToSet = (array) => { | |
for (let index = 0; index < array.length; index++) { | |
const element = array[index]; | |
kBlockElements.add(element); | |
kBlockElements.add(element.toUpperCase()); | |
} | |
}; | |
for (const arg of args) | |
addToSet(arg); | |
} | |
addToKBlockElement(Htags, Dtags, Ftags, tableTags, htmlTags); | |
var DOMTokenList = class { | |
constructor(valuesInit = [], afterUpdate = () => null) { | |
this._set = new Set(valuesInit); | |
this._afterUpdate = afterUpdate; | |
} | |
_validate(c) { | |
if (/\s/.test(c)) { | |
throw new Error(`DOMException in DOMTokenList.add: The token '${c}' contains HTML space characters, which are not valid in tokens.`); | |
} | |
} | |
add(c) { | |
this._validate(c); | |
this._set.add(c); | |
this._afterUpdate(this); | |
} | |
replace(c1, c2) { | |
this._validate(c2); | |
this._set.delete(c1); | |
this._set.add(c2); | |
this._afterUpdate(this); | |
} | |
remove(c) { | |
this._set.delete(c) && this._afterUpdate(this); | |
} | |
toggle(c) { | |
this._validate(c); | |
if (this._set.has(c)) | |
this._set.delete(c); | |
else | |
this._set.add(c); | |
this._afterUpdate(this); | |
} | |
contains(c) { | |
return this._set.has(c); | |
} | |
get length() { | |
return this._set.size; | |
} | |
values() { | |
return this._set.values(); | |
} | |
get value() { | |
return Array.from(this._set.values()); | |
} | |
toString() { | |
return Array.from(this._set.values()).join(" "); | |
} | |
}; | |
var HTMLElement = class extends Node { | |
constructor(tagName, keyAttrs, rawAttrs = "", parentNode, range) { | |
super(parentNode, range); | |
this.rawAttrs = rawAttrs; | |
this.nodeType = type_default.ELEMENT_NODE; | |
this.rawTagName = tagName; | |
this.rawAttrs = rawAttrs || ""; | |
this.id = keyAttrs.id || ""; | |
this.childNodes = []; | |
this.classList = new DOMTokenList(keyAttrs.class ? keyAttrs.class.split(/\s+/) : [], (classList) => this.setAttribute("class", classList.toString())); | |
if (keyAttrs.id) { | |
if (!rawAttrs) { | |
this.rawAttrs = `id="${keyAttrs.id}"`; | |
} | |
} | |
if (keyAttrs.class) { | |
if (!rawAttrs) { | |
const cls = `class="${this.classList.toString()}"`; | |
if (this.rawAttrs) { | |
this.rawAttrs += ` ${cls}`; | |
} else { | |
this.rawAttrs = cls; | |
} | |
} | |
} | |
} | |
quoteAttribute(attr) { | |
if (attr === null) { | |
return "null"; | |
} | |
return JSON.stringify(attr.replace(/"/g, """)); | |
} | |
remove() { | |
if (this.parentNode) { | |
const children = this.parentNode.childNodes; | |
this.parentNode.childNodes = children.filter((child) => { | |
return this !== child; | |
}); | |
} | |
} | |
removeChild(node) { | |
this.childNodes = this.childNodes.filter((child) => { | |
return child !== node; | |
}); | |
} | |
exchangeChild(oldNode, newNode) { | |
const children = this.childNodes; | |
this.childNodes = children.map((child) => { | |
if (child === oldNode) { | |
return newNode; | |
} | |
return child; | |
}); | |
} | |
get tagName() { | |
return this.rawTagName ? this.rawTagName.toUpperCase() : this.rawTagName; | |
} | |
get localName() { | |
return this.rawTagName.toLowerCase(); | |
} | |
get rawText() { | |
return this.childNodes.reduce((pre, cur) => { | |
return pre += cur.rawText; | |
}, ""); | |
} | |
get textContent() { | |
return decode3(this.rawText); | |
} | |
set textContent(val) { | |
const content = [new TextNode(val, this)]; | |
this.childNodes = content; | |
} | |
get text() { | |
return decode3(this.rawText); | |
} | |
get structuredText() { | |
let currentBlock = []; | |
const blocks = [currentBlock]; | |
function dfs(node) { | |
if (node.nodeType === type_default.ELEMENT_NODE) { | |
if (kBlockElements.has(node.rawTagName)) { | |
if (currentBlock.length > 0) { | |
blocks.push(currentBlock = []); | |
} | |
node.childNodes.forEach(dfs); | |
if (currentBlock.length > 0) { | |
blocks.push(currentBlock = []); | |
} | |
} else { | |
node.childNodes.forEach(dfs); | |
} | |
} else if (node.nodeType === type_default.TEXT_NODE) { | |
if (node.isWhitespace) { | |
currentBlock.prependWhitespace = true; | |
} else { | |
let text = node.trimmedText; | |
if (currentBlock.prependWhitespace) { | |
text = ` ${text}`; | |
currentBlock.prependWhitespace = false; | |
} | |
currentBlock.push(text); | |
} | |
} | |
} | |
dfs(this); | |
return blocks.map((block) => { | |
return block.join("").replace(/\s{2,}/g, " "); | |
}).join("\n").replace(/\s+$/, ""); | |
} | |
toString() { | |
const tag = this.rawTagName; | |
if (tag) { | |
const is_void = /^(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)$/i.test(tag); | |
const attrs = this.rawAttrs ? ` ${this.rawAttrs}` : ""; | |
if (is_void) { | |
return `<${tag}${attrs}>`; | |
} | |
return `<${tag}${attrs}>${this.innerHTML}</${tag}>`; | |
} | |
return this.innerHTML; | |
} | |
get innerHTML() { | |
return this.childNodes.map((child) => { | |
return child.toString(); | |
}).join(""); | |
} | |
set innerHTML(content) { | |
const r = parse(content); | |
this.childNodes = r.childNodes.length ? r.childNodes : [new TextNode(content, this)]; | |
} | |
set_content(content, options = {}) { | |
if (content instanceof Node) { | |
content = [content]; | |
} else if (typeof content == "string") { | |
const r = parse(content, options); | |
content = r.childNodes.length ? r.childNodes : [new TextNode(content, this)]; | |
} | |
this.childNodes = content; | |
} | |
replaceWith(...nodes) { | |
const content = nodes.map((node) => { | |
if (node instanceof Node) { | |
return [node]; | |
} else if (typeof node == "string") { | |
const r = parse(node); | |
return r.childNodes.length ? r.childNodes : [new TextNode(node, this)]; | |
} | |
return []; | |
}).flat(); | |
const idx = this.parentNode.childNodes.findIndex((child) => { | |
return child === this; | |
}); | |
this.parentNode.childNodes = [ | |
...this.parentNode.childNodes.slice(0, idx), | |
...content, | |
...this.parentNode.childNodes.slice(idx + 1) | |
]; | |
} | |
get outerHTML() { | |
return this.toString(); | |
} | |
trimRight(pattern) { | |
for (let i = 0; i < this.childNodes.length; i++) { | |
const childNode = this.childNodes[i]; | |
if (childNode.nodeType === type_default.ELEMENT_NODE) { | |
childNode.trimRight(pattern); | |
} else { | |
const index = childNode.rawText.search(pattern); | |
if (index > -1) { | |
childNode.rawText = childNode.rawText.substr(0, index); | |
this.childNodes.length = i + 1; | |
} | |
} | |
} | |
return this; | |
} | |
get structure() { | |
const res = []; | |
let indention = 0; | |
function write(str) { | |
res.push(" ".repeat(indention) + str); | |
} | |
function dfs(node) { | |
const idStr = node.id ? `#${node.id}` : ""; | |
const classStr = node.classList.length ? `.${node.classList.value.join(".")}` : ""; | |
write(`${node.rawTagName}${idStr}${classStr}`); | |
indention++; | |
node.childNodes.forEach((childNode) => { | |
if (childNode.nodeType === type_default.ELEMENT_NODE) { | |
dfs(childNode); | |
} else if (childNode.nodeType === type_default.TEXT_NODE) { | |
if (!childNode.isWhitespace) { | |
write("#text"); | |
} | |
} | |
}); | |
indention--; | |
} | |
dfs(this); | |
return res.join("\n"); | |
} | |
removeWhitespace() { | |
let o = 0; | |
this.childNodes.forEach((node) => { | |
if (node.nodeType === type_default.TEXT_NODE) { | |
if (node.isWhitespace) { | |
return; | |
} | |
node.rawText = node.trimmedRawText; | |
} else if (node.nodeType === type_default.ELEMENT_NODE) { | |
node.removeWhitespace(); | |
} | |
this.childNodes[o++] = node; | |
}); | |
this.childNodes.length = o; | |
return this; | |
} | |
querySelectorAll(selector) { | |
return (0, import_css_select.selectAll)(selector, this, { | |
xmlMode: true, | |
adapter: matcher_default | |
}); | |
} | |
querySelector(selector) { | |
return (0, import_css_select.selectOne)(selector, this, { | |
xmlMode: true, | |
adapter: matcher_default | |
}); | |
} | |
closest(selector) { | |
const mapChild = new Map(); | |
let el = this; | |
let old = null; | |
function findOne2(test, elems) { | |
let elem = null; | |
for (let i = 0, l = elems.length; i < l && !elem; i++) { | |
const el2 = elems[i]; | |
if (test(el2)) { | |
elem = el2; | |
} else { | |
const child = mapChild.get(el2); | |
if (child) { | |
elem = findOne2(test, [child]); | |
} | |
} | |
} | |
return elem; | |
} | |
while (el) { | |
mapChild.set(el, old); | |
old = el; | |
el = el.parentNode; | |
} | |
el = this; | |
while (el) { | |
const e = (0, import_css_select.selectOne)(selector, el, { | |
xmlMode: true, | |
adapter: { | |
...matcher_default, | |
getChildren(node) { | |
const child = mapChild.get(node); | |
return child && [child]; | |
}, | |
getSiblings(node) { | |
return [node]; | |
}, | |
findOne: findOne2, | |
findAll() { | |
return []; | |
} | |
} | |
}); | |
if (e) { | |
return e; | |
} | |
el = el.parentNode; | |
} | |
return null; | |
} | |
appendChild(node) { | |
this.childNodes.push(node); | |
node.parentNode = this; | |
return node; | |
} | |
get firstChild() { | |
return this.childNodes[0]; | |
} | |
get lastChild() { | |
return arr_back(this.childNodes); | |
} | |
get attrs() { | |
if (this._attrs) { | |
return this._attrs; | |
} | |
this._attrs = {}; | |
const attrs = this.rawAttributes; | |
for (const key in attrs) { | |
const val = attrs[key] || ""; | |
this._attrs[key.toLowerCase()] = decode3(val); | |
} | |
return this._attrs; | |
} | |
get attributes() { | |
const ret_attrs = {}; | |
const attrs = this.rawAttributes; | |
for (const key in attrs) { | |
const val = attrs[key] || ""; | |
ret_attrs[key] = decode3(val); | |
} | |
return ret_attrs; | |
} | |
get rawAttributes() { | |
if (this._rawAttrs) { | |
return this._rawAttrs; | |
} | |
const attrs = {}; | |
if (this.rawAttrs) { | |
const re = /([a-z()#][a-z0-9-_:()#]*)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|(\S+)))?/gi; | |
let match; | |
while (match = re.exec(this.rawAttrs)) { | |
attrs[match[1]] = match[2] || match[3] || match[4] || null; | |
} | |
} | |
this._rawAttrs = attrs; | |
return attrs; | |
} | |
removeAttribute(key) { | |
const attrs = this.rawAttributes; | |
delete attrs[key]; | |
if (this._attrs) { | |
delete this._attrs[key]; | |
} | |
this.rawAttrs = Object.keys(attrs).map((name) => { | |
const val = JSON.stringify(attrs[name]); | |
if (val === void 0 || val === "null") { | |
return name; | |
} | |
return `${name}=${val}`; | |
}).join(" "); | |
if (key === "id") { | |
this.id = ""; | |
} | |
} | |
hasAttribute(key) { | |
return key.toLowerCase() in this.attrs; | |
} | |
getAttribute(key) { | |
return this.attrs[key.toLowerCase()]; | |
} | |
setAttribute(key, value) { | |
if (arguments.length < 2) { | |
throw new Error("Failed to execute 'setAttribute' on 'Element'"); | |
} | |
const k2 = key.toLowerCase(); | |
const attrs = this.rawAttributes; | |
for (const k in attrs) { | |
if (k.toLowerCase() === k2) { | |
key = k; | |
break; | |
} | |
} | |
attrs[key] = String(value); | |
if (this._attrs) { | |
this._attrs[k2] = decode3(attrs[key]); | |
} | |
this.rawAttrs = Object.keys(attrs).map((name) => { | |
const val = this.quoteAttribute(attrs[name]); | |
if (val === "null" || val === '""') | |
return name; | |
return `${name}=${val}`; | |
}).join(" "); | |
if (key === "id") { | |
this.id = value; | |
} | |
} | |
setAttributes(attributes) { | |
if (this._attrs) { | |
delete this._attrs; | |
} | |
if (this._rawAttrs) { | |
delete this._rawAttrs; | |
} | |
this.rawAttrs = Object.keys(attributes).map((name) => { | |
const val = attributes[name]; | |
if (val === "null" || val === '""') | |
return name; | |
return `${name}=${this.quoteAttribute(String(val))}`; | |
}).join(" "); | |
} | |
insertAdjacentHTML(where, html) { | |
if (arguments.length < 2) { | |
throw new Error("2 arguments required"); | |
} | |
const p = parse(html); | |
if (where === "afterend") { | |
const idx = this.parentNode.childNodes.findIndex((child) => { | |
return child === this; | |
}); | |
this.parentNode.childNodes.splice(idx + 1, 0, ...p.childNodes); | |
p.childNodes.forEach((n) => { | |
if (n instanceof HTMLElement) { | |
n.parentNode = this.parentNode; | |
} | |
}); | |
} else if (where === "afterbegin") { | |
this.childNodes.unshift(...p.childNodes); | |
} else if (where === "beforeend") { | |
p.childNodes.forEach((n) => { | |
this.appendChild(n); | |
}); | |
} else if (where === "beforebegin") { | |
const idx = this.parentNode.childNodes.findIndex((child) => { | |
return child === this; | |
}); | |
this.parentNode.childNodes.splice(idx, 0, ...p.childNodes); | |
p.childNodes.forEach((n) => { | |
if (n instanceof HTMLElement) { | |
n.parentNode = this.parentNode; | |
} | |
}); | |
} else { | |
throw new Error(`The value provided ('${where}') is not one of 'beforebegin', 'afterbegin', 'beforeend', or 'afterend'`); | |
} | |
} | |
get nextSibling() { | |
if (this.parentNode) { | |
const children = this.parentNode.childNodes; | |
let i = 0; | |
while (i < children.length) { | |
const child = children[i++]; | |
if (this === child) | |
return children[i] || null; | |
} | |
return null; | |
} | |
} | |
get nextElementSibling() { | |
if (this.parentNode) { | |
const children = this.parentNode.childNodes; | |
let i = 0; | |
let find = false; | |
while (i < children.length) { | |
const child = children[i++]; | |
if (find) { | |
if (child instanceof HTMLElement) { | |
return child || null; | |
} | |
} else if (this === child) { | |
find = true; | |
} | |
} | |
return null; | |
} | |
} | |
get classNames() { | |
return this.classList.toString(); | |
} | |
}; | |
var kMarkupPattern = /<!--[^]*?(?=-->)-->|<(\/?)([a-z][-.:0-9_a-z]*)\s*((?=[/>]*?)|(?:.*?[\s\d/'"])|(?:.*?[\w]))(\/?)>/gi; | |
var kAttributePattern = /(^|\s)(id|class)\s*=\s*("([^"]*)"|'([^']*)'|(\S+))/gi; | |
var kSelfClosingElements = { | |
area: true, | |
AREA: true, | |
base: true, | |
BASE: true, | |
br: true, | |
BR: true, | |
col: true, | |
COL: true, | |
hr: true, | |
HR: true, | |
img: true, | |
IMG: true, | |
input: true, | |
INPUT: true, | |
link: true, | |
LINK: true, | |
meta: true, | |
META: true, | |
source: true, | |
SOURCE: true, | |
embed: true, | |
EMBED: true, | |
param: true, | |
PARAM: true, | |
track: true, | |
TRACK: true, | |
wbr: true, | |
WBR: true | |
}; | |
var kElementsClosedByOpening = { | |
li: { li: true, LI: true }, | |
LI: { li: true, LI: true }, | |
p: { p: true, div: true, P: true, DIV: true }, | |
P: { p: true, div: true, P: true, DIV: true }, | |
b: { div: true, DIV: true }, | |
B: { div: true, DIV: true }, | |
td: { td: true, th: true, TD: true, TH: true }, | |
TD: { td: true, th: true, TD: true, TH: true }, | |
th: { td: true, th: true, TD: true, TH: true }, | |
TH: { td: true, th: true, TD: true, TH: true }, | |
h1: { h1: true, H1: true }, | |
H1: { h1: true, H1: true }, | |
h2: { h2: true, H2: true }, | |
H2: { h2: true, H2: true }, | |
h3: { h3: true, H3: true }, | |
H3: { h3: true, H3: true }, | |
h4: { h4: true, H4: true }, | |
H4: { h4: true, H4: true }, | |
h5: { h5: true, H5: true }, | |
H5: { h5: true, H5: true }, | |
h6: { h6: true, H6: true }, | |
H6: { h6: true, H6: true } | |
}; | |
var kElementsClosedByClosing = { | |
li: { ul: true, ol: true, UL: true, OL: true }, | |
LI: { ul: true, ol: true, UL: true, OL: true }, | |
a: { div: true, DIV: true }, | |
A: { div: true, DIV: true }, | |
b: { div: true, DIV: true }, | |
B: { div: true, DIV: true }, | |
i: { div: true, DIV: true }, | |
I: { div: true, DIV: true }, | |
p: { div: true, DIV: true }, | |
P: { div: true, DIV: true }, | |
td: { tr: true, table: true, TR: true, TABLE: true }, | |
TD: { tr: true, table: true, TR: true, TABLE: true }, | |
th: { tr: true, table: true, TR: true, TABLE: true }, | |
TH: { tr: true, table: true, TR: true, TABLE: true } | |
}; | |
var frameflag = "documentfragmentcontainer"; | |
function base_parse(data, options = { lowerCaseTagName: false, comment: false }) { | |
const elements = options.blockTextElements || { | |
script: true, | |
noscript: true, | |
style: true, | |
pre: true | |
}; | |
const element_names = Object.keys(elements); | |
const kBlockTextElements = element_names.map((it) => new RegExp(it, "i")); | |
const kIgnoreElements = element_names.filter((it) => elements[it]).map((it) => new RegExp(it, "i")); | |
function element_should_be_ignore(tag) { | |
return kIgnoreElements.some((it) => it.test(tag)); | |
} | |
function is_block_text_element(tag) { | |
return kBlockTextElements.some((it) => it.test(tag)); | |
} | |
const createRange = (startPos, endPos) => [startPos - frameFlagOffset, endPos - frameFlagOffset]; | |
const root = new HTMLElement(null, {}, "", null, [0, data.length]); | |
let currentParent = root; | |
const stack = [root]; | |
let lastTextPos = -1; | |
let noNestedTagIndex = void 0; | |
let match; | |
data = `<${frameflag}>${data}</${frameflag}>`; | |
const dataEndPos = data.length - (frameflag.length + 2); | |
const frameFlagOffset = frameflag.length + 2; | |
while (match = kMarkupPattern.exec(data)) { | |
const tagStartPos = kMarkupPattern.lastIndex - match[0].length; | |
const tagEndPos = kMarkupPattern.lastIndex; | |
if (lastTextPos > -1) { | |
if (lastTextPos + match[0].length < tagEndPos) { | |
const text = data.substring(lastTextPos, tagStartPos); | |
currentParent.appendChild(new TextNode(text, currentParent, createRange(lastTextPos, tagStartPos))); | |
} | |
} | |
lastTextPos = kMarkupPattern.lastIndex; | |
if (match[2] === frameflag) | |
continue; | |
if (match[0][1] === "!") { | |
if (options.comment) { | |
const text = data.substring(tagStartPos + 4, tagEndPos - 3); | |
currentParent.appendChild(new CommentNode(text, currentParent, createRange(tagStartPos, tagEndPos))); | |
} | |
continue; | |
} | |
if (options.lowerCaseTagName) | |
match[2] = match[2].toLowerCase(); | |
if (!match[1]) { | |
const attrs = {}; | |
for (let attMatch; attMatch = kAttributePattern.exec(match[3]); ) { | |
attrs[attMatch[2].toLowerCase()] = attMatch[4] || attMatch[5] || attMatch[6]; | |
} | |
const tagName = currentParent.rawTagName; | |
if (!match[4] && kElementsClosedByOpening[tagName]) { | |
if (kElementsClosedByOpening[tagName][match[2]]) { | |
stack.pop(); | |
currentParent = arr_back(stack); | |
} | |
} | |
if (match[2] === "a" || match[2] === "A") { | |
if (noNestedTagIndex !== void 0) { | |
stack.splice(noNestedTagIndex); | |
currentParent = arr_back(stack); | |
} | |
noNestedTagIndex = stack.length; | |
} | |
const tagEndPos2 = kMarkupPattern.lastIndex; | |
const tagStartPos2 = tagEndPos2 - match[0].length; | |
currentParent = currentParent.appendChild(new HTMLElement(match[2], attrs, match[3], null, createRange(tagStartPos2, tagEndPos2))); | |
stack.push(currentParent); | |
if (is_block_text_element(match[2])) { | |
const closeMarkup = `</${match[2]}>`; | |
const closeIndex = options.lowerCaseTagName ? data.toLocaleLowerCase().indexOf(closeMarkup, kMarkupPattern.lastIndex) : data.indexOf(closeMarkup, kMarkupPattern.lastIndex); | |
const textEndPos = closeIndex === -1 ? dataEndPos : closeIndex; | |
if (element_should_be_ignore(match[2])) { | |
const text = data.substring(tagEndPos2, textEndPos); | |
if (text.length > 0 && /\S/.test(text)) { | |
currentParent.appendChild(new TextNode(text, currentParent, createRange(tagEndPos2, textEndPos))); | |
} | |
} | |
if (closeIndex === -1) { | |
lastTextPos = kMarkupPattern.lastIndex = data.length + 1; | |
} else { | |
lastTextPos = kMarkupPattern.lastIndex = closeIndex + closeMarkup.length; | |
match[1] = "true"; | |
} | |
} | |
} | |
if (match[1] || match[4] || kSelfClosingElements[match[2]]) { | |
while (true) { | |
if (match[2] === "a" || match[2] === "A") | |
noNestedTagIndex = void 0; | |
if (currentParent.rawTagName === match[2]) { | |
currentParent.range[1] = createRange(-1, Math.max(lastTextPos, tagEndPos))[1]; | |
stack.pop(); | |
currentParent = arr_back(stack); | |
break; | |
} else { | |
const tagName = currentParent.tagName; | |
if (kElementsClosedByClosing[tagName]) { | |
if (kElementsClosedByClosing[tagName][match[2]]) { | |
stack.pop(); | |
currentParent = arr_back(stack); | |
continue; | |
} | |
} | |
break; | |
} | |
} | |
} | |
} | |
return stack; | |
} | |
function parse(data, options = { lowerCaseTagName: false, comment: false }) { | |
const stack = base_parse(data, options); | |
const [root] = stack; | |
while (stack.length > 1) { | |
const last = stack.pop(); | |
const oneBefore = arr_back(stack); | |
if (last.parentNode && last.parentNode.parentNode) { | |
if (last.parentNode === oneBefore && last.tagName === oneBefore.tagName) { | |
oneBefore.removeChild(last); | |
last.childNodes.forEach((child) => { | |
oneBefore.parentNode.appendChild(child); | |
}); | |
stack.pop(); | |
} else { | |
oneBefore.removeChild(last); | |
last.childNodes.forEach((child) => { | |
oneBefore.appendChild(child); | |
}); | |
} | |
} else { | |
} | |
} | |
return root; | |
} | |
// test/test_import.ts | |
console.log({ parse, HTMLElement }); | |
})(); | |
/*! https://mths.be/he v1.2.0 by @mathias | MIT license */ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment