1592 lines
129 KiB
JavaScript
1592 lines
129 KiB
JavaScript
"use strict";
|
|
function e(e2) {
|
|
if (e2.__esModule)
|
|
return e2;
|
|
var r2 = Object.defineProperty({}, "__esModule", { value: true });
|
|
return Object.keys(e2).forEach(function(t2) {
|
|
var n2 = Object.getOwnPropertyDescriptor(e2, t2);
|
|
Object.defineProperty(r2, t2, n2.get ? n2 : { enumerable: true, get: function() {
|
|
return e2[t2];
|
|
} });
|
|
}), r2;
|
|
}
|
|
var r = {}, t = { 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" }, n = /[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4E\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDF55-\uDF59]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD806[\uDC3B\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/, s = {}, o = {};
|
|
function i(e2, r2, t2) {
|
|
var n2, s2, a2, c2, l2, u2 = "";
|
|
for ("string" != typeof r2 && (t2 = r2, r2 = i.defaultChars), void 0 === t2 && (t2 = true), l2 = function(e3) {
|
|
var r3, t3, n3 = o[e3];
|
|
if (n3)
|
|
return n3;
|
|
for (n3 = o[e3] = [], r3 = 0; r3 < 128; r3++)
|
|
t3 = String.fromCharCode(r3), /^[0-9a-z]$/i.test(t3) ? n3.push(t3) : n3.push("%" + ("0" + r3.toString(16).toUpperCase()).slice(-2));
|
|
for (r3 = 0; r3 < e3.length; r3++)
|
|
n3[e3.charCodeAt(r3)] = e3[r3];
|
|
return n3;
|
|
}(r2), n2 = 0, s2 = e2.length; n2 < s2; n2++)
|
|
if (a2 = e2.charCodeAt(n2), t2 && 37 === a2 && n2 + 2 < s2 && /^[0-9a-f]{2}$/i.test(e2.slice(n2 + 1, n2 + 3)))
|
|
u2 += e2.slice(n2, n2 + 3), n2 += 2;
|
|
else if (a2 < 128)
|
|
u2 += l2[a2];
|
|
else if (a2 >= 55296 && a2 <= 57343) {
|
|
if (a2 >= 55296 && a2 <= 56319 && n2 + 1 < s2 && (c2 = e2.charCodeAt(n2 + 1)) >= 56320 && c2 <= 57343) {
|
|
u2 += encodeURIComponent(e2[n2] + e2[n2 + 1]), n2++;
|
|
continue;
|
|
}
|
|
u2 += "%EF%BF%BD";
|
|
} else
|
|
u2 += encodeURIComponent(e2[n2]);
|
|
return u2;
|
|
}
|
|
i.defaultChars = ";/?:@&=+$,-_.!~*'()#", i.componentChars = "-_.!~*'()";
|
|
var a = i, c = {};
|
|
function l(e2, r2) {
|
|
var t2;
|
|
return "string" != typeof r2 && (r2 = l.defaultChars), t2 = function(e3) {
|
|
var r3, t3, n2 = c[e3];
|
|
if (n2)
|
|
return n2;
|
|
for (n2 = c[e3] = [], r3 = 0; r3 < 128; r3++)
|
|
t3 = String.fromCharCode(r3), n2.push(t3);
|
|
for (r3 = 0; r3 < e3.length; r3++)
|
|
n2[t3 = e3.charCodeAt(r3)] = "%" + ("0" + t3.toString(16).toUpperCase()).slice(-2);
|
|
return n2;
|
|
}(r2), e2.replace(/(%[a-f0-9]{2})+/gi, function(e3) {
|
|
var r3, n2, s2, o2, i2, a2, c2, l2 = "";
|
|
for (r3 = 0, n2 = e3.length; r3 < n2; r3 += 3)
|
|
(s2 = parseInt(e3.slice(r3 + 1, r3 + 3), 16)) < 128 ? l2 += t2[s2] : 192 == (224 & s2) && r3 + 3 < n2 && 128 == (192 & (o2 = parseInt(e3.slice(r3 + 4, r3 + 6), 16))) ? (l2 += (c2 = s2 << 6 & 1984 | 63 & o2) < 128 ? "\uFFFD\uFFFD" : String.fromCharCode(c2), r3 += 3) : 224 == (240 & s2) && r3 + 6 < n2 && (o2 = parseInt(e3.slice(r3 + 4, r3 + 6), 16), i2 = parseInt(e3.slice(r3 + 7, r3 + 9), 16), 128 == (192 & o2) && 128 == (192 & i2)) ? (l2 += (c2 = s2 << 12 & 61440 | o2 << 6 & 4032 | 63 & i2) < 2048 || c2 >= 55296 && c2 <= 57343 ? "\uFFFD\uFFFD\uFFFD" : String.fromCharCode(c2), r3 += 6) : 240 == (248 & s2) && r3 + 9 < n2 && (o2 = parseInt(e3.slice(r3 + 4, r3 + 6), 16), i2 = parseInt(e3.slice(r3 + 7, r3 + 9), 16), a2 = parseInt(e3.slice(r3 + 10, r3 + 12), 16), 128 == (192 & o2) && 128 == (192 & i2) && 128 == (192 & a2)) ? ((c2 = s2 << 18 & 1835008 | o2 << 12 & 258048 | i2 << 6 & 4032 | 63 & a2) < 65536 || c2 > 1114111 ? l2 += "\uFFFD\uFFFD\uFFFD\uFFFD" : (c2 -= 65536, l2 += String.fromCharCode(55296 + (c2 >> 10), 56320 + (1023 & c2))), r3 += 9) : l2 += "\uFFFD";
|
|
return l2;
|
|
});
|
|
}
|
|
l.defaultChars = ";/?:@&=+$,#", l.componentChars = "";
|
|
var u = l;
|
|
function p() {
|
|
this.protocol = null, this.slashes = null, this.auth = null, this.port = null, this.hostname = null, this.hash = null, this.search = null, this.pathname = null;
|
|
}
|
|
var h = /^([a-z0-9.+-]+:)/i, f = /:[0-9]*$/, d = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/, m = ["{", "}", "|", "\\", "^", "`"].concat(["<", ">", '"', "`", " ", "\r", "\n", " "]), g = ["'"].concat(m), _ = ["%", "/", "?", ";", "#"].concat(g), k = ["/", "?", "#"], b = /^[+a-z0-9A-Z_-]{0,63}$/, v = /^([+a-z0-9A-Z_-]{0,63})(.*)$/, C = { javascript: true, "javascript:": true }, y = { http: true, https: true, ftp: true, gopher: true, file: true, "http:": true, "https:": true, "ftp:": true, "gopher:": true, "file:": true };
|
|
p.prototype.parse = function(e2, r2) {
|
|
var t2, n2, s2, o2, i2, a2 = e2;
|
|
if (a2 = a2.trim(), !r2 && 1 === e2.split("#").length) {
|
|
var c2 = d.exec(a2);
|
|
if (c2)
|
|
return this.pathname = c2[1], c2[2] && (this.search = c2[2]), this;
|
|
}
|
|
var l2 = h.exec(a2);
|
|
if (l2 && (s2 = (l2 = l2[0]).toLowerCase(), this.protocol = l2, a2 = a2.substr(l2.length)), (r2 || l2 || a2.match(/^\/\/[^@\/]+@[^@\/]+/)) && (!(i2 = "//" === a2.substr(0, 2)) || l2 && C[l2] || (a2 = a2.substr(2), this.slashes = true)), !C[l2] && (i2 || l2 && !y[l2])) {
|
|
var u2, p2, f2 = -1;
|
|
for (t2 = 0; t2 < k.length; t2++)
|
|
-1 !== (o2 = a2.indexOf(k[t2])) && (-1 === f2 || o2 < f2) && (f2 = o2);
|
|
for (-1 !== (p2 = -1 === f2 ? a2.lastIndexOf("@") : a2.lastIndexOf("@", f2)) && (u2 = a2.slice(0, p2), a2 = a2.slice(p2 + 1), this.auth = u2), f2 = -1, t2 = 0; t2 < _.length; t2++)
|
|
-1 !== (o2 = a2.indexOf(_[t2])) && (-1 === f2 || o2 < f2) && (f2 = o2);
|
|
-1 === f2 && (f2 = a2.length), ":" === a2[f2 - 1] && f2--;
|
|
var m2 = a2.slice(0, f2);
|
|
a2 = a2.slice(f2), this.parseHost(m2), this.hostname = this.hostname || "";
|
|
var g2 = "[" === this.hostname[0] && "]" === this.hostname[this.hostname.length - 1];
|
|
if (!g2) {
|
|
var A2 = this.hostname.split(/\./);
|
|
for (t2 = 0, n2 = A2.length; t2 < n2; t2++) {
|
|
var x2 = A2[t2];
|
|
if (x2 && !x2.match(b)) {
|
|
for (var D2 = "", w2 = 0, E2 = x2.length; w2 < E2; w2++)
|
|
x2.charCodeAt(w2) > 127 ? D2 += "x" : D2 += x2[w2];
|
|
if (!D2.match(b)) {
|
|
var q2 = A2.slice(0, t2), S2 = A2.slice(t2 + 1), F2 = x2.match(v);
|
|
F2 && (q2.push(F2[1]), S2.unshift(F2[2])), S2.length && (a2 = S2.join(".") + a2), this.hostname = q2.join(".");
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
this.hostname.length > 255 && (this.hostname = ""), g2 && (this.hostname = this.hostname.substr(1, this.hostname.length - 2));
|
|
}
|
|
var L2 = a2.indexOf("#");
|
|
-1 !== L2 && (this.hash = a2.substr(L2), a2 = a2.slice(0, L2));
|
|
var z2 = a2.indexOf("?");
|
|
return -1 !== z2 && (this.search = a2.substr(z2), a2 = a2.slice(0, z2)), a2 && (this.pathname = a2), y[s2] && this.hostname && !this.pathname && (this.pathname = ""), this;
|
|
}, p.prototype.parseHost = function(e2) {
|
|
var r2 = f.exec(e2);
|
|
r2 && (":" !== (r2 = r2[0]) && (this.port = r2.substr(1)), e2 = e2.substr(0, e2.length - r2.length)), e2 && (this.hostname = e2);
|
|
};
|
|
var A = function(e2, r2) {
|
|
if (e2 && e2 instanceof p)
|
|
return e2;
|
|
var t2 = new p();
|
|
return t2.parse(e2, r2), t2;
|
|
};
|
|
s.encode = a, s.decode = u, s.format = function(e2) {
|
|
var r2 = "";
|
|
return r2 += e2.protocol || "", r2 += e2.slashes ? "//" : "", r2 += e2.auth ? e2.auth + "@" : "", e2.hostname && -1 !== e2.hostname.indexOf(":") ? r2 += "[" + e2.hostname + "]" : r2 += e2.hostname || "", r2 += e2.port ? ":" + e2.port : "", r2 += e2.pathname || "", r2 += e2.search || "", r2 += e2.hash || "";
|
|
}, s.parse = A;
|
|
var x = {}, D = /[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/, w = /[\0-\x1F\x7F-\x9F]/, E = /[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/;
|
|
x.Any = D, x.Cc = w, x.Cf = /[\xAD\u0600-\u0605\u061C\u06DD\u070F\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/, x.P = n, x.Z = E, function(e2) {
|
|
var r2 = Object.prototype.hasOwnProperty;
|
|
function o2(e3, t2) {
|
|
return r2.call(e3, t2);
|
|
}
|
|
function i2(e3) {
|
|
return !(e3 >= 55296 && e3 <= 57343) && (!(e3 >= 64976 && e3 <= 65007) && (65535 != (65535 & e3) && 65534 != (65535 & e3) && (!(e3 >= 0 && e3 <= 8) && (11 !== e3 && (!(e3 >= 14 && e3 <= 31) && (!(e3 >= 127 && e3 <= 159) && !(e3 > 1114111)))))));
|
|
}
|
|
function a2(e3) {
|
|
if (e3 > 65535) {
|
|
var r3 = 55296 + ((e3 -= 65536) >> 10), t2 = 56320 + (1023 & e3);
|
|
return String.fromCharCode(r3, t2);
|
|
}
|
|
return String.fromCharCode(e3);
|
|
}
|
|
var c2 = /\\([!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~])/g, l2 = new RegExp(c2.source + "|" + /&([a-z#][a-z0-9]{1,31});/gi.source, "gi"), u2 = /^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i, p2 = t;
|
|
var h2 = /[&<>"]/, f2 = /[&<>"]/g, d2 = { "&": "&", "<": "<", ">": ">", '"': """ };
|
|
function m2(e3) {
|
|
return d2[e3];
|
|
}
|
|
var g2 = /[.?*+^$[\]\\(){}|-]/g;
|
|
var _2 = n;
|
|
e2.lib = {}, e2.lib.mdurl = s, e2.lib.ucmicro = x, e2.assign = function(e3) {
|
|
var r3 = Array.prototype.slice.call(arguments, 1);
|
|
return r3.forEach(function(r4) {
|
|
if (r4) {
|
|
if ("object" != typeof r4)
|
|
throw new TypeError(r4 + "must be object");
|
|
Object.keys(r4).forEach(function(t2) {
|
|
e3[t2] = r4[t2];
|
|
});
|
|
}
|
|
}), e3;
|
|
}, e2.isString = function(e3) {
|
|
return "[object String]" === function(e4) {
|
|
return Object.prototype.toString.call(e4);
|
|
}(e3);
|
|
}, e2.has = o2, e2.unescapeMd = function(e3) {
|
|
return e3.indexOf("\\") < 0 ? e3 : e3.replace(c2, "$1");
|
|
}, e2.unescapeAll = function(e3) {
|
|
return e3.indexOf("\\") < 0 && e3.indexOf("&") < 0 ? e3 : e3.replace(l2, function(e4, r3, t2) {
|
|
return r3 || function(e5, r4) {
|
|
var t3 = 0;
|
|
return o2(p2, r4) ? p2[r4] : 35 === r4.charCodeAt(0) && u2.test(r4) && i2(t3 = "x" === r4[1].toLowerCase() ? parseInt(r4.slice(2), 16) : parseInt(r4.slice(1), 10)) ? a2(t3) : e5;
|
|
}(e4, t2);
|
|
});
|
|
}, e2.isValidEntityCode = i2, e2.fromCodePoint = a2, e2.escapeHtml = function(e3) {
|
|
return h2.test(e3) ? e3.replace(f2, m2) : e3;
|
|
}, e2.arrayReplaceAt = function(e3, r3, t2) {
|
|
return [].concat(e3.slice(0, r3), t2, e3.slice(r3 + 1));
|
|
}, e2.isSpace = function(e3) {
|
|
switch (e3) {
|
|
case 9:
|
|
case 32:
|
|
return true;
|
|
}
|
|
return false;
|
|
}, e2.isWhiteSpace = function(e3) {
|
|
if (e3 >= 8192 && e3 <= 8202)
|
|
return true;
|
|
switch (e3) {
|
|
case 9:
|
|
case 10:
|
|
case 11:
|
|
case 12:
|
|
case 13:
|
|
case 32:
|
|
case 160:
|
|
case 5760:
|
|
case 8239:
|
|
case 8287:
|
|
case 12288:
|
|
return true;
|
|
}
|
|
return false;
|
|
}, e2.isMdAsciiPunct = function(e3) {
|
|
switch (e3) {
|
|
case 33:
|
|
case 34:
|
|
case 35:
|
|
case 36:
|
|
case 37:
|
|
case 38:
|
|
case 39:
|
|
case 40:
|
|
case 41:
|
|
case 42:
|
|
case 43:
|
|
case 44:
|
|
case 45:
|
|
case 46:
|
|
case 47:
|
|
case 58:
|
|
case 59:
|
|
case 60:
|
|
case 61:
|
|
case 62:
|
|
case 63:
|
|
case 64:
|
|
case 91:
|
|
case 92:
|
|
case 93:
|
|
case 94:
|
|
case 95:
|
|
case 96:
|
|
case 123:
|
|
case 124:
|
|
case 125:
|
|
case 126:
|
|
return true;
|
|
default:
|
|
return false;
|
|
}
|
|
}, e2.isPunctChar = function(e3) {
|
|
return _2.test(e3);
|
|
}, e2.escapeRE = function(e3) {
|
|
return e3.replace(g2, "\\$&");
|
|
}, e2.normalizeReference = function(e3) {
|
|
return e3 = e3.trim().replace(/\s+/g, " "), "\u1E7E" === "\u1E9E".toLowerCase() && (e3 = e3.replace(/ẞ/g, "\xDF")), e3.toLowerCase().toUpperCase();
|
|
};
|
|
}(r);
|
|
var q = {}, S = r.unescapeAll, F = r.unescapeAll;
|
|
q.parseLinkLabel = function(e2, r2, t2) {
|
|
var n2, s2, o2, i2, a2 = -1, c2 = e2.posMax, l2 = e2.pos;
|
|
for (e2.pos = r2 + 1, n2 = 1; e2.pos < c2; ) {
|
|
if (93 === (o2 = e2.src.charCodeAt(e2.pos)) && 0 === --n2) {
|
|
s2 = true;
|
|
break;
|
|
}
|
|
if (i2 = e2.pos, e2.md.inline.skipToken(e2), 91 === o2) {
|
|
if (i2 === e2.pos - 1)
|
|
n2++;
|
|
else if (t2)
|
|
return e2.pos = l2, -1;
|
|
}
|
|
}
|
|
return s2 && (a2 = e2.pos), e2.pos = l2, a2;
|
|
}, q.parseLinkDestination = function(e2, r2, t2) {
|
|
var n2, s2, o2 = r2, i2 = { ok: false, pos: 0, lines: 0, str: "" };
|
|
if (60 === e2.charCodeAt(r2)) {
|
|
for (r2++; r2 < t2; ) {
|
|
if (10 === (n2 = e2.charCodeAt(r2)))
|
|
return i2;
|
|
if (60 === n2)
|
|
return i2;
|
|
if (62 === n2)
|
|
return i2.pos = r2 + 1, i2.str = S(e2.slice(o2 + 1, r2)), i2.ok = true, i2;
|
|
92 === n2 && r2 + 1 < t2 ? r2 += 2 : r2++;
|
|
}
|
|
return i2;
|
|
}
|
|
for (s2 = 0; r2 < t2 && 32 !== (n2 = e2.charCodeAt(r2)) && !(n2 < 32 || 127 === n2); )
|
|
if (92 === n2 && r2 + 1 < t2) {
|
|
if (32 === e2.charCodeAt(r2 + 1))
|
|
break;
|
|
r2 += 2;
|
|
} else {
|
|
if (40 === n2 && ++s2 > 32)
|
|
return i2;
|
|
if (41 === n2) {
|
|
if (0 === s2)
|
|
break;
|
|
s2--;
|
|
}
|
|
r2++;
|
|
}
|
|
return o2 === r2 || 0 !== s2 || (i2.str = S(e2.slice(o2, r2)), i2.lines = 0, i2.pos = r2, i2.ok = true), i2;
|
|
}, q.parseLinkTitle = function(e2, r2, t2) {
|
|
var n2, s2, o2 = 0, i2 = r2, a2 = { ok: false, pos: 0, lines: 0, str: "" };
|
|
if (r2 >= t2)
|
|
return a2;
|
|
if (34 !== (s2 = e2.charCodeAt(r2)) && 39 !== s2 && 40 !== s2)
|
|
return a2;
|
|
for (r2++, 40 === s2 && (s2 = 41); r2 < t2; ) {
|
|
if ((n2 = e2.charCodeAt(r2)) === s2)
|
|
return a2.pos = r2 + 1, a2.lines = o2, a2.str = F(e2.slice(i2 + 1, r2)), a2.ok = true, a2;
|
|
if (40 === n2 && 41 === s2)
|
|
return a2;
|
|
10 === n2 ? o2++ : 92 === n2 && r2 + 1 < t2 && (r2++, 10 === e2.charCodeAt(r2) && o2++), r2++;
|
|
}
|
|
return a2;
|
|
};
|
|
var L = r.assign, z = r.unescapeAll, T = r.escapeHtml, I = {};
|
|
function M() {
|
|
this.rules = L({}, I);
|
|
}
|
|
I.code_inline = function(e2, r2, t2, n2, s2) {
|
|
var o2 = e2[r2];
|
|
return "<code" + s2.renderAttrs(o2) + ">" + T(e2[r2].content) + "</code>";
|
|
}, I.code_block = function(e2, r2, t2, n2, s2) {
|
|
var o2 = e2[r2];
|
|
return "<pre" + s2.renderAttrs(o2) + "><code>" + T(e2[r2].content) + "</code></pre>\n";
|
|
}, I.fence = function(e2, r2, t2, n2, s2) {
|
|
var o2, i2, a2, c2, l2, u2 = e2[r2], p2 = u2.info ? z(u2.info).trim() : "", h2 = "", f2 = "";
|
|
return p2 && (h2 = (a2 = p2.split(/(\s+)/g))[0], f2 = a2.slice(2).join("")), 0 === (o2 = t2.highlight && t2.highlight(u2.content, h2, f2) || T(u2.content)).indexOf("<pre") ? o2 + "\n" : p2 ? (i2 = u2.attrIndex("class"), c2 = u2.attrs ? u2.attrs.slice() : [], i2 < 0 ? c2.push(["class", t2.langPrefix + h2]) : (c2[i2] = c2[i2].slice(), c2[i2][1] += " " + t2.langPrefix + h2), l2 = { attrs: c2 }, "<pre><code" + s2.renderAttrs(l2) + ">" + o2 + "</code></pre>\n") : "<pre><code" + s2.renderAttrs(u2) + ">" + o2 + "</code></pre>\n";
|
|
}, I.image = function(e2, r2, t2, n2, s2) {
|
|
var o2 = e2[r2];
|
|
return o2.attrs[o2.attrIndex("alt")][1] = s2.renderInlineAsText(o2.children, t2, n2), s2.renderToken(e2, r2, t2);
|
|
}, I.hardbreak = function(e2, r2, t2) {
|
|
return t2.xhtmlOut ? "<br />\n" : "<br>\n";
|
|
}, I.softbreak = function(e2, r2, t2) {
|
|
return t2.breaks ? t2.xhtmlOut ? "<br />\n" : "<br>\n" : "\n";
|
|
}, I.text = function(e2, r2) {
|
|
return T(e2[r2].content);
|
|
}, I.html_block = function(e2, r2) {
|
|
return e2[r2].content;
|
|
}, I.html_inline = function(e2, r2) {
|
|
return e2[r2].content;
|
|
}, M.prototype.renderAttrs = function(e2) {
|
|
var r2, t2, n2;
|
|
if (!e2.attrs)
|
|
return "";
|
|
for (n2 = "", r2 = 0, t2 = e2.attrs.length; r2 < t2; r2++)
|
|
n2 += " " + T(e2.attrs[r2][0]) + '="' + T(e2.attrs[r2][1]) + '"';
|
|
return n2;
|
|
}, M.prototype.renderToken = function(e2, r2, t2) {
|
|
var n2, s2 = "", o2 = false, i2 = e2[r2];
|
|
return i2.hidden ? "" : (i2.block && -1 !== i2.nesting && r2 && e2[r2 - 1].hidden && (s2 += "\n"), s2 += (-1 === i2.nesting ? "</" : "<") + i2.tag, s2 += this.renderAttrs(i2), 0 === i2.nesting && t2.xhtmlOut && (s2 += " /"), i2.block && (o2 = true, 1 === i2.nesting && r2 + 1 < e2.length && ("inline" === (n2 = e2[r2 + 1]).type || n2.hidden || -1 === n2.nesting && n2.tag === i2.tag) && (o2 = false)), s2 += o2 ? ">\n" : ">");
|
|
}, M.prototype.renderInline = function(e2, r2, t2) {
|
|
for (var n2, s2 = "", o2 = this.rules, i2 = 0, a2 = e2.length; i2 < a2; i2++)
|
|
void 0 !== o2[n2 = e2[i2].type] ? s2 += o2[n2](e2, i2, r2, t2, this) : s2 += this.renderToken(e2, i2, r2);
|
|
return s2;
|
|
}, M.prototype.renderInlineAsText = function(e2, r2, t2) {
|
|
for (var n2 = "", s2 = 0, o2 = e2.length; s2 < o2; s2++)
|
|
"text" === e2[s2].type ? n2 += e2[s2].content : "image" === e2[s2].type ? n2 += this.renderInlineAsText(e2[s2].children, r2, t2) : "softbreak" === e2[s2].type && (n2 += "\n");
|
|
return n2;
|
|
}, M.prototype.render = function(e2, r2, t2) {
|
|
var n2, s2, o2, i2 = "", a2 = this.rules;
|
|
for (n2 = 0, s2 = e2.length; n2 < s2; n2++)
|
|
"inline" === (o2 = e2[n2].type) ? i2 += this.renderInline(e2[n2].children, r2, t2) : void 0 !== a2[o2] ? i2 += a2[e2[n2].type](e2, n2, r2, t2, this) : i2 += this.renderToken(e2, n2, r2, t2);
|
|
return i2;
|
|
};
|
|
var R = M;
|
|
function B() {
|
|
this.__rules__ = [], this.__cache__ = null;
|
|
}
|
|
B.prototype.__find__ = function(e2) {
|
|
for (var r2 = 0; r2 < this.__rules__.length; r2++)
|
|
if (this.__rules__[r2].name === e2)
|
|
return r2;
|
|
return -1;
|
|
}, B.prototype.__compile__ = function() {
|
|
var e2 = this, r2 = [""];
|
|
e2.__rules__.forEach(function(e3) {
|
|
e3.enabled && e3.alt.forEach(function(e4) {
|
|
r2.indexOf(e4) < 0 && r2.push(e4);
|
|
});
|
|
}), e2.__cache__ = {}, r2.forEach(function(r3) {
|
|
e2.__cache__[r3] = [], e2.__rules__.forEach(function(t2) {
|
|
t2.enabled && (r3 && t2.alt.indexOf(r3) < 0 || e2.__cache__[r3].push(t2.fn));
|
|
});
|
|
});
|
|
}, B.prototype.at = function(e2, r2, t2) {
|
|
var n2 = this.__find__(e2), s2 = t2 || {};
|
|
if (-1 === n2)
|
|
throw new Error("Parser rule not found: " + e2);
|
|
this.__rules__[n2].fn = r2, this.__rules__[n2].alt = s2.alt || [], this.__cache__ = null;
|
|
}, B.prototype.before = function(e2, r2, t2, n2) {
|
|
var s2 = this.__find__(e2), o2 = n2 || {};
|
|
if (-1 === s2)
|
|
throw new Error("Parser rule not found: " + e2);
|
|
this.__rules__.splice(s2, 0, { name: r2, enabled: true, fn: t2, alt: o2.alt || [] }), this.__cache__ = null;
|
|
}, B.prototype.after = function(e2, r2, t2, n2) {
|
|
var s2 = this.__find__(e2), o2 = n2 || {};
|
|
if (-1 === s2)
|
|
throw new Error("Parser rule not found: " + e2);
|
|
this.__rules__.splice(s2 + 1, 0, { name: r2, enabled: true, fn: t2, alt: o2.alt || [] }), this.__cache__ = null;
|
|
}, B.prototype.push = function(e2, r2, t2) {
|
|
var n2 = t2 || {};
|
|
this.__rules__.push({ name: e2, enabled: true, fn: r2, alt: n2.alt || [] }), this.__cache__ = null;
|
|
}, B.prototype.enable = function(e2, r2) {
|
|
Array.isArray(e2) || (e2 = [e2]);
|
|
var t2 = [];
|
|
return e2.forEach(function(e3) {
|
|
var n2 = this.__find__(e3);
|
|
if (n2 < 0) {
|
|
if (r2)
|
|
return;
|
|
throw new Error("Rules manager: invalid rule name " + e3);
|
|
}
|
|
this.__rules__[n2].enabled = true, t2.push(e3);
|
|
}, this), this.__cache__ = null, t2;
|
|
}, B.prototype.enableOnly = function(e2, r2) {
|
|
Array.isArray(e2) || (e2 = [e2]), this.__rules__.forEach(function(e3) {
|
|
e3.enabled = false;
|
|
}), this.enable(e2, r2);
|
|
}, B.prototype.disable = function(e2, r2) {
|
|
Array.isArray(e2) || (e2 = [e2]);
|
|
var t2 = [];
|
|
return e2.forEach(function(e3) {
|
|
var n2 = this.__find__(e3);
|
|
if (n2 < 0) {
|
|
if (r2)
|
|
return;
|
|
throw new Error("Rules manager: invalid rule name " + e3);
|
|
}
|
|
this.__rules__[n2].enabled = false, t2.push(e3);
|
|
}, this), this.__cache__ = null, t2;
|
|
}, B.prototype.getRules = function(e2) {
|
|
return null === this.__cache__ && this.__compile__(), this.__cache__[e2] || [];
|
|
};
|
|
var N = B, O = /\r\n?|\n/g, P = /\0/g, j = r.arrayReplaceAt;
|
|
function U(e2) {
|
|
return /^<\/a\s*>/i.test(e2);
|
|
}
|
|
var V = /\+-|\.\.|\?\?\?\?|!!!!|,,|--/, Z = /\((c|tm|r)\)/i, $ = /\((c|tm|r)\)/gi, G = { c: "\xA9", r: "\xAE", tm: "\u2122" };
|
|
function H(e2, r2) {
|
|
return G[r2.toLowerCase()];
|
|
}
|
|
function J(e2) {
|
|
var r2, t2, n2 = 0;
|
|
for (r2 = e2.length - 1; r2 >= 0; r2--)
|
|
"text" !== (t2 = e2[r2]).type || n2 || (t2.content = t2.content.replace($, H)), "link_open" === t2.type && "auto" === t2.info && n2--, "link_close" === t2.type && "auto" === t2.info && n2++;
|
|
}
|
|
function W(e2) {
|
|
var r2, t2, n2 = 0;
|
|
for (r2 = e2.length - 1; r2 >= 0; r2--)
|
|
"text" !== (t2 = e2[r2]).type || n2 || V.test(t2.content) && (t2.content = t2.content.replace(/\+-/g, "\xB1").replace(/\.{2,}/g, "\u2026").replace(/([?!])…/g, "$1..").replace(/([?!]){4,}/g, "$1$1$1").replace(/,{2,}/g, ",").replace(/(^|[^-])---(?=[^-]|$)/gm, "$1\u2014").replace(/(^|\s)--(?=\s|$)/gm, "$1\u2013").replace(/(^|[^-\s])--(?=[^-\s]|$)/gm, "$1\u2013")), "link_open" === t2.type && "auto" === t2.info && n2--, "link_close" === t2.type && "auto" === t2.info && n2++;
|
|
}
|
|
var Y = r.isWhiteSpace, K = r.isPunctChar, Q = r.isMdAsciiPunct, X = /['"]/, ee = /['"]/g;
|
|
function re(e2, r2, t2) {
|
|
return e2.slice(0, r2) + t2 + e2.slice(r2 + 1);
|
|
}
|
|
function te(e2, r2) {
|
|
var t2, n2, s2, o2, i2, a2, c2, l2, u2, p2, h2, f2, d2, m2, g2, _2, k2, b2, v2, C2, y2;
|
|
for (v2 = [], t2 = 0; t2 < e2.length; t2++) {
|
|
for (n2 = e2[t2], c2 = e2[t2].level, k2 = v2.length - 1; k2 >= 0 && !(v2[k2].level <= c2); k2--)
|
|
;
|
|
if (v2.length = k2 + 1, "text" === n2.type) {
|
|
i2 = 0, a2 = (s2 = n2.content).length;
|
|
e:
|
|
for (; i2 < a2 && (ee.lastIndex = i2, o2 = ee.exec(s2)); ) {
|
|
if (g2 = _2 = true, i2 = o2.index + 1, b2 = "'" === o2[0], u2 = 32, o2.index - 1 >= 0)
|
|
u2 = s2.charCodeAt(o2.index - 1);
|
|
else
|
|
for (k2 = t2 - 1; k2 >= 0 && ("softbreak" !== e2[k2].type && "hardbreak" !== e2[k2].type); k2--)
|
|
if (e2[k2].content) {
|
|
u2 = e2[k2].content.charCodeAt(e2[k2].content.length - 1);
|
|
break;
|
|
}
|
|
if (p2 = 32, i2 < a2)
|
|
p2 = s2.charCodeAt(i2);
|
|
else
|
|
for (k2 = t2 + 1; k2 < e2.length && ("softbreak" !== e2[k2].type && "hardbreak" !== e2[k2].type); k2++)
|
|
if (e2[k2].content) {
|
|
p2 = e2[k2].content.charCodeAt(0);
|
|
break;
|
|
}
|
|
if (h2 = Q(u2) || K(String.fromCharCode(u2)), f2 = Q(p2) || K(String.fromCharCode(p2)), d2 = Y(u2), (m2 = Y(p2)) ? g2 = false : f2 && (d2 || h2 || (g2 = false)), d2 ? _2 = false : h2 && (m2 || f2 || (_2 = false)), 34 === p2 && '"' === o2[0] && u2 >= 48 && u2 <= 57 && (_2 = g2 = false), g2 && _2 && (g2 = h2, _2 = f2), g2 || _2) {
|
|
if (_2) {
|
|
for (k2 = v2.length - 1; k2 >= 0 && (l2 = v2[k2], !(v2[k2].level < c2)); k2--)
|
|
if (l2.single === b2 && v2[k2].level === c2) {
|
|
l2 = v2[k2], b2 ? (C2 = r2.md.options.quotes[2], y2 = r2.md.options.quotes[3]) : (C2 = r2.md.options.quotes[0], y2 = r2.md.options.quotes[1]), n2.content = re(n2.content, o2.index, y2), e2[l2.token].content = re(e2[l2.token].content, l2.pos, C2), i2 += y2.length - 1, l2.token === t2 && (i2 += C2.length - 1), a2 = (s2 = n2.content).length, v2.length = k2;
|
|
continue e;
|
|
}
|
|
}
|
|
g2 ? v2.push({ token: t2, pos: o2.index, single: b2, level: c2 }) : _2 && b2 && (n2.content = re(n2.content, o2.index, "\u2019"));
|
|
} else
|
|
b2 && (n2.content = re(n2.content, o2.index, "\u2019"));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function ne(e2, r2, t2) {
|
|
this.type = e2, this.tag = r2, this.attrs = null, this.map = null, this.nesting = t2, this.level = 0, this.children = null, this.content = "", this.markup = "", this.info = "", this.meta = null, this.block = false, this.hidden = false;
|
|
}
|
|
ne.prototype.attrIndex = function(e2) {
|
|
var r2, t2, n2;
|
|
if (!this.attrs)
|
|
return -1;
|
|
for (t2 = 0, n2 = (r2 = this.attrs).length; t2 < n2; t2++)
|
|
if (r2[t2][0] === e2)
|
|
return t2;
|
|
return -1;
|
|
}, ne.prototype.attrPush = function(e2) {
|
|
this.attrs ? this.attrs.push(e2) : this.attrs = [e2];
|
|
}, ne.prototype.attrSet = function(e2, r2) {
|
|
var t2 = this.attrIndex(e2), n2 = [e2, r2];
|
|
t2 < 0 ? this.attrPush(n2) : this.attrs[t2] = n2;
|
|
}, ne.prototype.attrGet = function(e2) {
|
|
var r2 = this.attrIndex(e2), t2 = null;
|
|
return r2 >= 0 && (t2 = this.attrs[r2][1]), t2;
|
|
}, ne.prototype.attrJoin = function(e2, r2) {
|
|
var t2 = this.attrIndex(e2);
|
|
t2 < 0 ? this.attrPush([e2, r2]) : this.attrs[t2][1] = this.attrs[t2][1] + " " + r2;
|
|
};
|
|
var se = ne, oe = se;
|
|
function ie(e2, r2, t2) {
|
|
this.src = e2, this.env = t2, this.tokens = [], this.inlineMode = false, this.md = r2;
|
|
}
|
|
ie.prototype.Token = oe;
|
|
var ae = ie, ce = N, le = [["normalize", function(e2) {
|
|
var r2;
|
|
r2 = (r2 = e2.src.replace(O, "\n")).replace(P, "\uFFFD"), e2.src = r2;
|
|
}], ["block", function(e2) {
|
|
var r2;
|
|
e2.inlineMode ? ((r2 = new e2.Token("inline", "", 0)).content = e2.src, r2.map = [0, 1], r2.children = [], e2.tokens.push(r2)) : e2.md.block.parse(e2.src, e2.md, e2.env, e2.tokens);
|
|
}], ["inline", function(e2) {
|
|
var r2, t2, n2, s2 = e2.tokens;
|
|
for (t2 = 0, n2 = s2.length; t2 < n2; t2++)
|
|
"inline" === (r2 = s2[t2]).type && e2.md.inline.parse(r2.content, e2.md, e2.env, r2.children);
|
|
}], ["linkify", function(e2) {
|
|
var r2, t2, n2, s2, o2, i2, a2, c2, l2, u2, p2, h2, f2, d2, m2, g2, _2, k2, b2 = e2.tokens;
|
|
if (e2.md.options.linkify) {
|
|
for (t2 = 0, n2 = b2.length; t2 < n2; t2++)
|
|
if ("inline" === b2[t2].type && e2.md.linkify.pretest(b2[t2].content))
|
|
for (f2 = 0, r2 = (s2 = b2[t2].children).length - 1; r2 >= 0; r2--)
|
|
if ("link_close" !== (i2 = s2[r2]).type) {
|
|
if ("html_inline" === i2.type && (k2 = i2.content, /^<a[>\s]/i.test(k2) && f2 > 0 && f2--, U(i2.content) && f2++), !(f2 > 0) && "text" === i2.type && e2.md.linkify.test(i2.content)) {
|
|
for (l2 = i2.content, _2 = e2.md.linkify.match(l2), a2 = [], h2 = i2.level, p2 = 0, _2.length > 0 && 0 === _2[0].index && r2 > 0 && "text_special" === s2[r2 - 1].type && (_2 = _2.slice(1)), c2 = 0; c2 < _2.length; c2++)
|
|
d2 = _2[c2].url, m2 = e2.md.normalizeLink(d2), e2.md.validateLink(m2) && (g2 = _2[c2].text, g2 = _2[c2].schema ? "mailto:" !== _2[c2].schema || /^mailto:/i.test(g2) ? e2.md.normalizeLinkText(g2) : e2.md.normalizeLinkText("mailto:" + g2).replace(/^mailto:/, "") : e2.md.normalizeLinkText("http://" + g2).replace(/^http:\/\//, ""), (u2 = _2[c2].index) > p2 && ((o2 = new e2.Token("text", "", 0)).content = l2.slice(p2, u2), o2.level = h2, a2.push(o2)), (o2 = new e2.Token("link_open", "a", 1)).attrs = [["href", m2]], o2.level = h2++, o2.markup = "linkify", o2.info = "auto", a2.push(o2), (o2 = new e2.Token("text", "", 0)).content = g2, o2.level = h2, a2.push(o2), (o2 = new e2.Token("link_close", "a", -1)).level = --h2, o2.markup = "linkify", o2.info = "auto", a2.push(o2), p2 = _2[c2].lastIndex);
|
|
p2 < l2.length && ((o2 = new e2.Token("text", "", 0)).content = l2.slice(p2), o2.level = h2, a2.push(o2)), b2[t2].children = s2 = j(s2, r2, a2);
|
|
}
|
|
} else
|
|
for (r2--; s2[r2].level !== i2.level && "link_open" !== s2[r2].type; )
|
|
r2--;
|
|
}
|
|
}], ["replacements", function(e2) {
|
|
var r2;
|
|
if (e2.md.options.typographer)
|
|
for (r2 = e2.tokens.length - 1; r2 >= 0; r2--)
|
|
"inline" === e2.tokens[r2].type && (Z.test(e2.tokens[r2].content) && J(e2.tokens[r2].children), V.test(e2.tokens[r2].content) && W(e2.tokens[r2].children));
|
|
}], ["smartquotes", function(e2) {
|
|
var r2;
|
|
if (e2.md.options.typographer)
|
|
for (r2 = e2.tokens.length - 1; r2 >= 0; r2--)
|
|
"inline" === e2.tokens[r2].type && X.test(e2.tokens[r2].content) && te(e2.tokens[r2].children, e2);
|
|
}], ["text_join", function(e2) {
|
|
var r2, t2, n2, s2, o2, i2, a2 = e2.tokens;
|
|
for (r2 = 0, t2 = a2.length; r2 < t2; r2++)
|
|
if ("inline" === a2[r2].type) {
|
|
for (o2 = (n2 = a2[r2].children).length, s2 = 0; s2 < o2; s2++)
|
|
"text_special" === n2[s2].type && (n2[s2].type = "text");
|
|
for (s2 = i2 = 0; s2 < o2; s2++)
|
|
"text" === n2[s2].type && s2 + 1 < o2 && "text" === n2[s2 + 1].type ? n2[s2 + 1].content = n2[s2].content + n2[s2 + 1].content : (s2 !== i2 && (n2[i2] = n2[s2]), i2++);
|
|
s2 !== i2 && (n2.length = i2);
|
|
}
|
|
}]];
|
|
function ue() {
|
|
this.ruler = new ce();
|
|
for (var e2 = 0; e2 < le.length; e2++)
|
|
this.ruler.push(le[e2][0], le[e2][1]);
|
|
}
|
|
ue.prototype.process = function(e2) {
|
|
var r2, t2, n2;
|
|
for (r2 = 0, t2 = (n2 = this.ruler.getRules("")).length; r2 < t2; r2++)
|
|
n2[r2](e2);
|
|
}, ue.prototype.State = ae;
|
|
var pe = ue, he = r.isSpace;
|
|
function fe(e2, r2) {
|
|
var t2 = e2.bMarks[r2] + e2.tShift[r2], n2 = e2.eMarks[r2];
|
|
return e2.src.slice(t2, n2);
|
|
}
|
|
function de(e2) {
|
|
var r2, t2 = [], n2 = 0, s2 = e2.length, o2 = false, i2 = 0, a2 = "";
|
|
for (r2 = e2.charCodeAt(n2); n2 < s2; )
|
|
124 === r2 && (o2 ? (a2 += e2.substring(i2, n2 - 1), i2 = n2) : (t2.push(a2 + e2.substring(i2, n2)), a2 = "", i2 = n2 + 1)), o2 = 92 === r2, n2++, r2 = e2.charCodeAt(n2);
|
|
return t2.push(a2 + e2.substring(i2)), t2;
|
|
}
|
|
var me = r.isSpace, ge = r.isSpace, _e = r.isSpace;
|
|
function ke(e2, r2) {
|
|
var t2, n2, s2, o2;
|
|
return n2 = e2.bMarks[r2] + e2.tShift[r2], s2 = e2.eMarks[r2], 42 !== (t2 = e2.src.charCodeAt(n2++)) && 45 !== t2 && 43 !== t2 || n2 < s2 && (o2 = e2.src.charCodeAt(n2), !_e(o2)) ? -1 : n2;
|
|
}
|
|
function be(e2, r2) {
|
|
var t2, n2 = e2.bMarks[r2] + e2.tShift[r2], s2 = n2, o2 = e2.eMarks[r2];
|
|
if (s2 + 1 >= o2)
|
|
return -1;
|
|
if ((t2 = e2.src.charCodeAt(s2++)) < 48 || t2 > 57)
|
|
return -1;
|
|
for (; ; ) {
|
|
if (s2 >= o2)
|
|
return -1;
|
|
if (!((t2 = e2.src.charCodeAt(s2++)) >= 48 && t2 <= 57)) {
|
|
if (41 === t2 || 46 === t2)
|
|
break;
|
|
return -1;
|
|
}
|
|
if (s2 - n2 >= 10)
|
|
return -1;
|
|
}
|
|
return s2 < o2 && (t2 = e2.src.charCodeAt(s2), !_e(t2)) ? -1 : s2;
|
|
}
|
|
var ve = r.normalizeReference, Ce = r.isSpace, ye = {}, Ae = `<[A-Za-z][A-Za-z0-9\\-]*(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^"'=<>\`\\x00-\\x20]+|'[^']*'|"[^"]*"))?)*\\s*\\/?>`, xe = "<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>", De = new RegExp("^(?:" + Ae + "|" + xe + "|<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->|<[?][\\s\\S]*?[?]>|<![A-Z]+\\s+[^>]*>|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>)"), we = new RegExp("^(?:" + Ae + "|" + xe + ")");
|
|
ye.HTML_TAG_RE = De, ye.HTML_OPEN_CLOSE_TAG_RE = we;
|
|
var Ee = ["address", "article", "aside", "base", "basefont", "blockquote", "body", "caption", "center", "col", "colgroup", "dd", "details", "dialog", "dir", "div", "dl", "dt", "fieldset", "figcaption", "figure", "footer", "form", "frame", "frameset", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hr", "html", "iframe", "legend", "li", "link", "main", "menu", "menuitem", "nav", "noframes", "ol", "optgroup", "option", "p", "param", "section", "source", "summary", "table", "tbody", "td", "tfoot", "th", "thead", "title", "tr", "track", "ul"], qe = ye.HTML_OPEN_CLOSE_TAG_RE, Se = [[/^<(script|pre|style|textarea)(?=(\s|>|$))/i, /<\/(script|pre|style|textarea)>/i, true], [/^<!--/, /-->/, true], [/^<\?/, /\?>/, true], [/^<![A-Z]/, />/, true], [/^<!\[CDATA\[/, /\]\]>/, true], [new RegExp("^</?(" + Ee.join("|") + ")(?=(\\s|/?>|$))", "i"), /^$/, true], [new RegExp(qe.source + "\\s*$"), /^$/, false]], Fe = r.isSpace, Le = se, ze = r.isSpace;
|
|
function Te(e2, r2, t2, n2) {
|
|
var s2, o2, i2, a2, c2, l2, u2, p2;
|
|
for (this.src = e2, this.md = r2, this.env = t2, this.tokens = n2, this.bMarks = [], this.eMarks = [], this.tShift = [], this.sCount = [], this.bsCount = [], this.blkIndent = 0, this.line = 0, this.lineMax = 0, this.tight = false, this.ddIndent = -1, this.listIndent = -1, this.parentType = "root", this.level = 0, this.result = "", p2 = false, i2 = a2 = l2 = u2 = 0, c2 = (o2 = this.src).length; a2 < c2; a2++) {
|
|
if (s2 = o2.charCodeAt(a2), !p2) {
|
|
if (ze(s2)) {
|
|
l2++, 9 === s2 ? u2 += 4 - u2 % 4 : u2++;
|
|
continue;
|
|
}
|
|
p2 = true;
|
|
}
|
|
10 !== s2 && a2 !== c2 - 1 || (10 !== s2 && a2++, this.bMarks.push(i2), this.eMarks.push(a2), this.tShift.push(l2), this.sCount.push(u2), this.bsCount.push(0), p2 = false, l2 = 0, u2 = 0, i2 = a2 + 1);
|
|
}
|
|
this.bMarks.push(o2.length), this.eMarks.push(o2.length), this.tShift.push(0), this.sCount.push(0), this.bsCount.push(0), this.lineMax = this.bMarks.length - 1;
|
|
}
|
|
Te.prototype.push = function(e2, r2, t2) {
|
|
var n2 = new Le(e2, r2, t2);
|
|
return n2.block = true, t2 < 0 && this.level--, n2.level = this.level, t2 > 0 && this.level++, this.tokens.push(n2), n2;
|
|
}, Te.prototype.isEmpty = function(e2) {
|
|
return this.bMarks[e2] + this.tShift[e2] >= this.eMarks[e2];
|
|
}, Te.prototype.skipEmptyLines = function(e2) {
|
|
for (var r2 = this.lineMax; e2 < r2 && !(this.bMarks[e2] + this.tShift[e2] < this.eMarks[e2]); e2++)
|
|
;
|
|
return e2;
|
|
}, Te.prototype.skipSpaces = function(e2) {
|
|
for (var r2, t2 = this.src.length; e2 < t2 && (r2 = this.src.charCodeAt(e2), ze(r2)); e2++)
|
|
;
|
|
return e2;
|
|
}, Te.prototype.skipSpacesBack = function(e2, r2) {
|
|
if (e2 <= r2)
|
|
return e2;
|
|
for (; e2 > r2; )
|
|
if (!ze(this.src.charCodeAt(--e2)))
|
|
return e2 + 1;
|
|
return e2;
|
|
}, Te.prototype.skipChars = function(e2, r2) {
|
|
for (var t2 = this.src.length; e2 < t2 && this.src.charCodeAt(e2) === r2; e2++)
|
|
;
|
|
return e2;
|
|
}, Te.prototype.skipCharsBack = function(e2, r2, t2) {
|
|
if (e2 <= t2)
|
|
return e2;
|
|
for (; e2 > t2; )
|
|
if (r2 !== this.src.charCodeAt(--e2))
|
|
return e2 + 1;
|
|
return e2;
|
|
}, Te.prototype.getLines = function(e2, r2, t2, n2) {
|
|
var s2, o2, i2, a2, c2, l2, u2, p2 = e2;
|
|
if (e2 >= r2)
|
|
return "";
|
|
for (l2 = new Array(r2 - e2), s2 = 0; p2 < r2; p2++, s2++) {
|
|
for (o2 = 0, u2 = a2 = this.bMarks[p2], c2 = p2 + 1 < r2 || n2 ? this.eMarks[p2] + 1 : this.eMarks[p2]; a2 < c2 && o2 < t2; ) {
|
|
if (i2 = this.src.charCodeAt(a2), ze(i2))
|
|
9 === i2 ? o2 += 4 - (o2 + this.bsCount[p2]) % 4 : o2++;
|
|
else {
|
|
if (!(a2 - u2 < this.tShift[p2]))
|
|
break;
|
|
o2++;
|
|
}
|
|
a2++;
|
|
}
|
|
l2[s2] = o2 > t2 ? new Array(o2 - t2 + 1).join(" ") + this.src.slice(a2, c2) : this.src.slice(a2, c2);
|
|
}
|
|
return l2.join("");
|
|
}, Te.prototype.Token = Le;
|
|
var Ie = Te, Me = N, Re = [["table", function(e2, r2, t2, n2) {
|
|
var s2, o2, i2, a2, c2, l2, u2, p2, h2, f2, d2, m2, g2, _2, k2, b2, v2, C2;
|
|
if (r2 + 2 > t2)
|
|
return false;
|
|
if (l2 = r2 + 1, e2.sCount[l2] < e2.blkIndent)
|
|
return false;
|
|
if (e2.sCount[l2] - e2.blkIndent >= 4)
|
|
return false;
|
|
if ((i2 = e2.bMarks[l2] + e2.tShift[l2]) >= e2.eMarks[l2])
|
|
return false;
|
|
if (124 !== (v2 = e2.src.charCodeAt(i2++)) && 45 !== v2 && 58 !== v2)
|
|
return false;
|
|
if (i2 >= e2.eMarks[l2])
|
|
return false;
|
|
if (124 !== (C2 = e2.src.charCodeAt(i2++)) && 45 !== C2 && 58 !== C2 && !he(C2))
|
|
return false;
|
|
if (45 === v2 && he(C2))
|
|
return false;
|
|
for (; i2 < e2.eMarks[l2]; ) {
|
|
if (124 !== (s2 = e2.src.charCodeAt(i2)) && 45 !== s2 && 58 !== s2 && !he(s2))
|
|
return false;
|
|
i2++;
|
|
}
|
|
for (u2 = (o2 = fe(e2, r2 + 1)).split("|"), f2 = [], a2 = 0; a2 < u2.length; a2++) {
|
|
if (!(d2 = u2[a2].trim())) {
|
|
if (0 === a2 || a2 === u2.length - 1)
|
|
continue;
|
|
return false;
|
|
}
|
|
if (!/^:?-+:?$/.test(d2))
|
|
return false;
|
|
58 === d2.charCodeAt(d2.length - 1) ? f2.push(58 === d2.charCodeAt(0) ? "center" : "right") : 58 === d2.charCodeAt(0) ? f2.push("left") : f2.push("");
|
|
}
|
|
if (-1 === (o2 = fe(e2, r2).trim()).indexOf("|"))
|
|
return false;
|
|
if (e2.sCount[r2] - e2.blkIndent >= 4)
|
|
return false;
|
|
if ((u2 = de(o2)).length && "" === u2[0] && u2.shift(), u2.length && "" === u2[u2.length - 1] && u2.pop(), 0 === (p2 = u2.length) || p2 !== f2.length)
|
|
return false;
|
|
if (n2)
|
|
return true;
|
|
for (_2 = e2.parentType, e2.parentType = "table", b2 = e2.md.block.ruler.getRules("blockquote"), (h2 = e2.push("table_open", "table", 1)).map = m2 = [r2, 0], (h2 = e2.push("thead_open", "thead", 1)).map = [r2, r2 + 1], (h2 = e2.push("tr_open", "tr", 1)).map = [r2, r2 + 1], a2 = 0; a2 < u2.length; a2++)
|
|
h2 = e2.push("th_open", "th", 1), f2[a2] && (h2.attrs = [["style", "text-align:" + f2[a2]]]), (h2 = e2.push("inline", "", 0)).content = u2[a2].trim(), h2.children = [], h2 = e2.push("th_close", "th", -1);
|
|
for (h2 = e2.push("tr_close", "tr", -1), h2 = e2.push("thead_close", "thead", -1), l2 = r2 + 2; l2 < t2 && !(e2.sCount[l2] < e2.blkIndent); l2++) {
|
|
for (k2 = false, a2 = 0, c2 = b2.length; a2 < c2; a2++)
|
|
if (b2[a2](e2, l2, t2, true)) {
|
|
k2 = true;
|
|
break;
|
|
}
|
|
if (k2)
|
|
break;
|
|
if (!(o2 = fe(e2, l2).trim()))
|
|
break;
|
|
if (e2.sCount[l2] - e2.blkIndent >= 4)
|
|
break;
|
|
for ((u2 = de(o2)).length && "" === u2[0] && u2.shift(), u2.length && "" === u2[u2.length - 1] && u2.pop(), l2 === r2 + 2 && ((h2 = e2.push("tbody_open", "tbody", 1)).map = g2 = [r2 + 2, 0]), (h2 = e2.push("tr_open", "tr", 1)).map = [l2, l2 + 1], a2 = 0; a2 < p2; a2++)
|
|
h2 = e2.push("td_open", "td", 1), f2[a2] && (h2.attrs = [["style", "text-align:" + f2[a2]]]), (h2 = e2.push("inline", "", 0)).content = u2[a2] ? u2[a2].trim() : "", h2.children = [], h2 = e2.push("td_close", "td", -1);
|
|
h2 = e2.push("tr_close", "tr", -1);
|
|
}
|
|
return g2 && (h2 = e2.push("tbody_close", "tbody", -1), g2[1] = l2), h2 = e2.push("table_close", "table", -1), m2[1] = l2, e2.parentType = _2, e2.line = l2, true;
|
|
}, ["paragraph", "reference"]], ["code", function(e2, r2, t2) {
|
|
var n2, s2, o2;
|
|
if (e2.sCount[r2] - e2.blkIndent < 4)
|
|
return false;
|
|
for (s2 = n2 = r2 + 1; n2 < t2; )
|
|
if (e2.isEmpty(n2))
|
|
n2++;
|
|
else {
|
|
if (!(e2.sCount[n2] - e2.blkIndent >= 4))
|
|
break;
|
|
s2 = ++n2;
|
|
}
|
|
return e2.line = s2, (o2 = e2.push("code_block", "code", 0)).content = e2.getLines(r2, s2, 4 + e2.blkIndent, false) + "\n", o2.map = [r2, e2.line], true;
|
|
}], ["fence", function(e2, r2, t2, n2) {
|
|
var s2, o2, i2, a2, c2, l2, u2, p2 = false, h2 = e2.bMarks[r2] + e2.tShift[r2], f2 = e2.eMarks[r2];
|
|
if (e2.sCount[r2] - e2.blkIndent >= 4)
|
|
return false;
|
|
if (h2 + 3 > f2)
|
|
return false;
|
|
if (126 !== (s2 = e2.src.charCodeAt(h2)) && 96 !== s2)
|
|
return false;
|
|
if (c2 = h2, (o2 = (h2 = e2.skipChars(h2, s2)) - c2) < 3)
|
|
return false;
|
|
if (u2 = e2.src.slice(c2, h2), i2 = e2.src.slice(h2, f2), 96 === s2 && i2.indexOf(String.fromCharCode(s2)) >= 0)
|
|
return false;
|
|
if (n2)
|
|
return true;
|
|
for (a2 = r2; !(++a2 >= t2) && !((h2 = c2 = e2.bMarks[a2] + e2.tShift[a2]) < (f2 = e2.eMarks[a2]) && e2.sCount[a2] < e2.blkIndent); )
|
|
if (e2.src.charCodeAt(h2) === s2 && !(e2.sCount[a2] - e2.blkIndent >= 4 || (h2 = e2.skipChars(h2, s2)) - c2 < o2 || (h2 = e2.skipSpaces(h2)) < f2)) {
|
|
p2 = true;
|
|
break;
|
|
}
|
|
return o2 = e2.sCount[r2], e2.line = a2 + (p2 ? 1 : 0), (l2 = e2.push("fence", "code", 0)).info = i2, l2.content = e2.getLines(r2 + 1, a2, o2, true), l2.markup = u2, l2.map = [r2, e2.line], true;
|
|
}, ["paragraph", "reference", "blockquote", "list"]], ["blockquote", function(e2, r2, t2, n2) {
|
|
var s2, o2, i2, a2, c2, l2, u2, p2, h2, f2, d2, m2, g2, _2, k2, b2, v2, C2, y2, A2, x2 = e2.lineMax, D2 = e2.bMarks[r2] + e2.tShift[r2], w2 = e2.eMarks[r2];
|
|
if (e2.sCount[r2] - e2.blkIndent >= 4)
|
|
return false;
|
|
if (62 !== e2.src.charCodeAt(D2++))
|
|
return false;
|
|
if (n2)
|
|
return true;
|
|
for (a2 = h2 = e2.sCount[r2] + 1, 32 === e2.src.charCodeAt(D2) ? (D2++, a2++, h2++, s2 = false, b2 = true) : 9 === e2.src.charCodeAt(D2) ? (b2 = true, (e2.bsCount[r2] + h2) % 4 == 3 ? (D2++, a2++, h2++, s2 = false) : s2 = true) : b2 = false, f2 = [e2.bMarks[r2]], e2.bMarks[r2] = D2; D2 < w2 && (o2 = e2.src.charCodeAt(D2), me(o2)); )
|
|
9 === o2 ? h2 += 4 - (h2 + e2.bsCount[r2] + (s2 ? 1 : 0)) % 4 : h2++, D2++;
|
|
for (d2 = [e2.bsCount[r2]], e2.bsCount[r2] = e2.sCount[r2] + 1 + (b2 ? 1 : 0), l2 = D2 >= w2, _2 = [e2.sCount[r2]], e2.sCount[r2] = h2 - a2, k2 = [e2.tShift[r2]], e2.tShift[r2] = D2 - e2.bMarks[r2], C2 = e2.md.block.ruler.getRules("blockquote"), g2 = e2.parentType, e2.parentType = "blockquote", p2 = r2 + 1; p2 < t2 && (A2 = e2.sCount[p2] < e2.blkIndent, !((D2 = e2.bMarks[p2] + e2.tShift[p2]) >= (w2 = e2.eMarks[p2]))); p2++)
|
|
if (62 !== e2.src.charCodeAt(D2++) || A2) {
|
|
if (l2)
|
|
break;
|
|
for (v2 = false, i2 = 0, c2 = C2.length; i2 < c2; i2++)
|
|
if (C2[i2](e2, p2, t2, true)) {
|
|
v2 = true;
|
|
break;
|
|
}
|
|
if (v2) {
|
|
e2.lineMax = p2, 0 !== e2.blkIndent && (f2.push(e2.bMarks[p2]), d2.push(e2.bsCount[p2]), k2.push(e2.tShift[p2]), _2.push(e2.sCount[p2]), e2.sCount[p2] -= e2.blkIndent);
|
|
break;
|
|
}
|
|
f2.push(e2.bMarks[p2]), d2.push(e2.bsCount[p2]), k2.push(e2.tShift[p2]), _2.push(e2.sCount[p2]), e2.sCount[p2] = -1;
|
|
} else {
|
|
for (a2 = h2 = e2.sCount[p2] + 1, 32 === e2.src.charCodeAt(D2) ? (D2++, a2++, h2++, s2 = false, b2 = true) : 9 === e2.src.charCodeAt(D2) ? (b2 = true, (e2.bsCount[p2] + h2) % 4 == 3 ? (D2++, a2++, h2++, s2 = false) : s2 = true) : b2 = false, f2.push(e2.bMarks[p2]), e2.bMarks[p2] = D2; D2 < w2 && (o2 = e2.src.charCodeAt(D2), me(o2)); )
|
|
9 === o2 ? h2 += 4 - (h2 + e2.bsCount[p2] + (s2 ? 1 : 0)) % 4 : h2++, D2++;
|
|
l2 = D2 >= w2, d2.push(e2.bsCount[p2]), e2.bsCount[p2] = e2.sCount[p2] + 1 + (b2 ? 1 : 0), _2.push(e2.sCount[p2]), e2.sCount[p2] = h2 - a2, k2.push(e2.tShift[p2]), e2.tShift[p2] = D2 - e2.bMarks[p2];
|
|
}
|
|
for (m2 = e2.blkIndent, e2.blkIndent = 0, (y2 = e2.push("blockquote_open", "blockquote", 1)).markup = ">", y2.map = u2 = [r2, 0], e2.md.block.tokenize(e2, r2, p2), (y2 = e2.push("blockquote_close", "blockquote", -1)).markup = ">", e2.lineMax = x2, e2.parentType = g2, u2[1] = e2.line, i2 = 0; i2 < k2.length; i2++)
|
|
e2.bMarks[i2 + r2] = f2[i2], e2.tShift[i2 + r2] = k2[i2], e2.sCount[i2 + r2] = _2[i2], e2.bsCount[i2 + r2] = d2[i2];
|
|
return e2.blkIndent = m2, true;
|
|
}, ["paragraph", "reference", "blockquote", "list"]], ["hr", function(e2, r2, t2, n2) {
|
|
var s2, o2, i2, a2, c2 = e2.bMarks[r2] + e2.tShift[r2], l2 = e2.eMarks[r2];
|
|
if (e2.sCount[r2] - e2.blkIndent >= 4)
|
|
return false;
|
|
if (42 !== (s2 = e2.src.charCodeAt(c2++)) && 45 !== s2 && 95 !== s2)
|
|
return false;
|
|
for (o2 = 1; c2 < l2; ) {
|
|
if ((i2 = e2.src.charCodeAt(c2++)) !== s2 && !ge(i2))
|
|
return false;
|
|
i2 === s2 && o2++;
|
|
}
|
|
return !(o2 < 3) && (n2 || (e2.line = r2 + 1, (a2 = e2.push("hr", "hr", 0)).map = [r2, e2.line], a2.markup = Array(o2 + 1).join(String.fromCharCode(s2))), true);
|
|
}, ["paragraph", "reference", "blockquote", "list"]], ["list", function(e2, r2, t2, n2) {
|
|
var s2, o2, i2, a2, c2, l2, u2, p2, h2, f2, d2, m2, g2, _2, k2, b2, v2, C2, y2, A2, x2, D2, w2, E2, q2, S2, F2, L2, z2 = false, T2 = true;
|
|
if (e2.sCount[r2] - e2.blkIndent >= 4)
|
|
return false;
|
|
if (e2.listIndent >= 0 && e2.sCount[r2] - e2.listIndent >= 4 && e2.sCount[r2] < e2.blkIndent)
|
|
return false;
|
|
if (n2 && "paragraph" === e2.parentType && e2.sCount[r2] >= e2.blkIndent && (z2 = true), (w2 = be(e2, r2)) >= 0) {
|
|
if (u2 = true, q2 = e2.bMarks[r2] + e2.tShift[r2], g2 = Number(e2.src.slice(q2, w2 - 1)), z2 && 1 !== g2)
|
|
return false;
|
|
} else {
|
|
if (!((w2 = ke(e2, r2)) >= 0))
|
|
return false;
|
|
u2 = false;
|
|
}
|
|
if (z2 && e2.skipSpaces(w2) >= e2.eMarks[r2])
|
|
return false;
|
|
if (m2 = e2.src.charCodeAt(w2 - 1), n2)
|
|
return true;
|
|
for (d2 = e2.tokens.length, u2 ? (L2 = e2.push("ordered_list_open", "ol", 1), 1 !== g2 && (L2.attrs = [["start", g2]])) : L2 = e2.push("bullet_list_open", "ul", 1), L2.map = f2 = [r2, 0], L2.markup = String.fromCharCode(m2), k2 = r2, E2 = false, F2 = e2.md.block.ruler.getRules("list"), C2 = e2.parentType, e2.parentType = "list"; k2 < t2; ) {
|
|
for (D2 = w2, _2 = e2.eMarks[k2], l2 = b2 = e2.sCount[k2] + w2 - (e2.bMarks[r2] + e2.tShift[r2]); D2 < _2; ) {
|
|
if (9 === (s2 = e2.src.charCodeAt(D2)))
|
|
b2 += 4 - (b2 + e2.bsCount[k2]) % 4;
|
|
else {
|
|
if (32 !== s2)
|
|
break;
|
|
b2++;
|
|
}
|
|
D2++;
|
|
}
|
|
if ((c2 = (o2 = D2) >= _2 ? 1 : b2 - l2) > 4 && (c2 = 1), a2 = l2 + c2, (L2 = e2.push("list_item_open", "li", 1)).markup = String.fromCharCode(m2), L2.map = p2 = [r2, 0], u2 && (L2.info = e2.src.slice(q2, w2 - 1)), x2 = e2.tight, A2 = e2.tShift[r2], y2 = e2.sCount[r2], v2 = e2.listIndent, e2.listIndent = e2.blkIndent, e2.blkIndent = a2, e2.tight = true, e2.tShift[r2] = o2 - e2.bMarks[r2], e2.sCount[r2] = b2, o2 >= _2 && e2.isEmpty(r2 + 1) ? e2.line = Math.min(e2.line + 2, t2) : e2.md.block.tokenize(e2, r2, t2, true), e2.tight && !E2 || (T2 = false), E2 = e2.line - r2 > 1 && e2.isEmpty(e2.line - 1), e2.blkIndent = e2.listIndent, e2.listIndent = v2, e2.tShift[r2] = A2, e2.sCount[r2] = y2, e2.tight = x2, (L2 = e2.push("list_item_close", "li", -1)).markup = String.fromCharCode(m2), k2 = r2 = e2.line, p2[1] = k2, o2 = e2.bMarks[r2], k2 >= t2)
|
|
break;
|
|
if (e2.sCount[k2] < e2.blkIndent)
|
|
break;
|
|
if (e2.sCount[r2] - e2.blkIndent >= 4)
|
|
break;
|
|
for (S2 = false, i2 = 0, h2 = F2.length; i2 < h2; i2++)
|
|
if (F2[i2](e2, k2, t2, true)) {
|
|
S2 = true;
|
|
break;
|
|
}
|
|
if (S2)
|
|
break;
|
|
if (u2) {
|
|
if ((w2 = be(e2, k2)) < 0)
|
|
break;
|
|
q2 = e2.bMarks[k2] + e2.tShift[k2];
|
|
} else if ((w2 = ke(e2, k2)) < 0)
|
|
break;
|
|
if (m2 !== e2.src.charCodeAt(w2 - 1))
|
|
break;
|
|
}
|
|
return (L2 = u2 ? e2.push("ordered_list_close", "ol", -1) : e2.push("bullet_list_close", "ul", -1)).markup = String.fromCharCode(m2), f2[1] = k2, e2.line = k2, e2.parentType = C2, T2 && function(e3, r3) {
|
|
var t3, n3, s3 = e3.level + 2;
|
|
for (t3 = r3 + 2, n3 = e3.tokens.length - 2; t3 < n3; t3++)
|
|
e3.tokens[t3].level === s3 && "paragraph_open" === e3.tokens[t3].type && (e3.tokens[t3 + 2].hidden = true, e3.tokens[t3].hidden = true, t3 += 2);
|
|
}(e2, d2), true;
|
|
}, ["paragraph", "reference", "blockquote"]], ["reference", function(e2, r2, t2, n2) {
|
|
var s2, o2, i2, a2, c2, l2, u2, p2, h2, f2, d2, m2, g2, _2, k2, b2, v2 = 0, C2 = e2.bMarks[r2] + e2.tShift[r2], y2 = e2.eMarks[r2], A2 = r2 + 1;
|
|
if (e2.sCount[r2] - e2.blkIndent >= 4)
|
|
return false;
|
|
if (91 !== e2.src.charCodeAt(C2))
|
|
return false;
|
|
for (; ++C2 < y2; )
|
|
if (93 === e2.src.charCodeAt(C2) && 92 !== e2.src.charCodeAt(C2 - 1)) {
|
|
if (C2 + 1 === y2)
|
|
return false;
|
|
if (58 !== e2.src.charCodeAt(C2 + 1))
|
|
return false;
|
|
break;
|
|
}
|
|
for (a2 = e2.lineMax, k2 = e2.md.block.ruler.getRules("reference"), f2 = e2.parentType, e2.parentType = "reference"; A2 < a2 && !e2.isEmpty(A2); A2++)
|
|
if (!(e2.sCount[A2] - e2.blkIndent > 3 || e2.sCount[A2] < 0)) {
|
|
for (_2 = false, l2 = 0, u2 = k2.length; l2 < u2; l2++)
|
|
if (k2[l2](e2, A2, a2, true)) {
|
|
_2 = true;
|
|
break;
|
|
}
|
|
if (_2)
|
|
break;
|
|
}
|
|
for (y2 = (g2 = e2.getLines(r2, A2, e2.blkIndent, false).trim()).length, C2 = 1; C2 < y2; C2++) {
|
|
if (91 === (s2 = g2.charCodeAt(C2)))
|
|
return false;
|
|
if (93 === s2) {
|
|
h2 = C2;
|
|
break;
|
|
}
|
|
(10 === s2 || 92 === s2 && ++C2 < y2 && 10 === g2.charCodeAt(C2)) && v2++;
|
|
}
|
|
if (h2 < 0 || 58 !== g2.charCodeAt(h2 + 1))
|
|
return false;
|
|
for (C2 = h2 + 2; C2 < y2; C2++)
|
|
if (10 === (s2 = g2.charCodeAt(C2)))
|
|
v2++;
|
|
else if (!Ce(s2))
|
|
break;
|
|
if (!(d2 = e2.md.helpers.parseLinkDestination(g2, C2, y2)).ok)
|
|
return false;
|
|
if (c2 = e2.md.normalizeLink(d2.str), !e2.md.validateLink(c2))
|
|
return false;
|
|
for (o2 = C2 = d2.pos, i2 = v2 += d2.lines, m2 = C2; C2 < y2; C2++)
|
|
if (10 === (s2 = g2.charCodeAt(C2)))
|
|
v2++;
|
|
else if (!Ce(s2))
|
|
break;
|
|
for (d2 = e2.md.helpers.parseLinkTitle(g2, C2, y2), C2 < y2 && m2 !== C2 && d2.ok ? (b2 = d2.str, C2 = d2.pos, v2 += d2.lines) : (b2 = "", C2 = o2, v2 = i2); C2 < y2 && (s2 = g2.charCodeAt(C2), Ce(s2)); )
|
|
C2++;
|
|
if (C2 < y2 && 10 !== g2.charCodeAt(C2) && b2)
|
|
for (b2 = "", C2 = o2, v2 = i2; C2 < y2 && (s2 = g2.charCodeAt(C2), Ce(s2)); )
|
|
C2++;
|
|
return !(C2 < y2 && 10 !== g2.charCodeAt(C2)) && (!!(p2 = ve(g2.slice(1, h2))) && (n2 || (void 0 === e2.env.references && (e2.env.references = {}), void 0 === e2.env.references[p2] && (e2.env.references[p2] = { title: b2, href: c2 }), e2.parentType = f2, e2.line = r2 + v2 + 1), true));
|
|
}], ["html_block", function(e2, r2, t2, n2) {
|
|
var s2, o2, i2, a2, c2 = e2.bMarks[r2] + e2.tShift[r2], l2 = e2.eMarks[r2];
|
|
if (e2.sCount[r2] - e2.blkIndent >= 4)
|
|
return false;
|
|
if (!e2.md.options.html)
|
|
return false;
|
|
if (60 !== e2.src.charCodeAt(c2))
|
|
return false;
|
|
for (a2 = e2.src.slice(c2, l2), s2 = 0; s2 < Se.length && !Se[s2][0].test(a2); s2++)
|
|
;
|
|
if (s2 === Se.length)
|
|
return false;
|
|
if (n2)
|
|
return Se[s2][2];
|
|
if (o2 = r2 + 1, !Se[s2][1].test(a2)) {
|
|
for (; o2 < t2 && !(e2.sCount[o2] < e2.blkIndent); o2++)
|
|
if (c2 = e2.bMarks[o2] + e2.tShift[o2], l2 = e2.eMarks[o2], a2 = e2.src.slice(c2, l2), Se[s2][1].test(a2)) {
|
|
0 !== a2.length && o2++;
|
|
break;
|
|
}
|
|
}
|
|
return e2.line = o2, (i2 = e2.push("html_block", "", 0)).map = [r2, o2], i2.content = e2.getLines(r2, o2, e2.blkIndent, true), true;
|
|
}, ["paragraph", "reference", "blockquote"]], ["heading", function(e2, r2, t2, n2) {
|
|
var s2, o2, i2, a2, c2 = e2.bMarks[r2] + e2.tShift[r2], l2 = e2.eMarks[r2];
|
|
if (e2.sCount[r2] - e2.blkIndent >= 4)
|
|
return false;
|
|
if (35 !== (s2 = e2.src.charCodeAt(c2)) || c2 >= l2)
|
|
return false;
|
|
for (o2 = 1, s2 = e2.src.charCodeAt(++c2); 35 === s2 && c2 < l2 && o2 <= 6; )
|
|
o2++, s2 = e2.src.charCodeAt(++c2);
|
|
return !(o2 > 6 || c2 < l2 && !Fe(s2)) && (n2 || (l2 = e2.skipSpacesBack(l2, c2), (i2 = e2.skipCharsBack(l2, 35, c2)) > c2 && Fe(e2.src.charCodeAt(i2 - 1)) && (l2 = i2), e2.line = r2 + 1, (a2 = e2.push("heading_open", "h" + String(o2), 1)).markup = "########".slice(0, o2), a2.map = [r2, e2.line], (a2 = e2.push("inline", "", 0)).content = e2.src.slice(c2, l2).trim(), a2.map = [r2, e2.line], a2.children = [], (a2 = e2.push("heading_close", "h" + String(o2), -1)).markup = "########".slice(0, o2)), true);
|
|
}, ["paragraph", "reference", "blockquote"]], ["lheading", function(e2, r2, t2) {
|
|
var n2, s2, o2, i2, a2, c2, l2, u2, p2, h2, f2 = r2 + 1, d2 = e2.md.block.ruler.getRules("paragraph");
|
|
if (e2.sCount[r2] - e2.blkIndent >= 4)
|
|
return false;
|
|
for (h2 = e2.parentType, e2.parentType = "paragraph"; f2 < t2 && !e2.isEmpty(f2); f2++)
|
|
if (!(e2.sCount[f2] - e2.blkIndent > 3)) {
|
|
if (e2.sCount[f2] >= e2.blkIndent && (c2 = e2.bMarks[f2] + e2.tShift[f2]) < (l2 = e2.eMarks[f2]) && (45 === (p2 = e2.src.charCodeAt(c2)) || 61 === p2) && (c2 = e2.skipChars(c2, p2), (c2 = e2.skipSpaces(c2)) >= l2)) {
|
|
u2 = 61 === p2 ? 1 : 2;
|
|
break;
|
|
}
|
|
if (!(e2.sCount[f2] < 0)) {
|
|
for (s2 = false, o2 = 0, i2 = d2.length; o2 < i2; o2++)
|
|
if (d2[o2](e2, f2, t2, true)) {
|
|
s2 = true;
|
|
break;
|
|
}
|
|
if (s2)
|
|
break;
|
|
}
|
|
}
|
|
return !!u2 && (n2 = e2.getLines(r2, f2, e2.blkIndent, false).trim(), e2.line = f2 + 1, (a2 = e2.push("heading_open", "h" + String(u2), 1)).markup = String.fromCharCode(p2), a2.map = [r2, e2.line], (a2 = e2.push("inline", "", 0)).content = n2, a2.map = [r2, e2.line - 1], a2.children = [], (a2 = e2.push("heading_close", "h" + String(u2), -1)).markup = String.fromCharCode(p2), e2.parentType = h2, true);
|
|
}], ["paragraph", function(e2, r2) {
|
|
var t2, n2, s2, o2, i2, a2, c2 = r2 + 1, l2 = e2.md.block.ruler.getRules("paragraph"), u2 = e2.lineMax;
|
|
for (a2 = e2.parentType, e2.parentType = "paragraph"; c2 < u2 && !e2.isEmpty(c2); c2++)
|
|
if (!(e2.sCount[c2] - e2.blkIndent > 3 || e2.sCount[c2] < 0)) {
|
|
for (n2 = false, s2 = 0, o2 = l2.length; s2 < o2; s2++)
|
|
if (l2[s2](e2, c2, u2, true)) {
|
|
n2 = true;
|
|
break;
|
|
}
|
|
if (n2)
|
|
break;
|
|
}
|
|
return t2 = e2.getLines(r2, c2, e2.blkIndent, false).trim(), e2.line = c2, (i2 = e2.push("paragraph_open", "p", 1)).map = [r2, e2.line], (i2 = e2.push("inline", "", 0)).content = t2, i2.map = [r2, e2.line], i2.children = [], i2 = e2.push("paragraph_close", "p", -1), e2.parentType = a2, true;
|
|
}]];
|
|
function Be() {
|
|
this.ruler = new Me();
|
|
for (var e2 = 0; e2 < Re.length; e2++)
|
|
this.ruler.push(Re[e2][0], Re[e2][1], { alt: (Re[e2][2] || []).slice() });
|
|
}
|
|
Be.prototype.tokenize = function(e2, r2, t2) {
|
|
for (var n2, s2 = this.ruler.getRules(""), o2 = s2.length, i2 = r2, a2 = false, c2 = e2.md.options.maxNesting; i2 < t2 && (e2.line = i2 = e2.skipEmptyLines(i2), !(i2 >= t2)) && !(e2.sCount[i2] < e2.blkIndent); ) {
|
|
if (e2.level >= c2) {
|
|
e2.line = t2;
|
|
break;
|
|
}
|
|
for (n2 = 0; n2 < o2 && !s2[n2](e2, i2, t2, false); n2++)
|
|
;
|
|
e2.tight = !a2, e2.isEmpty(e2.line - 1) && (a2 = true), (i2 = e2.line) < t2 && e2.isEmpty(i2) && (a2 = true, i2++, e2.line = i2);
|
|
}
|
|
}, Be.prototype.parse = function(e2, r2, t2, n2) {
|
|
var s2;
|
|
e2 && (s2 = new this.State(e2, r2, t2, n2), this.tokenize(s2, s2.line, s2.lineMax));
|
|
}, Be.prototype.State = Ie;
|
|
var Ne = Be;
|
|
function Oe(e2) {
|
|
switch (e2) {
|
|
case 10:
|
|
case 33:
|
|
case 35:
|
|
case 36:
|
|
case 37:
|
|
case 38:
|
|
case 42:
|
|
case 43:
|
|
case 45:
|
|
case 58:
|
|
case 60:
|
|
case 61:
|
|
case 62:
|
|
case 64:
|
|
case 91:
|
|
case 92:
|
|
case 93:
|
|
case 94:
|
|
case 95:
|
|
case 96:
|
|
case 123:
|
|
case 125:
|
|
case 126:
|
|
return true;
|
|
default:
|
|
return false;
|
|
}
|
|
}
|
|
for (var Pe = /(?:^|[^a-z0-9.+-])([a-z][a-z0-9.+-]*)$/i, je = r.isSpace, Ue = r.isSpace, Ve = [], Ze = 0; Ze < 256; Ze++)
|
|
Ve.push(0);
|
|
"\\!\"#$%&'()*+,./:;<=>?@[]^_`{|}~-".split("").forEach(function(e2) {
|
|
Ve[e2.charCodeAt(0)] = 1;
|
|
});
|
|
var $e = {};
|
|
function Ge(e2, r2) {
|
|
var t2, n2, s2, o2, i2, a2 = [], c2 = r2.length;
|
|
for (t2 = 0; t2 < c2; t2++)
|
|
126 === (s2 = r2[t2]).marker && -1 !== s2.end && (o2 = r2[s2.end], (i2 = e2.tokens[s2.token]).type = "s_open", i2.tag = "s", i2.nesting = 1, i2.markup = "~~", i2.content = "", (i2 = e2.tokens[o2.token]).type = "s_close", i2.tag = "s", i2.nesting = -1, i2.markup = "~~", i2.content = "", "text" === e2.tokens[o2.token - 1].type && "~" === e2.tokens[o2.token - 1].content && a2.push(o2.token - 1));
|
|
for (; a2.length; ) {
|
|
for (n2 = (t2 = a2.pop()) + 1; n2 < e2.tokens.length && "s_close" === e2.tokens[n2].type; )
|
|
n2++;
|
|
t2 !== --n2 && (i2 = e2.tokens[n2], e2.tokens[n2] = e2.tokens[t2], e2.tokens[t2] = i2);
|
|
}
|
|
}
|
|
$e.tokenize = function(e2, r2) {
|
|
var t2, n2, s2, o2, i2 = e2.pos, a2 = e2.src.charCodeAt(i2);
|
|
if (r2)
|
|
return false;
|
|
if (126 !== a2)
|
|
return false;
|
|
if (s2 = (n2 = e2.scanDelims(e2.pos, true)).length, o2 = String.fromCharCode(a2), s2 < 2)
|
|
return false;
|
|
for (s2 % 2 && (e2.push("text", "", 0).content = o2, s2--), t2 = 0; t2 < s2; t2 += 2)
|
|
e2.push("text", "", 0).content = o2 + o2, e2.delimiters.push({ marker: a2, length: 0, token: e2.tokens.length - 1, end: -1, open: n2.can_open, close: n2.can_close });
|
|
return e2.pos += n2.length, true;
|
|
}, $e.postProcess = function(e2) {
|
|
var r2, t2 = e2.tokens_meta, n2 = e2.tokens_meta.length;
|
|
for (Ge(e2, e2.delimiters), r2 = 0; r2 < n2; r2++)
|
|
t2[r2] && t2[r2].delimiters && Ge(e2, t2[r2].delimiters);
|
|
};
|
|
var He = {};
|
|
function Je(e2, r2) {
|
|
var t2, n2, s2, o2, i2, a2;
|
|
for (t2 = r2.length - 1; t2 >= 0; t2--)
|
|
95 !== (n2 = r2[t2]).marker && 42 !== n2.marker || -1 !== n2.end && (s2 = r2[n2.end], a2 = t2 > 0 && r2[t2 - 1].end === n2.end + 1 && r2[t2 - 1].marker === n2.marker && r2[t2 - 1].token === n2.token - 1 && r2[n2.end + 1].token === s2.token + 1, i2 = String.fromCharCode(n2.marker), (o2 = e2.tokens[n2.token]).type = a2 ? "strong_open" : "em_open", o2.tag = a2 ? "strong" : "em", o2.nesting = 1, o2.markup = a2 ? i2 + i2 : i2, o2.content = "", (o2 = e2.tokens[s2.token]).type = a2 ? "strong_close" : "em_close", o2.tag = a2 ? "strong" : "em", o2.nesting = -1, o2.markup = a2 ? i2 + i2 : i2, o2.content = "", a2 && (e2.tokens[r2[t2 - 1].token].content = "", e2.tokens[r2[n2.end + 1].token].content = "", t2--));
|
|
}
|
|
He.tokenize = function(e2, r2) {
|
|
var t2, n2, s2 = e2.pos, o2 = e2.src.charCodeAt(s2);
|
|
if (r2)
|
|
return false;
|
|
if (95 !== o2 && 42 !== o2)
|
|
return false;
|
|
for (n2 = e2.scanDelims(e2.pos, 42 === o2), t2 = 0; t2 < n2.length; t2++)
|
|
e2.push("text", "", 0).content = String.fromCharCode(o2), e2.delimiters.push({ marker: o2, length: n2.length, token: e2.tokens.length - 1, end: -1, open: n2.can_open, close: n2.can_close });
|
|
return e2.pos += n2.length, true;
|
|
}, He.postProcess = function(e2) {
|
|
var r2, t2 = e2.tokens_meta, n2 = e2.tokens_meta.length;
|
|
for (Je(e2, e2.delimiters), r2 = 0; r2 < n2; r2++)
|
|
t2[r2] && t2[r2].delimiters && Je(e2, t2[r2].delimiters);
|
|
};
|
|
var We = r.normalizeReference, Ye = r.isSpace, Ke = r.normalizeReference, Qe = r.isSpace, Xe = /^([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/, er = /^([a-zA-Z][a-zA-Z0-9+.\-]{1,31}):([^<>\x00-\x20]*)$/, rr = ye.HTML_TAG_RE;
|
|
var tr = t, nr = r.has, sr = r.isValidEntityCode, or = r.fromCodePoint, ir = /^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i, ar = /^&([a-z][a-z0-9]{1,31});/i;
|
|
function cr(e2, r2) {
|
|
var t2, n2, s2, o2, i2, a2, c2, l2, u2 = {}, p2 = r2.length;
|
|
if (p2) {
|
|
var h2 = 0, f2 = -2, d2 = [];
|
|
for (t2 = 0; t2 < p2; t2++)
|
|
if (s2 = r2[t2], d2.push(0), r2[h2].marker === s2.marker && f2 === s2.token - 1 || (h2 = t2), f2 = s2.token, s2.length = s2.length || 0, s2.close) {
|
|
for (u2.hasOwnProperty(s2.marker) || (u2[s2.marker] = [-1, -1, -1, -1, -1, -1]), i2 = u2[s2.marker][(s2.open ? 3 : 0) + s2.length % 3], a2 = n2 = h2 - d2[h2] - 1; n2 > i2; n2 -= d2[n2] + 1)
|
|
if ((o2 = r2[n2]).marker === s2.marker && o2.open && o2.end < 0 && (c2 = false, (o2.close || s2.open) && (o2.length + s2.length) % 3 == 0 && (o2.length % 3 == 0 && s2.length % 3 == 0 || (c2 = true)), !c2)) {
|
|
l2 = n2 > 0 && !r2[n2 - 1].open ? d2[n2 - 1] + 1 : 0, d2[t2] = t2 - n2 + l2, d2[n2] = l2, s2.open = false, o2.end = t2, o2.close = false, a2 = -1, f2 = -2;
|
|
break;
|
|
}
|
|
-1 !== a2 && (u2[s2.marker][(s2.open ? 3 : 0) + (s2.length || 0) % 3] = a2);
|
|
}
|
|
}
|
|
}
|
|
var lr = se, ur = r.isWhiteSpace, pr = r.isPunctChar, hr = r.isMdAsciiPunct;
|
|
function fr(e2, r2, t2, n2) {
|
|
this.src = e2, this.env = t2, this.md = r2, this.tokens = n2, this.tokens_meta = Array(n2.length), this.pos = 0, this.posMax = this.src.length, this.level = 0, this.pending = "", this.pendingLevel = 0, this.cache = {}, this.delimiters = [], this._prev_delimiters = [], this.backticks = {}, this.backticksScanned = false, this.linkLevel = 0;
|
|
}
|
|
fr.prototype.pushPending = function() {
|
|
var e2 = new lr("text", "", 0);
|
|
return e2.content = this.pending, e2.level = this.pendingLevel, this.tokens.push(e2), this.pending = "", e2;
|
|
}, fr.prototype.push = function(e2, r2, t2) {
|
|
this.pending && this.pushPending();
|
|
var n2 = new lr(e2, r2, t2), s2 = null;
|
|
return t2 < 0 && (this.level--, this.delimiters = this._prev_delimiters.pop()), n2.level = this.level, t2 > 0 && (this.level++, this._prev_delimiters.push(this.delimiters), this.delimiters = [], s2 = { delimiters: this.delimiters }), this.pendingLevel = this.level, this.tokens.push(n2), this.tokens_meta.push(s2), n2;
|
|
}, fr.prototype.scanDelims = function(e2, r2) {
|
|
var t2, n2, s2, o2, i2, a2, c2, l2, u2, p2 = e2, h2 = true, f2 = true, d2 = this.posMax, m2 = this.src.charCodeAt(e2);
|
|
for (t2 = e2 > 0 ? this.src.charCodeAt(e2 - 1) : 32; p2 < d2 && this.src.charCodeAt(p2) === m2; )
|
|
p2++;
|
|
return s2 = p2 - e2, n2 = p2 < d2 ? this.src.charCodeAt(p2) : 32, c2 = hr(t2) || pr(String.fromCharCode(t2)), u2 = hr(n2) || pr(String.fromCharCode(n2)), a2 = ur(t2), (l2 = ur(n2)) ? h2 = false : u2 && (a2 || c2 || (h2 = false)), a2 ? f2 = false : c2 && (l2 || u2 || (f2 = false)), r2 ? (o2 = h2, i2 = f2) : (o2 = h2 && (!f2 || c2), i2 = f2 && (!h2 || u2)), { can_open: o2, can_close: i2, length: s2 };
|
|
}, fr.prototype.Token = lr;
|
|
var dr = fr, mr = N, gr = [["text", function(e2, r2) {
|
|
for (var t2 = e2.pos; t2 < e2.posMax && !Oe(e2.src.charCodeAt(t2)); )
|
|
t2++;
|
|
return t2 !== e2.pos && (r2 || (e2.pending += e2.src.slice(e2.pos, t2)), e2.pos = t2, true);
|
|
}], ["linkify", function(e2, r2) {
|
|
var t2, n2, s2, o2, i2, a2, c2;
|
|
return !!e2.md.options.linkify && (!(e2.linkLevel > 0) && (!((t2 = e2.pos) + 3 > e2.posMax) && (58 === e2.src.charCodeAt(t2) && (47 === e2.src.charCodeAt(t2 + 1) && (47 === e2.src.charCodeAt(t2 + 2) && (!!(n2 = e2.pending.match(Pe)) && (s2 = n2[1], !!(o2 = e2.md.linkify.matchAtStart(e2.src.slice(t2 - s2.length))) && (i2 = (i2 = o2.url).replace(/\*+$/, ""), a2 = e2.md.normalizeLink(i2), !!e2.md.validateLink(a2) && (r2 || (e2.pending = e2.pending.slice(0, -s2.length), (c2 = e2.push("link_open", "a", 1)).attrs = [["href", a2]], c2.markup = "linkify", c2.info = "auto", (c2 = e2.push("text", "", 0)).content = e2.md.normalizeLinkText(i2), (c2 = e2.push("link_close", "a", -1)).markup = "linkify", c2.info = "auto"), e2.pos += i2.length - s2.length, true)))))))));
|
|
}], ["newline", function(e2, r2) {
|
|
var t2, n2, s2, o2 = e2.pos;
|
|
if (10 !== e2.src.charCodeAt(o2))
|
|
return false;
|
|
if (t2 = e2.pending.length - 1, n2 = e2.posMax, !r2)
|
|
if (t2 >= 0 && 32 === e2.pending.charCodeAt(t2))
|
|
if (t2 >= 1 && 32 === e2.pending.charCodeAt(t2 - 1)) {
|
|
for (s2 = t2 - 1; s2 >= 1 && 32 === e2.pending.charCodeAt(s2 - 1); )
|
|
s2--;
|
|
e2.pending = e2.pending.slice(0, s2), e2.push("hardbreak", "br", 0);
|
|
} else
|
|
e2.pending = e2.pending.slice(0, -1), e2.push("softbreak", "br", 0);
|
|
else
|
|
e2.push("softbreak", "br", 0);
|
|
for (o2++; o2 < n2 && je(e2.src.charCodeAt(o2)); )
|
|
o2++;
|
|
return e2.pos = o2, true;
|
|
}], ["escape", function(e2, r2) {
|
|
var t2, n2, s2, o2, i2, a2 = e2.pos, c2 = e2.posMax;
|
|
if (92 !== e2.src.charCodeAt(a2))
|
|
return false;
|
|
if (++a2 >= c2)
|
|
return false;
|
|
if (10 === (t2 = e2.src.charCodeAt(a2))) {
|
|
for (r2 || e2.push("hardbreak", "br", 0), a2++; a2 < c2 && (t2 = e2.src.charCodeAt(a2), Ue(t2)); )
|
|
a2++;
|
|
return e2.pos = a2, true;
|
|
}
|
|
return o2 = e2.src[a2], t2 >= 55296 && t2 <= 56319 && a2 + 1 < c2 && (n2 = e2.src.charCodeAt(a2 + 1)) >= 56320 && n2 <= 57343 && (o2 += e2.src[a2 + 1], a2++), s2 = "\\" + o2, r2 || (i2 = e2.push("text_special", "", 0), t2 < 256 && 0 !== Ve[t2] ? i2.content = o2 : i2.content = s2, i2.markup = s2, i2.info = "escape"), e2.pos = a2 + 1, true;
|
|
}], ["backticks", function(e2, r2) {
|
|
var t2, n2, s2, o2, i2, a2, c2, l2, u2 = e2.pos;
|
|
if (96 !== e2.src.charCodeAt(u2))
|
|
return false;
|
|
for (t2 = u2, u2++, n2 = e2.posMax; u2 < n2 && 96 === e2.src.charCodeAt(u2); )
|
|
u2++;
|
|
if (c2 = (s2 = e2.src.slice(t2, u2)).length, e2.backticksScanned && (e2.backticks[c2] || 0) <= t2)
|
|
return r2 || (e2.pending += s2), e2.pos += c2, true;
|
|
for (i2 = a2 = u2; -1 !== (i2 = e2.src.indexOf("`", a2)); ) {
|
|
for (a2 = i2 + 1; a2 < n2 && 96 === e2.src.charCodeAt(a2); )
|
|
a2++;
|
|
if ((l2 = a2 - i2) === c2)
|
|
return r2 || ((o2 = e2.push("code_inline", "code", 0)).markup = s2, o2.content = e2.src.slice(u2, i2).replace(/\n/g, " ").replace(/^ (.+) $/, "$1")), e2.pos = a2, true;
|
|
e2.backticks[l2] = i2;
|
|
}
|
|
return e2.backticksScanned = true, r2 || (e2.pending += s2), e2.pos += c2, true;
|
|
}], ["strikethrough", $e.tokenize], ["emphasis", He.tokenize], ["link", function(e2, r2) {
|
|
var t2, n2, s2, o2, i2, a2, c2, l2, u2 = "", p2 = "", h2 = e2.pos, f2 = e2.posMax, d2 = e2.pos, m2 = true;
|
|
if (91 !== e2.src.charCodeAt(e2.pos))
|
|
return false;
|
|
if (i2 = e2.pos + 1, (o2 = e2.md.helpers.parseLinkLabel(e2, e2.pos, true)) < 0)
|
|
return false;
|
|
if ((a2 = o2 + 1) < f2 && 40 === e2.src.charCodeAt(a2)) {
|
|
for (m2 = false, a2++; a2 < f2 && (n2 = e2.src.charCodeAt(a2), Ye(n2) || 10 === n2); a2++)
|
|
;
|
|
if (a2 >= f2)
|
|
return false;
|
|
if (d2 = a2, (c2 = e2.md.helpers.parseLinkDestination(e2.src, a2, e2.posMax)).ok) {
|
|
for (u2 = e2.md.normalizeLink(c2.str), e2.md.validateLink(u2) ? a2 = c2.pos : u2 = "", d2 = a2; a2 < f2 && (n2 = e2.src.charCodeAt(a2), Ye(n2) || 10 === n2); a2++)
|
|
;
|
|
if (c2 = e2.md.helpers.parseLinkTitle(e2.src, a2, e2.posMax), a2 < f2 && d2 !== a2 && c2.ok)
|
|
for (p2 = c2.str, a2 = c2.pos; a2 < f2 && (n2 = e2.src.charCodeAt(a2), Ye(n2) || 10 === n2); a2++)
|
|
;
|
|
}
|
|
(a2 >= f2 || 41 !== e2.src.charCodeAt(a2)) && (m2 = true), a2++;
|
|
}
|
|
if (m2) {
|
|
if (void 0 === e2.env.references)
|
|
return false;
|
|
if (a2 < f2 && 91 === e2.src.charCodeAt(a2) ? (d2 = a2 + 1, (a2 = e2.md.helpers.parseLinkLabel(e2, a2)) >= 0 ? s2 = e2.src.slice(d2, a2++) : a2 = o2 + 1) : a2 = o2 + 1, s2 || (s2 = e2.src.slice(i2, o2)), !(l2 = e2.env.references[We(s2)]))
|
|
return e2.pos = h2, false;
|
|
u2 = l2.href, p2 = l2.title;
|
|
}
|
|
return r2 || (e2.pos = i2, e2.posMax = o2, e2.push("link_open", "a", 1).attrs = t2 = [["href", u2]], p2 && t2.push(["title", p2]), e2.linkLevel++, e2.md.inline.tokenize(e2), e2.linkLevel--, e2.push("link_close", "a", -1)), e2.pos = a2, e2.posMax = f2, true;
|
|
}], ["image", function(e2, r2) {
|
|
var t2, n2, s2, o2, i2, a2, c2, l2, u2, p2, h2, f2, d2, m2 = "", g2 = e2.pos, _2 = e2.posMax;
|
|
if (33 !== e2.src.charCodeAt(e2.pos))
|
|
return false;
|
|
if (91 !== e2.src.charCodeAt(e2.pos + 1))
|
|
return false;
|
|
if (a2 = e2.pos + 2, (i2 = e2.md.helpers.parseLinkLabel(e2, e2.pos + 1, false)) < 0)
|
|
return false;
|
|
if ((c2 = i2 + 1) < _2 && 40 === e2.src.charCodeAt(c2)) {
|
|
for (c2++; c2 < _2 && (n2 = e2.src.charCodeAt(c2), Qe(n2) || 10 === n2); c2++)
|
|
;
|
|
if (c2 >= _2)
|
|
return false;
|
|
for (d2 = c2, (u2 = e2.md.helpers.parseLinkDestination(e2.src, c2, e2.posMax)).ok && (m2 = e2.md.normalizeLink(u2.str), e2.md.validateLink(m2) ? c2 = u2.pos : m2 = ""), d2 = c2; c2 < _2 && (n2 = e2.src.charCodeAt(c2), Qe(n2) || 10 === n2); c2++)
|
|
;
|
|
if (u2 = e2.md.helpers.parseLinkTitle(e2.src, c2, e2.posMax), c2 < _2 && d2 !== c2 && u2.ok)
|
|
for (p2 = u2.str, c2 = u2.pos; c2 < _2 && (n2 = e2.src.charCodeAt(c2), Qe(n2) || 10 === n2); c2++)
|
|
;
|
|
else
|
|
p2 = "";
|
|
if (c2 >= _2 || 41 !== e2.src.charCodeAt(c2))
|
|
return e2.pos = g2, false;
|
|
c2++;
|
|
} else {
|
|
if (void 0 === e2.env.references)
|
|
return false;
|
|
if (c2 < _2 && 91 === e2.src.charCodeAt(c2) ? (d2 = c2 + 1, (c2 = e2.md.helpers.parseLinkLabel(e2, c2)) >= 0 ? o2 = e2.src.slice(d2, c2++) : c2 = i2 + 1) : c2 = i2 + 1, o2 || (o2 = e2.src.slice(a2, i2)), !(l2 = e2.env.references[Ke(o2)]))
|
|
return e2.pos = g2, false;
|
|
m2 = l2.href, p2 = l2.title;
|
|
}
|
|
return r2 || (s2 = e2.src.slice(a2, i2), e2.md.inline.parse(s2, e2.md, e2.env, f2 = []), (h2 = e2.push("image", "img", 0)).attrs = t2 = [["src", m2], ["alt", ""]], h2.children = f2, h2.content = s2, p2 && t2.push(["title", p2])), e2.pos = c2, e2.posMax = _2, true;
|
|
}], ["autolink", function(e2, r2) {
|
|
var t2, n2, s2, o2, i2, a2, c2 = e2.pos;
|
|
if (60 !== e2.src.charCodeAt(c2))
|
|
return false;
|
|
for (i2 = e2.pos, a2 = e2.posMax; ; ) {
|
|
if (++c2 >= a2)
|
|
return false;
|
|
if (60 === (o2 = e2.src.charCodeAt(c2)))
|
|
return false;
|
|
if (62 === o2)
|
|
break;
|
|
}
|
|
return t2 = e2.src.slice(i2 + 1, c2), er.test(t2) ? (n2 = e2.md.normalizeLink(t2), !!e2.md.validateLink(n2) && (r2 || ((s2 = e2.push("link_open", "a", 1)).attrs = [["href", n2]], s2.markup = "autolink", s2.info = "auto", (s2 = e2.push("text", "", 0)).content = e2.md.normalizeLinkText(t2), (s2 = e2.push("link_close", "a", -1)).markup = "autolink", s2.info = "auto"), e2.pos += t2.length + 2, true)) : !!Xe.test(t2) && (n2 = e2.md.normalizeLink("mailto:" + t2), !!e2.md.validateLink(n2) && (r2 || ((s2 = e2.push("link_open", "a", 1)).attrs = [["href", n2]], s2.markup = "autolink", s2.info = "auto", (s2 = e2.push("text", "", 0)).content = e2.md.normalizeLinkText(t2), (s2 = e2.push("link_close", "a", -1)).markup = "autolink", s2.info = "auto"), e2.pos += t2.length + 2, true));
|
|
}], ["html_inline", function(e2, r2) {
|
|
var t2, n2, s2, o2, i2, a2 = e2.pos;
|
|
return !!e2.md.options.html && (s2 = e2.posMax, !(60 !== e2.src.charCodeAt(a2) || a2 + 2 >= s2) && (!(33 !== (t2 = e2.src.charCodeAt(a2 + 1)) && 63 !== t2 && 47 !== t2 && !function(e3) {
|
|
var r3 = 32 | e3;
|
|
return r3 >= 97 && r3 <= 122;
|
|
}(t2)) && (!!(n2 = e2.src.slice(a2).match(rr)) && (r2 || ((o2 = e2.push("html_inline", "", 0)).content = e2.src.slice(a2, a2 + n2[0].length), i2 = o2.content, /^<a[>\s]/i.test(i2) && e2.linkLevel++, function(e3) {
|
|
return /^<\/a\s*>/i.test(e3);
|
|
}(o2.content) && e2.linkLevel--), e2.pos += n2[0].length, true))));
|
|
}], ["entity", function(e2, r2) {
|
|
var t2, n2, s2, o2 = e2.pos, i2 = e2.posMax;
|
|
if (38 !== e2.src.charCodeAt(o2))
|
|
return false;
|
|
if (o2 + 1 >= i2)
|
|
return false;
|
|
if (35 === e2.src.charCodeAt(o2 + 1)) {
|
|
if (n2 = e2.src.slice(o2).match(ir))
|
|
return r2 || (t2 = "x" === n2[1][0].toLowerCase() ? parseInt(n2[1].slice(1), 16) : parseInt(n2[1], 10), (s2 = e2.push("text_special", "", 0)).content = sr(t2) ? or(t2) : or(65533), s2.markup = n2[0], s2.info = "entity"), e2.pos += n2[0].length, true;
|
|
} else if ((n2 = e2.src.slice(o2).match(ar)) && nr(tr, n2[1]))
|
|
return r2 || ((s2 = e2.push("text_special", "", 0)).content = tr[n2[1]], s2.markup = n2[0], s2.info = "entity"), e2.pos += n2[0].length, true;
|
|
return false;
|
|
}]], _r = [["balance_pairs", function(e2) {
|
|
var r2, t2 = e2.tokens_meta, n2 = e2.tokens_meta.length;
|
|
for (cr(0, e2.delimiters), r2 = 0; r2 < n2; r2++)
|
|
t2[r2] && t2[r2].delimiters && cr(0, t2[r2].delimiters);
|
|
}], ["strikethrough", $e.postProcess], ["emphasis", He.postProcess], ["fragments_join", function(e2) {
|
|
var r2, t2, n2 = 0, s2 = e2.tokens, o2 = e2.tokens.length;
|
|
for (r2 = t2 = 0; r2 < o2; r2++)
|
|
s2[r2].nesting < 0 && n2--, s2[r2].level = n2, s2[r2].nesting > 0 && n2++, "text" === s2[r2].type && r2 + 1 < o2 && "text" === s2[r2 + 1].type ? s2[r2 + 1].content = s2[r2].content + s2[r2 + 1].content : (r2 !== t2 && (s2[t2] = s2[r2]), t2++);
|
|
r2 !== t2 && (s2.length = t2);
|
|
}]];
|
|
function kr() {
|
|
var e2;
|
|
for (this.ruler = new mr(), e2 = 0; e2 < gr.length; e2++)
|
|
this.ruler.push(gr[e2][0], gr[e2][1]);
|
|
for (this.ruler2 = new mr(), e2 = 0; e2 < _r.length; e2++)
|
|
this.ruler2.push(_r[e2][0], _r[e2][1]);
|
|
}
|
|
kr.prototype.skipToken = function(e2) {
|
|
var r2, t2, n2 = e2.pos, s2 = this.ruler.getRules(""), o2 = s2.length, i2 = e2.md.options.maxNesting, a2 = e2.cache;
|
|
if (void 0 === a2[n2]) {
|
|
if (e2.level < i2)
|
|
for (t2 = 0; t2 < o2 && (e2.level++, r2 = s2[t2](e2, true), e2.level--, !r2); t2++)
|
|
;
|
|
else
|
|
e2.pos = e2.posMax;
|
|
r2 || e2.pos++, a2[n2] = e2.pos;
|
|
} else
|
|
e2.pos = a2[n2];
|
|
}, kr.prototype.tokenize = function(e2) {
|
|
for (var r2, t2, n2 = this.ruler.getRules(""), s2 = n2.length, o2 = e2.posMax, i2 = e2.md.options.maxNesting; e2.pos < o2; ) {
|
|
if (e2.level < i2)
|
|
for (t2 = 0; t2 < s2 && !(r2 = n2[t2](e2, false)); t2++)
|
|
;
|
|
if (r2) {
|
|
if (e2.pos >= o2)
|
|
break;
|
|
} else
|
|
e2.pending += e2.src[e2.pos++];
|
|
}
|
|
e2.pending && e2.pushPending();
|
|
}, kr.prototype.parse = function(e2, r2, t2, n2) {
|
|
var s2, o2, i2, a2 = new this.State(e2, r2, t2, n2);
|
|
for (this.tokenize(a2), i2 = (o2 = this.ruler2.getRules("")).length, s2 = 0; s2 < i2; s2++)
|
|
o2[s2](a2);
|
|
}, kr.prototype.State = dr;
|
|
var br = kr;
|
|
function vr(e2) {
|
|
var r2 = Array.prototype.slice.call(arguments, 1);
|
|
return r2.forEach(function(r3) {
|
|
r3 && Object.keys(r3).forEach(function(t2) {
|
|
e2[t2] = r3[t2];
|
|
});
|
|
}), e2;
|
|
}
|
|
function Cr(e2) {
|
|
return Object.prototype.toString.call(e2);
|
|
}
|
|
function yr(e2) {
|
|
return "[object Function]" === Cr(e2);
|
|
}
|
|
function Ar(e2) {
|
|
return e2.replace(/[.?*+^$[\]\\(){}|-]/g, "\\$&");
|
|
}
|
|
var xr = { fuzzyLink: true, fuzzyEmail: true, fuzzyIP: false };
|
|
var Dr = { "http:": { validate: function(e2, r2, t2) {
|
|
var n2 = e2.slice(r2);
|
|
return t2.re.http || (t2.re.http = new RegExp("^\\/\\/" + t2.re.src_auth + t2.re.src_host_port_strict + t2.re.src_path, "i")), t2.re.http.test(n2) ? n2.match(t2.re.http)[0].length : 0;
|
|
} }, "https:": "http:", "ftp:": "http:", "//": { validate: function(e2, r2, t2) {
|
|
var n2 = e2.slice(r2);
|
|
return t2.re.no_http || (t2.re.no_http = new RegExp("^" + t2.re.src_auth + "(?:localhost|(?:(?:" + t2.re.src_domain + ")\\.)+" + t2.re.src_domain_root + ")" + t2.re.src_port + t2.re.src_host_terminator + t2.re.src_path, "i")), t2.re.no_http.test(n2) ? r2 >= 3 && ":" === e2[r2 - 3] || r2 >= 3 && "/" === e2[r2 - 3] ? 0 : n2.match(t2.re.no_http)[0].length : 0;
|
|
} }, "mailto:": { validate: function(e2, r2, t2) {
|
|
var n2 = e2.slice(r2);
|
|
return t2.re.mailto || (t2.re.mailto = new RegExp("^" + t2.re.src_email_name + "@" + t2.re.src_host_strict, "i")), t2.re.mailto.test(n2) ? n2.match(t2.re.mailto)[0].length : 0;
|
|
} } }, wr = "biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|\u0440\u0444".split("|");
|
|
function Er(e2) {
|
|
var r2 = e2.re = function(e3) {
|
|
var r3 = {};
|
|
return e3 = e3 || {}, r3.src_Any = D.source, r3.src_Cc = w.source, r3.src_Z = E.source, r3.src_P = n.source, r3.src_ZPCc = [r3.src_Z, r3.src_P, r3.src_Cc].join("|"), r3.src_ZCc = [r3.src_Z, r3.src_Cc].join("|"), r3.src_pseudo_letter = "(?:(?![><\uFF5C]|" + r3.src_ZPCc + ")" + r3.src_Any + ")", r3.src_ip4 = "(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)", r3.src_auth = "(?:(?:(?!" + r3.src_ZCc + "|[@/\\[\\]()]).)+@)?", r3.src_port = "(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?", r3.src_host_terminator = "(?=$|[><\uFF5C]|" + r3.src_ZPCc + ")(?!" + (e3["---"] ? "-(?!--)|" : "-|") + "_|:\\d|\\.-|\\.(?!$|" + r3.src_ZPCc + "))", r3.src_path = "(?:[/?#](?:(?!" + r3.src_ZCc + `|[><\uFF5C]|[()[\\]{}.,"'?!\\-;]).|\\[(?:(?!` + r3.src_ZCc + "|\\]).)*\\]|\\((?:(?!" + r3.src_ZCc + "|[)]).)*\\)|\\{(?:(?!" + r3.src_ZCc + '|[}]).)*\\}|\\"(?:(?!' + r3.src_ZCc + `|["]).)+\\"|\\'(?:(?!` + r3.src_ZCc + "|[']).)+\\'|\\'(?=" + r3.src_pseudo_letter + "|[-])|\\.{2,}[a-zA-Z0-9%/&]|\\.(?!" + r3.src_ZCc + "|[.]|$)|" + (e3["---"] ? "\\-(?!--(?:[^-]|$))(?:-*)|" : "\\-+|") + ",(?!" + r3.src_ZCc + "|$)|;(?!" + r3.src_ZCc + "|$)|\\!+(?!" + r3.src_ZCc + "|[!]|$)|\\?(?!" + r3.src_ZCc + "|[?]|$))+|\\/)?", r3.src_email_name = '[\\-;:&=\\+\\$,\\.a-zA-Z0-9_][\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]*', r3.src_xn = "xn--[a-z0-9\\-]{1,59}", r3.src_domain_root = "(?:" + r3.src_xn + "|" + r3.src_pseudo_letter + "{1,63})", r3.src_domain = "(?:" + r3.src_xn + "|(?:" + r3.src_pseudo_letter + ")|(?:" + r3.src_pseudo_letter + "(?:-|" + r3.src_pseudo_letter + "){0,61}" + r3.src_pseudo_letter + "))", r3.src_host = "(?:(?:(?:(?:" + r3.src_domain + ")\\.)*" + r3.src_domain + "))", r3.tpl_host_fuzzy = "(?:" + r3.src_ip4 + "|(?:(?:(?:" + r3.src_domain + ")\\.)+(?:%TLDS%)))", r3.tpl_host_no_ip_fuzzy = "(?:(?:(?:" + r3.src_domain + ")\\.)+(?:%TLDS%))", r3.src_host_strict = r3.src_host + r3.src_host_terminator, r3.tpl_host_fuzzy_strict = r3.tpl_host_fuzzy + r3.src_host_terminator, r3.src_host_port_strict = r3.src_host + r3.src_port + r3.src_host_terminator, r3.tpl_host_port_fuzzy_strict = r3.tpl_host_fuzzy + r3.src_port + r3.src_host_terminator, r3.tpl_host_port_no_ip_fuzzy_strict = r3.tpl_host_no_ip_fuzzy + r3.src_port + r3.src_host_terminator, r3.tpl_host_fuzzy_test = "localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:" + r3.src_ZPCc + "|>|$))", r3.tpl_email_fuzzy = '(^|[><\uFF5C]|"|\\(|' + r3.src_ZCc + ")(" + r3.src_email_name + "@" + r3.tpl_host_fuzzy_strict + ")", r3.tpl_link_fuzzy = "(^|(?![.:/\\-_@])(?:[$+<=>^`|\uFF5C]|" + r3.src_ZPCc + "))((?![$+<=>^`|\uFF5C])" + r3.tpl_host_port_fuzzy_strict + r3.src_path + ")", r3.tpl_link_no_ip_fuzzy = "(^|(?![.:/\\-_@])(?:[$+<=>^`|\uFF5C]|" + r3.src_ZPCc + "))((?![$+<=>^`|\uFF5C])" + r3.tpl_host_port_no_ip_fuzzy_strict + r3.src_path + ")", r3;
|
|
}(e2.__opts__), t2 = e2.__tlds__.slice();
|
|
function s2(e3) {
|
|
return e3.replace("%TLDS%", r2.src_tlds);
|
|
}
|
|
e2.onCompile(), e2.__tlds_replaced__ || t2.push("a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]"), t2.push(r2.src_xn), r2.src_tlds = t2.join("|"), r2.email_fuzzy = RegExp(s2(r2.tpl_email_fuzzy), "i"), r2.link_fuzzy = RegExp(s2(r2.tpl_link_fuzzy), "i"), r2.link_no_ip_fuzzy = RegExp(s2(r2.tpl_link_no_ip_fuzzy), "i"), r2.host_fuzzy_test = RegExp(s2(r2.tpl_host_fuzzy_test), "i");
|
|
var o2 = [];
|
|
function i2(e3, r3) {
|
|
throw new Error('(LinkifyIt) Invalid schema "' + e3 + '": ' + r3);
|
|
}
|
|
e2.__compiled__ = {}, Object.keys(e2.__schemas__).forEach(function(r3) {
|
|
var t3 = e2.__schemas__[r3];
|
|
if (null !== t3) {
|
|
var n2 = { validate: null, link: null };
|
|
if (e2.__compiled__[r3] = n2, "[object Object]" === Cr(t3))
|
|
return !function(e3) {
|
|
return "[object RegExp]" === Cr(e3);
|
|
}(t3.validate) ? yr(t3.validate) ? n2.validate = t3.validate : i2(r3, t3) : n2.validate = function(e3) {
|
|
return function(r4, t4) {
|
|
var n3 = r4.slice(t4);
|
|
return e3.test(n3) ? n3.match(e3)[0].length : 0;
|
|
};
|
|
}(t3.validate), void (yr(t3.normalize) ? n2.normalize = t3.normalize : t3.normalize ? i2(r3, t3) : n2.normalize = function(e3, r4) {
|
|
r4.normalize(e3);
|
|
});
|
|
!function(e3) {
|
|
return "[object String]" === Cr(e3);
|
|
}(t3) ? i2(r3, t3) : o2.push(r3);
|
|
}
|
|
}), o2.forEach(function(r3) {
|
|
e2.__compiled__[e2.__schemas__[r3]] && (e2.__compiled__[r3].validate = e2.__compiled__[e2.__schemas__[r3]].validate, e2.__compiled__[r3].normalize = e2.__compiled__[e2.__schemas__[r3]].normalize);
|
|
}), e2.__compiled__[""] = { validate: null, normalize: function(e3, r3) {
|
|
r3.normalize(e3);
|
|
} };
|
|
var a2 = Object.keys(e2.__compiled__).filter(function(r3) {
|
|
return r3.length > 0 && e2.__compiled__[r3];
|
|
}).map(Ar).join("|");
|
|
e2.re.schema_test = RegExp("(^|(?!_)(?:[><\uFF5C]|" + r2.src_ZPCc + "))(" + a2 + ")", "i"), e2.re.schema_search = RegExp("(^|(?!_)(?:[><\uFF5C]|" + r2.src_ZPCc + "))(" + a2 + ")", "ig"), e2.re.schema_at_start = RegExp("^" + e2.re.schema_search.source, "i"), e2.re.pretest = RegExp("(" + e2.re.schema_test.source + ")|(" + e2.re.host_fuzzy_test.source + ")|@", "i"), function(e3) {
|
|
e3.__index__ = -1, e3.__text_cache__ = "";
|
|
}(e2);
|
|
}
|
|
function qr(e2, r2) {
|
|
var t2 = e2.__index__, n2 = e2.__last_index__, s2 = e2.__text_cache__.slice(t2, n2);
|
|
this.schema = e2.__schema__.toLowerCase(), this.index = t2 + r2, this.lastIndex = n2 + r2, this.raw = s2, this.text = s2, this.url = s2;
|
|
}
|
|
function Sr(e2, r2) {
|
|
var t2 = new qr(e2, r2);
|
|
return e2.__compiled__[t2.schema].normalize(t2, e2), t2;
|
|
}
|
|
function Fr(e2, r2) {
|
|
if (!(this instanceof Fr))
|
|
return new Fr(e2, r2);
|
|
var t2;
|
|
r2 || (t2 = e2, Object.keys(t2 || {}).reduce(function(e3, r3) {
|
|
return e3 || xr.hasOwnProperty(r3);
|
|
}, false) && (r2 = e2, e2 = {})), this.__opts__ = vr({}, xr, r2), this.__index__ = -1, this.__last_index__ = -1, this.__schema__ = "", this.__text_cache__ = "", this.__schemas__ = vr({}, Dr, e2), this.__compiled__ = {}, this.__tlds__ = wr, this.__tlds_replaced__ = false, this.re = {}, Er(this);
|
|
}
|
|
Fr.prototype.add = function(e2, r2) {
|
|
return this.__schemas__[e2] = r2, Er(this), this;
|
|
}, Fr.prototype.set = function(e2) {
|
|
return this.__opts__ = vr(this.__opts__, e2), this;
|
|
}, Fr.prototype.test = function(e2) {
|
|
if (this.__text_cache__ = e2, this.__index__ = -1, !e2.length)
|
|
return false;
|
|
var r2, t2, n2, s2, o2, i2, a2, c2;
|
|
if (this.re.schema_test.test(e2)) {
|
|
for ((a2 = this.re.schema_search).lastIndex = 0; null !== (r2 = a2.exec(e2)); )
|
|
if (s2 = this.testSchemaAt(e2, r2[2], a2.lastIndex)) {
|
|
this.__schema__ = r2[2], this.__index__ = r2.index + r2[1].length, this.__last_index__ = r2.index + r2[0].length + s2;
|
|
break;
|
|
}
|
|
}
|
|
return this.__opts__.fuzzyLink && this.__compiled__["http:"] && (c2 = e2.search(this.re.host_fuzzy_test)) >= 0 && (this.__index__ < 0 || c2 < this.__index__) && null !== (t2 = e2.match(this.__opts__.fuzzyIP ? this.re.link_fuzzy : this.re.link_no_ip_fuzzy)) && (o2 = t2.index + t2[1].length, (this.__index__ < 0 || o2 < this.__index__) && (this.__schema__ = "", this.__index__ = o2, this.__last_index__ = t2.index + t2[0].length)), this.__opts__.fuzzyEmail && this.__compiled__["mailto:"] && e2.indexOf("@") >= 0 && null !== (n2 = e2.match(this.re.email_fuzzy)) && (o2 = n2.index + n2[1].length, i2 = n2.index + n2[0].length, (this.__index__ < 0 || o2 < this.__index__ || o2 === this.__index__ && i2 > this.__last_index__) && (this.__schema__ = "mailto:", this.__index__ = o2, this.__last_index__ = i2)), this.__index__ >= 0;
|
|
}, Fr.prototype.pretest = function(e2) {
|
|
return this.re.pretest.test(e2);
|
|
}, Fr.prototype.testSchemaAt = function(e2, r2, t2) {
|
|
return this.__compiled__[r2.toLowerCase()] ? this.__compiled__[r2.toLowerCase()].validate(e2, t2, this) : 0;
|
|
}, Fr.prototype.match = function(e2) {
|
|
var r2 = 0, t2 = [];
|
|
this.__index__ >= 0 && this.__text_cache__ === e2 && (t2.push(Sr(this, r2)), r2 = this.__last_index__);
|
|
for (var n2 = r2 ? e2.slice(r2) : e2; this.test(n2); )
|
|
t2.push(Sr(this, r2)), n2 = n2.slice(this.__last_index__), r2 += this.__last_index__;
|
|
return t2.length ? t2 : null;
|
|
}, Fr.prototype.matchAtStart = function(e2) {
|
|
if (this.__text_cache__ = e2, this.__index__ = -1, !e2.length)
|
|
return null;
|
|
var r2 = this.re.schema_at_start.exec(e2);
|
|
if (!r2)
|
|
return null;
|
|
var t2 = this.testSchemaAt(e2, r2[2], r2[0].length);
|
|
return t2 ? (this.__schema__ = r2[2], this.__index__ = r2.index + r2[1].length, this.__last_index__ = r2.index + r2[0].length + t2, Sr(this, 0)) : null;
|
|
}, Fr.prototype.tlds = function(e2, r2) {
|
|
return e2 = Array.isArray(e2) ? e2 : [e2], r2 ? (this.__tlds__ = this.__tlds__.concat(e2).sort().filter(function(e3, r3, t2) {
|
|
return e3 !== t2[r3 - 1];
|
|
}).reverse(), Er(this), this) : (this.__tlds__ = e2.slice(), this.__tlds_replaced__ = true, Er(this), this);
|
|
}, Fr.prototype.normalize = function(e2) {
|
|
e2.schema || (e2.url = "http://" + e2.url), "mailto:" !== e2.schema || /^mailto:/i.test(e2.url) || (e2.url = "mailto:" + e2.url);
|
|
}, Fr.prototype.onCompile = function() {
|
|
};
|
|
var Lr = Fr, zr = 2147483647, Tr = /^xn--/, Ir = /[^\x20-\x7E]/, Mr = /[\x2E\u3002\uFF0E\uFF61]/g, Rr = { overflow: "Overflow: input needs wider integers to process", "not-basic": "Illegal input >= 0x80 (not a basic code point)", "invalid-input": "Invalid input" }, Br = Math.floor, Nr = String.fromCharCode;
|
|
/*! https://mths.be/punycode v1.4.1 by @mathias */
|
|
function Or(e2) {
|
|
throw new RangeError(Rr[e2]);
|
|
}
|
|
function Pr(e2, r2) {
|
|
for (var t2 = e2.length, n2 = []; t2--; )
|
|
n2[t2] = r2(e2[t2]);
|
|
return n2;
|
|
}
|
|
function jr(e2, r2) {
|
|
var t2 = e2.split("@"), n2 = "";
|
|
return t2.length > 1 && (n2 = t2[0] + "@", e2 = t2[1]), n2 + Pr((e2 = e2.replace(Mr, ".")).split("."), r2).join(".");
|
|
}
|
|
function Ur(e2) {
|
|
for (var r2, t2, n2 = [], s2 = 0, o2 = e2.length; s2 < o2; )
|
|
(r2 = e2.charCodeAt(s2++)) >= 55296 && r2 <= 56319 && s2 < o2 ? 56320 == (64512 & (t2 = e2.charCodeAt(s2++))) ? n2.push(((1023 & r2) << 10) + (1023 & t2) + 65536) : (n2.push(r2), s2--) : n2.push(r2);
|
|
return n2;
|
|
}
|
|
function Vr(e2) {
|
|
return Pr(e2, function(e3) {
|
|
var r2 = "";
|
|
return e3 > 65535 && (r2 += Nr((e3 -= 65536) >>> 10 & 1023 | 55296), e3 = 56320 | 1023 & e3), r2 += Nr(e3);
|
|
}).join("");
|
|
}
|
|
function Zr(e2, r2) {
|
|
return e2 + 22 + 75 * (e2 < 26) - ((0 != r2) << 5);
|
|
}
|
|
function $r(e2, r2, t2) {
|
|
var n2 = 0;
|
|
for (e2 = t2 ? Br(e2 / 700) : e2 >> 1, e2 += Br(e2 / r2); e2 > 455; n2 += 36)
|
|
e2 = Br(e2 / 35);
|
|
return Br(n2 + 36 * e2 / (e2 + 38));
|
|
}
|
|
function Gr(e2) {
|
|
var r2, t2, n2, s2, o2, i2, a2, c2, l2, u2, p2, h2 = [], f2 = e2.length, d2 = 0, m2 = 128, g2 = 72;
|
|
for ((t2 = e2.lastIndexOf("-")) < 0 && (t2 = 0), n2 = 0; n2 < t2; ++n2)
|
|
e2.charCodeAt(n2) >= 128 && Or("not-basic"), h2.push(e2.charCodeAt(n2));
|
|
for (s2 = t2 > 0 ? t2 + 1 : 0; s2 < f2; ) {
|
|
for (o2 = d2, i2 = 1, a2 = 36; s2 >= f2 && Or("invalid-input"), ((c2 = (p2 = e2.charCodeAt(s2++)) - 48 < 10 ? p2 - 22 : p2 - 65 < 26 ? p2 - 65 : p2 - 97 < 26 ? p2 - 97 : 36) >= 36 || c2 > Br((zr - d2) / i2)) && Or("overflow"), d2 += c2 * i2, !(c2 < (l2 = a2 <= g2 ? 1 : a2 >= g2 + 26 ? 26 : a2 - g2)); a2 += 36)
|
|
i2 > Br(zr / (u2 = 36 - l2)) && Or("overflow"), i2 *= u2;
|
|
g2 = $r(d2 - o2, r2 = h2.length + 1, 0 == o2), Br(d2 / r2) > zr - m2 && Or("overflow"), m2 += Br(d2 / r2), d2 %= r2, h2.splice(d2++, 0, m2);
|
|
}
|
|
return Vr(h2);
|
|
}
|
|
function Hr(e2) {
|
|
var r2, t2, n2, s2, o2, i2, a2, c2, l2, u2, p2, h2, f2, d2, m2, g2 = [];
|
|
for (h2 = (e2 = Ur(e2)).length, r2 = 128, t2 = 0, o2 = 72, i2 = 0; i2 < h2; ++i2)
|
|
(p2 = e2[i2]) < 128 && g2.push(Nr(p2));
|
|
for (n2 = s2 = g2.length, s2 && g2.push("-"); n2 < h2; ) {
|
|
for (a2 = zr, i2 = 0; i2 < h2; ++i2)
|
|
(p2 = e2[i2]) >= r2 && p2 < a2 && (a2 = p2);
|
|
for (a2 - r2 > Br((zr - t2) / (f2 = n2 + 1)) && Or("overflow"), t2 += (a2 - r2) * f2, r2 = a2, i2 = 0; i2 < h2; ++i2)
|
|
if ((p2 = e2[i2]) < r2 && ++t2 > zr && Or("overflow"), p2 == r2) {
|
|
for (c2 = t2, l2 = 36; !(c2 < (u2 = l2 <= o2 ? 1 : l2 >= o2 + 26 ? 26 : l2 - o2)); l2 += 36)
|
|
m2 = c2 - u2, d2 = 36 - u2, g2.push(Nr(Zr(u2 + m2 % d2, 0))), c2 = Br(m2 / d2);
|
|
g2.push(Nr(Zr(c2, 0))), o2 = $r(t2, f2, n2 == s2), t2 = 0, ++n2;
|
|
}
|
|
++t2, ++r2;
|
|
}
|
|
return g2.join("");
|
|
}
|
|
function Jr(e2) {
|
|
return jr(e2, function(e3) {
|
|
return Tr.test(e3) ? Gr(e3.slice(4).toLowerCase()) : e3;
|
|
});
|
|
}
|
|
function Wr(e2) {
|
|
return jr(e2, function(e3) {
|
|
return Ir.test(e3) ? "xn--" + Hr(e3) : e3;
|
|
});
|
|
}
|
|
var Yr = { decode: Ur, encode: Vr }, Kr = { version: "1.4.1", ucs2: Yr, toASCII: Wr, toUnicode: Jr, encode: Hr, decode: Gr }, Qr = r, Xr = q, et = R, rt = pe, tt = Ne, nt = br, st = Lr, ot = s, it = e(Object.freeze({ __proto__: null, decode: Gr, encode: Hr, toUnicode: Jr, toASCII: Wr, version: "1.4.1", ucs2: Yr, default: Kr })), at = { default: { options: { html: false, xhtmlOut: false, breaks: false, langPrefix: "language-", linkify: false, typographer: false, quotes: "\u201C\u201D\u2018\u2019", highlight: null, maxNesting: 100 }, components: { core: {}, block: {}, inline: {} } }, zero: { options: { html: false, xhtmlOut: false, breaks: false, langPrefix: "language-", linkify: false, typographer: false, quotes: "\u201C\u201D\u2018\u2019", highlight: null, maxNesting: 20 }, components: { core: { rules: ["normalize", "block", "inline", "text_join"] }, block: { rules: ["paragraph"] }, inline: { rules: ["text"], rules2: ["balance_pairs", "fragments_join"] } } }, commonmark: { options: { html: true, xhtmlOut: true, breaks: false, langPrefix: "language-", linkify: false, typographer: false, quotes: "\u201C\u201D\u2018\u2019", highlight: null, maxNesting: 20 }, components: { core: { rules: ["normalize", "block", "inline", "text_join"] }, block: { rules: ["blockquote", "code", "fence", "heading", "hr", "html_block", "lheading", "list", "reference", "paragraph"] }, inline: { rules: ["autolink", "backticks", "emphasis", "entity", "escape", "html_inline", "image", "link", "newline", "text"], rules2: ["balance_pairs", "emphasis", "fragments_join"] } } } }, ct = /^(vbscript|javascript|file|data):/, lt = /^data:image\/(gif|png|jpeg|webp);/;
|
|
function ut(e2) {
|
|
var r2 = e2.trim().toLowerCase();
|
|
return !ct.test(r2) || !!lt.test(r2);
|
|
}
|
|
var pt = ["http:", "https:", "mailto:"];
|
|
function ht(e2) {
|
|
var r2 = ot.parse(e2, true);
|
|
if (r2.hostname && (!r2.protocol || pt.indexOf(r2.protocol) >= 0))
|
|
try {
|
|
r2.hostname = it.toASCII(r2.hostname);
|
|
} catch (e3) {
|
|
}
|
|
return ot.encode(ot.format(r2));
|
|
}
|
|
function ft(e2) {
|
|
var r2 = ot.parse(e2, true);
|
|
if (r2.hostname && (!r2.protocol || pt.indexOf(r2.protocol) >= 0))
|
|
try {
|
|
r2.hostname = it.toUnicode(r2.hostname);
|
|
} catch (e3) {
|
|
}
|
|
return ot.decode(ot.format(r2), ot.decode.defaultChars + "%");
|
|
}
|
|
function dt(e2, r2) {
|
|
if (!(this instanceof dt))
|
|
return new dt(e2, r2);
|
|
r2 || Qr.isString(e2) || (r2 = e2 || {}, e2 = "default"), this.inline = new nt(), this.block = new tt(), this.core = new rt(), this.renderer = new et(), this.linkify = new st(), this.validateLink = ut, this.normalizeLink = ht, this.normalizeLinkText = ft, this.utils = Qr, this.helpers = Qr.assign({}, Xr), this.options = {}, this.configure(e2), r2 && this.set(r2);
|
|
}
|
|
dt.prototype.set = function(e2) {
|
|
return Qr.assign(this.options, e2), this;
|
|
}, dt.prototype.configure = function(e2) {
|
|
var r2, t2 = this;
|
|
if (Qr.isString(e2) && !(e2 = at[r2 = e2]))
|
|
throw new Error('Wrong `markdown-it` preset "' + r2 + '", check name');
|
|
if (!e2)
|
|
throw new Error("Wrong `markdown-it` preset, can't be empty");
|
|
return e2.options && t2.set(e2.options), e2.components && Object.keys(e2.components).forEach(function(r3) {
|
|
e2.components[r3].rules && t2[r3].ruler.enableOnly(e2.components[r3].rules), e2.components[r3].rules2 && t2[r3].ruler2.enableOnly(e2.components[r3].rules2);
|
|
}), this;
|
|
}, dt.prototype.enable = function(e2, r2) {
|
|
var t2 = [];
|
|
Array.isArray(e2) || (e2 = [e2]), ["core", "block", "inline"].forEach(function(r3) {
|
|
t2 = t2.concat(this[r3].ruler.enable(e2, true));
|
|
}, this), t2 = t2.concat(this.inline.ruler2.enable(e2, true));
|
|
var n2 = e2.filter(function(e3) {
|
|
return t2.indexOf(e3) < 0;
|
|
});
|
|
if (n2.length && !r2)
|
|
throw new Error("MarkdownIt. Failed to enable unknown rule(s): " + n2);
|
|
return this;
|
|
}, dt.prototype.disable = function(e2, r2) {
|
|
var t2 = [];
|
|
Array.isArray(e2) || (e2 = [e2]), ["core", "block", "inline"].forEach(function(r3) {
|
|
t2 = t2.concat(this[r3].ruler.disable(e2, true));
|
|
}, this), t2 = t2.concat(this.inline.ruler2.disable(e2, true));
|
|
var n2 = e2.filter(function(e3) {
|
|
return t2.indexOf(e3) < 0;
|
|
});
|
|
if (n2.length && !r2)
|
|
throw new Error("MarkdownIt. Failed to disable unknown rule(s): " + n2);
|
|
return this;
|
|
}, dt.prototype.use = function(e2) {
|
|
var r2 = [this].concat(Array.prototype.slice.call(arguments, 1));
|
|
return e2.apply(e2, r2), this;
|
|
}, dt.prototype.parse = function(e2, r2) {
|
|
if ("string" != typeof e2)
|
|
throw new Error("Input data should be a String");
|
|
var t2 = new this.core.State(e2, this, r2);
|
|
return this.core.process(t2), t2.tokens;
|
|
}, dt.prototype.render = function(e2, r2) {
|
|
return r2 = r2 || {}, this.renderer.render(this.parse(e2, r2), this.options, r2);
|
|
}, dt.prototype.parseInline = function(e2, r2) {
|
|
var t2 = new this.core.State(e2, this, r2);
|
|
return t2.inlineMode = true, this.core.process(t2), t2.tokens;
|
|
}, dt.prototype.renderInline = function(e2, r2) {
|
|
return r2 = r2 || {}, this.renderer.render(this.parseInline(e2, r2), this.options, r2);
|
|
};
|
|
var mt = dt;
|
|
exports.mt = mt;
|