@slidev/parser 0.30.1 → 0.30.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/fs.mjs CHANGED
@@ -1,9 +1,6 @@
1
1
  import {
2
- __commonJS,
3
- __require,
4
2
  __spreadProps,
5
3
  __spreadValues,
6
- __toESM,
7
4
  detectFeatures,
8
5
  filterDisabled,
9
6
  mergeFeatureFlags,
@@ -18,4748 +15,11 @@ import {
18
15
  scanMonacoModules,
19
16
  stringify,
20
17
  stringifySlide
21
- } from "./chunk-ZGKNU7BW.mjs";
22
-
23
- // ../../node_modules/.pnpm/entities@2.1.0/node_modules/entities/lib/maps/entities.json
24
- var require_entities = __commonJS({
25
- "../../node_modules/.pnpm/entities@2.1.0/node_modules/entities/lib/maps/entities.json"(exports, module) {
26
- module.exports = { Aacute: "\xC1", aacute: "\xE1", Abreve: "\u0102", abreve: "\u0103", ac: "\u223E", acd: "\u223F", acE: "\u223E\u0333", Acirc: "\xC2", acirc: "\xE2", acute: "\xB4", Acy: "\u0410", acy: "\u0430", AElig: "\xC6", aelig: "\xE6", af: "\u2061", Afr: "\u{1D504}", afr: "\u{1D51E}", Agrave: "\xC0", agrave: "\xE0", alefsym: "\u2135", aleph: "\u2135", Alpha: "\u0391", alpha: "\u03B1", Amacr: "\u0100", amacr: "\u0101", amalg: "\u2A3F", amp: "&", AMP: "&", andand: "\u2A55", And: "\u2A53", and: "\u2227", andd: "\u2A5C", andslope: "\u2A58", andv: "\u2A5A", ang: "\u2220", ange: "\u29A4", angle: "\u2220", angmsdaa: "\u29A8", angmsdab: "\u29A9", angmsdac: "\u29AA", angmsdad: "\u29AB", angmsdae: "\u29AC", angmsdaf: "\u29AD", angmsdag: "\u29AE", angmsdah: "\u29AF", angmsd: "\u2221", angrt: "\u221F", angrtvb: "\u22BE", angrtvbd: "\u299D", angsph: "\u2222", angst: "\xC5", angzarr: "\u237C", Aogon: "\u0104", aogon: "\u0105", Aopf: "\u{1D538}", aopf: "\u{1D552}", apacir: "\u2A6F", ap: "\u2248", apE: "\u2A70", ape: "\u224A", apid: "\u224B", apos: "'", ApplyFunction: "\u2061", approx: "\u2248", approxeq: "\u224A", Aring: "\xC5", aring: "\xE5", Ascr: "\u{1D49C}", ascr: "\u{1D4B6}", Assign: "\u2254", ast: "*", asymp: "\u2248", asympeq: "\u224D", Atilde: "\xC3", atilde: "\xE3", Auml: "\xC4", auml: "\xE4", awconint: "\u2233", awint: "\u2A11", backcong: "\u224C", backepsilon: "\u03F6", backprime: "\u2035", backsim: "\u223D", backsimeq: "\u22CD", Backslash: "\u2216", Barv: "\u2AE7", barvee: "\u22BD", barwed: "\u2305", Barwed: "\u2306", barwedge: "\u2305", bbrk: "\u23B5", bbrktbrk: "\u23B6", bcong: "\u224C", Bcy: "\u0411", bcy: "\u0431", bdquo: "\u201E", becaus: "\u2235", because: "\u2235", Because: "\u2235", bemptyv: "\u29B0", bepsi: "\u03F6", bernou: "\u212C", Bernoullis: "\u212C", Beta: "\u0392", beta: "\u03B2", beth: "\u2136", between: "\u226C", Bfr: "\u{1D505}", bfr: "\u{1D51F}", bigcap: "\u22C2", bigcirc: "\u25EF", bigcup: "\u22C3", bigodot: "\u2A00", bigoplus: "\u2A01", bigotimes: "\u2A02", bigsqcup: "\u2A06", bigstar: "\u2605", bigtriangledown: "\u25BD", bigtriangleup: "\u25B3", biguplus: "\u2A04", bigvee: "\u22C1", bigwedge: "\u22C0", bkarow: "\u290D", blacklozenge: "\u29EB", blacksquare: "\u25AA", blacktriangle: "\u25B4", blacktriangledown: "\u25BE", blacktriangleleft: "\u25C2", blacktriangleright: "\u25B8", blank: "\u2423", blk12: "\u2592", blk14: "\u2591", blk34: "\u2593", block: "\u2588", bne: "=\u20E5", bnequiv: "\u2261\u20E5", bNot: "\u2AED", bnot: "\u2310", Bopf: "\u{1D539}", bopf: "\u{1D553}", bot: "\u22A5", bottom: "\u22A5", bowtie: "\u22C8", boxbox: "\u29C9", boxdl: "\u2510", boxdL: "\u2555", boxDl: "\u2556", boxDL: "\u2557", boxdr: "\u250C", boxdR: "\u2552", boxDr: "\u2553", boxDR: "\u2554", boxh: "\u2500", boxH: "\u2550", boxhd: "\u252C", boxHd: "\u2564", boxhD: "\u2565", boxHD: "\u2566", boxhu: "\u2534", boxHu: "\u2567", boxhU: "\u2568", boxHU: "\u2569", boxminus: "\u229F", boxplus: "\u229E", boxtimes: "\u22A0", boxul: "\u2518", boxuL: "\u255B", boxUl: "\u255C", boxUL: "\u255D", boxur: "\u2514", boxuR: "\u2558", boxUr: "\u2559", boxUR: "\u255A", boxv: "\u2502", boxV: "\u2551", boxvh: "\u253C", boxvH: "\u256A", boxVh: "\u256B", boxVH: "\u256C", boxvl: "\u2524", boxvL: "\u2561", boxVl: "\u2562", boxVL: "\u2563", boxvr: "\u251C", boxvR: "\u255E", boxVr: "\u255F", boxVR: "\u2560", bprime: "\u2035", breve: "\u02D8", Breve: "\u02D8", brvbar: "\xA6", bscr: "\u{1D4B7}", Bscr: "\u212C", bsemi: "\u204F", bsim: "\u223D", bsime: "\u22CD", bsolb: "\u29C5", bsol: "\\", bsolhsub: "\u27C8", bull: "\u2022", bullet: "\u2022", bump: "\u224E", bumpE: "\u2AAE", bumpe: "\u224F", Bumpeq: "\u224E", bumpeq: "\u224F", Cacute: "\u0106", cacute: "\u0107", capand: "\u2A44", capbrcup: "\u2A49", capcap: "\u2A4B", cap: "\u2229", Cap: "\u22D2", capcup: "\u2A47", capdot: "\u2A40", CapitalDifferentialD: "\u2145", caps: "\u2229\uFE00", caret: "\u2041", caron: "\u02C7", Cayleys: "\u212D", ccaps: "\u2A4D", Ccaron: "\u010C", ccaron: "\u010D", Ccedil: "\xC7", ccedil: "\xE7", Ccirc: "\u0108", ccirc: "\u0109", Cconint: "\u2230", ccups: "\u2A4C", ccupssm: "\u2A50", Cdot: "\u010A", cdot: "\u010B", cedil: "\xB8", Cedilla: "\xB8", cemptyv: "\u29B2", cent: "\xA2", centerdot: "\xB7", CenterDot: "\xB7", cfr: "\u{1D520}", Cfr: "\u212D", CHcy: "\u0427", chcy: "\u0447", check: "\u2713", checkmark: "\u2713", Chi: "\u03A7", chi: "\u03C7", circ: "\u02C6", circeq: "\u2257", circlearrowleft: "\u21BA", circlearrowright: "\u21BB", circledast: "\u229B", circledcirc: "\u229A", circleddash: "\u229D", CircleDot: "\u2299", circledR: "\xAE", circledS: "\u24C8", CircleMinus: "\u2296", CirclePlus: "\u2295", CircleTimes: "\u2297", cir: "\u25CB", cirE: "\u29C3", cire: "\u2257", cirfnint: "\u2A10", cirmid: "\u2AEF", cirscir: "\u29C2", ClockwiseContourIntegral: "\u2232", CloseCurlyDoubleQuote: "\u201D", CloseCurlyQuote: "\u2019", clubs: "\u2663", clubsuit: "\u2663", colon: ":", Colon: "\u2237", Colone: "\u2A74", colone: "\u2254", coloneq: "\u2254", comma: ",", commat: "@", comp: "\u2201", compfn: "\u2218", complement: "\u2201", complexes: "\u2102", cong: "\u2245", congdot: "\u2A6D", Congruent: "\u2261", conint: "\u222E", Conint: "\u222F", ContourIntegral: "\u222E", copf: "\u{1D554}", Copf: "\u2102", coprod: "\u2210", Coproduct: "\u2210", copy: "\xA9", COPY: "\xA9", copysr: "\u2117", CounterClockwiseContourIntegral: "\u2233", crarr: "\u21B5", cross: "\u2717", Cross: "\u2A2F", Cscr: "\u{1D49E}", cscr: "\u{1D4B8}", csub: "\u2ACF", csube: "\u2AD1", csup: "\u2AD0", csupe: "\u2AD2", ctdot: "\u22EF", cudarrl: "\u2938", cudarrr: "\u2935", cuepr: "\u22DE", cuesc: "\u22DF", cularr: "\u21B6", cularrp: "\u293D", cupbrcap: "\u2A48", cupcap: "\u2A46", CupCap: "\u224D", cup: "\u222A", Cup: "\u22D3", cupcup: "\u2A4A", cupdot: "\u228D", cupor: "\u2A45", cups: "\u222A\uFE00", curarr: "\u21B7", curarrm: "\u293C", curlyeqprec: "\u22DE", curlyeqsucc: "\u22DF", curlyvee: "\u22CE", curlywedge: "\u22CF", curren: "\xA4", curvearrowleft: "\u21B6", curvearrowright: "\u21B7", cuvee: "\u22CE", cuwed: "\u22CF", cwconint: "\u2232", cwint: "\u2231", cylcty: "\u232D", dagger: "\u2020", Dagger: "\u2021", daleth: "\u2138", darr: "\u2193", Darr: "\u21A1", dArr: "\u21D3", dash: "\u2010", Dashv: "\u2AE4", dashv: "\u22A3", dbkarow: "\u290F", dblac: "\u02DD", Dcaron: "\u010E", dcaron: "\u010F", Dcy: "\u0414", dcy: "\u0434", ddagger: "\u2021", ddarr: "\u21CA", DD: "\u2145", dd: "\u2146", DDotrahd: "\u2911", ddotseq: "\u2A77", deg: "\xB0", Del: "\u2207", Delta: "\u0394", delta: "\u03B4", demptyv: "\u29B1", dfisht: "\u297F", Dfr: "\u{1D507}", dfr: "\u{1D521}", dHar: "\u2965", dharl: "\u21C3", dharr: "\u21C2", DiacriticalAcute: "\xB4", DiacriticalDot: "\u02D9", DiacriticalDoubleAcute: "\u02DD", DiacriticalGrave: "`", DiacriticalTilde: "\u02DC", diam: "\u22C4", diamond: "\u22C4", Diamond: "\u22C4", diamondsuit: "\u2666", diams: "\u2666", die: "\xA8", DifferentialD: "\u2146", digamma: "\u03DD", disin: "\u22F2", div: "\xF7", divide: "\xF7", divideontimes: "\u22C7", divonx: "\u22C7", DJcy: "\u0402", djcy: "\u0452", dlcorn: "\u231E", dlcrop: "\u230D", dollar: "$", Dopf: "\u{1D53B}", dopf: "\u{1D555}", Dot: "\xA8", dot: "\u02D9", DotDot: "\u20DC", doteq: "\u2250", doteqdot: "\u2251", DotEqual: "\u2250", dotminus: "\u2238", dotplus: "\u2214", dotsquare: "\u22A1", doublebarwedge: "\u2306", DoubleContourIntegral: "\u222F", DoubleDot: "\xA8", DoubleDownArrow: "\u21D3", DoubleLeftArrow: "\u21D0", DoubleLeftRightArrow: "\u21D4", DoubleLeftTee: "\u2AE4", DoubleLongLeftArrow: "\u27F8", DoubleLongLeftRightArrow: "\u27FA", DoubleLongRightArrow: "\u27F9", DoubleRightArrow: "\u21D2", DoubleRightTee: "\u22A8", DoubleUpArrow: "\u21D1", DoubleUpDownArrow: "\u21D5", DoubleVerticalBar: "\u2225", DownArrowBar: "\u2913", downarrow: "\u2193", DownArrow: "\u2193", Downarrow: "\u21D3", DownArrowUpArrow: "\u21F5", DownBreve: "\u0311", downdownarrows: "\u21CA", downharpoonleft: "\u21C3", downharpoonright: "\u21C2", DownLeftRightVector: "\u2950", DownLeftTeeVector: "\u295E", DownLeftVectorBar: "\u2956", DownLeftVector: "\u21BD", DownRightTeeVector: "\u295F", DownRightVectorBar: "\u2957", DownRightVector: "\u21C1", DownTeeArrow: "\u21A7", DownTee: "\u22A4", drbkarow: "\u2910", drcorn: "\u231F", drcrop: "\u230C", Dscr: "\u{1D49F}", dscr: "\u{1D4B9}", DScy: "\u0405", dscy: "\u0455", dsol: "\u29F6", Dstrok: "\u0110", dstrok: "\u0111", dtdot: "\u22F1", dtri: "\u25BF", dtrif: "\u25BE", duarr: "\u21F5", duhar: "\u296F", dwangle: "\u29A6", DZcy: "\u040F", dzcy: "\u045F", dzigrarr: "\u27FF", Eacute: "\xC9", eacute: "\xE9", easter: "\u2A6E", Ecaron: "\u011A", ecaron: "\u011B", Ecirc: "\xCA", ecirc: "\xEA", ecir: "\u2256", ecolon: "\u2255", Ecy: "\u042D", ecy: "\u044D", eDDot: "\u2A77", Edot: "\u0116", edot: "\u0117", eDot: "\u2251", ee: "\u2147", efDot: "\u2252", Efr: "\u{1D508}", efr: "\u{1D522}", eg: "\u2A9A", Egrave: "\xC8", egrave: "\xE8", egs: "\u2A96", egsdot: "\u2A98", el: "\u2A99", Element: "\u2208", elinters: "\u23E7", ell: "\u2113", els: "\u2A95", elsdot: "\u2A97", Emacr: "\u0112", emacr: "\u0113", empty: "\u2205", emptyset: "\u2205", EmptySmallSquare: "\u25FB", emptyv: "\u2205", EmptyVerySmallSquare: "\u25AB", emsp13: "\u2004", emsp14: "\u2005", emsp: "\u2003", ENG: "\u014A", eng: "\u014B", ensp: "\u2002", Eogon: "\u0118", eogon: "\u0119", Eopf: "\u{1D53C}", eopf: "\u{1D556}", epar: "\u22D5", eparsl: "\u29E3", eplus: "\u2A71", epsi: "\u03B5", Epsilon: "\u0395", epsilon: "\u03B5", epsiv: "\u03F5", eqcirc: "\u2256", eqcolon: "\u2255", eqsim: "\u2242", eqslantgtr: "\u2A96", eqslantless: "\u2A95", Equal: "\u2A75", equals: "=", EqualTilde: "\u2242", equest: "\u225F", Equilibrium: "\u21CC", equiv: "\u2261", equivDD: "\u2A78", eqvparsl: "\u29E5", erarr: "\u2971", erDot: "\u2253", escr: "\u212F", Escr: "\u2130", esdot: "\u2250", Esim: "\u2A73", esim: "\u2242", Eta: "\u0397", eta: "\u03B7", ETH: "\xD0", eth: "\xF0", Euml: "\xCB", euml: "\xEB", euro: "\u20AC", excl: "!", exist: "\u2203", Exists: "\u2203", expectation: "\u2130", exponentiale: "\u2147", ExponentialE: "\u2147", fallingdotseq: "\u2252", Fcy: "\u0424", fcy: "\u0444", female: "\u2640", ffilig: "\uFB03", fflig: "\uFB00", ffllig: "\uFB04", Ffr: "\u{1D509}", ffr: "\u{1D523}", filig: "\uFB01", FilledSmallSquare: "\u25FC", FilledVerySmallSquare: "\u25AA", fjlig: "fj", flat: "\u266D", fllig: "\uFB02", fltns: "\u25B1", fnof: "\u0192", Fopf: "\u{1D53D}", fopf: "\u{1D557}", forall: "\u2200", ForAll: "\u2200", fork: "\u22D4", forkv: "\u2AD9", Fouriertrf: "\u2131", fpartint: "\u2A0D", frac12: "\xBD", frac13: "\u2153", frac14: "\xBC", frac15: "\u2155", frac16: "\u2159", frac18: "\u215B", frac23: "\u2154", frac25: "\u2156", frac34: "\xBE", frac35: "\u2157", frac38: "\u215C", frac45: "\u2158", frac56: "\u215A", frac58: "\u215D", frac78: "\u215E", frasl: "\u2044", frown: "\u2322", fscr: "\u{1D4BB}", Fscr: "\u2131", gacute: "\u01F5", Gamma: "\u0393", gamma: "\u03B3", Gammad: "\u03DC", gammad: "\u03DD", gap: "\u2A86", Gbreve: "\u011E", gbreve: "\u011F", Gcedil: "\u0122", Gcirc: "\u011C", gcirc: "\u011D", Gcy: "\u0413", gcy: "\u0433", Gdot: "\u0120", gdot: "\u0121", ge: "\u2265", gE: "\u2267", gEl: "\u2A8C", gel: "\u22DB", geq: "\u2265", geqq: "\u2267", geqslant: "\u2A7E", gescc: "\u2AA9", ges: "\u2A7E", gesdot: "\u2A80", gesdoto: "\u2A82", gesdotol: "\u2A84", gesl: "\u22DB\uFE00", gesles: "\u2A94", Gfr: "\u{1D50A}", gfr: "\u{1D524}", gg: "\u226B", Gg: "\u22D9", ggg: "\u22D9", gimel: "\u2137", GJcy: "\u0403", gjcy: "\u0453", gla: "\u2AA5", gl: "\u2277", glE: "\u2A92", glj: "\u2AA4", gnap: "\u2A8A", gnapprox: "\u2A8A", gne: "\u2A88", gnE: "\u2269", gneq: "\u2A88", gneqq: "\u2269", gnsim: "\u22E7", Gopf: "\u{1D53E}", gopf: "\u{1D558}", grave: "`", GreaterEqual: "\u2265", GreaterEqualLess: "\u22DB", GreaterFullEqual: "\u2267", GreaterGreater: "\u2AA2", GreaterLess: "\u2277", GreaterSlantEqual: "\u2A7E", GreaterTilde: "\u2273", Gscr: "\u{1D4A2}", gscr: "\u210A", gsim: "\u2273", gsime: "\u2A8E", gsiml: "\u2A90", gtcc: "\u2AA7", gtcir: "\u2A7A", gt: ">", GT: ">", Gt: "\u226B", gtdot: "\u22D7", gtlPar: "\u2995", gtquest: "\u2A7C", gtrapprox: "\u2A86", gtrarr: "\u2978", gtrdot: "\u22D7", gtreqless: "\u22DB", gtreqqless: "\u2A8C", gtrless: "\u2277", gtrsim: "\u2273", gvertneqq: "\u2269\uFE00", gvnE: "\u2269\uFE00", Hacek: "\u02C7", hairsp: "\u200A", half: "\xBD", hamilt: "\u210B", HARDcy: "\u042A", hardcy: "\u044A", harrcir: "\u2948", harr: "\u2194", hArr: "\u21D4", harrw: "\u21AD", Hat: "^", hbar: "\u210F", Hcirc: "\u0124", hcirc: "\u0125", hearts: "\u2665", heartsuit: "\u2665", hellip: "\u2026", hercon: "\u22B9", hfr: "\u{1D525}", Hfr: "\u210C", HilbertSpace: "\u210B", hksearow: "\u2925", hkswarow: "\u2926", hoarr: "\u21FF", homtht: "\u223B", hookleftarrow: "\u21A9", hookrightarrow: "\u21AA", hopf: "\u{1D559}", Hopf: "\u210D", horbar: "\u2015", HorizontalLine: "\u2500", hscr: "\u{1D4BD}", Hscr: "\u210B", hslash: "\u210F", Hstrok: "\u0126", hstrok: "\u0127", HumpDownHump: "\u224E", HumpEqual: "\u224F", hybull: "\u2043", hyphen: "\u2010", Iacute: "\xCD", iacute: "\xED", ic: "\u2063", Icirc: "\xCE", icirc: "\xEE", Icy: "\u0418", icy: "\u0438", Idot: "\u0130", IEcy: "\u0415", iecy: "\u0435", iexcl: "\xA1", iff: "\u21D4", ifr: "\u{1D526}", Ifr: "\u2111", Igrave: "\xCC", igrave: "\xEC", ii: "\u2148", iiiint: "\u2A0C", iiint: "\u222D", iinfin: "\u29DC", iiota: "\u2129", IJlig: "\u0132", ijlig: "\u0133", Imacr: "\u012A", imacr: "\u012B", image: "\u2111", ImaginaryI: "\u2148", imagline: "\u2110", imagpart: "\u2111", imath: "\u0131", Im: "\u2111", imof: "\u22B7", imped: "\u01B5", Implies: "\u21D2", incare: "\u2105", in: "\u2208", infin: "\u221E", infintie: "\u29DD", inodot: "\u0131", intcal: "\u22BA", int: "\u222B", Int: "\u222C", integers: "\u2124", Integral: "\u222B", intercal: "\u22BA", Intersection: "\u22C2", intlarhk: "\u2A17", intprod: "\u2A3C", InvisibleComma: "\u2063", InvisibleTimes: "\u2062", IOcy: "\u0401", iocy: "\u0451", Iogon: "\u012E", iogon: "\u012F", Iopf: "\u{1D540}", iopf: "\u{1D55A}", Iota: "\u0399", iota: "\u03B9", iprod: "\u2A3C", iquest: "\xBF", iscr: "\u{1D4BE}", Iscr: "\u2110", isin: "\u2208", isindot: "\u22F5", isinE: "\u22F9", isins: "\u22F4", isinsv: "\u22F3", isinv: "\u2208", it: "\u2062", Itilde: "\u0128", itilde: "\u0129", Iukcy: "\u0406", iukcy: "\u0456", Iuml: "\xCF", iuml: "\xEF", Jcirc: "\u0134", jcirc: "\u0135", Jcy: "\u0419", jcy: "\u0439", Jfr: "\u{1D50D}", jfr: "\u{1D527}", jmath: "\u0237", Jopf: "\u{1D541}", jopf: "\u{1D55B}", Jscr: "\u{1D4A5}", jscr: "\u{1D4BF}", Jsercy: "\u0408", jsercy: "\u0458", Jukcy: "\u0404", jukcy: "\u0454", Kappa: "\u039A", kappa: "\u03BA", kappav: "\u03F0", Kcedil: "\u0136", kcedil: "\u0137", Kcy: "\u041A", kcy: "\u043A", Kfr: "\u{1D50E}", kfr: "\u{1D528}", kgreen: "\u0138", KHcy: "\u0425", khcy: "\u0445", KJcy: "\u040C", kjcy: "\u045C", Kopf: "\u{1D542}", kopf: "\u{1D55C}", Kscr: "\u{1D4A6}", kscr: "\u{1D4C0}", lAarr: "\u21DA", Lacute: "\u0139", lacute: "\u013A", laemptyv: "\u29B4", lagran: "\u2112", Lambda: "\u039B", lambda: "\u03BB", lang: "\u27E8", Lang: "\u27EA", langd: "\u2991", langle: "\u27E8", lap: "\u2A85", Laplacetrf: "\u2112", laquo: "\xAB", larrb: "\u21E4", larrbfs: "\u291F", larr: "\u2190", Larr: "\u219E", lArr: "\u21D0", larrfs: "\u291D", larrhk: "\u21A9", larrlp: "\u21AB", larrpl: "\u2939", larrsim: "\u2973", larrtl: "\u21A2", latail: "\u2919", lAtail: "\u291B", lat: "\u2AAB", late: "\u2AAD", lates: "\u2AAD\uFE00", lbarr: "\u290C", lBarr: "\u290E", lbbrk: "\u2772", lbrace: "{", lbrack: "[", lbrke: "\u298B", lbrksld: "\u298F", lbrkslu: "\u298D", Lcaron: "\u013D", lcaron: "\u013E", Lcedil: "\u013B", lcedil: "\u013C", lceil: "\u2308", lcub: "{", Lcy: "\u041B", lcy: "\u043B", ldca: "\u2936", ldquo: "\u201C", ldquor: "\u201E", ldrdhar: "\u2967", ldrushar: "\u294B", ldsh: "\u21B2", le: "\u2264", lE: "\u2266", LeftAngleBracket: "\u27E8", LeftArrowBar: "\u21E4", leftarrow: "\u2190", LeftArrow: "\u2190", Leftarrow: "\u21D0", LeftArrowRightArrow: "\u21C6", leftarrowtail: "\u21A2", LeftCeiling: "\u2308", LeftDoubleBracket: "\u27E6", LeftDownTeeVector: "\u2961", LeftDownVectorBar: "\u2959", LeftDownVector: "\u21C3", LeftFloor: "\u230A", leftharpoondown: "\u21BD", leftharpoonup: "\u21BC", leftleftarrows: "\u21C7", leftrightarrow: "\u2194", LeftRightArrow: "\u2194", Leftrightarrow: "\u21D4", leftrightarrows: "\u21C6", leftrightharpoons: "\u21CB", leftrightsquigarrow: "\u21AD", LeftRightVector: "\u294E", LeftTeeArrow: "\u21A4", LeftTee: "\u22A3", LeftTeeVector: "\u295A", leftthreetimes: "\u22CB", LeftTriangleBar: "\u29CF", LeftTriangle: "\u22B2", LeftTriangleEqual: "\u22B4", LeftUpDownVector: "\u2951", LeftUpTeeVector: "\u2960", LeftUpVectorBar: "\u2958", LeftUpVector: "\u21BF", LeftVectorBar: "\u2952", LeftVector: "\u21BC", lEg: "\u2A8B", leg: "\u22DA", leq: "\u2264", leqq: "\u2266", leqslant: "\u2A7D", lescc: "\u2AA8", les: "\u2A7D", lesdot: "\u2A7F", lesdoto: "\u2A81", lesdotor: "\u2A83", lesg: "\u22DA\uFE00", lesges: "\u2A93", lessapprox: "\u2A85", lessdot: "\u22D6", lesseqgtr: "\u22DA", lesseqqgtr: "\u2A8B", LessEqualGreater: "\u22DA", LessFullEqual: "\u2266", LessGreater: "\u2276", lessgtr: "\u2276", LessLess: "\u2AA1", lesssim: "\u2272", LessSlantEqual: "\u2A7D", LessTilde: "\u2272", lfisht: "\u297C", lfloor: "\u230A", Lfr: "\u{1D50F}", lfr: "\u{1D529}", lg: "\u2276", lgE: "\u2A91", lHar: "\u2962", lhard: "\u21BD", lharu: "\u21BC", lharul: "\u296A", lhblk: "\u2584", LJcy: "\u0409", ljcy: "\u0459", llarr: "\u21C7", ll: "\u226A", Ll: "\u22D8", llcorner: "\u231E", Lleftarrow: "\u21DA", llhard: "\u296B", lltri: "\u25FA", Lmidot: "\u013F", lmidot: "\u0140", lmoustache: "\u23B0", lmoust: "\u23B0", lnap: "\u2A89", lnapprox: "\u2A89", lne: "\u2A87", lnE: "\u2268", lneq: "\u2A87", lneqq: "\u2268", lnsim: "\u22E6", loang: "\u27EC", loarr: "\u21FD", lobrk: "\u27E6", longleftarrow: "\u27F5", LongLeftArrow: "\u27F5", Longleftarrow: "\u27F8", longleftrightarrow: "\u27F7", LongLeftRightArrow: "\u27F7", Longleftrightarrow: "\u27FA", longmapsto: "\u27FC", longrightarrow: "\u27F6", LongRightArrow: "\u27F6", Longrightarrow: "\u27F9", looparrowleft: "\u21AB", looparrowright: "\u21AC", lopar: "\u2985", Lopf: "\u{1D543}", lopf: "\u{1D55D}", loplus: "\u2A2D", lotimes: "\u2A34", lowast: "\u2217", lowbar: "_", LowerLeftArrow: "\u2199", LowerRightArrow: "\u2198", loz: "\u25CA", lozenge: "\u25CA", lozf: "\u29EB", lpar: "(", lparlt: "\u2993", lrarr: "\u21C6", lrcorner: "\u231F", lrhar: "\u21CB", lrhard: "\u296D", lrm: "\u200E", lrtri: "\u22BF", lsaquo: "\u2039", lscr: "\u{1D4C1}", Lscr: "\u2112", lsh: "\u21B0", Lsh: "\u21B0", lsim: "\u2272", lsime: "\u2A8D", lsimg: "\u2A8F", lsqb: "[", lsquo: "\u2018", lsquor: "\u201A", Lstrok: "\u0141", lstrok: "\u0142", ltcc: "\u2AA6", ltcir: "\u2A79", lt: "<", LT: "<", Lt: "\u226A", ltdot: "\u22D6", lthree: "\u22CB", ltimes: "\u22C9", ltlarr: "\u2976", ltquest: "\u2A7B", ltri: "\u25C3", ltrie: "\u22B4", ltrif: "\u25C2", ltrPar: "\u2996", lurdshar: "\u294A", luruhar: "\u2966", lvertneqq: "\u2268\uFE00", lvnE: "\u2268\uFE00", macr: "\xAF", male: "\u2642", malt: "\u2720", maltese: "\u2720", Map: "\u2905", map: "\u21A6", mapsto: "\u21A6", mapstodown: "\u21A7", mapstoleft: "\u21A4", mapstoup: "\u21A5", marker: "\u25AE", mcomma: "\u2A29", Mcy: "\u041C", mcy: "\u043C", mdash: "\u2014", mDDot: "\u223A", measuredangle: "\u2221", MediumSpace: "\u205F", Mellintrf: "\u2133", Mfr: "\u{1D510}", mfr: "\u{1D52A}", mho: "\u2127", micro: "\xB5", midast: "*", midcir: "\u2AF0", mid: "\u2223", middot: "\xB7", minusb: "\u229F", minus: "\u2212", minusd: "\u2238", minusdu: "\u2A2A", MinusPlus: "\u2213", mlcp: "\u2ADB", mldr: "\u2026", mnplus: "\u2213", models: "\u22A7", Mopf: "\u{1D544}", mopf: "\u{1D55E}", mp: "\u2213", mscr: "\u{1D4C2}", Mscr: "\u2133", mstpos: "\u223E", Mu: "\u039C", mu: "\u03BC", multimap: "\u22B8", mumap: "\u22B8", nabla: "\u2207", Nacute: "\u0143", nacute: "\u0144", nang: "\u2220\u20D2", nap: "\u2249", napE: "\u2A70\u0338", napid: "\u224B\u0338", napos: "\u0149", napprox: "\u2249", natural: "\u266E", naturals: "\u2115", natur: "\u266E", nbsp: "\xA0", nbump: "\u224E\u0338", nbumpe: "\u224F\u0338", ncap: "\u2A43", Ncaron: "\u0147", ncaron: "\u0148", Ncedil: "\u0145", ncedil: "\u0146", ncong: "\u2247", ncongdot: "\u2A6D\u0338", ncup: "\u2A42", Ncy: "\u041D", ncy: "\u043D", ndash: "\u2013", nearhk: "\u2924", nearr: "\u2197", neArr: "\u21D7", nearrow: "\u2197", ne: "\u2260", nedot: "\u2250\u0338", NegativeMediumSpace: "\u200B", NegativeThickSpace: "\u200B", NegativeThinSpace: "\u200B", NegativeVeryThinSpace: "\u200B", nequiv: "\u2262", nesear: "\u2928", nesim: "\u2242\u0338", NestedGreaterGreater: "\u226B", NestedLessLess: "\u226A", NewLine: "\n", nexist: "\u2204", nexists: "\u2204", Nfr: "\u{1D511}", nfr: "\u{1D52B}", ngE: "\u2267\u0338", nge: "\u2271", ngeq: "\u2271", ngeqq: "\u2267\u0338", ngeqslant: "\u2A7E\u0338", nges: "\u2A7E\u0338", nGg: "\u22D9\u0338", ngsim: "\u2275", nGt: "\u226B\u20D2", ngt: "\u226F", ngtr: "\u226F", nGtv: "\u226B\u0338", nharr: "\u21AE", nhArr: "\u21CE", nhpar: "\u2AF2", ni: "\u220B", nis: "\u22FC", nisd: "\u22FA", niv: "\u220B", NJcy: "\u040A", njcy: "\u045A", nlarr: "\u219A", nlArr: "\u21CD", nldr: "\u2025", nlE: "\u2266\u0338", nle: "\u2270", nleftarrow: "\u219A", nLeftarrow: "\u21CD", nleftrightarrow: "\u21AE", nLeftrightarrow: "\u21CE", nleq: "\u2270", nleqq: "\u2266\u0338", nleqslant: "\u2A7D\u0338", nles: "\u2A7D\u0338", nless: "\u226E", nLl: "\u22D8\u0338", nlsim: "\u2274", nLt: "\u226A\u20D2", nlt: "\u226E", nltri: "\u22EA", nltrie: "\u22EC", nLtv: "\u226A\u0338", nmid: "\u2224", NoBreak: "\u2060", NonBreakingSpace: "\xA0", nopf: "\u{1D55F}", Nopf: "\u2115", Not: "\u2AEC", not: "\xAC", NotCongruent: "\u2262", NotCupCap: "\u226D", NotDoubleVerticalBar: "\u2226", NotElement: "\u2209", NotEqual: "\u2260", NotEqualTilde: "\u2242\u0338", NotExists: "\u2204", NotGreater: "\u226F", NotGreaterEqual: "\u2271", NotGreaterFullEqual: "\u2267\u0338", NotGreaterGreater: "\u226B\u0338", NotGreaterLess: "\u2279", NotGreaterSlantEqual: "\u2A7E\u0338", NotGreaterTilde: "\u2275", NotHumpDownHump: "\u224E\u0338", NotHumpEqual: "\u224F\u0338", notin: "\u2209", notindot: "\u22F5\u0338", notinE: "\u22F9\u0338", notinva: "\u2209", notinvb: "\u22F7", notinvc: "\u22F6", NotLeftTriangleBar: "\u29CF\u0338", NotLeftTriangle: "\u22EA", NotLeftTriangleEqual: "\u22EC", NotLess: "\u226E", NotLessEqual: "\u2270", NotLessGreater: "\u2278", NotLessLess: "\u226A\u0338", NotLessSlantEqual: "\u2A7D\u0338", NotLessTilde: "\u2274", NotNestedGreaterGreater: "\u2AA2\u0338", NotNestedLessLess: "\u2AA1\u0338", notni: "\u220C", notniva: "\u220C", notnivb: "\u22FE", notnivc: "\u22FD", NotPrecedes: "\u2280", NotPrecedesEqual: "\u2AAF\u0338", NotPrecedesSlantEqual: "\u22E0", NotReverseElement: "\u220C", NotRightTriangleBar: "\u29D0\u0338", NotRightTriangle: "\u22EB", NotRightTriangleEqual: "\u22ED", NotSquareSubset: "\u228F\u0338", NotSquareSubsetEqual: "\u22E2", NotSquareSuperset: "\u2290\u0338", NotSquareSupersetEqual: "\u22E3", NotSubset: "\u2282\u20D2", NotSubsetEqual: "\u2288", NotSucceeds: "\u2281", NotSucceedsEqual: "\u2AB0\u0338", NotSucceedsSlantEqual: "\u22E1", NotSucceedsTilde: "\u227F\u0338", NotSuperset: "\u2283\u20D2", NotSupersetEqual: "\u2289", NotTilde: "\u2241", NotTildeEqual: "\u2244", NotTildeFullEqual: "\u2247", NotTildeTilde: "\u2249", NotVerticalBar: "\u2224", nparallel: "\u2226", npar: "\u2226", nparsl: "\u2AFD\u20E5", npart: "\u2202\u0338", npolint: "\u2A14", npr: "\u2280", nprcue: "\u22E0", nprec: "\u2280", npreceq: "\u2AAF\u0338", npre: "\u2AAF\u0338", nrarrc: "\u2933\u0338", nrarr: "\u219B", nrArr: "\u21CF", nrarrw: "\u219D\u0338", nrightarrow: "\u219B", nRightarrow: "\u21CF", nrtri: "\u22EB", nrtrie: "\u22ED", nsc: "\u2281", nsccue: "\u22E1", nsce: "\u2AB0\u0338", Nscr: "\u{1D4A9}", nscr: "\u{1D4C3}", nshortmid: "\u2224", nshortparallel: "\u2226", nsim: "\u2241", nsime: "\u2244", nsimeq: "\u2244", nsmid: "\u2224", nspar: "\u2226", nsqsube: "\u22E2", nsqsupe: "\u22E3", nsub: "\u2284", nsubE: "\u2AC5\u0338", nsube: "\u2288", nsubset: "\u2282\u20D2", nsubseteq: "\u2288", nsubseteqq: "\u2AC5\u0338", nsucc: "\u2281", nsucceq: "\u2AB0\u0338", nsup: "\u2285", nsupE: "\u2AC6\u0338", nsupe: "\u2289", nsupset: "\u2283\u20D2", nsupseteq: "\u2289", nsupseteqq: "\u2AC6\u0338", ntgl: "\u2279", Ntilde: "\xD1", ntilde: "\xF1", ntlg: "\u2278", ntriangleleft: "\u22EA", ntrianglelefteq: "\u22EC", ntriangleright: "\u22EB", ntrianglerighteq: "\u22ED", Nu: "\u039D", nu: "\u03BD", num: "#", numero: "\u2116", numsp: "\u2007", nvap: "\u224D\u20D2", nvdash: "\u22AC", nvDash: "\u22AD", nVdash: "\u22AE", nVDash: "\u22AF", nvge: "\u2265\u20D2", nvgt: ">\u20D2", nvHarr: "\u2904", nvinfin: "\u29DE", nvlArr: "\u2902", nvle: "\u2264\u20D2", nvlt: "<\u20D2", nvltrie: "\u22B4\u20D2", nvrArr: "\u2903", nvrtrie: "\u22B5\u20D2", nvsim: "\u223C\u20D2", nwarhk: "\u2923", nwarr: "\u2196", nwArr: "\u21D6", nwarrow: "\u2196", nwnear: "\u2927", Oacute: "\xD3", oacute: "\xF3", oast: "\u229B", Ocirc: "\xD4", ocirc: "\xF4", ocir: "\u229A", Ocy: "\u041E", ocy: "\u043E", odash: "\u229D", Odblac: "\u0150", odblac: "\u0151", odiv: "\u2A38", odot: "\u2299", odsold: "\u29BC", OElig: "\u0152", oelig: "\u0153", ofcir: "\u29BF", Ofr: "\u{1D512}", ofr: "\u{1D52C}", ogon: "\u02DB", Ograve: "\xD2", ograve: "\xF2", ogt: "\u29C1", ohbar: "\u29B5", ohm: "\u03A9", oint: "\u222E", olarr: "\u21BA", olcir: "\u29BE", olcross: "\u29BB", oline: "\u203E", olt: "\u29C0", Omacr: "\u014C", omacr: "\u014D", Omega: "\u03A9", omega: "\u03C9", Omicron: "\u039F", omicron: "\u03BF", omid: "\u29B6", ominus: "\u2296", Oopf: "\u{1D546}", oopf: "\u{1D560}", opar: "\u29B7", OpenCurlyDoubleQuote: "\u201C", OpenCurlyQuote: "\u2018", operp: "\u29B9", oplus: "\u2295", orarr: "\u21BB", Or: "\u2A54", or: "\u2228", ord: "\u2A5D", order: "\u2134", orderof: "\u2134", ordf: "\xAA", ordm: "\xBA", origof: "\u22B6", oror: "\u2A56", orslope: "\u2A57", orv: "\u2A5B", oS: "\u24C8", Oscr: "\u{1D4AA}", oscr: "\u2134", Oslash: "\xD8", oslash: "\xF8", osol: "\u2298", Otilde: "\xD5", otilde: "\xF5", otimesas: "\u2A36", Otimes: "\u2A37", otimes: "\u2297", Ouml: "\xD6", ouml: "\xF6", ovbar: "\u233D", OverBar: "\u203E", OverBrace: "\u23DE", OverBracket: "\u23B4", OverParenthesis: "\u23DC", para: "\xB6", parallel: "\u2225", par: "\u2225", parsim: "\u2AF3", parsl: "\u2AFD", part: "\u2202", PartialD: "\u2202", Pcy: "\u041F", pcy: "\u043F", percnt: "%", period: ".", permil: "\u2030", perp: "\u22A5", pertenk: "\u2031", Pfr: "\u{1D513}", pfr: "\u{1D52D}", Phi: "\u03A6", phi: "\u03C6", phiv: "\u03D5", phmmat: "\u2133", phone: "\u260E", Pi: "\u03A0", pi: "\u03C0", pitchfork: "\u22D4", piv: "\u03D6", planck: "\u210F", planckh: "\u210E", plankv: "\u210F", plusacir: "\u2A23", plusb: "\u229E", pluscir: "\u2A22", plus: "+", plusdo: "\u2214", plusdu: "\u2A25", pluse: "\u2A72", PlusMinus: "\xB1", plusmn: "\xB1", plussim: "\u2A26", plustwo: "\u2A27", pm: "\xB1", Poincareplane: "\u210C", pointint: "\u2A15", popf: "\u{1D561}", Popf: "\u2119", pound: "\xA3", prap: "\u2AB7", Pr: "\u2ABB", pr: "\u227A", prcue: "\u227C", precapprox: "\u2AB7", prec: "\u227A", preccurlyeq: "\u227C", Precedes: "\u227A", PrecedesEqual: "\u2AAF", PrecedesSlantEqual: "\u227C", PrecedesTilde: "\u227E", preceq: "\u2AAF", precnapprox: "\u2AB9", precneqq: "\u2AB5", precnsim: "\u22E8", pre: "\u2AAF", prE: "\u2AB3", precsim: "\u227E", prime: "\u2032", Prime: "\u2033", primes: "\u2119", prnap: "\u2AB9", prnE: "\u2AB5", prnsim: "\u22E8", prod: "\u220F", Product: "\u220F", profalar: "\u232E", profline: "\u2312", profsurf: "\u2313", prop: "\u221D", Proportional: "\u221D", Proportion: "\u2237", propto: "\u221D", prsim: "\u227E", prurel: "\u22B0", Pscr: "\u{1D4AB}", pscr: "\u{1D4C5}", Psi: "\u03A8", psi: "\u03C8", puncsp: "\u2008", Qfr: "\u{1D514}", qfr: "\u{1D52E}", qint: "\u2A0C", qopf: "\u{1D562}", Qopf: "\u211A", qprime: "\u2057", Qscr: "\u{1D4AC}", qscr: "\u{1D4C6}", quaternions: "\u210D", quatint: "\u2A16", quest: "?", questeq: "\u225F", quot: '"', QUOT: '"', rAarr: "\u21DB", race: "\u223D\u0331", Racute: "\u0154", racute: "\u0155", radic: "\u221A", raemptyv: "\u29B3", rang: "\u27E9", Rang: "\u27EB", rangd: "\u2992", range: "\u29A5", rangle: "\u27E9", raquo: "\xBB", rarrap: "\u2975", rarrb: "\u21E5", rarrbfs: "\u2920", rarrc: "\u2933", rarr: "\u2192", Rarr: "\u21A0", rArr: "\u21D2", rarrfs: "\u291E", rarrhk: "\u21AA", rarrlp: "\u21AC", rarrpl: "\u2945", rarrsim: "\u2974", Rarrtl: "\u2916", rarrtl: "\u21A3", rarrw: "\u219D", ratail: "\u291A", rAtail: "\u291C", ratio: "\u2236", rationals: "\u211A", rbarr: "\u290D", rBarr: "\u290F", RBarr: "\u2910", rbbrk: "\u2773", rbrace: "}", rbrack: "]", rbrke: "\u298C", rbrksld: "\u298E", rbrkslu: "\u2990", Rcaron: "\u0158", rcaron: "\u0159", Rcedil: "\u0156", rcedil: "\u0157", rceil: "\u2309", rcub: "}", Rcy: "\u0420", rcy: "\u0440", rdca: "\u2937", rdldhar: "\u2969", rdquo: "\u201D", rdquor: "\u201D", rdsh: "\u21B3", real: "\u211C", realine: "\u211B", realpart: "\u211C", reals: "\u211D", Re: "\u211C", rect: "\u25AD", reg: "\xAE", REG: "\xAE", ReverseElement: "\u220B", ReverseEquilibrium: "\u21CB", ReverseUpEquilibrium: "\u296F", rfisht: "\u297D", rfloor: "\u230B", rfr: "\u{1D52F}", Rfr: "\u211C", rHar: "\u2964", rhard: "\u21C1", rharu: "\u21C0", rharul: "\u296C", Rho: "\u03A1", rho: "\u03C1", rhov: "\u03F1", RightAngleBracket: "\u27E9", RightArrowBar: "\u21E5", rightarrow: "\u2192", RightArrow: "\u2192", Rightarrow: "\u21D2", RightArrowLeftArrow: "\u21C4", rightarrowtail: "\u21A3", RightCeiling: "\u2309", RightDoubleBracket: "\u27E7", RightDownTeeVector: "\u295D", RightDownVectorBar: "\u2955", RightDownVector: "\u21C2", RightFloor: "\u230B", rightharpoondown: "\u21C1", rightharpoonup: "\u21C0", rightleftarrows: "\u21C4", rightleftharpoons: "\u21CC", rightrightarrows: "\u21C9", rightsquigarrow: "\u219D", RightTeeArrow: "\u21A6", RightTee: "\u22A2", RightTeeVector: "\u295B", rightthreetimes: "\u22CC", RightTriangleBar: "\u29D0", RightTriangle: "\u22B3", RightTriangleEqual: "\u22B5", RightUpDownVector: "\u294F", RightUpTeeVector: "\u295C", RightUpVectorBar: "\u2954", RightUpVector: "\u21BE", RightVectorBar: "\u2953", RightVector: "\u21C0", ring: "\u02DA", risingdotseq: "\u2253", rlarr: "\u21C4", rlhar: "\u21CC", rlm: "\u200F", rmoustache: "\u23B1", rmoust: "\u23B1", rnmid: "\u2AEE", roang: "\u27ED", roarr: "\u21FE", robrk: "\u27E7", ropar: "\u2986", ropf: "\u{1D563}", Ropf: "\u211D", roplus: "\u2A2E", rotimes: "\u2A35", RoundImplies: "\u2970", rpar: ")", rpargt: "\u2994", rppolint: "\u2A12", rrarr: "\u21C9", Rrightarrow: "\u21DB", rsaquo: "\u203A", rscr: "\u{1D4C7}", Rscr: "\u211B", rsh: "\u21B1", Rsh: "\u21B1", rsqb: "]", rsquo: "\u2019", rsquor: "\u2019", rthree: "\u22CC", rtimes: "\u22CA", rtri: "\u25B9", rtrie: "\u22B5", rtrif: "\u25B8", rtriltri: "\u29CE", RuleDelayed: "\u29F4", ruluhar: "\u2968", rx: "\u211E", Sacute: "\u015A", sacute: "\u015B", sbquo: "\u201A", scap: "\u2AB8", Scaron: "\u0160", scaron: "\u0161", Sc: "\u2ABC", sc: "\u227B", sccue: "\u227D", sce: "\u2AB0", scE: "\u2AB4", Scedil: "\u015E", scedil: "\u015F", Scirc: "\u015C", scirc: "\u015D", scnap: "\u2ABA", scnE: "\u2AB6", scnsim: "\u22E9", scpolint: "\u2A13", scsim: "\u227F", Scy: "\u0421", scy: "\u0441", sdotb: "\u22A1", sdot: "\u22C5", sdote: "\u2A66", searhk: "\u2925", searr: "\u2198", seArr: "\u21D8", searrow: "\u2198", sect: "\xA7", semi: ";", seswar: "\u2929", setminus: "\u2216", setmn: "\u2216", sext: "\u2736", Sfr: "\u{1D516}", sfr: "\u{1D530}", sfrown: "\u2322", sharp: "\u266F", SHCHcy: "\u0429", shchcy: "\u0449", SHcy: "\u0428", shcy: "\u0448", ShortDownArrow: "\u2193", ShortLeftArrow: "\u2190", shortmid: "\u2223", shortparallel: "\u2225", ShortRightArrow: "\u2192", ShortUpArrow: "\u2191", shy: "\xAD", Sigma: "\u03A3", sigma: "\u03C3", sigmaf: "\u03C2", sigmav: "\u03C2", sim: "\u223C", simdot: "\u2A6A", sime: "\u2243", simeq: "\u2243", simg: "\u2A9E", simgE: "\u2AA0", siml: "\u2A9D", simlE: "\u2A9F", simne: "\u2246", simplus: "\u2A24", simrarr: "\u2972", slarr: "\u2190", SmallCircle: "\u2218", smallsetminus: "\u2216", smashp: "\u2A33", smeparsl: "\u29E4", smid: "\u2223", smile: "\u2323", smt: "\u2AAA", smte: "\u2AAC", smtes: "\u2AAC\uFE00", SOFTcy: "\u042C", softcy: "\u044C", solbar: "\u233F", solb: "\u29C4", sol: "/", Sopf: "\u{1D54A}", sopf: "\u{1D564}", spades: "\u2660", spadesuit: "\u2660", spar: "\u2225", sqcap: "\u2293", sqcaps: "\u2293\uFE00", sqcup: "\u2294", sqcups: "\u2294\uFE00", Sqrt: "\u221A", sqsub: "\u228F", sqsube: "\u2291", sqsubset: "\u228F", sqsubseteq: "\u2291", sqsup: "\u2290", sqsupe: "\u2292", sqsupset: "\u2290", sqsupseteq: "\u2292", square: "\u25A1", Square: "\u25A1", SquareIntersection: "\u2293", SquareSubset: "\u228F", SquareSubsetEqual: "\u2291", SquareSuperset: "\u2290", SquareSupersetEqual: "\u2292", SquareUnion: "\u2294", squarf: "\u25AA", squ: "\u25A1", squf: "\u25AA", srarr: "\u2192", Sscr: "\u{1D4AE}", sscr: "\u{1D4C8}", ssetmn: "\u2216", ssmile: "\u2323", sstarf: "\u22C6", Star: "\u22C6", star: "\u2606", starf: "\u2605", straightepsilon: "\u03F5", straightphi: "\u03D5", strns: "\xAF", sub: "\u2282", Sub: "\u22D0", subdot: "\u2ABD", subE: "\u2AC5", sube: "\u2286", subedot: "\u2AC3", submult: "\u2AC1", subnE: "\u2ACB", subne: "\u228A", subplus: "\u2ABF", subrarr: "\u2979", subset: "\u2282", Subset: "\u22D0", subseteq: "\u2286", subseteqq: "\u2AC5", SubsetEqual: "\u2286", subsetneq: "\u228A", subsetneqq: "\u2ACB", subsim: "\u2AC7", subsub: "\u2AD5", subsup: "\u2AD3", succapprox: "\u2AB8", succ: "\u227B", succcurlyeq: "\u227D", Succeeds: "\u227B", SucceedsEqual: "\u2AB0", SucceedsSlantEqual: "\u227D", SucceedsTilde: "\u227F", succeq: "\u2AB0", succnapprox: "\u2ABA", succneqq: "\u2AB6", succnsim: "\u22E9", succsim: "\u227F", SuchThat: "\u220B", sum: "\u2211", Sum: "\u2211", sung: "\u266A", sup1: "\xB9", sup2: "\xB2", sup3: "\xB3", sup: "\u2283", Sup: "\u22D1", supdot: "\u2ABE", supdsub: "\u2AD8", supE: "\u2AC6", supe: "\u2287", supedot: "\u2AC4", Superset: "\u2283", SupersetEqual: "\u2287", suphsol: "\u27C9", suphsub: "\u2AD7", suplarr: "\u297B", supmult: "\u2AC2", supnE: "\u2ACC", supne: "\u228B", supplus: "\u2AC0", supset: "\u2283", Supset: "\u22D1", supseteq: "\u2287", supseteqq: "\u2AC6", supsetneq: "\u228B", supsetneqq: "\u2ACC", supsim: "\u2AC8", supsub: "\u2AD4", supsup: "\u2AD6", swarhk: "\u2926", swarr: "\u2199", swArr: "\u21D9", swarrow: "\u2199", swnwar: "\u292A", szlig: "\xDF", Tab: " ", target: "\u2316", Tau: "\u03A4", tau: "\u03C4", tbrk: "\u23B4", Tcaron: "\u0164", tcaron: "\u0165", Tcedil: "\u0162", tcedil: "\u0163", Tcy: "\u0422", tcy: "\u0442", tdot: "\u20DB", telrec: "\u2315", Tfr: "\u{1D517}", tfr: "\u{1D531}", there4: "\u2234", therefore: "\u2234", Therefore: "\u2234", Theta: "\u0398", theta: "\u03B8", thetasym: "\u03D1", thetav: "\u03D1", thickapprox: "\u2248", thicksim: "\u223C", ThickSpace: "\u205F\u200A", ThinSpace: "\u2009", thinsp: "\u2009", thkap: "\u2248", thksim: "\u223C", THORN: "\xDE", thorn: "\xFE", tilde: "\u02DC", Tilde: "\u223C", TildeEqual: "\u2243", TildeFullEqual: "\u2245", TildeTilde: "\u2248", timesbar: "\u2A31", timesb: "\u22A0", times: "\xD7", timesd: "\u2A30", tint: "\u222D", toea: "\u2928", topbot: "\u2336", topcir: "\u2AF1", top: "\u22A4", Topf: "\u{1D54B}", topf: "\u{1D565}", topfork: "\u2ADA", tosa: "\u2929", tprime: "\u2034", trade: "\u2122", TRADE: "\u2122", triangle: "\u25B5", triangledown: "\u25BF", triangleleft: "\u25C3", trianglelefteq: "\u22B4", triangleq: "\u225C", triangleright: "\u25B9", trianglerighteq: "\u22B5", tridot: "\u25EC", trie: "\u225C", triminus: "\u2A3A", TripleDot: "\u20DB", triplus: "\u2A39", trisb: "\u29CD", tritime: "\u2A3B", trpezium: "\u23E2", Tscr: "\u{1D4AF}", tscr: "\u{1D4C9}", TScy: "\u0426", tscy: "\u0446", TSHcy: "\u040B", tshcy: "\u045B", Tstrok: "\u0166", tstrok: "\u0167", twixt: "\u226C", twoheadleftarrow: "\u219E", twoheadrightarrow: "\u21A0", Uacute: "\xDA", uacute: "\xFA", uarr: "\u2191", Uarr: "\u219F", uArr: "\u21D1", Uarrocir: "\u2949", Ubrcy: "\u040E", ubrcy: "\u045E", Ubreve: "\u016C", ubreve: "\u016D", Ucirc: "\xDB", ucirc: "\xFB", Ucy: "\u0423", ucy: "\u0443", udarr: "\u21C5", Udblac: "\u0170", udblac: "\u0171", udhar: "\u296E", ufisht: "\u297E", Ufr: "\u{1D518}", ufr: "\u{1D532}", Ugrave: "\xD9", ugrave: "\xF9", uHar: "\u2963", uharl: "\u21BF", uharr: "\u21BE", uhblk: "\u2580", ulcorn: "\u231C", ulcorner: "\u231C", ulcrop: "\u230F", ultri: "\u25F8", Umacr: "\u016A", umacr: "\u016B", uml: "\xA8", UnderBar: "_", UnderBrace: "\u23DF", UnderBracket: "\u23B5", UnderParenthesis: "\u23DD", Union: "\u22C3", UnionPlus: "\u228E", Uogon: "\u0172", uogon: "\u0173", Uopf: "\u{1D54C}", uopf: "\u{1D566}", UpArrowBar: "\u2912", uparrow: "\u2191", UpArrow: "\u2191", Uparrow: "\u21D1", UpArrowDownArrow: "\u21C5", updownarrow: "\u2195", UpDownArrow: "\u2195", Updownarrow: "\u21D5", UpEquilibrium: "\u296E", upharpoonleft: "\u21BF", upharpoonright: "\u21BE", uplus: "\u228E", UpperLeftArrow: "\u2196", UpperRightArrow: "\u2197", upsi: "\u03C5", Upsi: "\u03D2", upsih: "\u03D2", Upsilon: "\u03A5", upsilon: "\u03C5", UpTeeArrow: "\u21A5", UpTee: "\u22A5", upuparrows: "\u21C8", urcorn: "\u231D", urcorner: "\u231D", urcrop: "\u230E", Uring: "\u016E", uring: "\u016F", urtri: "\u25F9", Uscr: "\u{1D4B0}", uscr: "\u{1D4CA}", utdot: "\u22F0", Utilde: "\u0168", utilde: "\u0169", utri: "\u25B5", utrif: "\u25B4", uuarr: "\u21C8", Uuml: "\xDC", uuml: "\xFC", uwangle: "\u29A7", vangrt: "\u299C", varepsilon: "\u03F5", varkappa: "\u03F0", varnothing: "\u2205", varphi: "\u03D5", varpi: "\u03D6", varpropto: "\u221D", varr: "\u2195", vArr: "\u21D5", varrho: "\u03F1", varsigma: "\u03C2", varsubsetneq: "\u228A\uFE00", varsubsetneqq: "\u2ACB\uFE00", varsupsetneq: "\u228B\uFE00", varsupsetneqq: "\u2ACC\uFE00", vartheta: "\u03D1", vartriangleleft: "\u22B2", vartriangleright: "\u22B3", vBar: "\u2AE8", Vbar: "\u2AEB", vBarv: "\u2AE9", Vcy: "\u0412", vcy: "\u0432", vdash: "\u22A2", vDash: "\u22A8", Vdash: "\u22A9", VDash: "\u22AB", Vdashl: "\u2AE6", veebar: "\u22BB", vee: "\u2228", Vee: "\u22C1", veeeq: "\u225A", vellip: "\u22EE", verbar: "|", Verbar: "\u2016", vert: "|", Vert: "\u2016", VerticalBar: "\u2223", VerticalLine: "|", VerticalSeparator: "\u2758", VerticalTilde: "\u2240", VeryThinSpace: "\u200A", Vfr: "\u{1D519}", vfr: "\u{1D533}", vltri: "\u22B2", vnsub: "\u2282\u20D2", vnsup: "\u2283\u20D2", Vopf: "\u{1D54D}", vopf: "\u{1D567}", vprop: "\u221D", vrtri: "\u22B3", Vscr: "\u{1D4B1}", vscr: "\u{1D4CB}", vsubnE: "\u2ACB\uFE00", vsubne: "\u228A\uFE00", vsupnE: "\u2ACC\uFE00", vsupne: "\u228B\uFE00", Vvdash: "\u22AA", vzigzag: "\u299A", Wcirc: "\u0174", wcirc: "\u0175", wedbar: "\u2A5F", wedge: "\u2227", Wedge: "\u22C0", wedgeq: "\u2259", weierp: "\u2118", Wfr: "\u{1D51A}", wfr: "\u{1D534}", Wopf: "\u{1D54E}", wopf: "\u{1D568}", wp: "\u2118", wr: "\u2240", wreath: "\u2240", Wscr: "\u{1D4B2}", wscr: "\u{1D4CC}", xcap: "\u22C2", xcirc: "\u25EF", xcup: "\u22C3", xdtri: "\u25BD", Xfr: "\u{1D51B}", xfr: "\u{1D535}", xharr: "\u27F7", xhArr: "\u27FA", Xi: "\u039E", xi: "\u03BE", xlarr: "\u27F5", xlArr: "\u27F8", xmap: "\u27FC", xnis: "\u22FB", xodot: "\u2A00", Xopf: "\u{1D54F}", xopf: "\u{1D569}", xoplus: "\u2A01", xotime: "\u2A02", xrarr: "\u27F6", xrArr: "\u27F9", Xscr: "\u{1D4B3}", xscr: "\u{1D4CD}", xsqcup: "\u2A06", xuplus: "\u2A04", xutri: "\u25B3", xvee: "\u22C1", xwedge: "\u22C0", Yacute: "\xDD", yacute: "\xFD", YAcy: "\u042F", yacy: "\u044F", Ycirc: "\u0176", ycirc: "\u0177", Ycy: "\u042B", ycy: "\u044B", yen: "\xA5", Yfr: "\u{1D51C}", yfr: "\u{1D536}", YIcy: "\u0407", yicy: "\u0457", Yopf: "\u{1D550}", yopf: "\u{1D56A}", Yscr: "\u{1D4B4}", yscr: "\u{1D4CE}", YUcy: "\u042E", yucy: "\u044E", yuml: "\xFF", Yuml: "\u0178", Zacute: "\u0179", zacute: "\u017A", Zcaron: "\u017D", zcaron: "\u017E", Zcy: "\u0417", zcy: "\u0437", Zdot: "\u017B", zdot: "\u017C", zeetrf: "\u2128", ZeroWidthSpace: "\u200B", Zeta: "\u0396", zeta: "\u03B6", zfr: "\u{1D537}", Zfr: "\u2128", ZHcy: "\u0416", zhcy: "\u0436", zigrarr: "\u21DD", zopf: "\u{1D56B}", Zopf: "\u2124", Zscr: "\u{1D4B5}", zscr: "\u{1D4CF}", zwj: "\u200D", zwnj: "\u200C" };
27
- }
28
- });
29
-
30
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/common/entities.js
31
- var require_entities2 = __commonJS({
32
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/common/entities.js"(exports, module) {
33
- "use strict";
34
- module.exports = require_entities();
35
- }
36
- });
37
-
38
- // ../../node_modules/.pnpm/uc.micro@1.0.6/node_modules/uc.micro/categories/P/regex.js
39
- var require_regex = __commonJS({
40
- "../../node_modules/.pnpm/uc.micro@1.0.6/node_modules/uc.micro/categories/P/regex.js"(exports, module) {
41
- module.exports = /[!-#%-\*,-\/:;\?@\[-\]_\{\}\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]/;
42
- }
43
- });
44
-
45
- // ../../node_modules/.pnpm/mdurl@1.0.1/node_modules/mdurl/encode.js
46
- var require_encode = __commonJS({
47
- "../../node_modules/.pnpm/mdurl@1.0.1/node_modules/mdurl/encode.js"(exports, module) {
48
- "use strict";
49
- var encodeCache = {};
50
- function getEncodeCache(exclude) {
51
- var i, ch, cache = encodeCache[exclude];
52
- if (cache) {
53
- return cache;
54
- }
55
- cache = encodeCache[exclude] = [];
56
- for (i = 0; i < 128; i++) {
57
- ch = String.fromCharCode(i);
58
- if (/^[0-9a-z]$/i.test(ch)) {
59
- cache.push(ch);
60
- } else {
61
- cache.push("%" + ("0" + i.toString(16).toUpperCase()).slice(-2));
62
- }
63
- }
64
- for (i = 0; i < exclude.length; i++) {
65
- cache[exclude.charCodeAt(i)] = exclude[i];
66
- }
67
- return cache;
68
- }
69
- function encode(string, exclude, keepEscaped) {
70
- var i, l, code, nextCode, cache, result = "";
71
- if (typeof exclude !== "string") {
72
- keepEscaped = exclude;
73
- exclude = encode.defaultChars;
74
- }
75
- if (typeof keepEscaped === "undefined") {
76
- keepEscaped = true;
77
- }
78
- cache = getEncodeCache(exclude);
79
- for (i = 0, l = string.length; i < l; i++) {
80
- code = string.charCodeAt(i);
81
- if (keepEscaped && code === 37 && i + 2 < l) {
82
- if (/^[0-9a-f]{2}$/i.test(string.slice(i + 1, i + 3))) {
83
- result += string.slice(i, i + 3);
84
- i += 2;
85
- continue;
86
- }
87
- }
88
- if (code < 128) {
89
- result += cache[code];
90
- continue;
91
- }
92
- if (code >= 55296 && code <= 57343) {
93
- if (code >= 55296 && code <= 56319 && i + 1 < l) {
94
- nextCode = string.charCodeAt(i + 1);
95
- if (nextCode >= 56320 && nextCode <= 57343) {
96
- result += encodeURIComponent(string[i] + string[i + 1]);
97
- i++;
98
- continue;
99
- }
100
- }
101
- result += "%EF%BF%BD";
102
- continue;
103
- }
104
- result += encodeURIComponent(string[i]);
105
- }
106
- return result;
107
- }
108
- encode.defaultChars = ";/?:@&=+$,-_.!~*'()#";
109
- encode.componentChars = "-_.!~*'()";
110
- module.exports = encode;
111
- }
112
- });
113
-
114
- // ../../node_modules/.pnpm/mdurl@1.0.1/node_modules/mdurl/decode.js
115
- var require_decode = __commonJS({
116
- "../../node_modules/.pnpm/mdurl@1.0.1/node_modules/mdurl/decode.js"(exports, module) {
117
- "use strict";
118
- var decodeCache = {};
119
- function getDecodeCache(exclude) {
120
- var i, ch, cache = decodeCache[exclude];
121
- if (cache) {
122
- return cache;
123
- }
124
- cache = decodeCache[exclude] = [];
125
- for (i = 0; i < 128; i++) {
126
- ch = String.fromCharCode(i);
127
- cache.push(ch);
128
- }
129
- for (i = 0; i < exclude.length; i++) {
130
- ch = exclude.charCodeAt(i);
131
- cache[ch] = "%" + ("0" + ch.toString(16).toUpperCase()).slice(-2);
132
- }
133
- return cache;
134
- }
135
- function decode(string, exclude) {
136
- var cache;
137
- if (typeof exclude !== "string") {
138
- exclude = decode.defaultChars;
139
- }
140
- cache = getDecodeCache(exclude);
141
- return string.replace(/(%[a-f0-9]{2})+/gi, function(seq) {
142
- var i, l, b1, b2, b3, b4, chr, result = "";
143
- for (i = 0, l = seq.length; i < l; i += 3) {
144
- b1 = parseInt(seq.slice(i + 1, i + 3), 16);
145
- if (b1 < 128) {
146
- result += cache[b1];
147
- continue;
148
- }
149
- if ((b1 & 224) === 192 && i + 3 < l) {
150
- b2 = parseInt(seq.slice(i + 4, i + 6), 16);
151
- if ((b2 & 192) === 128) {
152
- chr = b1 << 6 & 1984 | b2 & 63;
153
- if (chr < 128) {
154
- result += "\uFFFD\uFFFD";
155
- } else {
156
- result += String.fromCharCode(chr);
157
- }
158
- i += 3;
159
- continue;
160
- }
161
- }
162
- if ((b1 & 240) === 224 && i + 6 < l) {
163
- b2 = parseInt(seq.slice(i + 4, i + 6), 16);
164
- b3 = parseInt(seq.slice(i + 7, i + 9), 16);
165
- if ((b2 & 192) === 128 && (b3 & 192) === 128) {
166
- chr = b1 << 12 & 61440 | b2 << 6 & 4032 | b3 & 63;
167
- if (chr < 2048 || chr >= 55296 && chr <= 57343) {
168
- result += "\uFFFD\uFFFD\uFFFD";
169
- } else {
170
- result += String.fromCharCode(chr);
171
- }
172
- i += 6;
173
- continue;
174
- }
175
- }
176
- if ((b1 & 248) === 240 && i + 9 < l) {
177
- b2 = parseInt(seq.slice(i + 4, i + 6), 16);
178
- b3 = parseInt(seq.slice(i + 7, i + 9), 16);
179
- b4 = parseInt(seq.slice(i + 10, i + 12), 16);
180
- if ((b2 & 192) === 128 && (b3 & 192) === 128 && (b4 & 192) === 128) {
181
- chr = b1 << 18 & 1835008 | b2 << 12 & 258048 | b3 << 6 & 4032 | b4 & 63;
182
- if (chr < 65536 || chr > 1114111) {
183
- result += "\uFFFD\uFFFD\uFFFD\uFFFD";
184
- } else {
185
- chr -= 65536;
186
- result += String.fromCharCode(55296 + (chr >> 10), 56320 + (chr & 1023));
187
- }
188
- i += 9;
189
- continue;
190
- }
191
- }
192
- result += "\uFFFD";
193
- }
194
- return result;
195
- });
196
- }
197
- decode.defaultChars = ";/?:@&=+$,#";
198
- decode.componentChars = "";
199
- module.exports = decode;
200
- }
201
- });
202
-
203
- // ../../node_modules/.pnpm/mdurl@1.0.1/node_modules/mdurl/format.js
204
- var require_format = __commonJS({
205
- "../../node_modules/.pnpm/mdurl@1.0.1/node_modules/mdurl/format.js"(exports, module) {
206
- "use strict";
207
- module.exports = function format(url) {
208
- var result = "";
209
- result += url.protocol || "";
210
- result += url.slashes ? "//" : "";
211
- result += url.auth ? url.auth + "@" : "";
212
- if (url.hostname && url.hostname.indexOf(":") !== -1) {
213
- result += "[" + url.hostname + "]";
214
- } else {
215
- result += url.hostname || "";
216
- }
217
- result += url.port ? ":" + url.port : "";
218
- result += url.pathname || "";
219
- result += url.search || "";
220
- result += url.hash || "";
221
- return result;
222
- };
223
- }
224
- });
225
-
226
- // ../../node_modules/.pnpm/mdurl@1.0.1/node_modules/mdurl/parse.js
227
- var require_parse = __commonJS({
228
- "../../node_modules/.pnpm/mdurl@1.0.1/node_modules/mdurl/parse.js"(exports, module) {
229
- "use strict";
230
- function Url() {
231
- this.protocol = null;
232
- this.slashes = null;
233
- this.auth = null;
234
- this.port = null;
235
- this.hostname = null;
236
- this.hash = null;
237
- this.search = null;
238
- this.pathname = null;
239
- }
240
- var protocolPattern = /^([a-z0-9.+-]+:)/i;
241
- var portPattern = /:[0-9]*$/;
242
- var simplePathPattern = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/;
243
- var delims = ["<", ">", '"', "`", " ", "\r", "\n", " "];
244
- var unwise = ["{", "}", "|", "\\", "^", "`"].concat(delims);
245
- var autoEscape = ["'"].concat(unwise);
246
- var nonHostChars = ["%", "/", "?", ";", "#"].concat(autoEscape);
247
- var hostEndingChars = ["/", "?", "#"];
248
- var hostnameMaxLen = 255;
249
- var hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/;
250
- var hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/;
251
- var hostlessProtocol = {
252
- "javascript": true,
253
- "javascript:": true
254
- };
255
- var slashedProtocol = {
256
- "http": true,
257
- "https": true,
258
- "ftp": true,
259
- "gopher": true,
260
- "file": true,
261
- "http:": true,
262
- "https:": true,
263
- "ftp:": true,
264
- "gopher:": true,
265
- "file:": true
266
- };
267
- function urlParse(url, slashesDenoteHost) {
268
- if (url && url instanceof Url) {
269
- return url;
270
- }
271
- var u = new Url();
272
- u.parse(url, slashesDenoteHost);
273
- return u;
274
- }
275
- Url.prototype.parse = function(url, slashesDenoteHost) {
276
- var i, l, lowerProto, hec, slashes, rest = url;
277
- rest = rest.trim();
278
- if (!slashesDenoteHost && url.split("#").length === 1) {
279
- var simplePath = simplePathPattern.exec(rest);
280
- if (simplePath) {
281
- this.pathname = simplePath[1];
282
- if (simplePath[2]) {
283
- this.search = simplePath[2];
284
- }
285
- return this;
286
- }
287
- }
288
- var proto = protocolPattern.exec(rest);
289
- if (proto) {
290
- proto = proto[0];
291
- lowerProto = proto.toLowerCase();
292
- this.protocol = proto;
293
- rest = rest.substr(proto.length);
294
- }
295
- if (slashesDenoteHost || proto || rest.match(/^\/\/[^@\/]+@[^@\/]+/)) {
296
- slashes = rest.substr(0, 2) === "//";
297
- if (slashes && !(proto && hostlessProtocol[proto])) {
298
- rest = rest.substr(2);
299
- this.slashes = true;
300
- }
301
- }
302
- if (!hostlessProtocol[proto] && (slashes || proto && !slashedProtocol[proto])) {
303
- var hostEnd = -1;
304
- for (i = 0; i < hostEndingChars.length; i++) {
305
- hec = rest.indexOf(hostEndingChars[i]);
306
- if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) {
307
- hostEnd = hec;
308
- }
309
- }
310
- var auth, atSign;
311
- if (hostEnd === -1) {
312
- atSign = rest.lastIndexOf("@");
313
- } else {
314
- atSign = rest.lastIndexOf("@", hostEnd);
315
- }
316
- if (atSign !== -1) {
317
- auth = rest.slice(0, atSign);
318
- rest = rest.slice(atSign + 1);
319
- this.auth = auth;
320
- }
321
- hostEnd = -1;
322
- for (i = 0; i < nonHostChars.length; i++) {
323
- hec = rest.indexOf(nonHostChars[i]);
324
- if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) {
325
- hostEnd = hec;
326
- }
327
- }
328
- if (hostEnd === -1) {
329
- hostEnd = rest.length;
330
- }
331
- if (rest[hostEnd - 1] === ":") {
332
- hostEnd--;
333
- }
334
- var host = rest.slice(0, hostEnd);
335
- rest = rest.slice(hostEnd);
336
- this.parseHost(host);
337
- this.hostname = this.hostname || "";
338
- var ipv6Hostname = this.hostname[0] === "[" && this.hostname[this.hostname.length - 1] === "]";
339
- if (!ipv6Hostname) {
340
- var hostparts = this.hostname.split(/\./);
341
- for (i = 0, l = hostparts.length; i < l; i++) {
342
- var part = hostparts[i];
343
- if (!part) {
344
- continue;
345
- }
346
- if (!part.match(hostnamePartPattern)) {
347
- var newpart = "";
348
- for (var j = 0, k = part.length; j < k; j++) {
349
- if (part.charCodeAt(j) > 127) {
350
- newpart += "x";
351
- } else {
352
- newpart += part[j];
353
- }
354
- }
355
- if (!newpart.match(hostnamePartPattern)) {
356
- var validParts = hostparts.slice(0, i);
357
- var notHost = hostparts.slice(i + 1);
358
- var bit = part.match(hostnamePartStart);
359
- if (bit) {
360
- validParts.push(bit[1]);
361
- notHost.unshift(bit[2]);
362
- }
363
- if (notHost.length) {
364
- rest = notHost.join(".") + rest;
365
- }
366
- this.hostname = validParts.join(".");
367
- break;
368
- }
369
- }
370
- }
371
- }
372
- if (this.hostname.length > hostnameMaxLen) {
373
- this.hostname = "";
374
- }
375
- if (ipv6Hostname) {
376
- this.hostname = this.hostname.substr(1, this.hostname.length - 2);
377
- }
378
- }
379
- var hash = rest.indexOf("#");
380
- if (hash !== -1) {
381
- this.hash = rest.substr(hash);
382
- rest = rest.slice(0, hash);
383
- }
384
- var qm = rest.indexOf("?");
385
- if (qm !== -1) {
386
- this.search = rest.substr(qm);
387
- rest = rest.slice(0, qm);
388
- }
389
- if (rest) {
390
- this.pathname = rest;
391
- }
392
- if (slashedProtocol[lowerProto] && this.hostname && !this.pathname) {
393
- this.pathname = "";
394
- }
395
- return this;
396
- };
397
- Url.prototype.parseHost = function(host) {
398
- var port = portPattern.exec(host);
399
- if (port) {
400
- port = port[0];
401
- if (port !== ":") {
402
- this.port = port.substr(1);
403
- }
404
- host = host.substr(0, host.length - port.length);
405
- }
406
- if (host) {
407
- this.hostname = host;
408
- }
409
- };
410
- module.exports = urlParse;
411
- }
412
- });
413
-
414
- // ../../node_modules/.pnpm/mdurl@1.0.1/node_modules/mdurl/index.js
415
- var require_mdurl = __commonJS({
416
- "../../node_modules/.pnpm/mdurl@1.0.1/node_modules/mdurl/index.js"(exports, module) {
417
- "use strict";
418
- module.exports.encode = require_encode();
419
- module.exports.decode = require_decode();
420
- module.exports.format = require_format();
421
- module.exports.parse = require_parse();
422
- }
423
- });
424
-
425
- // ../../node_modules/.pnpm/uc.micro@1.0.6/node_modules/uc.micro/properties/Any/regex.js
426
- var require_regex2 = __commonJS({
427
- "../../node_modules/.pnpm/uc.micro@1.0.6/node_modules/uc.micro/properties/Any/regex.js"(exports, module) {
428
- module.exports = /[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;
429
- }
430
- });
431
-
432
- // ../../node_modules/.pnpm/uc.micro@1.0.6/node_modules/uc.micro/categories/Cc/regex.js
433
- var require_regex3 = __commonJS({
434
- "../../node_modules/.pnpm/uc.micro@1.0.6/node_modules/uc.micro/categories/Cc/regex.js"(exports, module) {
435
- module.exports = /[\0-\x1F\x7F-\x9F]/;
436
- }
437
- });
438
-
439
- // ../../node_modules/.pnpm/uc.micro@1.0.6/node_modules/uc.micro/categories/Cf/regex.js
440
- var require_regex4 = __commonJS({
441
- "../../node_modules/.pnpm/uc.micro@1.0.6/node_modules/uc.micro/categories/Cf/regex.js"(exports, module) {
442
- module.exports = /[\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]/;
443
- }
444
- });
445
-
446
- // ../../node_modules/.pnpm/uc.micro@1.0.6/node_modules/uc.micro/categories/Z/regex.js
447
- var require_regex5 = __commonJS({
448
- "../../node_modules/.pnpm/uc.micro@1.0.6/node_modules/uc.micro/categories/Z/regex.js"(exports, module) {
449
- module.exports = /[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/;
450
- }
451
- });
452
-
453
- // ../../node_modules/.pnpm/uc.micro@1.0.6/node_modules/uc.micro/index.js
454
- var require_uc = __commonJS({
455
- "../../node_modules/.pnpm/uc.micro@1.0.6/node_modules/uc.micro/index.js"(exports) {
456
- "use strict";
457
- exports.Any = require_regex2();
458
- exports.Cc = require_regex3();
459
- exports.Cf = require_regex4();
460
- exports.P = require_regex();
461
- exports.Z = require_regex5();
462
- }
463
- });
464
-
465
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/common/utils.js
466
- var require_utils = __commonJS({
467
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/common/utils.js"(exports) {
468
- "use strict";
469
- function _class(obj) {
470
- return Object.prototype.toString.call(obj);
471
- }
472
- function isString(obj) {
473
- return _class(obj) === "[object String]";
474
- }
475
- var _hasOwnProperty = Object.prototype.hasOwnProperty;
476
- function has(object, key) {
477
- return _hasOwnProperty.call(object, key);
478
- }
479
- function assign(obj) {
480
- var sources = Array.prototype.slice.call(arguments, 1);
481
- sources.forEach(function(source) {
482
- if (!source) {
483
- return;
484
- }
485
- if (typeof source !== "object") {
486
- throw new TypeError(source + "must be object");
487
- }
488
- Object.keys(source).forEach(function(key) {
489
- obj[key] = source[key];
490
- });
491
- });
492
- return obj;
493
- }
494
- function arrayReplaceAt(src, pos, newElements) {
495
- return [].concat(src.slice(0, pos), newElements, src.slice(pos + 1));
496
- }
497
- function isValidEntityCode(c) {
498
- if (c >= 55296 && c <= 57343) {
499
- return false;
500
- }
501
- if (c >= 64976 && c <= 65007) {
502
- return false;
503
- }
504
- if ((c & 65535) === 65535 || (c & 65535) === 65534) {
505
- return false;
506
- }
507
- if (c >= 0 && c <= 8) {
508
- return false;
509
- }
510
- if (c === 11) {
511
- return false;
512
- }
513
- if (c >= 14 && c <= 31) {
514
- return false;
515
- }
516
- if (c >= 127 && c <= 159) {
517
- return false;
518
- }
519
- if (c > 1114111) {
520
- return false;
521
- }
522
- return true;
523
- }
524
- function fromCodePoint(c) {
525
- if (c > 65535) {
526
- c -= 65536;
527
- var surrogate1 = 55296 + (c >> 10), surrogate2 = 56320 + (c & 1023);
528
- return String.fromCharCode(surrogate1, surrogate2);
529
- }
530
- return String.fromCharCode(c);
531
- }
532
- var UNESCAPE_MD_RE = /\\([!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~])/g;
533
- var ENTITY_RE = /&([a-z#][a-z0-9]{1,31});/gi;
534
- var UNESCAPE_ALL_RE = new RegExp(UNESCAPE_MD_RE.source + "|" + ENTITY_RE.source, "gi");
535
- var DIGITAL_ENTITY_TEST_RE = /^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i;
536
- var entities = require_entities2();
537
- function replaceEntityPattern(match, name) {
538
- var code = 0;
539
- if (has(entities, name)) {
540
- return entities[name];
541
- }
542
- if (name.charCodeAt(0) === 35 && DIGITAL_ENTITY_TEST_RE.test(name)) {
543
- code = name[1].toLowerCase() === "x" ? parseInt(name.slice(2), 16) : parseInt(name.slice(1), 10);
544
- if (isValidEntityCode(code)) {
545
- return fromCodePoint(code);
546
- }
547
- }
548
- return match;
549
- }
550
- function unescapeMd(str) {
551
- if (str.indexOf("\\") < 0) {
552
- return str;
553
- }
554
- return str.replace(UNESCAPE_MD_RE, "$1");
555
- }
556
- function unescapeAll(str) {
557
- if (str.indexOf("\\") < 0 && str.indexOf("&") < 0) {
558
- return str;
559
- }
560
- return str.replace(UNESCAPE_ALL_RE, function(match, escaped, entity) {
561
- if (escaped) {
562
- return escaped;
563
- }
564
- return replaceEntityPattern(match, entity);
565
- });
566
- }
567
- var HTML_ESCAPE_TEST_RE = /[&<>"]/;
568
- var HTML_ESCAPE_REPLACE_RE = /[&<>"]/g;
569
- var HTML_REPLACEMENTS = {
570
- "&": "&amp;",
571
- "<": "&lt;",
572
- ">": "&gt;",
573
- '"': "&quot;"
574
- };
575
- function replaceUnsafeChar(ch) {
576
- return HTML_REPLACEMENTS[ch];
577
- }
578
- function escapeHtml(str) {
579
- if (HTML_ESCAPE_TEST_RE.test(str)) {
580
- return str.replace(HTML_ESCAPE_REPLACE_RE, replaceUnsafeChar);
581
- }
582
- return str;
583
- }
584
- var REGEXP_ESCAPE_RE = /[.?*+^$[\]\\(){}|-]/g;
585
- function escapeRE(str) {
586
- return str.replace(REGEXP_ESCAPE_RE, "\\$&");
587
- }
588
- function isSpace(code) {
589
- switch (code) {
590
- case 9:
591
- case 32:
592
- return true;
593
- }
594
- return false;
595
- }
596
- function isWhiteSpace(code) {
597
- if (code >= 8192 && code <= 8202) {
598
- return true;
599
- }
600
- switch (code) {
601
- case 9:
602
- case 10:
603
- case 11:
604
- case 12:
605
- case 13:
606
- case 32:
607
- case 160:
608
- case 5760:
609
- case 8239:
610
- case 8287:
611
- case 12288:
612
- return true;
613
- }
614
- return false;
615
- }
616
- var UNICODE_PUNCT_RE = require_regex();
617
- function isPunctChar(ch) {
618
- return UNICODE_PUNCT_RE.test(ch);
619
- }
620
- function isMdAsciiPunct(ch) {
621
- switch (ch) {
622
- case 33:
623
- case 34:
624
- case 35:
625
- case 36:
626
- case 37:
627
- case 38:
628
- case 39:
629
- case 40:
630
- case 41:
631
- case 42:
632
- case 43:
633
- case 44:
634
- case 45:
635
- case 46:
636
- case 47:
637
- case 58:
638
- case 59:
639
- case 60:
640
- case 61:
641
- case 62:
642
- case 63:
643
- case 64:
644
- case 91:
645
- case 92:
646
- case 93:
647
- case 94:
648
- case 95:
649
- case 96:
650
- case 123:
651
- case 124:
652
- case 125:
653
- case 126:
654
- return true;
655
- default:
656
- return false;
657
- }
658
- }
659
- function normalizeReference(str) {
660
- str = str.trim().replace(/\s+/g, " ");
661
- if ("\u1E9E".toLowerCase() === "\u1E7E") {
662
- str = str.replace(/ẞ/g, "\xDF");
663
- }
664
- return str.toLowerCase().toUpperCase();
665
- }
666
- exports.lib = {};
667
- exports.lib.mdurl = require_mdurl();
668
- exports.lib.ucmicro = require_uc();
669
- exports.assign = assign;
670
- exports.isString = isString;
671
- exports.has = has;
672
- exports.unescapeMd = unescapeMd;
673
- exports.unescapeAll = unescapeAll;
674
- exports.isValidEntityCode = isValidEntityCode;
675
- exports.fromCodePoint = fromCodePoint;
676
- exports.escapeHtml = escapeHtml;
677
- exports.arrayReplaceAt = arrayReplaceAt;
678
- exports.isSpace = isSpace;
679
- exports.isWhiteSpace = isWhiteSpace;
680
- exports.isMdAsciiPunct = isMdAsciiPunct;
681
- exports.isPunctChar = isPunctChar;
682
- exports.escapeRE = escapeRE;
683
- exports.normalizeReference = normalizeReference;
684
- }
685
- });
686
-
687
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/helpers/parse_link_label.js
688
- var require_parse_link_label = __commonJS({
689
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/helpers/parse_link_label.js"(exports, module) {
690
- "use strict";
691
- module.exports = function parseLinkLabel(state, start, disableNested) {
692
- var level, found, marker, prevPos, labelEnd = -1, max = state.posMax, oldPos = state.pos;
693
- state.pos = start + 1;
694
- level = 1;
695
- while (state.pos < max) {
696
- marker = state.src.charCodeAt(state.pos);
697
- if (marker === 93) {
698
- level--;
699
- if (level === 0) {
700
- found = true;
701
- break;
702
- }
703
- }
704
- prevPos = state.pos;
705
- state.md.inline.skipToken(state);
706
- if (marker === 91) {
707
- if (prevPos === state.pos - 1) {
708
- level++;
709
- } else if (disableNested) {
710
- state.pos = oldPos;
711
- return -1;
712
- }
713
- }
714
- }
715
- if (found) {
716
- labelEnd = state.pos;
717
- }
718
- state.pos = oldPos;
719
- return labelEnd;
720
- };
721
- }
722
- });
723
-
724
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/helpers/parse_link_destination.js
725
- var require_parse_link_destination = __commonJS({
726
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/helpers/parse_link_destination.js"(exports, module) {
727
- "use strict";
728
- var unescapeAll = require_utils().unescapeAll;
729
- module.exports = function parseLinkDestination(str, pos, max) {
730
- var code, level, lines = 0, start = pos, result = {
731
- ok: false,
732
- pos: 0,
733
- lines: 0,
734
- str: ""
735
- };
736
- if (str.charCodeAt(pos) === 60) {
737
- pos++;
738
- while (pos < max) {
739
- code = str.charCodeAt(pos);
740
- if (code === 10) {
741
- return result;
742
- }
743
- if (code === 60) {
744
- return result;
745
- }
746
- if (code === 62) {
747
- result.pos = pos + 1;
748
- result.str = unescapeAll(str.slice(start + 1, pos));
749
- result.ok = true;
750
- return result;
751
- }
752
- if (code === 92 && pos + 1 < max) {
753
- pos += 2;
754
- continue;
755
- }
756
- pos++;
757
- }
758
- return result;
759
- }
760
- level = 0;
761
- while (pos < max) {
762
- code = str.charCodeAt(pos);
763
- if (code === 32) {
764
- break;
765
- }
766
- if (code < 32 || code === 127) {
767
- break;
768
- }
769
- if (code === 92 && pos + 1 < max) {
770
- if (str.charCodeAt(pos + 1) === 32) {
771
- break;
772
- }
773
- pos += 2;
774
- continue;
775
- }
776
- if (code === 40) {
777
- level++;
778
- if (level > 32) {
779
- return result;
780
- }
781
- }
782
- if (code === 41) {
783
- if (level === 0) {
784
- break;
785
- }
786
- level--;
787
- }
788
- pos++;
789
- }
790
- if (start === pos) {
791
- return result;
792
- }
793
- if (level !== 0) {
794
- return result;
795
- }
796
- result.str = unescapeAll(str.slice(start, pos));
797
- result.lines = lines;
798
- result.pos = pos;
799
- result.ok = true;
800
- return result;
801
- };
802
- }
803
- });
804
-
805
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/helpers/parse_link_title.js
806
- var require_parse_link_title = __commonJS({
807
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/helpers/parse_link_title.js"(exports, module) {
808
- "use strict";
809
- var unescapeAll = require_utils().unescapeAll;
810
- module.exports = function parseLinkTitle(str, pos, max) {
811
- var code, marker, lines = 0, start = pos, result = {
812
- ok: false,
813
- pos: 0,
814
- lines: 0,
815
- str: ""
816
- };
817
- if (pos >= max) {
818
- return result;
819
- }
820
- marker = str.charCodeAt(pos);
821
- if (marker !== 34 && marker !== 39 && marker !== 40) {
822
- return result;
823
- }
824
- pos++;
825
- if (marker === 40) {
826
- marker = 41;
827
- }
828
- while (pos < max) {
829
- code = str.charCodeAt(pos);
830
- if (code === marker) {
831
- result.pos = pos + 1;
832
- result.lines = lines;
833
- result.str = unescapeAll(str.slice(start + 1, pos));
834
- result.ok = true;
835
- return result;
836
- } else if (code === 40 && marker === 41) {
837
- return result;
838
- } else if (code === 10) {
839
- lines++;
840
- } else if (code === 92 && pos + 1 < max) {
841
- pos++;
842
- if (str.charCodeAt(pos) === 10) {
843
- lines++;
844
- }
845
- }
846
- pos++;
847
- }
848
- return result;
849
- };
850
- }
851
- });
852
-
853
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/helpers/index.js
854
- var require_helpers = __commonJS({
855
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/helpers/index.js"(exports) {
856
- "use strict";
857
- exports.parseLinkLabel = require_parse_link_label();
858
- exports.parseLinkDestination = require_parse_link_destination();
859
- exports.parseLinkTitle = require_parse_link_title();
860
- }
861
- });
862
-
863
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/renderer.js
864
- var require_renderer = __commonJS({
865
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/renderer.js"(exports, module) {
866
- "use strict";
867
- var assign = require_utils().assign;
868
- var unescapeAll = require_utils().unescapeAll;
869
- var escapeHtml = require_utils().escapeHtml;
870
- var default_rules = {};
871
- default_rules.code_inline = function(tokens, idx, options, env, slf) {
872
- var token = tokens[idx];
873
- return "<code" + slf.renderAttrs(token) + ">" + escapeHtml(tokens[idx].content) + "</code>";
874
- };
875
- default_rules.code_block = function(tokens, idx, options, env, slf) {
876
- var token = tokens[idx];
877
- return "<pre" + slf.renderAttrs(token) + "><code>" + escapeHtml(tokens[idx].content) + "</code></pre>\n";
878
- };
879
- default_rules.fence = function(tokens, idx, options, env, slf) {
880
- var token = tokens[idx], info = token.info ? unescapeAll(token.info).trim() : "", langName = "", langAttrs = "", highlighted, i, arr, tmpAttrs, tmpToken;
881
- if (info) {
882
- arr = info.split(/(\s+)/g);
883
- langName = arr[0];
884
- langAttrs = arr.slice(2).join("");
885
- }
886
- if (options.highlight) {
887
- highlighted = options.highlight(token.content, langName, langAttrs) || escapeHtml(token.content);
888
- } else {
889
- highlighted = escapeHtml(token.content);
890
- }
891
- if (highlighted.indexOf("<pre") === 0) {
892
- return highlighted + "\n";
893
- }
894
- if (info) {
895
- i = token.attrIndex("class");
896
- tmpAttrs = token.attrs ? token.attrs.slice() : [];
897
- if (i < 0) {
898
- tmpAttrs.push(["class", options.langPrefix + langName]);
899
- } else {
900
- tmpAttrs[i] = tmpAttrs[i].slice();
901
- tmpAttrs[i][1] += " " + options.langPrefix + langName;
902
- }
903
- tmpToken = {
904
- attrs: tmpAttrs
905
- };
906
- return "<pre><code" + slf.renderAttrs(tmpToken) + ">" + highlighted + "</code></pre>\n";
907
- }
908
- return "<pre><code" + slf.renderAttrs(token) + ">" + highlighted + "</code></pre>\n";
909
- };
910
- default_rules.image = function(tokens, idx, options, env, slf) {
911
- var token = tokens[idx];
912
- token.attrs[token.attrIndex("alt")][1] = slf.renderInlineAsText(token.children, options, env);
913
- return slf.renderToken(tokens, idx, options);
914
- };
915
- default_rules.hardbreak = function(tokens, idx, options) {
916
- return options.xhtmlOut ? "<br />\n" : "<br>\n";
917
- };
918
- default_rules.softbreak = function(tokens, idx, options) {
919
- return options.breaks ? options.xhtmlOut ? "<br />\n" : "<br>\n" : "\n";
920
- };
921
- default_rules.text = function(tokens, idx) {
922
- return escapeHtml(tokens[idx].content);
923
- };
924
- default_rules.html_block = function(tokens, idx) {
925
- return tokens[idx].content;
926
- };
927
- default_rules.html_inline = function(tokens, idx) {
928
- return tokens[idx].content;
929
- };
930
- function Renderer() {
931
- this.rules = assign({}, default_rules);
932
- }
933
- Renderer.prototype.renderAttrs = function renderAttrs(token) {
934
- var i, l, result;
935
- if (!token.attrs) {
936
- return "";
937
- }
938
- result = "";
939
- for (i = 0, l = token.attrs.length; i < l; i++) {
940
- result += " " + escapeHtml(token.attrs[i][0]) + '="' + escapeHtml(token.attrs[i][1]) + '"';
941
- }
942
- return result;
943
- };
944
- Renderer.prototype.renderToken = function renderToken(tokens, idx, options) {
945
- var nextToken, result = "", needLf = false, token = tokens[idx];
946
- if (token.hidden) {
947
- return "";
948
- }
949
- if (token.block && token.nesting !== -1 && idx && tokens[idx - 1].hidden) {
950
- result += "\n";
951
- }
952
- result += (token.nesting === -1 ? "</" : "<") + token.tag;
953
- result += this.renderAttrs(token);
954
- if (token.nesting === 0 && options.xhtmlOut) {
955
- result += " /";
956
- }
957
- if (token.block) {
958
- needLf = true;
959
- if (token.nesting === 1) {
960
- if (idx + 1 < tokens.length) {
961
- nextToken = tokens[idx + 1];
962
- if (nextToken.type === "inline" || nextToken.hidden) {
963
- needLf = false;
964
- } else if (nextToken.nesting === -1 && nextToken.tag === token.tag) {
965
- needLf = false;
966
- }
967
- }
968
- }
969
- }
970
- result += needLf ? ">\n" : ">";
971
- return result;
972
- };
973
- Renderer.prototype.renderInline = function(tokens, options, env) {
974
- var type, result = "", rules = this.rules;
975
- for (var i = 0, len = tokens.length; i < len; i++) {
976
- type = tokens[i].type;
977
- if (typeof rules[type] !== "undefined") {
978
- result += rules[type](tokens, i, options, env, this);
979
- } else {
980
- result += this.renderToken(tokens, i, options);
981
- }
982
- }
983
- return result;
984
- };
985
- Renderer.prototype.renderInlineAsText = function(tokens, options, env) {
986
- var result = "";
987
- for (var i = 0, len = tokens.length; i < len; i++) {
988
- if (tokens[i].type === "text") {
989
- result += tokens[i].content;
990
- } else if (tokens[i].type === "image") {
991
- result += this.renderInlineAsText(tokens[i].children, options, env);
992
- } else if (tokens[i].type === "softbreak") {
993
- result += "\n";
994
- }
995
- }
996
- return result;
997
- };
998
- Renderer.prototype.render = function(tokens, options, env) {
999
- var i, len, type, result = "", rules = this.rules;
1000
- for (i = 0, len = tokens.length; i < len; i++) {
1001
- type = tokens[i].type;
1002
- if (type === "inline") {
1003
- result += this.renderInline(tokens[i].children, options, env);
1004
- } else if (typeof rules[type] !== "undefined") {
1005
- result += rules[tokens[i].type](tokens, i, options, env, this);
1006
- } else {
1007
- result += this.renderToken(tokens, i, options, env);
1008
- }
1009
- }
1010
- return result;
1011
- };
1012
- module.exports = Renderer;
1013
- }
1014
- });
1015
-
1016
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/ruler.js
1017
- var require_ruler = __commonJS({
1018
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/ruler.js"(exports, module) {
1019
- "use strict";
1020
- function Ruler() {
1021
- this.__rules__ = [];
1022
- this.__cache__ = null;
1023
- }
1024
- Ruler.prototype.__find__ = function(name) {
1025
- for (var i = 0; i < this.__rules__.length; i++) {
1026
- if (this.__rules__[i].name === name) {
1027
- return i;
1028
- }
1029
- }
1030
- return -1;
1031
- };
1032
- Ruler.prototype.__compile__ = function() {
1033
- var self = this;
1034
- var chains = [""];
1035
- self.__rules__.forEach(function(rule) {
1036
- if (!rule.enabled) {
1037
- return;
1038
- }
1039
- rule.alt.forEach(function(altName) {
1040
- if (chains.indexOf(altName) < 0) {
1041
- chains.push(altName);
1042
- }
1043
- });
1044
- });
1045
- self.__cache__ = {};
1046
- chains.forEach(function(chain) {
1047
- self.__cache__[chain] = [];
1048
- self.__rules__.forEach(function(rule) {
1049
- if (!rule.enabled) {
1050
- return;
1051
- }
1052
- if (chain && rule.alt.indexOf(chain) < 0) {
1053
- return;
1054
- }
1055
- self.__cache__[chain].push(rule.fn);
1056
- });
1057
- });
1058
- };
1059
- Ruler.prototype.at = function(name, fn, options) {
1060
- var index = this.__find__(name);
1061
- var opt = options || {};
1062
- if (index === -1) {
1063
- throw new Error("Parser rule not found: " + name);
1064
- }
1065
- this.__rules__[index].fn = fn;
1066
- this.__rules__[index].alt = opt.alt || [];
1067
- this.__cache__ = null;
1068
- };
1069
- Ruler.prototype.before = function(beforeName, ruleName, fn, options) {
1070
- var index = this.__find__(beforeName);
1071
- var opt = options || {};
1072
- if (index === -1) {
1073
- throw new Error("Parser rule not found: " + beforeName);
1074
- }
1075
- this.__rules__.splice(index, 0, {
1076
- name: ruleName,
1077
- enabled: true,
1078
- fn,
1079
- alt: opt.alt || []
1080
- });
1081
- this.__cache__ = null;
1082
- };
1083
- Ruler.prototype.after = function(afterName, ruleName, fn, options) {
1084
- var index = this.__find__(afterName);
1085
- var opt = options || {};
1086
- if (index === -1) {
1087
- throw new Error("Parser rule not found: " + afterName);
1088
- }
1089
- this.__rules__.splice(index + 1, 0, {
1090
- name: ruleName,
1091
- enabled: true,
1092
- fn,
1093
- alt: opt.alt || []
1094
- });
1095
- this.__cache__ = null;
1096
- };
1097
- Ruler.prototype.push = function(ruleName, fn, options) {
1098
- var opt = options || {};
1099
- this.__rules__.push({
1100
- name: ruleName,
1101
- enabled: true,
1102
- fn,
1103
- alt: opt.alt || []
1104
- });
1105
- this.__cache__ = null;
1106
- };
1107
- Ruler.prototype.enable = function(list, ignoreInvalid) {
1108
- if (!Array.isArray(list)) {
1109
- list = [list];
1110
- }
1111
- var result = [];
1112
- list.forEach(function(name) {
1113
- var idx = this.__find__(name);
1114
- if (idx < 0) {
1115
- if (ignoreInvalid) {
1116
- return;
1117
- }
1118
- throw new Error("Rules manager: invalid rule name " + name);
1119
- }
1120
- this.__rules__[idx].enabled = true;
1121
- result.push(name);
1122
- }, this);
1123
- this.__cache__ = null;
1124
- return result;
1125
- };
1126
- Ruler.prototype.enableOnly = function(list, ignoreInvalid) {
1127
- if (!Array.isArray(list)) {
1128
- list = [list];
1129
- }
1130
- this.__rules__.forEach(function(rule) {
1131
- rule.enabled = false;
1132
- });
1133
- this.enable(list, ignoreInvalid);
1134
- };
1135
- Ruler.prototype.disable = function(list, ignoreInvalid) {
1136
- if (!Array.isArray(list)) {
1137
- list = [list];
1138
- }
1139
- var result = [];
1140
- list.forEach(function(name) {
1141
- var idx = this.__find__(name);
1142
- if (idx < 0) {
1143
- if (ignoreInvalid) {
1144
- return;
1145
- }
1146
- throw new Error("Rules manager: invalid rule name " + name);
1147
- }
1148
- this.__rules__[idx].enabled = false;
1149
- result.push(name);
1150
- }, this);
1151
- this.__cache__ = null;
1152
- return result;
1153
- };
1154
- Ruler.prototype.getRules = function(chainName) {
1155
- if (this.__cache__ === null) {
1156
- this.__compile__();
1157
- }
1158
- return this.__cache__[chainName] || [];
1159
- };
1160
- module.exports = Ruler;
1161
- }
1162
- });
1163
-
1164
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_core/normalize.js
1165
- var require_normalize = __commonJS({
1166
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_core/normalize.js"(exports, module) {
1167
- "use strict";
1168
- var NEWLINES_RE = /\r\n?|\n/g;
1169
- var NULL_RE = /\0/g;
1170
- module.exports = function normalize(state) {
1171
- var str;
1172
- str = state.src.replace(NEWLINES_RE, "\n");
1173
- str = str.replace(NULL_RE, "\uFFFD");
1174
- state.src = str;
1175
- };
1176
- }
1177
- });
1178
-
1179
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_core/block.js
1180
- var require_block = __commonJS({
1181
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_core/block.js"(exports, module) {
1182
- "use strict";
1183
- module.exports = function block(state) {
1184
- var token;
1185
- if (state.inlineMode) {
1186
- token = new state.Token("inline", "", 0);
1187
- token.content = state.src;
1188
- token.map = [0, 1];
1189
- token.children = [];
1190
- state.tokens.push(token);
1191
- } else {
1192
- state.md.block.parse(state.src, state.md, state.env, state.tokens);
1193
- }
1194
- };
1195
- }
1196
- });
1197
-
1198
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_core/inline.js
1199
- var require_inline = __commonJS({
1200
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_core/inline.js"(exports, module) {
1201
- "use strict";
1202
- module.exports = function inline(state) {
1203
- var tokens = state.tokens, tok, i, l;
1204
- for (i = 0, l = tokens.length; i < l; i++) {
1205
- tok = tokens[i];
1206
- if (tok.type === "inline") {
1207
- state.md.inline.parse(tok.content, state.md, state.env, tok.children);
1208
- }
1209
- }
1210
- };
1211
- }
1212
- });
1213
-
1214
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_core/linkify.js
1215
- var require_linkify = __commonJS({
1216
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_core/linkify.js"(exports, module) {
1217
- "use strict";
1218
- var arrayReplaceAt = require_utils().arrayReplaceAt;
1219
- function isLinkOpen(str) {
1220
- return /^<a[>\s]/i.test(str);
1221
- }
1222
- function isLinkClose(str) {
1223
- return /^<\/a\s*>/i.test(str);
1224
- }
1225
- module.exports = function linkify(state) {
1226
- var i, j, l, tokens, token, currentToken, nodes, ln, text, pos, lastPos, level, htmlLinkLevel, url, fullUrl, urlText, blockTokens = state.tokens, links;
1227
- if (!state.md.options.linkify) {
1228
- return;
1229
- }
1230
- for (j = 0, l = blockTokens.length; j < l; j++) {
1231
- if (blockTokens[j].type !== "inline" || !state.md.linkify.pretest(blockTokens[j].content)) {
1232
- continue;
1233
- }
1234
- tokens = blockTokens[j].children;
1235
- htmlLinkLevel = 0;
1236
- for (i = tokens.length - 1; i >= 0; i--) {
1237
- currentToken = tokens[i];
1238
- if (currentToken.type === "link_close") {
1239
- i--;
1240
- while (tokens[i].level !== currentToken.level && tokens[i].type !== "link_open") {
1241
- i--;
1242
- }
1243
- continue;
1244
- }
1245
- if (currentToken.type === "html_inline") {
1246
- if (isLinkOpen(currentToken.content) && htmlLinkLevel > 0) {
1247
- htmlLinkLevel--;
1248
- }
1249
- if (isLinkClose(currentToken.content)) {
1250
- htmlLinkLevel++;
1251
- }
1252
- }
1253
- if (htmlLinkLevel > 0) {
1254
- continue;
1255
- }
1256
- if (currentToken.type === "text" && state.md.linkify.test(currentToken.content)) {
1257
- text = currentToken.content;
1258
- links = state.md.linkify.match(text);
1259
- nodes = [];
1260
- level = currentToken.level;
1261
- lastPos = 0;
1262
- for (ln = 0; ln < links.length; ln++) {
1263
- url = links[ln].url;
1264
- fullUrl = state.md.normalizeLink(url);
1265
- if (!state.md.validateLink(fullUrl)) {
1266
- continue;
1267
- }
1268
- urlText = links[ln].text;
1269
- if (!links[ln].schema) {
1270
- urlText = state.md.normalizeLinkText("http://" + urlText).replace(/^http:\/\//, "");
1271
- } else if (links[ln].schema === "mailto:" && !/^mailto:/i.test(urlText)) {
1272
- urlText = state.md.normalizeLinkText("mailto:" + urlText).replace(/^mailto:/, "");
1273
- } else {
1274
- urlText = state.md.normalizeLinkText(urlText);
1275
- }
1276
- pos = links[ln].index;
1277
- if (pos > lastPos) {
1278
- token = new state.Token("text", "", 0);
1279
- token.content = text.slice(lastPos, pos);
1280
- token.level = level;
1281
- nodes.push(token);
1282
- }
1283
- token = new state.Token("link_open", "a", 1);
1284
- token.attrs = [["href", fullUrl]];
1285
- token.level = level++;
1286
- token.markup = "linkify";
1287
- token.info = "auto";
1288
- nodes.push(token);
1289
- token = new state.Token("text", "", 0);
1290
- token.content = urlText;
1291
- token.level = level;
1292
- nodes.push(token);
1293
- token = new state.Token("link_close", "a", -1);
1294
- token.level = --level;
1295
- token.markup = "linkify";
1296
- token.info = "auto";
1297
- nodes.push(token);
1298
- lastPos = links[ln].lastIndex;
1299
- }
1300
- if (lastPos < text.length) {
1301
- token = new state.Token("text", "", 0);
1302
- token.content = text.slice(lastPos);
1303
- token.level = level;
1304
- nodes.push(token);
1305
- }
1306
- blockTokens[j].children = tokens = arrayReplaceAt(tokens, i, nodes);
1307
- }
1308
- }
1309
- }
1310
- };
1311
- }
1312
- });
1313
-
1314
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_core/replacements.js
1315
- var require_replacements = __commonJS({
1316
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_core/replacements.js"(exports, module) {
1317
- "use strict";
1318
- var RARE_RE = /\+-|\.\.|\?\?\?\?|!!!!|,,|--/;
1319
- var SCOPED_ABBR_TEST_RE = /\((c|tm|r|p)\)/i;
1320
- var SCOPED_ABBR_RE = /\((c|tm|r|p)\)/ig;
1321
- var SCOPED_ABBR = {
1322
- c: "\xA9",
1323
- r: "\xAE",
1324
- p: "\xA7",
1325
- tm: "\u2122"
1326
- };
1327
- function replaceFn(match, name) {
1328
- return SCOPED_ABBR[name.toLowerCase()];
1329
- }
1330
- function replace_scoped(inlineTokens) {
1331
- var i, token, inside_autolink = 0;
1332
- for (i = inlineTokens.length - 1; i >= 0; i--) {
1333
- token = inlineTokens[i];
1334
- if (token.type === "text" && !inside_autolink) {
1335
- token.content = token.content.replace(SCOPED_ABBR_RE, replaceFn);
1336
- }
1337
- if (token.type === "link_open" && token.info === "auto") {
1338
- inside_autolink--;
1339
- }
1340
- if (token.type === "link_close" && token.info === "auto") {
1341
- inside_autolink++;
1342
- }
1343
- }
1344
- }
1345
- function replace_rare(inlineTokens) {
1346
- var i, token, inside_autolink = 0;
1347
- for (i = inlineTokens.length - 1; i >= 0; i--) {
1348
- token = inlineTokens[i];
1349
- if (token.type === "text" && !inside_autolink) {
1350
- if (RARE_RE.test(token.content)) {
1351
- token.content = token.content.replace(/\+-/g, "\xB1").replace(/\.{2,}/g, "\u2026").replace(/([?!])…/g, "$1..").replace(/([?!]){4,}/g, "$1$1$1").replace(/,{2,}/g, ",").replace(/(^|[^-])---(?=[^-]|$)/mg, "$1\u2014").replace(/(^|\s)--(?=\s|$)/mg, "$1\u2013").replace(/(^|[^-\s])--(?=[^-\s]|$)/mg, "$1\u2013");
1352
- }
1353
- }
1354
- if (token.type === "link_open" && token.info === "auto") {
1355
- inside_autolink--;
1356
- }
1357
- if (token.type === "link_close" && token.info === "auto") {
1358
- inside_autolink++;
1359
- }
1360
- }
1361
- }
1362
- module.exports = function replace(state) {
1363
- var blkIdx;
1364
- if (!state.md.options.typographer) {
1365
- return;
1366
- }
1367
- for (blkIdx = state.tokens.length - 1; blkIdx >= 0; blkIdx--) {
1368
- if (state.tokens[blkIdx].type !== "inline") {
1369
- continue;
1370
- }
1371
- if (SCOPED_ABBR_TEST_RE.test(state.tokens[blkIdx].content)) {
1372
- replace_scoped(state.tokens[blkIdx].children);
1373
- }
1374
- if (RARE_RE.test(state.tokens[blkIdx].content)) {
1375
- replace_rare(state.tokens[blkIdx].children);
1376
- }
1377
- }
1378
- };
1379
- }
1380
- });
1381
-
1382
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_core/smartquotes.js
1383
- var require_smartquotes = __commonJS({
1384
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_core/smartquotes.js"(exports, module) {
1385
- "use strict";
1386
- var isWhiteSpace = require_utils().isWhiteSpace;
1387
- var isPunctChar = require_utils().isPunctChar;
1388
- var isMdAsciiPunct = require_utils().isMdAsciiPunct;
1389
- var QUOTE_TEST_RE = /['"]/;
1390
- var QUOTE_RE = /['"]/g;
1391
- var APOSTROPHE = "\u2019";
1392
- function replaceAt(str, index, ch) {
1393
- return str.substr(0, index) + ch + str.substr(index + 1);
1394
- }
1395
- function process_inlines(tokens, state) {
1396
- var i, token, text, t, pos, max, thisLevel, item, lastChar, nextChar, isLastPunctChar, isNextPunctChar, isLastWhiteSpace, isNextWhiteSpace, canOpen, canClose, j, isSingle, stack, openQuote, closeQuote;
1397
- stack = [];
1398
- for (i = 0; i < tokens.length; i++) {
1399
- token = tokens[i];
1400
- thisLevel = tokens[i].level;
1401
- for (j = stack.length - 1; j >= 0; j--) {
1402
- if (stack[j].level <= thisLevel) {
1403
- break;
1404
- }
1405
- }
1406
- stack.length = j + 1;
1407
- if (token.type !== "text") {
1408
- continue;
1409
- }
1410
- text = token.content;
1411
- pos = 0;
1412
- max = text.length;
1413
- OUTER:
1414
- while (pos < max) {
1415
- QUOTE_RE.lastIndex = pos;
1416
- t = QUOTE_RE.exec(text);
1417
- if (!t) {
1418
- break;
1419
- }
1420
- canOpen = canClose = true;
1421
- pos = t.index + 1;
1422
- isSingle = t[0] === "'";
1423
- lastChar = 32;
1424
- if (t.index - 1 >= 0) {
1425
- lastChar = text.charCodeAt(t.index - 1);
1426
- } else {
1427
- for (j = i - 1; j >= 0; j--) {
1428
- if (tokens[j].type === "softbreak" || tokens[j].type === "hardbreak")
1429
- break;
1430
- if (!tokens[j].content)
1431
- continue;
1432
- lastChar = tokens[j].content.charCodeAt(tokens[j].content.length - 1);
1433
- break;
1434
- }
1435
- }
1436
- nextChar = 32;
1437
- if (pos < max) {
1438
- nextChar = text.charCodeAt(pos);
1439
- } else {
1440
- for (j = i + 1; j < tokens.length; j++) {
1441
- if (tokens[j].type === "softbreak" || tokens[j].type === "hardbreak")
1442
- break;
1443
- if (!tokens[j].content)
1444
- continue;
1445
- nextChar = tokens[j].content.charCodeAt(0);
1446
- break;
1447
- }
1448
- }
1449
- isLastPunctChar = isMdAsciiPunct(lastChar) || isPunctChar(String.fromCharCode(lastChar));
1450
- isNextPunctChar = isMdAsciiPunct(nextChar) || isPunctChar(String.fromCharCode(nextChar));
1451
- isLastWhiteSpace = isWhiteSpace(lastChar);
1452
- isNextWhiteSpace = isWhiteSpace(nextChar);
1453
- if (isNextWhiteSpace) {
1454
- canOpen = false;
1455
- } else if (isNextPunctChar) {
1456
- if (!(isLastWhiteSpace || isLastPunctChar)) {
1457
- canOpen = false;
1458
- }
1459
- }
1460
- if (isLastWhiteSpace) {
1461
- canClose = false;
1462
- } else if (isLastPunctChar) {
1463
- if (!(isNextWhiteSpace || isNextPunctChar)) {
1464
- canClose = false;
1465
- }
1466
- }
1467
- if (nextChar === 34 && t[0] === '"') {
1468
- if (lastChar >= 48 && lastChar <= 57) {
1469
- canClose = canOpen = false;
1470
- }
1471
- }
1472
- if (canOpen && canClose) {
1473
- canOpen = isLastPunctChar;
1474
- canClose = isNextPunctChar;
1475
- }
1476
- if (!canOpen && !canClose) {
1477
- if (isSingle) {
1478
- token.content = replaceAt(token.content, t.index, APOSTROPHE);
1479
- }
1480
- continue;
1481
- }
1482
- if (canClose) {
1483
- for (j = stack.length - 1; j >= 0; j--) {
1484
- item = stack[j];
1485
- if (stack[j].level < thisLevel) {
1486
- break;
1487
- }
1488
- if (item.single === isSingle && stack[j].level === thisLevel) {
1489
- item = stack[j];
1490
- if (isSingle) {
1491
- openQuote = state.md.options.quotes[2];
1492
- closeQuote = state.md.options.quotes[3];
1493
- } else {
1494
- openQuote = state.md.options.quotes[0];
1495
- closeQuote = state.md.options.quotes[1];
1496
- }
1497
- token.content = replaceAt(token.content, t.index, closeQuote);
1498
- tokens[item.token].content = replaceAt(tokens[item.token].content, item.pos, openQuote);
1499
- pos += closeQuote.length - 1;
1500
- if (item.token === i) {
1501
- pos += openQuote.length - 1;
1502
- }
1503
- text = token.content;
1504
- max = text.length;
1505
- stack.length = j;
1506
- continue OUTER;
1507
- }
1508
- }
1509
- }
1510
- if (canOpen) {
1511
- stack.push({
1512
- token: i,
1513
- pos: t.index,
1514
- single: isSingle,
1515
- level: thisLevel
1516
- });
1517
- } else if (canClose && isSingle) {
1518
- token.content = replaceAt(token.content, t.index, APOSTROPHE);
1519
- }
1520
- }
1521
- }
1522
- }
1523
- module.exports = function smartquotes(state) {
1524
- var blkIdx;
1525
- if (!state.md.options.typographer) {
1526
- return;
1527
- }
1528
- for (blkIdx = state.tokens.length - 1; blkIdx >= 0; blkIdx--) {
1529
- if (state.tokens[blkIdx].type !== "inline" || !QUOTE_TEST_RE.test(state.tokens[blkIdx].content)) {
1530
- continue;
1531
- }
1532
- process_inlines(state.tokens[blkIdx].children, state);
1533
- }
1534
- };
1535
- }
1536
- });
1537
-
1538
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/token.js
1539
- var require_token = __commonJS({
1540
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/token.js"(exports, module) {
1541
- "use strict";
1542
- function Token(type, tag, nesting) {
1543
- this.type = type;
1544
- this.tag = tag;
1545
- this.attrs = null;
1546
- this.map = null;
1547
- this.nesting = nesting;
1548
- this.level = 0;
1549
- this.children = null;
1550
- this.content = "";
1551
- this.markup = "";
1552
- this.info = "";
1553
- this.meta = null;
1554
- this.block = false;
1555
- this.hidden = false;
1556
- }
1557
- Token.prototype.attrIndex = function attrIndex(name) {
1558
- var attrs, i, len;
1559
- if (!this.attrs) {
1560
- return -1;
1561
- }
1562
- attrs = this.attrs;
1563
- for (i = 0, len = attrs.length; i < len; i++) {
1564
- if (attrs[i][0] === name) {
1565
- return i;
1566
- }
1567
- }
1568
- return -1;
1569
- };
1570
- Token.prototype.attrPush = function attrPush(attrData) {
1571
- if (this.attrs) {
1572
- this.attrs.push(attrData);
1573
- } else {
1574
- this.attrs = [attrData];
1575
- }
1576
- };
1577
- Token.prototype.attrSet = function attrSet(name, value) {
1578
- var idx = this.attrIndex(name), attrData = [name, value];
1579
- if (idx < 0) {
1580
- this.attrPush(attrData);
1581
- } else {
1582
- this.attrs[idx] = attrData;
1583
- }
1584
- };
1585
- Token.prototype.attrGet = function attrGet(name) {
1586
- var idx = this.attrIndex(name), value = null;
1587
- if (idx >= 0) {
1588
- value = this.attrs[idx][1];
1589
- }
1590
- return value;
1591
- };
1592
- Token.prototype.attrJoin = function attrJoin(name, value) {
1593
- var idx = this.attrIndex(name);
1594
- if (idx < 0) {
1595
- this.attrPush([name, value]);
1596
- } else {
1597
- this.attrs[idx][1] = this.attrs[idx][1] + " " + value;
1598
- }
1599
- };
1600
- module.exports = Token;
1601
- }
1602
- });
1603
-
1604
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_core/state_core.js
1605
- var require_state_core = __commonJS({
1606
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_core/state_core.js"(exports, module) {
1607
- "use strict";
1608
- var Token = require_token();
1609
- function StateCore(src, md2, env) {
1610
- this.src = src;
1611
- this.env = env;
1612
- this.tokens = [];
1613
- this.inlineMode = false;
1614
- this.md = md2;
1615
- }
1616
- StateCore.prototype.Token = Token;
1617
- module.exports = StateCore;
1618
- }
1619
- });
1620
-
1621
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/parser_core.js
1622
- var require_parser_core = __commonJS({
1623
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/parser_core.js"(exports, module) {
1624
- "use strict";
1625
- var Ruler = require_ruler();
1626
- var _rules = [
1627
- ["normalize", require_normalize()],
1628
- ["block", require_block()],
1629
- ["inline", require_inline()],
1630
- ["linkify", require_linkify()],
1631
- ["replacements", require_replacements()],
1632
- ["smartquotes", require_smartquotes()]
1633
- ];
1634
- function Core() {
1635
- this.ruler = new Ruler();
1636
- for (var i = 0; i < _rules.length; i++) {
1637
- this.ruler.push(_rules[i][0], _rules[i][1]);
1638
- }
1639
- }
1640
- Core.prototype.process = function(state) {
1641
- var i, l, rules;
1642
- rules = this.ruler.getRules("");
1643
- for (i = 0, l = rules.length; i < l; i++) {
1644
- rules[i](state);
1645
- }
1646
- };
1647
- Core.prototype.State = require_state_core();
1648
- module.exports = Core;
1649
- }
1650
- });
1651
-
1652
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_block/table.js
1653
- var require_table = __commonJS({
1654
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_block/table.js"(exports, module) {
1655
- "use strict";
1656
- var isSpace = require_utils().isSpace;
1657
- function getLine(state, line) {
1658
- var pos = state.bMarks[line] + state.tShift[line], max = state.eMarks[line];
1659
- return state.src.substr(pos, max - pos);
1660
- }
1661
- function escapedSplit(str) {
1662
- var result = [], pos = 0, max = str.length, ch, isEscaped = false, lastPos = 0, current = "";
1663
- ch = str.charCodeAt(pos);
1664
- while (pos < max) {
1665
- if (ch === 124) {
1666
- if (!isEscaped) {
1667
- result.push(current + str.substring(lastPos, pos));
1668
- current = "";
1669
- lastPos = pos + 1;
1670
- } else {
1671
- current += str.substring(lastPos, pos - 1);
1672
- lastPos = pos;
1673
- }
1674
- }
1675
- isEscaped = ch === 92;
1676
- pos++;
1677
- ch = str.charCodeAt(pos);
1678
- }
1679
- result.push(current + str.substring(lastPos));
1680
- return result;
1681
- }
1682
- module.exports = function table(state, startLine, endLine, silent) {
1683
- var ch, lineText, pos, i, l, nextLine, columns, columnCount, token, aligns, t, tableLines, tbodyLines, oldParentType, terminate, terminatorRules, firstCh, secondCh;
1684
- if (startLine + 2 > endLine) {
1685
- return false;
1686
- }
1687
- nextLine = startLine + 1;
1688
- if (state.sCount[nextLine] < state.blkIndent) {
1689
- return false;
1690
- }
1691
- if (state.sCount[nextLine] - state.blkIndent >= 4) {
1692
- return false;
1693
- }
1694
- pos = state.bMarks[nextLine] + state.tShift[nextLine];
1695
- if (pos >= state.eMarks[nextLine]) {
1696
- return false;
1697
- }
1698
- firstCh = state.src.charCodeAt(pos++);
1699
- if (firstCh !== 124 && firstCh !== 45 && firstCh !== 58) {
1700
- return false;
1701
- }
1702
- if (pos >= state.eMarks[nextLine]) {
1703
- return false;
1704
- }
1705
- secondCh = state.src.charCodeAt(pos++);
1706
- if (secondCh !== 124 && secondCh !== 45 && secondCh !== 58 && !isSpace(secondCh)) {
1707
- return false;
1708
- }
1709
- if (firstCh === 45 && isSpace(secondCh)) {
1710
- return false;
1711
- }
1712
- while (pos < state.eMarks[nextLine]) {
1713
- ch = state.src.charCodeAt(pos);
1714
- if (ch !== 124 && ch !== 45 && ch !== 58 && !isSpace(ch)) {
1715
- return false;
1716
- }
1717
- pos++;
1718
- }
1719
- lineText = getLine(state, startLine + 1);
1720
- columns = lineText.split("|");
1721
- aligns = [];
1722
- for (i = 0; i < columns.length; i++) {
1723
- t = columns[i].trim();
1724
- if (!t) {
1725
- if (i === 0 || i === columns.length - 1) {
1726
- continue;
1727
- } else {
1728
- return false;
1729
- }
1730
- }
1731
- if (!/^:?-+:?$/.test(t)) {
1732
- return false;
1733
- }
1734
- if (t.charCodeAt(t.length - 1) === 58) {
1735
- aligns.push(t.charCodeAt(0) === 58 ? "center" : "right");
1736
- } else if (t.charCodeAt(0) === 58) {
1737
- aligns.push("left");
1738
- } else {
1739
- aligns.push("");
1740
- }
1741
- }
1742
- lineText = getLine(state, startLine).trim();
1743
- if (lineText.indexOf("|") === -1) {
1744
- return false;
1745
- }
1746
- if (state.sCount[startLine] - state.blkIndent >= 4) {
1747
- return false;
1748
- }
1749
- columns = escapedSplit(lineText);
1750
- if (columns.length && columns[0] === "")
1751
- columns.shift();
1752
- if (columns.length && columns[columns.length - 1] === "")
1753
- columns.pop();
1754
- columnCount = columns.length;
1755
- if (columnCount === 0 || columnCount !== aligns.length) {
1756
- return false;
1757
- }
1758
- if (silent) {
1759
- return true;
1760
- }
1761
- oldParentType = state.parentType;
1762
- state.parentType = "table";
1763
- terminatorRules = state.md.block.ruler.getRules("blockquote");
1764
- token = state.push("table_open", "table", 1);
1765
- token.map = tableLines = [startLine, 0];
1766
- token = state.push("thead_open", "thead", 1);
1767
- token.map = [startLine, startLine + 1];
1768
- token = state.push("tr_open", "tr", 1);
1769
- token.map = [startLine, startLine + 1];
1770
- for (i = 0; i < columns.length; i++) {
1771
- token = state.push("th_open", "th", 1);
1772
- if (aligns[i]) {
1773
- token.attrs = [["style", "text-align:" + aligns[i]]];
1774
- }
1775
- token = state.push("inline", "", 0);
1776
- token.content = columns[i].trim();
1777
- token.children = [];
1778
- token = state.push("th_close", "th", -1);
1779
- }
1780
- token = state.push("tr_close", "tr", -1);
1781
- token = state.push("thead_close", "thead", -1);
1782
- for (nextLine = startLine + 2; nextLine < endLine; nextLine++) {
1783
- if (state.sCount[nextLine] < state.blkIndent) {
1784
- break;
1785
- }
1786
- terminate = false;
1787
- for (i = 0, l = terminatorRules.length; i < l; i++) {
1788
- if (terminatorRules[i](state, nextLine, endLine, true)) {
1789
- terminate = true;
1790
- break;
1791
- }
1792
- }
1793
- if (terminate) {
1794
- break;
1795
- }
1796
- lineText = getLine(state, nextLine).trim();
1797
- if (!lineText) {
1798
- break;
1799
- }
1800
- if (state.sCount[nextLine] - state.blkIndent >= 4) {
1801
- break;
1802
- }
1803
- columns = escapedSplit(lineText);
1804
- if (columns.length && columns[0] === "")
1805
- columns.shift();
1806
- if (columns.length && columns[columns.length - 1] === "")
1807
- columns.pop();
1808
- if (nextLine === startLine + 2) {
1809
- token = state.push("tbody_open", "tbody", 1);
1810
- token.map = tbodyLines = [startLine + 2, 0];
1811
- }
1812
- token = state.push("tr_open", "tr", 1);
1813
- token.map = [nextLine, nextLine + 1];
1814
- for (i = 0; i < columnCount; i++) {
1815
- token = state.push("td_open", "td", 1);
1816
- if (aligns[i]) {
1817
- token.attrs = [["style", "text-align:" + aligns[i]]];
1818
- }
1819
- token = state.push("inline", "", 0);
1820
- token.content = columns[i] ? columns[i].trim() : "";
1821
- token.children = [];
1822
- token = state.push("td_close", "td", -1);
1823
- }
1824
- token = state.push("tr_close", "tr", -1);
1825
- }
1826
- if (tbodyLines) {
1827
- token = state.push("tbody_close", "tbody", -1);
1828
- tbodyLines[1] = nextLine;
1829
- }
1830
- token = state.push("table_close", "table", -1);
1831
- tableLines[1] = nextLine;
1832
- state.parentType = oldParentType;
1833
- state.line = nextLine;
1834
- return true;
1835
- };
1836
- }
1837
- });
1838
-
1839
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_block/code.js
1840
- var require_code = __commonJS({
1841
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_block/code.js"(exports, module) {
1842
- "use strict";
1843
- module.exports = function code(state, startLine, endLine) {
1844
- var nextLine, last, token;
1845
- if (state.sCount[startLine] - state.blkIndent < 4) {
1846
- return false;
1847
- }
1848
- last = nextLine = startLine + 1;
1849
- while (nextLine < endLine) {
1850
- if (state.isEmpty(nextLine)) {
1851
- nextLine++;
1852
- continue;
1853
- }
1854
- if (state.sCount[nextLine] - state.blkIndent >= 4) {
1855
- nextLine++;
1856
- last = nextLine;
1857
- continue;
1858
- }
1859
- break;
1860
- }
1861
- state.line = last;
1862
- token = state.push("code_block", "code", 0);
1863
- token.content = state.getLines(startLine, last, 4 + state.blkIndent, false) + "\n";
1864
- token.map = [startLine, state.line];
1865
- return true;
1866
- };
1867
- }
1868
- });
1869
-
1870
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_block/fence.js
1871
- var require_fence = __commonJS({
1872
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_block/fence.js"(exports, module) {
1873
- "use strict";
1874
- module.exports = function fence(state, startLine, endLine, silent) {
1875
- var marker, len, params, nextLine, mem, token, markup, haveEndMarker = false, pos = state.bMarks[startLine] + state.tShift[startLine], max = state.eMarks[startLine];
1876
- if (state.sCount[startLine] - state.blkIndent >= 4) {
1877
- return false;
1878
- }
1879
- if (pos + 3 > max) {
1880
- return false;
1881
- }
1882
- marker = state.src.charCodeAt(pos);
1883
- if (marker !== 126 && marker !== 96) {
1884
- return false;
1885
- }
1886
- mem = pos;
1887
- pos = state.skipChars(pos, marker);
1888
- len = pos - mem;
1889
- if (len < 3) {
1890
- return false;
1891
- }
1892
- markup = state.src.slice(mem, pos);
1893
- params = state.src.slice(pos, max);
1894
- if (marker === 96) {
1895
- if (params.indexOf(String.fromCharCode(marker)) >= 0) {
1896
- return false;
1897
- }
1898
- }
1899
- if (silent) {
1900
- return true;
1901
- }
1902
- nextLine = startLine;
1903
- for (; ; ) {
1904
- nextLine++;
1905
- if (nextLine >= endLine) {
1906
- break;
1907
- }
1908
- pos = mem = state.bMarks[nextLine] + state.tShift[nextLine];
1909
- max = state.eMarks[nextLine];
1910
- if (pos < max && state.sCount[nextLine] < state.blkIndent) {
1911
- break;
1912
- }
1913
- if (state.src.charCodeAt(pos) !== marker) {
1914
- continue;
1915
- }
1916
- if (state.sCount[nextLine] - state.blkIndent >= 4) {
1917
- continue;
1918
- }
1919
- pos = state.skipChars(pos, marker);
1920
- if (pos - mem < len) {
1921
- continue;
1922
- }
1923
- pos = state.skipSpaces(pos);
1924
- if (pos < max) {
1925
- continue;
1926
- }
1927
- haveEndMarker = true;
1928
- break;
1929
- }
1930
- len = state.sCount[startLine];
1931
- state.line = nextLine + (haveEndMarker ? 1 : 0);
1932
- token = state.push("fence", "code", 0);
1933
- token.info = params;
1934
- token.content = state.getLines(startLine + 1, nextLine, len, true);
1935
- token.markup = markup;
1936
- token.map = [startLine, state.line];
1937
- return true;
1938
- };
1939
- }
1940
- });
1941
-
1942
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_block/blockquote.js
1943
- var require_blockquote = __commonJS({
1944
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_block/blockquote.js"(exports, module) {
1945
- "use strict";
1946
- var isSpace = require_utils().isSpace;
1947
- module.exports = function blockquote(state, startLine, endLine, silent) {
1948
- var adjustTab, ch, i, initial, l, lastLineEmpty, lines, nextLine, offset, oldBMarks, oldBSCount, oldIndent, oldParentType, oldSCount, oldTShift, spaceAfterMarker, terminate, terminatorRules, token, isOutdented, oldLineMax = state.lineMax, pos = state.bMarks[startLine] + state.tShift[startLine], max = state.eMarks[startLine];
1949
- if (state.sCount[startLine] - state.blkIndent >= 4) {
1950
- return false;
1951
- }
1952
- if (state.src.charCodeAt(pos++) !== 62) {
1953
- return false;
1954
- }
1955
- if (silent) {
1956
- return true;
1957
- }
1958
- initial = offset = state.sCount[startLine] + 1;
1959
- if (state.src.charCodeAt(pos) === 32) {
1960
- pos++;
1961
- initial++;
1962
- offset++;
1963
- adjustTab = false;
1964
- spaceAfterMarker = true;
1965
- } else if (state.src.charCodeAt(pos) === 9) {
1966
- spaceAfterMarker = true;
1967
- if ((state.bsCount[startLine] + offset) % 4 === 3) {
1968
- pos++;
1969
- initial++;
1970
- offset++;
1971
- adjustTab = false;
1972
- } else {
1973
- adjustTab = true;
1974
- }
1975
- } else {
1976
- spaceAfterMarker = false;
1977
- }
1978
- oldBMarks = [state.bMarks[startLine]];
1979
- state.bMarks[startLine] = pos;
1980
- while (pos < max) {
1981
- ch = state.src.charCodeAt(pos);
1982
- if (isSpace(ch)) {
1983
- if (ch === 9) {
1984
- offset += 4 - (offset + state.bsCount[startLine] + (adjustTab ? 1 : 0)) % 4;
1985
- } else {
1986
- offset++;
1987
- }
1988
- } else {
1989
- break;
1990
- }
1991
- pos++;
1992
- }
1993
- oldBSCount = [state.bsCount[startLine]];
1994
- state.bsCount[startLine] = state.sCount[startLine] + 1 + (spaceAfterMarker ? 1 : 0);
1995
- lastLineEmpty = pos >= max;
1996
- oldSCount = [state.sCount[startLine]];
1997
- state.sCount[startLine] = offset - initial;
1998
- oldTShift = [state.tShift[startLine]];
1999
- state.tShift[startLine] = pos - state.bMarks[startLine];
2000
- terminatorRules = state.md.block.ruler.getRules("blockquote");
2001
- oldParentType = state.parentType;
2002
- state.parentType = "blockquote";
2003
- for (nextLine = startLine + 1; nextLine < endLine; nextLine++) {
2004
- isOutdented = state.sCount[nextLine] < state.blkIndent;
2005
- pos = state.bMarks[nextLine] + state.tShift[nextLine];
2006
- max = state.eMarks[nextLine];
2007
- if (pos >= max) {
2008
- break;
2009
- }
2010
- if (state.src.charCodeAt(pos++) === 62 && !isOutdented) {
2011
- initial = offset = state.sCount[nextLine] + 1;
2012
- if (state.src.charCodeAt(pos) === 32) {
2013
- pos++;
2014
- initial++;
2015
- offset++;
2016
- adjustTab = false;
2017
- spaceAfterMarker = true;
2018
- } else if (state.src.charCodeAt(pos) === 9) {
2019
- spaceAfterMarker = true;
2020
- if ((state.bsCount[nextLine] + offset) % 4 === 3) {
2021
- pos++;
2022
- initial++;
2023
- offset++;
2024
- adjustTab = false;
2025
- } else {
2026
- adjustTab = true;
2027
- }
2028
- } else {
2029
- spaceAfterMarker = false;
2030
- }
2031
- oldBMarks.push(state.bMarks[nextLine]);
2032
- state.bMarks[nextLine] = pos;
2033
- while (pos < max) {
2034
- ch = state.src.charCodeAt(pos);
2035
- if (isSpace(ch)) {
2036
- if (ch === 9) {
2037
- offset += 4 - (offset + state.bsCount[nextLine] + (adjustTab ? 1 : 0)) % 4;
2038
- } else {
2039
- offset++;
2040
- }
2041
- } else {
2042
- break;
2043
- }
2044
- pos++;
2045
- }
2046
- lastLineEmpty = pos >= max;
2047
- oldBSCount.push(state.bsCount[nextLine]);
2048
- state.bsCount[nextLine] = state.sCount[nextLine] + 1 + (spaceAfterMarker ? 1 : 0);
2049
- oldSCount.push(state.sCount[nextLine]);
2050
- state.sCount[nextLine] = offset - initial;
2051
- oldTShift.push(state.tShift[nextLine]);
2052
- state.tShift[nextLine] = pos - state.bMarks[nextLine];
2053
- continue;
2054
- }
2055
- if (lastLineEmpty) {
2056
- break;
2057
- }
2058
- terminate = false;
2059
- for (i = 0, l = terminatorRules.length; i < l; i++) {
2060
- if (terminatorRules[i](state, nextLine, endLine, true)) {
2061
- terminate = true;
2062
- break;
2063
- }
2064
- }
2065
- if (terminate) {
2066
- state.lineMax = nextLine;
2067
- if (state.blkIndent !== 0) {
2068
- oldBMarks.push(state.bMarks[nextLine]);
2069
- oldBSCount.push(state.bsCount[nextLine]);
2070
- oldTShift.push(state.tShift[nextLine]);
2071
- oldSCount.push(state.sCount[nextLine]);
2072
- state.sCount[nextLine] -= state.blkIndent;
2073
- }
2074
- break;
2075
- }
2076
- oldBMarks.push(state.bMarks[nextLine]);
2077
- oldBSCount.push(state.bsCount[nextLine]);
2078
- oldTShift.push(state.tShift[nextLine]);
2079
- oldSCount.push(state.sCount[nextLine]);
2080
- state.sCount[nextLine] = -1;
2081
- }
2082
- oldIndent = state.blkIndent;
2083
- state.blkIndent = 0;
2084
- token = state.push("blockquote_open", "blockquote", 1);
2085
- token.markup = ">";
2086
- token.map = lines = [startLine, 0];
2087
- state.md.block.tokenize(state, startLine, nextLine);
2088
- token = state.push("blockquote_close", "blockquote", -1);
2089
- token.markup = ">";
2090
- state.lineMax = oldLineMax;
2091
- state.parentType = oldParentType;
2092
- lines[1] = state.line;
2093
- for (i = 0; i < oldTShift.length; i++) {
2094
- state.bMarks[i + startLine] = oldBMarks[i];
2095
- state.tShift[i + startLine] = oldTShift[i];
2096
- state.sCount[i + startLine] = oldSCount[i];
2097
- state.bsCount[i + startLine] = oldBSCount[i];
2098
- }
2099
- state.blkIndent = oldIndent;
2100
- return true;
2101
- };
2102
- }
2103
- });
2104
-
2105
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_block/hr.js
2106
- var require_hr = __commonJS({
2107
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_block/hr.js"(exports, module) {
2108
- "use strict";
2109
- var isSpace = require_utils().isSpace;
2110
- module.exports = function hr(state, startLine, endLine, silent) {
2111
- var marker, cnt, ch, token, pos = state.bMarks[startLine] + state.tShift[startLine], max = state.eMarks[startLine];
2112
- if (state.sCount[startLine] - state.blkIndent >= 4) {
2113
- return false;
2114
- }
2115
- marker = state.src.charCodeAt(pos++);
2116
- if (marker !== 42 && marker !== 45 && marker !== 95) {
2117
- return false;
2118
- }
2119
- cnt = 1;
2120
- while (pos < max) {
2121
- ch = state.src.charCodeAt(pos++);
2122
- if (ch !== marker && !isSpace(ch)) {
2123
- return false;
2124
- }
2125
- if (ch === marker) {
2126
- cnt++;
2127
- }
2128
- }
2129
- if (cnt < 3) {
2130
- return false;
2131
- }
2132
- if (silent) {
2133
- return true;
2134
- }
2135
- state.line = startLine + 1;
2136
- token = state.push("hr", "hr", 0);
2137
- token.map = [startLine, state.line];
2138
- token.markup = Array(cnt + 1).join(String.fromCharCode(marker));
2139
- return true;
2140
- };
2141
- }
2142
- });
2143
-
2144
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_block/list.js
2145
- var require_list = __commonJS({
2146
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_block/list.js"(exports, module) {
2147
- "use strict";
2148
- var isSpace = require_utils().isSpace;
2149
- function skipBulletListMarker(state, startLine) {
2150
- var marker, pos, max, ch;
2151
- pos = state.bMarks[startLine] + state.tShift[startLine];
2152
- max = state.eMarks[startLine];
2153
- marker = state.src.charCodeAt(pos++);
2154
- if (marker !== 42 && marker !== 45 && marker !== 43) {
2155
- return -1;
2156
- }
2157
- if (pos < max) {
2158
- ch = state.src.charCodeAt(pos);
2159
- if (!isSpace(ch)) {
2160
- return -1;
2161
- }
2162
- }
2163
- return pos;
2164
- }
2165
- function skipOrderedListMarker(state, startLine) {
2166
- var ch, start = state.bMarks[startLine] + state.tShift[startLine], pos = start, max = state.eMarks[startLine];
2167
- if (pos + 1 >= max) {
2168
- return -1;
2169
- }
2170
- ch = state.src.charCodeAt(pos++);
2171
- if (ch < 48 || ch > 57) {
2172
- return -1;
2173
- }
2174
- for (; ; ) {
2175
- if (pos >= max) {
2176
- return -1;
2177
- }
2178
- ch = state.src.charCodeAt(pos++);
2179
- if (ch >= 48 && ch <= 57) {
2180
- if (pos - start >= 10) {
2181
- return -1;
2182
- }
2183
- continue;
2184
- }
2185
- if (ch === 41 || ch === 46) {
2186
- break;
2187
- }
2188
- return -1;
2189
- }
2190
- if (pos < max) {
2191
- ch = state.src.charCodeAt(pos);
2192
- if (!isSpace(ch)) {
2193
- return -1;
2194
- }
2195
- }
2196
- return pos;
2197
- }
2198
- function markTightParagraphs(state, idx) {
2199
- var i, l, level = state.level + 2;
2200
- for (i = idx + 2, l = state.tokens.length - 2; i < l; i++) {
2201
- if (state.tokens[i].level === level && state.tokens[i].type === "paragraph_open") {
2202
- state.tokens[i + 2].hidden = true;
2203
- state.tokens[i].hidden = true;
2204
- i += 2;
2205
- }
2206
- }
2207
- }
2208
- module.exports = function list(state, startLine, endLine, silent) {
2209
- var ch, contentStart, i, indent, indentAfterMarker, initial, isOrdered, itemLines, l, listLines, listTokIdx, markerCharCode, markerValue, max, nextLine, offset, oldListIndent, oldParentType, oldSCount, oldTShift, oldTight, pos, posAfterMarker, prevEmptyEnd, start, terminate, terminatorRules, token, isTerminatingParagraph = false, tight = true;
2210
- if (state.sCount[startLine] - state.blkIndent >= 4) {
2211
- return false;
2212
- }
2213
- if (state.listIndent >= 0 && state.sCount[startLine] - state.listIndent >= 4 && state.sCount[startLine] < state.blkIndent) {
2214
- return false;
2215
- }
2216
- if (silent && state.parentType === "paragraph") {
2217
- if (state.sCount[startLine] >= state.blkIndent) {
2218
- isTerminatingParagraph = true;
2219
- }
2220
- }
2221
- if ((posAfterMarker = skipOrderedListMarker(state, startLine)) >= 0) {
2222
- isOrdered = true;
2223
- start = state.bMarks[startLine] + state.tShift[startLine];
2224
- markerValue = Number(state.src.slice(start, posAfterMarker - 1));
2225
- if (isTerminatingParagraph && markerValue !== 1)
2226
- return false;
2227
- } else if ((posAfterMarker = skipBulletListMarker(state, startLine)) >= 0) {
2228
- isOrdered = false;
2229
- } else {
2230
- return false;
2231
- }
2232
- if (isTerminatingParagraph) {
2233
- if (state.skipSpaces(posAfterMarker) >= state.eMarks[startLine])
2234
- return false;
2235
- }
2236
- markerCharCode = state.src.charCodeAt(posAfterMarker - 1);
2237
- if (silent) {
2238
- return true;
2239
- }
2240
- listTokIdx = state.tokens.length;
2241
- if (isOrdered) {
2242
- token = state.push("ordered_list_open", "ol", 1);
2243
- if (markerValue !== 1) {
2244
- token.attrs = [["start", markerValue]];
2245
- }
2246
- } else {
2247
- token = state.push("bullet_list_open", "ul", 1);
2248
- }
2249
- token.map = listLines = [startLine, 0];
2250
- token.markup = String.fromCharCode(markerCharCode);
2251
- nextLine = startLine;
2252
- prevEmptyEnd = false;
2253
- terminatorRules = state.md.block.ruler.getRules("list");
2254
- oldParentType = state.parentType;
2255
- state.parentType = "list";
2256
- while (nextLine < endLine) {
2257
- pos = posAfterMarker;
2258
- max = state.eMarks[nextLine];
2259
- initial = offset = state.sCount[nextLine] + posAfterMarker - (state.bMarks[startLine] + state.tShift[startLine]);
2260
- while (pos < max) {
2261
- ch = state.src.charCodeAt(pos);
2262
- if (ch === 9) {
2263
- offset += 4 - (offset + state.bsCount[nextLine]) % 4;
2264
- } else if (ch === 32) {
2265
- offset++;
2266
- } else {
2267
- break;
2268
- }
2269
- pos++;
2270
- }
2271
- contentStart = pos;
2272
- if (contentStart >= max) {
2273
- indentAfterMarker = 1;
2274
- } else {
2275
- indentAfterMarker = offset - initial;
2276
- }
2277
- if (indentAfterMarker > 4) {
2278
- indentAfterMarker = 1;
2279
- }
2280
- indent = initial + indentAfterMarker;
2281
- token = state.push("list_item_open", "li", 1);
2282
- token.markup = String.fromCharCode(markerCharCode);
2283
- token.map = itemLines = [startLine, 0];
2284
- if (isOrdered) {
2285
- token.info = state.src.slice(start, posAfterMarker - 1);
2286
- }
2287
- oldTight = state.tight;
2288
- oldTShift = state.tShift[startLine];
2289
- oldSCount = state.sCount[startLine];
2290
- oldListIndent = state.listIndent;
2291
- state.listIndent = state.blkIndent;
2292
- state.blkIndent = indent;
2293
- state.tight = true;
2294
- state.tShift[startLine] = contentStart - state.bMarks[startLine];
2295
- state.sCount[startLine] = offset;
2296
- if (contentStart >= max && state.isEmpty(startLine + 1)) {
2297
- state.line = Math.min(state.line + 2, endLine);
2298
- } else {
2299
- state.md.block.tokenize(state, startLine, endLine, true);
2300
- }
2301
- if (!state.tight || prevEmptyEnd) {
2302
- tight = false;
2303
- }
2304
- prevEmptyEnd = state.line - startLine > 1 && state.isEmpty(state.line - 1);
2305
- state.blkIndent = state.listIndent;
2306
- state.listIndent = oldListIndent;
2307
- state.tShift[startLine] = oldTShift;
2308
- state.sCount[startLine] = oldSCount;
2309
- state.tight = oldTight;
2310
- token = state.push("list_item_close", "li", -1);
2311
- token.markup = String.fromCharCode(markerCharCode);
2312
- nextLine = startLine = state.line;
2313
- itemLines[1] = nextLine;
2314
- contentStart = state.bMarks[startLine];
2315
- if (nextLine >= endLine) {
2316
- break;
2317
- }
2318
- if (state.sCount[nextLine] < state.blkIndent) {
2319
- break;
2320
- }
2321
- if (state.sCount[startLine] - state.blkIndent >= 4) {
2322
- break;
2323
- }
2324
- terminate = false;
2325
- for (i = 0, l = terminatorRules.length; i < l; i++) {
2326
- if (terminatorRules[i](state, nextLine, endLine, true)) {
2327
- terminate = true;
2328
- break;
2329
- }
2330
- }
2331
- if (terminate) {
2332
- break;
2333
- }
2334
- if (isOrdered) {
2335
- posAfterMarker = skipOrderedListMarker(state, nextLine);
2336
- if (posAfterMarker < 0) {
2337
- break;
2338
- }
2339
- start = state.bMarks[nextLine] + state.tShift[nextLine];
2340
- } else {
2341
- posAfterMarker = skipBulletListMarker(state, nextLine);
2342
- if (posAfterMarker < 0) {
2343
- break;
2344
- }
2345
- }
2346
- if (markerCharCode !== state.src.charCodeAt(posAfterMarker - 1)) {
2347
- break;
2348
- }
2349
- }
2350
- if (isOrdered) {
2351
- token = state.push("ordered_list_close", "ol", -1);
2352
- } else {
2353
- token = state.push("bullet_list_close", "ul", -1);
2354
- }
2355
- token.markup = String.fromCharCode(markerCharCode);
2356
- listLines[1] = nextLine;
2357
- state.line = nextLine;
2358
- state.parentType = oldParentType;
2359
- if (tight) {
2360
- markTightParagraphs(state, listTokIdx);
2361
- }
2362
- return true;
2363
- };
2364
- }
2365
- });
2366
-
2367
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_block/reference.js
2368
- var require_reference = __commonJS({
2369
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_block/reference.js"(exports, module) {
2370
- "use strict";
2371
- var normalizeReference = require_utils().normalizeReference;
2372
- var isSpace = require_utils().isSpace;
2373
- module.exports = function reference(state, startLine, _endLine, silent) {
2374
- var ch, destEndPos, destEndLineNo, endLine, href, i, l, label, labelEnd, oldParentType, res, start, str, terminate, terminatorRules, title, lines = 0, pos = state.bMarks[startLine] + state.tShift[startLine], max = state.eMarks[startLine], nextLine = startLine + 1;
2375
- if (state.sCount[startLine] - state.blkIndent >= 4) {
2376
- return false;
2377
- }
2378
- if (state.src.charCodeAt(pos) !== 91) {
2379
- return false;
2380
- }
2381
- while (++pos < max) {
2382
- if (state.src.charCodeAt(pos) === 93 && state.src.charCodeAt(pos - 1) !== 92) {
2383
- if (pos + 1 === max) {
2384
- return false;
2385
- }
2386
- if (state.src.charCodeAt(pos + 1) !== 58) {
2387
- return false;
2388
- }
2389
- break;
2390
- }
2391
- }
2392
- endLine = state.lineMax;
2393
- terminatorRules = state.md.block.ruler.getRules("reference");
2394
- oldParentType = state.parentType;
2395
- state.parentType = "reference";
2396
- for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) {
2397
- if (state.sCount[nextLine] - state.blkIndent > 3) {
2398
- continue;
2399
- }
2400
- if (state.sCount[nextLine] < 0) {
2401
- continue;
2402
- }
2403
- terminate = false;
2404
- for (i = 0, l = terminatorRules.length; i < l; i++) {
2405
- if (terminatorRules[i](state, nextLine, endLine, true)) {
2406
- terminate = true;
2407
- break;
2408
- }
2409
- }
2410
- if (terminate) {
2411
- break;
2412
- }
2413
- }
2414
- str = state.getLines(startLine, nextLine, state.blkIndent, false).trim();
2415
- max = str.length;
2416
- for (pos = 1; pos < max; pos++) {
2417
- ch = str.charCodeAt(pos);
2418
- if (ch === 91) {
2419
- return false;
2420
- } else if (ch === 93) {
2421
- labelEnd = pos;
2422
- break;
2423
- } else if (ch === 10) {
2424
- lines++;
2425
- } else if (ch === 92) {
2426
- pos++;
2427
- if (pos < max && str.charCodeAt(pos) === 10) {
2428
- lines++;
2429
- }
2430
- }
2431
- }
2432
- if (labelEnd < 0 || str.charCodeAt(labelEnd + 1) !== 58) {
2433
- return false;
2434
- }
2435
- for (pos = labelEnd + 2; pos < max; pos++) {
2436
- ch = str.charCodeAt(pos);
2437
- if (ch === 10) {
2438
- lines++;
2439
- } else if (isSpace(ch)) {
2440
- } else {
2441
- break;
2442
- }
2443
- }
2444
- res = state.md.helpers.parseLinkDestination(str, pos, max);
2445
- if (!res.ok) {
2446
- return false;
2447
- }
2448
- href = state.md.normalizeLink(res.str);
2449
- if (!state.md.validateLink(href)) {
2450
- return false;
2451
- }
2452
- pos = res.pos;
2453
- lines += res.lines;
2454
- destEndPos = pos;
2455
- destEndLineNo = lines;
2456
- start = pos;
2457
- for (; pos < max; pos++) {
2458
- ch = str.charCodeAt(pos);
2459
- if (ch === 10) {
2460
- lines++;
2461
- } else if (isSpace(ch)) {
2462
- } else {
2463
- break;
2464
- }
2465
- }
2466
- res = state.md.helpers.parseLinkTitle(str, pos, max);
2467
- if (pos < max && start !== pos && res.ok) {
2468
- title = res.str;
2469
- pos = res.pos;
2470
- lines += res.lines;
2471
- } else {
2472
- title = "";
2473
- pos = destEndPos;
2474
- lines = destEndLineNo;
2475
- }
2476
- while (pos < max) {
2477
- ch = str.charCodeAt(pos);
2478
- if (!isSpace(ch)) {
2479
- break;
2480
- }
2481
- pos++;
2482
- }
2483
- if (pos < max && str.charCodeAt(pos) !== 10) {
2484
- if (title) {
2485
- title = "";
2486
- pos = destEndPos;
2487
- lines = destEndLineNo;
2488
- while (pos < max) {
2489
- ch = str.charCodeAt(pos);
2490
- if (!isSpace(ch)) {
2491
- break;
2492
- }
2493
- pos++;
2494
- }
2495
- }
2496
- }
2497
- if (pos < max && str.charCodeAt(pos) !== 10) {
2498
- return false;
2499
- }
2500
- label = normalizeReference(str.slice(1, labelEnd));
2501
- if (!label) {
2502
- return false;
2503
- }
2504
- if (silent) {
2505
- return true;
2506
- }
2507
- if (typeof state.env.references === "undefined") {
2508
- state.env.references = {};
2509
- }
2510
- if (typeof state.env.references[label] === "undefined") {
2511
- state.env.references[label] = { title, href };
2512
- }
2513
- state.parentType = oldParentType;
2514
- state.line = startLine + lines + 1;
2515
- return true;
2516
- };
2517
- }
2518
- });
2519
-
2520
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/common/html_blocks.js
2521
- var require_html_blocks = __commonJS({
2522
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/common/html_blocks.js"(exports, module) {
2523
- "use strict";
2524
- module.exports = [
2525
- "address",
2526
- "article",
2527
- "aside",
2528
- "base",
2529
- "basefont",
2530
- "blockquote",
2531
- "body",
2532
- "caption",
2533
- "center",
2534
- "col",
2535
- "colgroup",
2536
- "dd",
2537
- "details",
2538
- "dialog",
2539
- "dir",
2540
- "div",
2541
- "dl",
2542
- "dt",
2543
- "fieldset",
2544
- "figcaption",
2545
- "figure",
2546
- "footer",
2547
- "form",
2548
- "frame",
2549
- "frameset",
2550
- "h1",
2551
- "h2",
2552
- "h3",
2553
- "h4",
2554
- "h5",
2555
- "h6",
2556
- "head",
2557
- "header",
2558
- "hr",
2559
- "html",
2560
- "iframe",
2561
- "legend",
2562
- "li",
2563
- "link",
2564
- "main",
2565
- "menu",
2566
- "menuitem",
2567
- "nav",
2568
- "noframes",
2569
- "ol",
2570
- "optgroup",
2571
- "option",
2572
- "p",
2573
- "param",
2574
- "section",
2575
- "source",
2576
- "summary",
2577
- "table",
2578
- "tbody",
2579
- "td",
2580
- "tfoot",
2581
- "th",
2582
- "thead",
2583
- "title",
2584
- "tr",
2585
- "track",
2586
- "ul"
2587
- ];
2588
- }
2589
- });
2590
-
2591
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/common/html_re.js
2592
- var require_html_re = __commonJS({
2593
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/common/html_re.js"(exports, module) {
2594
- "use strict";
2595
- var attr_name = "[a-zA-Z_:][a-zA-Z0-9:._-]*";
2596
- var unquoted = "[^\"'=<>`\\x00-\\x20]+";
2597
- var single_quoted = "'[^']*'";
2598
- var double_quoted = '"[^"]*"';
2599
- var attr_value = "(?:" + unquoted + "|" + single_quoted + "|" + double_quoted + ")";
2600
- var attribute = "(?:\\s+" + attr_name + "(?:\\s*=\\s*" + attr_value + ")?)";
2601
- var open_tag = "<[A-Za-z][A-Za-z0-9\\-]*" + attribute + "*\\s*\\/?>";
2602
- var close_tag = "<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>";
2603
- var comment = "<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->";
2604
- var processing = "<[?][\\s\\S]*?[?]>";
2605
- var declaration = "<![A-Z]+\\s+[^>]*>";
2606
- var cdata = "<!\\[CDATA\\[[\\s\\S]*?\\]\\]>";
2607
- var HTML_TAG_RE = new RegExp("^(?:" + open_tag + "|" + close_tag + "|" + comment + "|" + processing + "|" + declaration + "|" + cdata + ")");
2608
- var HTML_OPEN_CLOSE_TAG_RE = new RegExp("^(?:" + open_tag + "|" + close_tag + ")");
2609
- module.exports.HTML_TAG_RE = HTML_TAG_RE;
2610
- module.exports.HTML_OPEN_CLOSE_TAG_RE = HTML_OPEN_CLOSE_TAG_RE;
2611
- }
2612
- });
2613
-
2614
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_block/html_block.js
2615
- var require_html_block = __commonJS({
2616
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_block/html_block.js"(exports, module) {
2617
- "use strict";
2618
- var block_names = require_html_blocks();
2619
- var HTML_OPEN_CLOSE_TAG_RE = require_html_re().HTML_OPEN_CLOSE_TAG_RE;
2620
- var HTML_SEQUENCES = [
2621
- [/^<(script|pre|style|textarea)(?=(\s|>|$))/i, /<\/(script|pre|style|textarea)>/i, true],
2622
- [/^<!--/, /-->/, true],
2623
- [/^<\?/, /\?>/, true],
2624
- [/^<![A-Z]/, />/, true],
2625
- [/^<!\[CDATA\[/, /\]\]>/, true],
2626
- [new RegExp("^</?(" + block_names.join("|") + ")(?=(\\s|/?>|$))", "i"), /^$/, true],
2627
- [new RegExp(HTML_OPEN_CLOSE_TAG_RE.source + "\\s*$"), /^$/, false]
2628
- ];
2629
- module.exports = function html_block(state, startLine, endLine, silent) {
2630
- var i, nextLine, token, lineText, pos = state.bMarks[startLine] + state.tShift[startLine], max = state.eMarks[startLine];
2631
- if (state.sCount[startLine] - state.blkIndent >= 4) {
2632
- return false;
2633
- }
2634
- if (!state.md.options.html) {
2635
- return false;
2636
- }
2637
- if (state.src.charCodeAt(pos) !== 60) {
2638
- return false;
2639
- }
2640
- lineText = state.src.slice(pos, max);
2641
- for (i = 0; i < HTML_SEQUENCES.length; i++) {
2642
- if (HTML_SEQUENCES[i][0].test(lineText)) {
2643
- break;
2644
- }
2645
- }
2646
- if (i === HTML_SEQUENCES.length) {
2647
- return false;
2648
- }
2649
- if (silent) {
2650
- return HTML_SEQUENCES[i][2];
2651
- }
2652
- nextLine = startLine + 1;
2653
- if (!HTML_SEQUENCES[i][1].test(lineText)) {
2654
- for (; nextLine < endLine; nextLine++) {
2655
- if (state.sCount[nextLine] < state.blkIndent) {
2656
- break;
2657
- }
2658
- pos = state.bMarks[nextLine] + state.tShift[nextLine];
2659
- max = state.eMarks[nextLine];
2660
- lineText = state.src.slice(pos, max);
2661
- if (HTML_SEQUENCES[i][1].test(lineText)) {
2662
- if (lineText.length !== 0) {
2663
- nextLine++;
2664
- }
2665
- break;
2666
- }
2667
- }
2668
- }
2669
- state.line = nextLine;
2670
- token = state.push("html_block", "", 0);
2671
- token.map = [startLine, nextLine];
2672
- token.content = state.getLines(startLine, nextLine, state.blkIndent, true);
2673
- return true;
2674
- };
2675
- }
2676
- });
2677
-
2678
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_block/heading.js
2679
- var require_heading = __commonJS({
2680
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_block/heading.js"(exports, module) {
2681
- "use strict";
2682
- var isSpace = require_utils().isSpace;
2683
- module.exports = function heading(state, startLine, endLine, silent) {
2684
- var ch, level, tmp, token, pos = state.bMarks[startLine] + state.tShift[startLine], max = state.eMarks[startLine];
2685
- if (state.sCount[startLine] - state.blkIndent >= 4) {
2686
- return false;
2687
- }
2688
- ch = state.src.charCodeAt(pos);
2689
- if (ch !== 35 || pos >= max) {
2690
- return false;
2691
- }
2692
- level = 1;
2693
- ch = state.src.charCodeAt(++pos);
2694
- while (ch === 35 && pos < max && level <= 6) {
2695
- level++;
2696
- ch = state.src.charCodeAt(++pos);
2697
- }
2698
- if (level > 6 || pos < max && !isSpace(ch)) {
2699
- return false;
2700
- }
2701
- if (silent) {
2702
- return true;
2703
- }
2704
- max = state.skipSpacesBack(max, pos);
2705
- tmp = state.skipCharsBack(max, 35, pos);
2706
- if (tmp > pos && isSpace(state.src.charCodeAt(tmp - 1))) {
2707
- max = tmp;
2708
- }
2709
- state.line = startLine + 1;
2710
- token = state.push("heading_open", "h" + String(level), 1);
2711
- token.markup = "########".slice(0, level);
2712
- token.map = [startLine, state.line];
2713
- token = state.push("inline", "", 0);
2714
- token.content = state.src.slice(pos, max).trim();
2715
- token.map = [startLine, state.line];
2716
- token.children = [];
2717
- token = state.push("heading_close", "h" + String(level), -1);
2718
- token.markup = "########".slice(0, level);
2719
- return true;
2720
- };
2721
- }
2722
- });
2723
-
2724
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_block/lheading.js
2725
- var require_lheading = __commonJS({
2726
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_block/lheading.js"(exports, module) {
2727
- "use strict";
2728
- module.exports = function lheading(state, startLine, endLine) {
2729
- var content, terminate, i, l, token, pos, max, level, marker, nextLine = startLine + 1, oldParentType, terminatorRules = state.md.block.ruler.getRules("paragraph");
2730
- if (state.sCount[startLine] - state.blkIndent >= 4) {
2731
- return false;
2732
- }
2733
- oldParentType = state.parentType;
2734
- state.parentType = "paragraph";
2735
- for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) {
2736
- if (state.sCount[nextLine] - state.blkIndent > 3) {
2737
- continue;
2738
- }
2739
- if (state.sCount[nextLine] >= state.blkIndent) {
2740
- pos = state.bMarks[nextLine] + state.tShift[nextLine];
2741
- max = state.eMarks[nextLine];
2742
- if (pos < max) {
2743
- marker = state.src.charCodeAt(pos);
2744
- if (marker === 45 || marker === 61) {
2745
- pos = state.skipChars(pos, marker);
2746
- pos = state.skipSpaces(pos);
2747
- if (pos >= max) {
2748
- level = marker === 61 ? 1 : 2;
2749
- break;
2750
- }
2751
- }
2752
- }
2753
- }
2754
- if (state.sCount[nextLine] < 0) {
2755
- continue;
2756
- }
2757
- terminate = false;
2758
- for (i = 0, l = terminatorRules.length; i < l; i++) {
2759
- if (terminatorRules[i](state, nextLine, endLine, true)) {
2760
- terminate = true;
2761
- break;
2762
- }
2763
- }
2764
- if (terminate) {
2765
- break;
2766
- }
2767
- }
2768
- if (!level) {
2769
- return false;
2770
- }
2771
- content = state.getLines(startLine, nextLine, state.blkIndent, false).trim();
2772
- state.line = nextLine + 1;
2773
- token = state.push("heading_open", "h" + String(level), 1);
2774
- token.markup = String.fromCharCode(marker);
2775
- token.map = [startLine, state.line];
2776
- token = state.push("inline", "", 0);
2777
- token.content = content;
2778
- token.map = [startLine, state.line - 1];
2779
- token.children = [];
2780
- token = state.push("heading_close", "h" + String(level), -1);
2781
- token.markup = String.fromCharCode(marker);
2782
- state.parentType = oldParentType;
2783
- return true;
2784
- };
2785
- }
2786
- });
2787
-
2788
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_block/paragraph.js
2789
- var require_paragraph = __commonJS({
2790
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_block/paragraph.js"(exports, module) {
2791
- "use strict";
2792
- module.exports = function paragraph(state, startLine) {
2793
- var content, terminate, i, l, token, oldParentType, nextLine = startLine + 1, terminatorRules = state.md.block.ruler.getRules("paragraph"), endLine = state.lineMax;
2794
- oldParentType = state.parentType;
2795
- state.parentType = "paragraph";
2796
- for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) {
2797
- if (state.sCount[nextLine] - state.blkIndent > 3) {
2798
- continue;
2799
- }
2800
- if (state.sCount[nextLine] < 0) {
2801
- continue;
2802
- }
2803
- terminate = false;
2804
- for (i = 0, l = terminatorRules.length; i < l; i++) {
2805
- if (terminatorRules[i](state, nextLine, endLine, true)) {
2806
- terminate = true;
2807
- break;
2808
- }
2809
- }
2810
- if (terminate) {
2811
- break;
2812
- }
2813
- }
2814
- content = state.getLines(startLine, nextLine, state.blkIndent, false).trim();
2815
- state.line = nextLine;
2816
- token = state.push("paragraph_open", "p", 1);
2817
- token.map = [startLine, state.line];
2818
- token = state.push("inline", "", 0);
2819
- token.content = content;
2820
- token.map = [startLine, state.line];
2821
- token.children = [];
2822
- token = state.push("paragraph_close", "p", -1);
2823
- state.parentType = oldParentType;
2824
- return true;
2825
- };
2826
- }
2827
- });
2828
-
2829
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_block/state_block.js
2830
- var require_state_block = __commonJS({
2831
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_block/state_block.js"(exports, module) {
2832
- "use strict";
2833
- var Token = require_token();
2834
- var isSpace = require_utils().isSpace;
2835
- function StateBlock(src, md2, env, tokens) {
2836
- var ch, s, start, pos, len, indent, offset, indent_found;
2837
- this.src = src;
2838
- this.md = md2;
2839
- this.env = env;
2840
- this.tokens = tokens;
2841
- this.bMarks = [];
2842
- this.eMarks = [];
2843
- this.tShift = [];
2844
- this.sCount = [];
2845
- this.bsCount = [];
2846
- this.blkIndent = 0;
2847
- this.line = 0;
2848
- this.lineMax = 0;
2849
- this.tight = false;
2850
- this.ddIndent = -1;
2851
- this.listIndent = -1;
2852
- this.parentType = "root";
2853
- this.level = 0;
2854
- this.result = "";
2855
- s = this.src;
2856
- indent_found = false;
2857
- for (start = pos = indent = offset = 0, len = s.length; pos < len; pos++) {
2858
- ch = s.charCodeAt(pos);
2859
- if (!indent_found) {
2860
- if (isSpace(ch)) {
2861
- indent++;
2862
- if (ch === 9) {
2863
- offset += 4 - offset % 4;
2864
- } else {
2865
- offset++;
2866
- }
2867
- continue;
2868
- } else {
2869
- indent_found = true;
2870
- }
2871
- }
2872
- if (ch === 10 || pos === len - 1) {
2873
- if (ch !== 10) {
2874
- pos++;
2875
- }
2876
- this.bMarks.push(start);
2877
- this.eMarks.push(pos);
2878
- this.tShift.push(indent);
2879
- this.sCount.push(offset);
2880
- this.bsCount.push(0);
2881
- indent_found = false;
2882
- indent = 0;
2883
- offset = 0;
2884
- start = pos + 1;
2885
- }
2886
- }
2887
- this.bMarks.push(s.length);
2888
- this.eMarks.push(s.length);
2889
- this.tShift.push(0);
2890
- this.sCount.push(0);
2891
- this.bsCount.push(0);
2892
- this.lineMax = this.bMarks.length - 1;
2893
- }
2894
- StateBlock.prototype.push = function(type, tag, nesting) {
2895
- var token = new Token(type, tag, nesting);
2896
- token.block = true;
2897
- if (nesting < 0)
2898
- this.level--;
2899
- token.level = this.level;
2900
- if (nesting > 0)
2901
- this.level++;
2902
- this.tokens.push(token);
2903
- return token;
2904
- };
2905
- StateBlock.prototype.isEmpty = function isEmpty(line) {
2906
- return this.bMarks[line] + this.tShift[line] >= this.eMarks[line];
2907
- };
2908
- StateBlock.prototype.skipEmptyLines = function skipEmptyLines(from) {
2909
- for (var max = this.lineMax; from < max; from++) {
2910
- if (this.bMarks[from] + this.tShift[from] < this.eMarks[from]) {
2911
- break;
2912
- }
2913
- }
2914
- return from;
2915
- };
2916
- StateBlock.prototype.skipSpaces = function skipSpaces(pos) {
2917
- var ch;
2918
- for (var max = this.src.length; pos < max; pos++) {
2919
- ch = this.src.charCodeAt(pos);
2920
- if (!isSpace(ch)) {
2921
- break;
2922
- }
2923
- }
2924
- return pos;
2925
- };
2926
- StateBlock.prototype.skipSpacesBack = function skipSpacesBack(pos, min) {
2927
- if (pos <= min) {
2928
- return pos;
2929
- }
2930
- while (pos > min) {
2931
- if (!isSpace(this.src.charCodeAt(--pos))) {
2932
- return pos + 1;
2933
- }
2934
- }
2935
- return pos;
2936
- };
2937
- StateBlock.prototype.skipChars = function skipChars(pos, code) {
2938
- for (var max = this.src.length; pos < max; pos++) {
2939
- if (this.src.charCodeAt(pos) !== code) {
2940
- break;
2941
- }
2942
- }
2943
- return pos;
2944
- };
2945
- StateBlock.prototype.skipCharsBack = function skipCharsBack(pos, code, min) {
2946
- if (pos <= min) {
2947
- return pos;
2948
- }
2949
- while (pos > min) {
2950
- if (code !== this.src.charCodeAt(--pos)) {
2951
- return pos + 1;
2952
- }
2953
- }
2954
- return pos;
2955
- };
2956
- StateBlock.prototype.getLines = function getLines(begin, end, indent, keepLastLF) {
2957
- var i, lineIndent, ch, first, last, queue, lineStart, line = begin;
2958
- if (begin >= end) {
2959
- return "";
2960
- }
2961
- queue = new Array(end - begin);
2962
- for (i = 0; line < end; line++, i++) {
2963
- lineIndent = 0;
2964
- lineStart = first = this.bMarks[line];
2965
- if (line + 1 < end || keepLastLF) {
2966
- last = this.eMarks[line] + 1;
2967
- } else {
2968
- last = this.eMarks[line];
2969
- }
2970
- while (first < last && lineIndent < indent) {
2971
- ch = this.src.charCodeAt(first);
2972
- if (isSpace(ch)) {
2973
- if (ch === 9) {
2974
- lineIndent += 4 - (lineIndent + this.bsCount[line]) % 4;
2975
- } else {
2976
- lineIndent++;
2977
- }
2978
- } else if (first - lineStart < this.tShift[line]) {
2979
- lineIndent++;
2980
- } else {
2981
- break;
2982
- }
2983
- first++;
2984
- }
2985
- if (lineIndent > indent) {
2986
- queue[i] = new Array(lineIndent - indent + 1).join(" ") + this.src.slice(first, last);
2987
- } else {
2988
- queue[i] = this.src.slice(first, last);
2989
- }
2990
- }
2991
- return queue.join("");
2992
- };
2993
- StateBlock.prototype.Token = Token;
2994
- module.exports = StateBlock;
2995
- }
2996
- });
2997
-
2998
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/parser_block.js
2999
- var require_parser_block = __commonJS({
3000
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/parser_block.js"(exports, module) {
3001
- "use strict";
3002
- var Ruler = require_ruler();
3003
- var _rules = [
3004
- ["table", require_table(), ["paragraph", "reference"]],
3005
- ["code", require_code()],
3006
- ["fence", require_fence(), ["paragraph", "reference", "blockquote", "list"]],
3007
- ["blockquote", require_blockquote(), ["paragraph", "reference", "blockquote", "list"]],
3008
- ["hr", require_hr(), ["paragraph", "reference", "blockquote", "list"]],
3009
- ["list", require_list(), ["paragraph", "reference", "blockquote"]],
3010
- ["reference", require_reference()],
3011
- ["html_block", require_html_block(), ["paragraph", "reference", "blockquote"]],
3012
- ["heading", require_heading(), ["paragraph", "reference", "blockquote"]],
3013
- ["lheading", require_lheading()],
3014
- ["paragraph", require_paragraph()]
3015
- ];
3016
- function ParserBlock() {
3017
- this.ruler = new Ruler();
3018
- for (var i = 0; i < _rules.length; i++) {
3019
- this.ruler.push(_rules[i][0], _rules[i][1], { alt: (_rules[i][2] || []).slice() });
3020
- }
3021
- }
3022
- ParserBlock.prototype.tokenize = function(state, startLine, endLine) {
3023
- var ok, i, rules = this.ruler.getRules(""), len = rules.length, line = startLine, hasEmptyLines = false, maxNesting = state.md.options.maxNesting;
3024
- while (line < endLine) {
3025
- state.line = line = state.skipEmptyLines(line);
3026
- if (line >= endLine) {
3027
- break;
3028
- }
3029
- if (state.sCount[line] < state.blkIndent) {
3030
- break;
3031
- }
3032
- if (state.level >= maxNesting) {
3033
- state.line = endLine;
3034
- break;
3035
- }
3036
- for (i = 0; i < len; i++) {
3037
- ok = rules[i](state, line, endLine, false);
3038
- if (ok) {
3039
- break;
3040
- }
3041
- }
3042
- state.tight = !hasEmptyLines;
3043
- if (state.isEmpty(state.line - 1)) {
3044
- hasEmptyLines = true;
3045
- }
3046
- line = state.line;
3047
- if (line < endLine && state.isEmpty(line)) {
3048
- hasEmptyLines = true;
3049
- line++;
3050
- state.line = line;
3051
- }
3052
- }
3053
- };
3054
- ParserBlock.prototype.parse = function(src, md2, env, outTokens) {
3055
- var state;
3056
- if (!src) {
3057
- return;
3058
- }
3059
- state = new this.State(src, md2, env, outTokens);
3060
- this.tokenize(state, state.line, state.lineMax);
3061
- };
3062
- ParserBlock.prototype.State = require_state_block();
3063
- module.exports = ParserBlock;
3064
- }
3065
- });
3066
-
3067
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/text.js
3068
- var require_text = __commonJS({
3069
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/text.js"(exports, module) {
3070
- "use strict";
3071
- function isTerminatorChar(ch) {
3072
- switch (ch) {
3073
- case 10:
3074
- case 33:
3075
- case 35:
3076
- case 36:
3077
- case 37:
3078
- case 38:
3079
- case 42:
3080
- case 43:
3081
- case 45:
3082
- case 58:
3083
- case 60:
3084
- case 61:
3085
- case 62:
3086
- case 64:
3087
- case 91:
3088
- case 92:
3089
- case 93:
3090
- case 94:
3091
- case 95:
3092
- case 96:
3093
- case 123:
3094
- case 125:
3095
- case 126:
3096
- return true;
3097
- default:
3098
- return false;
3099
- }
3100
- }
3101
- module.exports = function text(state, silent) {
3102
- var pos = state.pos;
3103
- while (pos < state.posMax && !isTerminatorChar(state.src.charCodeAt(pos))) {
3104
- pos++;
3105
- }
3106
- if (pos === state.pos) {
3107
- return false;
3108
- }
3109
- if (!silent) {
3110
- state.pending += state.src.slice(state.pos, pos);
3111
- }
3112
- state.pos = pos;
3113
- return true;
3114
- };
3115
- }
3116
- });
3117
-
3118
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/newline.js
3119
- var require_newline = __commonJS({
3120
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/newline.js"(exports, module) {
3121
- "use strict";
3122
- var isSpace = require_utils().isSpace;
3123
- module.exports = function newline(state, silent) {
3124
- var pmax, max, ws, pos = state.pos;
3125
- if (state.src.charCodeAt(pos) !== 10) {
3126
- return false;
3127
- }
3128
- pmax = state.pending.length - 1;
3129
- max = state.posMax;
3130
- if (!silent) {
3131
- if (pmax >= 0 && state.pending.charCodeAt(pmax) === 32) {
3132
- if (pmax >= 1 && state.pending.charCodeAt(pmax - 1) === 32) {
3133
- ws = pmax - 1;
3134
- while (ws >= 1 && state.pending.charCodeAt(ws - 1) === 32)
3135
- ws--;
3136
- state.pending = state.pending.slice(0, ws);
3137
- state.push("hardbreak", "br", 0);
3138
- } else {
3139
- state.pending = state.pending.slice(0, -1);
3140
- state.push("softbreak", "br", 0);
3141
- }
3142
- } else {
3143
- state.push("softbreak", "br", 0);
3144
- }
3145
- }
3146
- pos++;
3147
- while (pos < max && isSpace(state.src.charCodeAt(pos))) {
3148
- pos++;
3149
- }
3150
- state.pos = pos;
3151
- return true;
3152
- };
3153
- }
3154
- });
3155
-
3156
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/escape.js
3157
- var require_escape = __commonJS({
3158
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/escape.js"(exports, module) {
3159
- "use strict";
3160
- var isSpace = require_utils().isSpace;
3161
- var ESCAPED = [];
3162
- for (i = 0; i < 256; i++) {
3163
- ESCAPED.push(0);
3164
- }
3165
- var i;
3166
- "\\!\"#$%&'()*+,./:;<=>?@[]^_`{|}~-".split("").forEach(function(ch) {
3167
- ESCAPED[ch.charCodeAt(0)] = 1;
3168
- });
3169
- module.exports = function escape(state, silent) {
3170
- var ch, pos = state.pos, max = state.posMax;
3171
- if (state.src.charCodeAt(pos) !== 92) {
3172
- return false;
3173
- }
3174
- pos++;
3175
- if (pos < max) {
3176
- ch = state.src.charCodeAt(pos);
3177
- if (ch < 256 && ESCAPED[ch] !== 0) {
3178
- if (!silent) {
3179
- state.pending += state.src[pos];
3180
- }
3181
- state.pos += 2;
3182
- return true;
3183
- }
3184
- if (ch === 10) {
3185
- if (!silent) {
3186
- state.push("hardbreak", "br", 0);
3187
- }
3188
- pos++;
3189
- while (pos < max) {
3190
- ch = state.src.charCodeAt(pos);
3191
- if (!isSpace(ch)) {
3192
- break;
3193
- }
3194
- pos++;
3195
- }
3196
- state.pos = pos;
3197
- return true;
3198
- }
3199
- }
3200
- if (!silent) {
3201
- state.pending += "\\";
3202
- }
3203
- state.pos++;
3204
- return true;
3205
- };
3206
- }
3207
- });
3208
-
3209
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/backticks.js
3210
- var require_backticks = __commonJS({
3211
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/backticks.js"(exports, module) {
3212
- "use strict";
3213
- module.exports = function backtick(state, silent) {
3214
- var start, max, marker, token, matchStart, matchEnd, openerLength, closerLength, pos = state.pos, ch = state.src.charCodeAt(pos);
3215
- if (ch !== 96) {
3216
- return false;
3217
- }
3218
- start = pos;
3219
- pos++;
3220
- max = state.posMax;
3221
- while (pos < max && state.src.charCodeAt(pos) === 96) {
3222
- pos++;
3223
- }
3224
- marker = state.src.slice(start, pos);
3225
- openerLength = marker.length;
3226
- if (state.backticksScanned && (state.backticks[openerLength] || 0) <= start) {
3227
- if (!silent)
3228
- state.pending += marker;
3229
- state.pos += openerLength;
3230
- return true;
3231
- }
3232
- matchStart = matchEnd = pos;
3233
- while ((matchStart = state.src.indexOf("`", matchEnd)) !== -1) {
3234
- matchEnd = matchStart + 1;
3235
- while (matchEnd < max && state.src.charCodeAt(matchEnd) === 96) {
3236
- matchEnd++;
3237
- }
3238
- closerLength = matchEnd - matchStart;
3239
- if (closerLength === openerLength) {
3240
- if (!silent) {
3241
- token = state.push("code_inline", "code", 0);
3242
- token.markup = marker;
3243
- token.content = state.src.slice(pos, matchStart).replace(/\n/g, " ").replace(/^ (.+) $/, "$1");
3244
- }
3245
- state.pos = matchEnd;
3246
- return true;
3247
- }
3248
- state.backticks[closerLength] = matchStart;
3249
- }
3250
- state.backticksScanned = true;
3251
- if (!silent)
3252
- state.pending += marker;
3253
- state.pos += openerLength;
3254
- return true;
3255
- };
3256
- }
3257
- });
3258
-
3259
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/strikethrough.js
3260
- var require_strikethrough = __commonJS({
3261
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/strikethrough.js"(exports, module) {
3262
- "use strict";
3263
- module.exports.tokenize = function strikethrough(state, silent) {
3264
- var i, scanned, token, len, ch, start = state.pos, marker = state.src.charCodeAt(start);
3265
- if (silent) {
3266
- return false;
3267
- }
3268
- if (marker !== 126) {
3269
- return false;
3270
- }
3271
- scanned = state.scanDelims(state.pos, true);
3272
- len = scanned.length;
3273
- ch = String.fromCharCode(marker);
3274
- if (len < 2) {
3275
- return false;
3276
- }
3277
- if (len % 2) {
3278
- token = state.push("text", "", 0);
3279
- token.content = ch;
3280
- len--;
3281
- }
3282
- for (i = 0; i < len; i += 2) {
3283
- token = state.push("text", "", 0);
3284
- token.content = ch + ch;
3285
- state.delimiters.push({
3286
- marker,
3287
- length: 0,
3288
- token: state.tokens.length - 1,
3289
- end: -1,
3290
- open: scanned.can_open,
3291
- close: scanned.can_close
3292
- });
3293
- }
3294
- state.pos += scanned.length;
3295
- return true;
3296
- };
3297
- function postProcess(state, delimiters) {
3298
- var i, j, startDelim, endDelim, token, loneMarkers = [], max = delimiters.length;
3299
- for (i = 0; i < max; i++) {
3300
- startDelim = delimiters[i];
3301
- if (startDelim.marker !== 126) {
3302
- continue;
3303
- }
3304
- if (startDelim.end === -1) {
3305
- continue;
3306
- }
3307
- endDelim = delimiters[startDelim.end];
3308
- token = state.tokens[startDelim.token];
3309
- token.type = "s_open";
3310
- token.tag = "s";
3311
- token.nesting = 1;
3312
- token.markup = "~~";
3313
- token.content = "";
3314
- token = state.tokens[endDelim.token];
3315
- token.type = "s_close";
3316
- token.tag = "s";
3317
- token.nesting = -1;
3318
- token.markup = "~~";
3319
- token.content = "";
3320
- if (state.tokens[endDelim.token - 1].type === "text" && state.tokens[endDelim.token - 1].content === "~") {
3321
- loneMarkers.push(endDelim.token - 1);
3322
- }
3323
- }
3324
- while (loneMarkers.length) {
3325
- i = loneMarkers.pop();
3326
- j = i + 1;
3327
- while (j < state.tokens.length && state.tokens[j].type === "s_close") {
3328
- j++;
3329
- }
3330
- j--;
3331
- if (i !== j) {
3332
- token = state.tokens[j];
3333
- state.tokens[j] = state.tokens[i];
3334
- state.tokens[i] = token;
3335
- }
3336
- }
3337
- }
3338
- module.exports.postProcess = function strikethrough(state) {
3339
- var curr, tokens_meta = state.tokens_meta, max = state.tokens_meta.length;
3340
- postProcess(state, state.delimiters);
3341
- for (curr = 0; curr < max; curr++) {
3342
- if (tokens_meta[curr] && tokens_meta[curr].delimiters) {
3343
- postProcess(state, tokens_meta[curr].delimiters);
3344
- }
3345
- }
3346
- };
3347
- }
3348
- });
3349
-
3350
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/emphasis.js
3351
- var require_emphasis = __commonJS({
3352
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/emphasis.js"(exports, module) {
3353
- "use strict";
3354
- module.exports.tokenize = function emphasis(state, silent) {
3355
- var i, scanned, token, start = state.pos, marker = state.src.charCodeAt(start);
3356
- if (silent) {
3357
- return false;
3358
- }
3359
- if (marker !== 95 && marker !== 42) {
3360
- return false;
3361
- }
3362
- scanned = state.scanDelims(state.pos, marker === 42);
3363
- for (i = 0; i < scanned.length; i++) {
3364
- token = state.push("text", "", 0);
3365
- token.content = String.fromCharCode(marker);
3366
- state.delimiters.push({
3367
- marker,
3368
- length: scanned.length,
3369
- token: state.tokens.length - 1,
3370
- end: -1,
3371
- open: scanned.can_open,
3372
- close: scanned.can_close
3373
- });
3374
- }
3375
- state.pos += scanned.length;
3376
- return true;
3377
- };
3378
- function postProcess(state, delimiters) {
3379
- var i, startDelim, endDelim, token, ch, isStrong, max = delimiters.length;
3380
- for (i = max - 1; i >= 0; i--) {
3381
- startDelim = delimiters[i];
3382
- if (startDelim.marker !== 95 && startDelim.marker !== 42) {
3383
- continue;
3384
- }
3385
- if (startDelim.end === -1) {
3386
- continue;
3387
- }
3388
- endDelim = delimiters[startDelim.end];
3389
- isStrong = i > 0 && delimiters[i - 1].end === startDelim.end + 1 && delimiters[i - 1].marker === startDelim.marker && delimiters[i - 1].token === startDelim.token - 1 && delimiters[startDelim.end + 1].token === endDelim.token + 1;
3390
- ch = String.fromCharCode(startDelim.marker);
3391
- token = state.tokens[startDelim.token];
3392
- token.type = isStrong ? "strong_open" : "em_open";
3393
- token.tag = isStrong ? "strong" : "em";
3394
- token.nesting = 1;
3395
- token.markup = isStrong ? ch + ch : ch;
3396
- token.content = "";
3397
- token = state.tokens[endDelim.token];
3398
- token.type = isStrong ? "strong_close" : "em_close";
3399
- token.tag = isStrong ? "strong" : "em";
3400
- token.nesting = -1;
3401
- token.markup = isStrong ? ch + ch : ch;
3402
- token.content = "";
3403
- if (isStrong) {
3404
- state.tokens[delimiters[i - 1].token].content = "";
3405
- state.tokens[delimiters[startDelim.end + 1].token].content = "";
3406
- i--;
3407
- }
3408
- }
3409
- }
3410
- module.exports.postProcess = function emphasis(state) {
3411
- var curr, tokens_meta = state.tokens_meta, max = state.tokens_meta.length;
3412
- postProcess(state, state.delimiters);
3413
- for (curr = 0; curr < max; curr++) {
3414
- if (tokens_meta[curr] && tokens_meta[curr].delimiters) {
3415
- postProcess(state, tokens_meta[curr].delimiters);
3416
- }
3417
- }
3418
- };
3419
- }
3420
- });
3421
-
3422
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/link.js
3423
- var require_link = __commonJS({
3424
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/link.js"(exports, module) {
3425
- "use strict";
3426
- var normalizeReference = require_utils().normalizeReference;
3427
- var isSpace = require_utils().isSpace;
3428
- module.exports = function link(state, silent) {
3429
- var attrs, code, label, labelEnd, labelStart, pos, res, ref, token, href = "", title = "", oldPos = state.pos, max = state.posMax, start = state.pos, parseReference = true;
3430
- if (state.src.charCodeAt(state.pos) !== 91) {
3431
- return false;
3432
- }
3433
- labelStart = state.pos + 1;
3434
- labelEnd = state.md.helpers.parseLinkLabel(state, state.pos, true);
3435
- if (labelEnd < 0) {
3436
- return false;
3437
- }
3438
- pos = labelEnd + 1;
3439
- if (pos < max && state.src.charCodeAt(pos) === 40) {
3440
- parseReference = false;
3441
- pos++;
3442
- for (; pos < max; pos++) {
3443
- code = state.src.charCodeAt(pos);
3444
- if (!isSpace(code) && code !== 10) {
3445
- break;
3446
- }
3447
- }
3448
- if (pos >= max) {
3449
- return false;
3450
- }
3451
- start = pos;
3452
- res = state.md.helpers.parseLinkDestination(state.src, pos, state.posMax);
3453
- if (res.ok) {
3454
- href = state.md.normalizeLink(res.str);
3455
- if (state.md.validateLink(href)) {
3456
- pos = res.pos;
3457
- } else {
3458
- href = "";
3459
- }
3460
- start = pos;
3461
- for (; pos < max; pos++) {
3462
- code = state.src.charCodeAt(pos);
3463
- if (!isSpace(code) && code !== 10) {
3464
- break;
3465
- }
3466
- }
3467
- res = state.md.helpers.parseLinkTitle(state.src, pos, state.posMax);
3468
- if (pos < max && start !== pos && res.ok) {
3469
- title = res.str;
3470
- pos = res.pos;
3471
- for (; pos < max; pos++) {
3472
- code = state.src.charCodeAt(pos);
3473
- if (!isSpace(code) && code !== 10) {
3474
- break;
3475
- }
3476
- }
3477
- }
3478
- }
3479
- if (pos >= max || state.src.charCodeAt(pos) !== 41) {
3480
- parseReference = true;
3481
- }
3482
- pos++;
3483
- }
3484
- if (parseReference) {
3485
- if (typeof state.env.references === "undefined") {
3486
- return false;
3487
- }
3488
- if (pos < max && state.src.charCodeAt(pos) === 91) {
3489
- start = pos + 1;
3490
- pos = state.md.helpers.parseLinkLabel(state, pos);
3491
- if (pos >= 0) {
3492
- label = state.src.slice(start, pos++);
3493
- } else {
3494
- pos = labelEnd + 1;
3495
- }
3496
- } else {
3497
- pos = labelEnd + 1;
3498
- }
3499
- if (!label) {
3500
- label = state.src.slice(labelStart, labelEnd);
3501
- }
3502
- ref = state.env.references[normalizeReference(label)];
3503
- if (!ref) {
3504
- state.pos = oldPos;
3505
- return false;
3506
- }
3507
- href = ref.href;
3508
- title = ref.title;
3509
- }
3510
- if (!silent) {
3511
- state.pos = labelStart;
3512
- state.posMax = labelEnd;
3513
- token = state.push("link_open", "a", 1);
3514
- token.attrs = attrs = [["href", href]];
3515
- if (title) {
3516
- attrs.push(["title", title]);
3517
- }
3518
- state.md.inline.tokenize(state);
3519
- token = state.push("link_close", "a", -1);
3520
- }
3521
- state.pos = pos;
3522
- state.posMax = max;
3523
- return true;
3524
- };
3525
- }
3526
- });
3527
-
3528
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/image.js
3529
- var require_image = __commonJS({
3530
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/image.js"(exports, module) {
3531
- "use strict";
3532
- var normalizeReference = require_utils().normalizeReference;
3533
- var isSpace = require_utils().isSpace;
3534
- module.exports = function image(state, silent) {
3535
- var attrs, code, content, label, labelEnd, labelStart, pos, ref, res, title, token, tokens, start, href = "", oldPos = state.pos, max = state.posMax;
3536
- if (state.src.charCodeAt(state.pos) !== 33) {
3537
- return false;
3538
- }
3539
- if (state.src.charCodeAt(state.pos + 1) !== 91) {
3540
- return false;
3541
- }
3542
- labelStart = state.pos + 2;
3543
- labelEnd = state.md.helpers.parseLinkLabel(state, state.pos + 1, false);
3544
- if (labelEnd < 0) {
3545
- return false;
3546
- }
3547
- pos = labelEnd + 1;
3548
- if (pos < max && state.src.charCodeAt(pos) === 40) {
3549
- pos++;
3550
- for (; pos < max; pos++) {
3551
- code = state.src.charCodeAt(pos);
3552
- if (!isSpace(code) && code !== 10) {
3553
- break;
3554
- }
3555
- }
3556
- if (pos >= max) {
3557
- return false;
3558
- }
3559
- start = pos;
3560
- res = state.md.helpers.parseLinkDestination(state.src, pos, state.posMax);
3561
- if (res.ok) {
3562
- href = state.md.normalizeLink(res.str);
3563
- if (state.md.validateLink(href)) {
3564
- pos = res.pos;
3565
- } else {
3566
- href = "";
3567
- }
3568
- }
3569
- start = pos;
3570
- for (; pos < max; pos++) {
3571
- code = state.src.charCodeAt(pos);
3572
- if (!isSpace(code) && code !== 10) {
3573
- break;
3574
- }
3575
- }
3576
- res = state.md.helpers.parseLinkTitle(state.src, pos, state.posMax);
3577
- if (pos < max && start !== pos && res.ok) {
3578
- title = res.str;
3579
- pos = res.pos;
3580
- for (; pos < max; pos++) {
3581
- code = state.src.charCodeAt(pos);
3582
- if (!isSpace(code) && code !== 10) {
3583
- break;
3584
- }
3585
- }
3586
- } else {
3587
- title = "";
3588
- }
3589
- if (pos >= max || state.src.charCodeAt(pos) !== 41) {
3590
- state.pos = oldPos;
3591
- return false;
3592
- }
3593
- pos++;
3594
- } else {
3595
- if (typeof state.env.references === "undefined") {
3596
- return false;
3597
- }
3598
- if (pos < max && state.src.charCodeAt(pos) === 91) {
3599
- start = pos + 1;
3600
- pos = state.md.helpers.parseLinkLabel(state, pos);
3601
- if (pos >= 0) {
3602
- label = state.src.slice(start, pos++);
3603
- } else {
3604
- pos = labelEnd + 1;
3605
- }
3606
- } else {
3607
- pos = labelEnd + 1;
3608
- }
3609
- if (!label) {
3610
- label = state.src.slice(labelStart, labelEnd);
3611
- }
3612
- ref = state.env.references[normalizeReference(label)];
3613
- if (!ref) {
3614
- state.pos = oldPos;
3615
- return false;
3616
- }
3617
- href = ref.href;
3618
- title = ref.title;
3619
- }
3620
- if (!silent) {
3621
- content = state.src.slice(labelStart, labelEnd);
3622
- state.md.inline.parse(content, state.md, state.env, tokens = []);
3623
- token = state.push("image", "img", 0);
3624
- token.attrs = attrs = [["src", href], ["alt", ""]];
3625
- token.children = tokens;
3626
- token.content = content;
3627
- if (title) {
3628
- attrs.push(["title", title]);
3629
- }
3630
- }
3631
- state.pos = pos;
3632
- state.posMax = max;
3633
- return true;
3634
- };
3635
- }
3636
- });
3637
-
3638
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/autolink.js
3639
- var require_autolink = __commonJS({
3640
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/autolink.js"(exports, module) {
3641
- "use strict";
3642
- var EMAIL_RE = /^([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])?)*)$/;
3643
- var AUTOLINK_RE = /^([a-zA-Z][a-zA-Z0-9+.\-]{1,31}):([^<>\x00-\x20]*)$/;
3644
- module.exports = function autolink(state, silent) {
3645
- var url, fullUrl, token, ch, start, max, pos = state.pos;
3646
- if (state.src.charCodeAt(pos) !== 60) {
3647
- return false;
3648
- }
3649
- start = state.pos;
3650
- max = state.posMax;
3651
- for (; ; ) {
3652
- if (++pos >= max)
3653
- return false;
3654
- ch = state.src.charCodeAt(pos);
3655
- if (ch === 60)
3656
- return false;
3657
- if (ch === 62)
3658
- break;
3659
- }
3660
- url = state.src.slice(start + 1, pos);
3661
- if (AUTOLINK_RE.test(url)) {
3662
- fullUrl = state.md.normalizeLink(url);
3663
- if (!state.md.validateLink(fullUrl)) {
3664
- return false;
3665
- }
3666
- if (!silent) {
3667
- token = state.push("link_open", "a", 1);
3668
- token.attrs = [["href", fullUrl]];
3669
- token.markup = "autolink";
3670
- token.info = "auto";
3671
- token = state.push("text", "", 0);
3672
- token.content = state.md.normalizeLinkText(url);
3673
- token = state.push("link_close", "a", -1);
3674
- token.markup = "autolink";
3675
- token.info = "auto";
3676
- }
3677
- state.pos += url.length + 2;
3678
- return true;
3679
- }
3680
- if (EMAIL_RE.test(url)) {
3681
- fullUrl = state.md.normalizeLink("mailto:" + url);
3682
- if (!state.md.validateLink(fullUrl)) {
3683
- return false;
3684
- }
3685
- if (!silent) {
3686
- token = state.push("link_open", "a", 1);
3687
- token.attrs = [["href", fullUrl]];
3688
- token.markup = "autolink";
3689
- token.info = "auto";
3690
- token = state.push("text", "", 0);
3691
- token.content = state.md.normalizeLinkText(url);
3692
- token = state.push("link_close", "a", -1);
3693
- token.markup = "autolink";
3694
- token.info = "auto";
3695
- }
3696
- state.pos += url.length + 2;
3697
- return true;
3698
- }
3699
- return false;
3700
- };
3701
- }
3702
- });
3703
-
3704
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/html_inline.js
3705
- var require_html_inline = __commonJS({
3706
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/html_inline.js"(exports, module) {
3707
- "use strict";
3708
- var HTML_TAG_RE = require_html_re().HTML_TAG_RE;
3709
- function isLetter(ch) {
3710
- var lc = ch | 32;
3711
- return lc >= 97 && lc <= 122;
3712
- }
3713
- module.exports = function html_inline(state, silent) {
3714
- var ch, match, max, token, pos = state.pos;
3715
- if (!state.md.options.html) {
3716
- return false;
3717
- }
3718
- max = state.posMax;
3719
- if (state.src.charCodeAt(pos) !== 60 || pos + 2 >= max) {
3720
- return false;
3721
- }
3722
- ch = state.src.charCodeAt(pos + 1);
3723
- if (ch !== 33 && ch !== 63 && ch !== 47 && !isLetter(ch)) {
3724
- return false;
3725
- }
3726
- match = state.src.slice(pos).match(HTML_TAG_RE);
3727
- if (!match) {
3728
- return false;
3729
- }
3730
- if (!silent) {
3731
- token = state.push("html_inline", "", 0);
3732
- token.content = state.src.slice(pos, pos + match[0].length);
3733
- }
3734
- state.pos += match[0].length;
3735
- return true;
3736
- };
3737
- }
3738
- });
3739
-
3740
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/entity.js
3741
- var require_entity = __commonJS({
3742
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/entity.js"(exports, module) {
3743
- "use strict";
3744
- var entities = require_entities2();
3745
- var has = require_utils().has;
3746
- var isValidEntityCode = require_utils().isValidEntityCode;
3747
- var fromCodePoint = require_utils().fromCodePoint;
3748
- var DIGITAL_RE = /^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i;
3749
- var NAMED_RE = /^&([a-z][a-z0-9]{1,31});/i;
3750
- module.exports = function entity(state, silent) {
3751
- var ch, code, match, pos = state.pos, max = state.posMax;
3752
- if (state.src.charCodeAt(pos) !== 38) {
3753
- return false;
3754
- }
3755
- if (pos + 1 < max) {
3756
- ch = state.src.charCodeAt(pos + 1);
3757
- if (ch === 35) {
3758
- match = state.src.slice(pos).match(DIGITAL_RE);
3759
- if (match) {
3760
- if (!silent) {
3761
- code = match[1][0].toLowerCase() === "x" ? parseInt(match[1].slice(1), 16) : parseInt(match[1], 10);
3762
- state.pending += isValidEntityCode(code) ? fromCodePoint(code) : fromCodePoint(65533);
3763
- }
3764
- state.pos += match[0].length;
3765
- return true;
3766
- }
3767
- } else {
3768
- match = state.src.slice(pos).match(NAMED_RE);
3769
- if (match) {
3770
- if (has(entities, match[1])) {
3771
- if (!silent) {
3772
- state.pending += entities[match[1]];
3773
- }
3774
- state.pos += match[0].length;
3775
- return true;
3776
- }
3777
- }
3778
- }
3779
- }
3780
- if (!silent) {
3781
- state.pending += "&";
3782
- }
3783
- state.pos++;
3784
- return true;
3785
- };
3786
- }
3787
- });
3788
-
3789
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/balance_pairs.js
3790
- var require_balance_pairs = __commonJS({
3791
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/balance_pairs.js"(exports, module) {
3792
- "use strict";
3793
- function processDelimiters(state, delimiters) {
3794
- var closerIdx, openerIdx, closer, opener, minOpenerIdx, newMinOpenerIdx, isOddMatch, lastJump, openersBottom = {}, max = delimiters.length;
3795
- if (!max)
3796
- return;
3797
- var headerIdx = 0;
3798
- var lastTokenIdx = -2;
3799
- var jumps = [];
3800
- for (closerIdx = 0; closerIdx < max; closerIdx++) {
3801
- closer = delimiters[closerIdx];
3802
- jumps.push(0);
3803
- if (delimiters[headerIdx].marker !== closer.marker || lastTokenIdx !== closer.token - 1) {
3804
- headerIdx = closerIdx;
3805
- }
3806
- lastTokenIdx = closer.token;
3807
- closer.length = closer.length || 0;
3808
- if (!closer.close)
3809
- continue;
3810
- if (!openersBottom.hasOwnProperty(closer.marker)) {
3811
- openersBottom[closer.marker] = [-1, -1, -1, -1, -1, -1];
3812
- }
3813
- minOpenerIdx = openersBottom[closer.marker][(closer.open ? 3 : 0) + closer.length % 3];
3814
- openerIdx = headerIdx - jumps[headerIdx] - 1;
3815
- newMinOpenerIdx = openerIdx;
3816
- for (; openerIdx > minOpenerIdx; openerIdx -= jumps[openerIdx] + 1) {
3817
- opener = delimiters[openerIdx];
3818
- if (opener.marker !== closer.marker)
3819
- continue;
3820
- if (opener.open && opener.end < 0) {
3821
- isOddMatch = false;
3822
- if (opener.close || closer.open) {
3823
- if ((opener.length + closer.length) % 3 === 0) {
3824
- if (opener.length % 3 !== 0 || closer.length % 3 !== 0) {
3825
- isOddMatch = true;
3826
- }
3827
- }
3828
- }
3829
- if (!isOddMatch) {
3830
- lastJump = openerIdx > 0 && !delimiters[openerIdx - 1].open ? jumps[openerIdx - 1] + 1 : 0;
3831
- jumps[closerIdx] = closerIdx - openerIdx + lastJump;
3832
- jumps[openerIdx] = lastJump;
3833
- closer.open = false;
3834
- opener.end = closerIdx;
3835
- opener.close = false;
3836
- newMinOpenerIdx = -1;
3837
- lastTokenIdx = -2;
3838
- break;
3839
- }
3840
- }
3841
- }
3842
- if (newMinOpenerIdx !== -1) {
3843
- openersBottom[closer.marker][(closer.open ? 3 : 0) + (closer.length || 0) % 3] = newMinOpenerIdx;
3844
- }
3845
- }
3846
- }
3847
- module.exports = function link_pairs(state) {
3848
- var curr, tokens_meta = state.tokens_meta, max = state.tokens_meta.length;
3849
- processDelimiters(state, state.delimiters);
3850
- for (curr = 0; curr < max; curr++) {
3851
- if (tokens_meta[curr] && tokens_meta[curr].delimiters) {
3852
- processDelimiters(state, tokens_meta[curr].delimiters);
3853
- }
3854
- }
3855
- };
3856
- }
3857
- });
3858
-
3859
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/text_collapse.js
3860
- var require_text_collapse = __commonJS({
3861
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/text_collapse.js"(exports, module) {
3862
- "use strict";
3863
- module.exports = function text_collapse(state) {
3864
- var curr, last, level = 0, tokens = state.tokens, max = state.tokens.length;
3865
- for (curr = last = 0; curr < max; curr++) {
3866
- if (tokens[curr].nesting < 0)
3867
- level--;
3868
- tokens[curr].level = level;
3869
- if (tokens[curr].nesting > 0)
3870
- level++;
3871
- if (tokens[curr].type === "text" && curr + 1 < max && tokens[curr + 1].type === "text") {
3872
- tokens[curr + 1].content = tokens[curr].content + tokens[curr + 1].content;
3873
- } else {
3874
- if (curr !== last) {
3875
- tokens[last] = tokens[curr];
3876
- }
3877
- last++;
3878
- }
3879
- }
3880
- if (curr !== last) {
3881
- tokens.length = last;
3882
- }
3883
- };
3884
- }
3885
- });
3886
-
3887
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/state_inline.js
3888
- var require_state_inline = __commonJS({
3889
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/rules_inline/state_inline.js"(exports, module) {
3890
- "use strict";
3891
- var Token = require_token();
3892
- var isWhiteSpace = require_utils().isWhiteSpace;
3893
- var isPunctChar = require_utils().isPunctChar;
3894
- var isMdAsciiPunct = require_utils().isMdAsciiPunct;
3895
- function StateInline(src, md2, env, outTokens) {
3896
- this.src = src;
3897
- this.env = env;
3898
- this.md = md2;
3899
- this.tokens = outTokens;
3900
- this.tokens_meta = Array(outTokens.length);
3901
- this.pos = 0;
3902
- this.posMax = this.src.length;
3903
- this.level = 0;
3904
- this.pending = "";
3905
- this.pendingLevel = 0;
3906
- this.cache = {};
3907
- this.delimiters = [];
3908
- this._prev_delimiters = [];
3909
- this.backticks = {};
3910
- this.backticksScanned = false;
3911
- }
3912
- StateInline.prototype.pushPending = function() {
3913
- var token = new Token("text", "", 0);
3914
- token.content = this.pending;
3915
- token.level = this.pendingLevel;
3916
- this.tokens.push(token);
3917
- this.pending = "";
3918
- return token;
3919
- };
3920
- StateInline.prototype.push = function(type, tag, nesting) {
3921
- if (this.pending) {
3922
- this.pushPending();
3923
- }
3924
- var token = new Token(type, tag, nesting);
3925
- var token_meta = null;
3926
- if (nesting < 0) {
3927
- this.level--;
3928
- this.delimiters = this._prev_delimiters.pop();
3929
- }
3930
- token.level = this.level;
3931
- if (nesting > 0) {
3932
- this.level++;
3933
- this._prev_delimiters.push(this.delimiters);
3934
- this.delimiters = [];
3935
- token_meta = { delimiters: this.delimiters };
3936
- }
3937
- this.pendingLevel = this.level;
3938
- this.tokens.push(token);
3939
- this.tokens_meta.push(token_meta);
3940
- return token;
3941
- };
3942
- StateInline.prototype.scanDelims = function(start, canSplitWord) {
3943
- var pos = start, lastChar, nextChar, count, can_open, can_close, isLastWhiteSpace, isLastPunctChar, isNextWhiteSpace, isNextPunctChar, left_flanking = true, right_flanking = true, max = this.posMax, marker = this.src.charCodeAt(start);
3944
- lastChar = start > 0 ? this.src.charCodeAt(start - 1) : 32;
3945
- while (pos < max && this.src.charCodeAt(pos) === marker) {
3946
- pos++;
3947
- }
3948
- count = pos - start;
3949
- nextChar = pos < max ? this.src.charCodeAt(pos) : 32;
3950
- isLastPunctChar = isMdAsciiPunct(lastChar) || isPunctChar(String.fromCharCode(lastChar));
3951
- isNextPunctChar = isMdAsciiPunct(nextChar) || isPunctChar(String.fromCharCode(nextChar));
3952
- isLastWhiteSpace = isWhiteSpace(lastChar);
3953
- isNextWhiteSpace = isWhiteSpace(nextChar);
3954
- if (isNextWhiteSpace) {
3955
- left_flanking = false;
3956
- } else if (isNextPunctChar) {
3957
- if (!(isLastWhiteSpace || isLastPunctChar)) {
3958
- left_flanking = false;
3959
- }
3960
- }
3961
- if (isLastWhiteSpace) {
3962
- right_flanking = false;
3963
- } else if (isLastPunctChar) {
3964
- if (!(isNextWhiteSpace || isNextPunctChar)) {
3965
- right_flanking = false;
3966
- }
3967
- }
3968
- if (!canSplitWord) {
3969
- can_open = left_flanking && (!right_flanking || isLastPunctChar);
3970
- can_close = right_flanking && (!left_flanking || isNextPunctChar);
3971
- } else {
3972
- can_open = left_flanking;
3973
- can_close = right_flanking;
3974
- }
3975
- return {
3976
- can_open,
3977
- can_close,
3978
- length: count
3979
- };
3980
- };
3981
- StateInline.prototype.Token = Token;
3982
- module.exports = StateInline;
3983
- }
3984
- });
3985
-
3986
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/parser_inline.js
3987
- var require_parser_inline = __commonJS({
3988
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/parser_inline.js"(exports, module) {
3989
- "use strict";
3990
- var Ruler = require_ruler();
3991
- var _rules = [
3992
- ["text", require_text()],
3993
- ["newline", require_newline()],
3994
- ["escape", require_escape()],
3995
- ["backticks", require_backticks()],
3996
- ["strikethrough", require_strikethrough().tokenize],
3997
- ["emphasis", require_emphasis().tokenize],
3998
- ["link", require_link()],
3999
- ["image", require_image()],
4000
- ["autolink", require_autolink()],
4001
- ["html_inline", require_html_inline()],
4002
- ["entity", require_entity()]
4003
- ];
4004
- var _rules2 = [
4005
- ["balance_pairs", require_balance_pairs()],
4006
- ["strikethrough", require_strikethrough().postProcess],
4007
- ["emphasis", require_emphasis().postProcess],
4008
- ["text_collapse", require_text_collapse()]
4009
- ];
4010
- function ParserInline() {
4011
- var i;
4012
- this.ruler = new Ruler();
4013
- for (i = 0; i < _rules.length; i++) {
4014
- this.ruler.push(_rules[i][0], _rules[i][1]);
4015
- }
4016
- this.ruler2 = new Ruler();
4017
- for (i = 0; i < _rules2.length; i++) {
4018
- this.ruler2.push(_rules2[i][0], _rules2[i][1]);
4019
- }
4020
- }
4021
- ParserInline.prototype.skipToken = function(state) {
4022
- var ok, i, pos = state.pos, rules = this.ruler.getRules(""), len = rules.length, maxNesting = state.md.options.maxNesting, cache = state.cache;
4023
- if (typeof cache[pos] !== "undefined") {
4024
- state.pos = cache[pos];
4025
- return;
4026
- }
4027
- if (state.level < maxNesting) {
4028
- for (i = 0; i < len; i++) {
4029
- state.level++;
4030
- ok = rules[i](state, true);
4031
- state.level--;
4032
- if (ok) {
4033
- break;
4034
- }
4035
- }
4036
- } else {
4037
- state.pos = state.posMax;
4038
- }
4039
- if (!ok) {
4040
- state.pos++;
4041
- }
4042
- cache[pos] = state.pos;
4043
- };
4044
- ParserInline.prototype.tokenize = function(state) {
4045
- var ok, i, rules = this.ruler.getRules(""), len = rules.length, end = state.posMax, maxNesting = state.md.options.maxNesting;
4046
- while (state.pos < end) {
4047
- if (state.level < maxNesting) {
4048
- for (i = 0; i < len; i++) {
4049
- ok = rules[i](state, false);
4050
- if (ok) {
4051
- break;
4052
- }
4053
- }
4054
- }
4055
- if (ok) {
4056
- if (state.pos >= end) {
4057
- break;
4058
- }
4059
- continue;
4060
- }
4061
- state.pending += state.src[state.pos++];
4062
- }
4063
- if (state.pending) {
4064
- state.pushPending();
4065
- }
4066
- };
4067
- ParserInline.prototype.parse = function(str, md2, env, outTokens) {
4068
- var i, rules, len;
4069
- var state = new this.State(str, md2, env, outTokens);
4070
- this.tokenize(state);
4071
- rules = this.ruler2.getRules("");
4072
- len = rules.length;
4073
- for (i = 0; i < len; i++) {
4074
- rules[i](state);
4075
- }
4076
- };
4077
- ParserInline.prototype.State = require_state_inline();
4078
- module.exports = ParserInline;
4079
- }
4080
- });
4081
-
4082
- // ../../node_modules/.pnpm/linkify-it@3.0.3/node_modules/linkify-it/lib/re.js
4083
- var require_re = __commonJS({
4084
- "../../node_modules/.pnpm/linkify-it@3.0.3/node_modules/linkify-it/lib/re.js"(exports, module) {
4085
- "use strict";
4086
- module.exports = function(opts) {
4087
- var re = {};
4088
- re.src_Any = require_regex2().source;
4089
- re.src_Cc = require_regex3().source;
4090
- re.src_Z = require_regex5().source;
4091
- re.src_P = require_regex().source;
4092
- re.src_ZPCc = [re.src_Z, re.src_P, re.src_Cc].join("|");
4093
- re.src_ZCc = [re.src_Z, re.src_Cc].join("|");
4094
- var text_separators = "[><\uFF5C]";
4095
- re.src_pseudo_letter = "(?:(?!" + text_separators + "|" + re.src_ZPCc + ")" + re.src_Any + ")";
4096
- re.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]?)";
4097
- re.src_auth = "(?:(?:(?!" + re.src_ZCc + "|[@/\\[\\]()]).)+@)?";
4098
- re.src_port = "(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?";
4099
- re.src_host_terminator = "(?=$|" + text_separators + "|" + re.src_ZPCc + ")(?!-|_|:\\d|\\.-|\\.(?!$|" + re.src_ZPCc + "))";
4100
- re.src_path = "(?:[/?#](?:(?!" + re.src_ZCc + "|" + text_separators + `|[()[\\]{}.,"'?!\\-;]).|\\[(?:(?!` + re.src_ZCc + "|\\]).)*\\]|\\((?:(?!" + re.src_ZCc + "|[)]).)*\\)|\\{(?:(?!" + re.src_ZCc + '|[}]).)*\\}|\\"(?:(?!' + re.src_ZCc + `|["]).)+\\"|\\'(?:(?!` + re.src_ZCc + "|[']).)+\\'|\\'(?=" + re.src_pseudo_letter + "|[-]).|\\.{2,}[a-zA-Z0-9%/&]|\\.(?!" + re.src_ZCc + "|[.]).|" + (opts && opts["---"] ? "\\-(?!--(?:[^-]|$))(?:-*)|" : "\\-+|") + ",(?!" + re.src_ZCc + ").|;(?!" + re.src_ZCc + ").|\\!+(?!" + re.src_ZCc + "|[!]).|\\?(?!" + re.src_ZCc + "|[?]).)+|\\/)?";
4101
- re.src_email_name = '[\\-;:&=\\+\\$,\\.a-zA-Z0-9_][\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]*';
4102
- re.src_xn = "xn--[a-z0-9\\-]{1,59}";
4103
- re.src_domain_root = "(?:" + re.src_xn + "|" + re.src_pseudo_letter + "{1,63})";
4104
- re.src_domain = "(?:" + re.src_xn + "|(?:" + re.src_pseudo_letter + ")|(?:" + re.src_pseudo_letter + "(?:-|" + re.src_pseudo_letter + "){0,61}" + re.src_pseudo_letter + "))";
4105
- re.src_host = "(?:(?:(?:(?:" + re.src_domain + ")\\.)*" + re.src_domain + "))";
4106
- re.tpl_host_fuzzy = "(?:" + re.src_ip4 + "|(?:(?:(?:" + re.src_domain + ")\\.)+(?:%TLDS%)))";
4107
- re.tpl_host_no_ip_fuzzy = "(?:(?:(?:" + re.src_domain + ")\\.)+(?:%TLDS%))";
4108
- re.src_host_strict = re.src_host + re.src_host_terminator;
4109
- re.tpl_host_fuzzy_strict = re.tpl_host_fuzzy + re.src_host_terminator;
4110
- re.src_host_port_strict = re.src_host + re.src_port + re.src_host_terminator;
4111
- re.tpl_host_port_fuzzy_strict = re.tpl_host_fuzzy + re.src_port + re.src_host_terminator;
4112
- re.tpl_host_port_no_ip_fuzzy_strict = re.tpl_host_no_ip_fuzzy + re.src_port + re.src_host_terminator;
4113
- re.tpl_host_fuzzy_test = "localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:" + re.src_ZPCc + "|>|$))";
4114
- re.tpl_email_fuzzy = "(^|" + text_separators + '|"|\\(|' + re.src_ZCc + ")(" + re.src_email_name + "@" + re.tpl_host_fuzzy_strict + ")";
4115
- re.tpl_link_fuzzy = "(^|(?![.:/\\-_@])(?:[$+<=>^`|\uFF5C]|" + re.src_ZPCc + "))((?![$+<=>^`|\uFF5C])" + re.tpl_host_port_fuzzy_strict + re.src_path + ")";
4116
- re.tpl_link_no_ip_fuzzy = "(^|(?![.:/\\-_@])(?:[$+<=>^`|\uFF5C]|" + re.src_ZPCc + "))((?![$+<=>^`|\uFF5C])" + re.tpl_host_port_no_ip_fuzzy_strict + re.src_path + ")";
4117
- return re;
4118
- };
4119
- }
4120
- });
4121
-
4122
- // ../../node_modules/.pnpm/linkify-it@3.0.3/node_modules/linkify-it/index.js
4123
- var require_linkify_it = __commonJS({
4124
- "../../node_modules/.pnpm/linkify-it@3.0.3/node_modules/linkify-it/index.js"(exports, module) {
4125
- "use strict";
4126
- function assign(obj) {
4127
- var sources = Array.prototype.slice.call(arguments, 1);
4128
- sources.forEach(function(source) {
4129
- if (!source) {
4130
- return;
4131
- }
4132
- Object.keys(source).forEach(function(key) {
4133
- obj[key] = source[key];
4134
- });
4135
- });
4136
- return obj;
4137
- }
4138
- function _class(obj) {
4139
- return Object.prototype.toString.call(obj);
4140
- }
4141
- function isString(obj) {
4142
- return _class(obj) === "[object String]";
4143
- }
4144
- function isObject(obj) {
4145
- return _class(obj) === "[object Object]";
4146
- }
4147
- function isRegExp(obj) {
4148
- return _class(obj) === "[object RegExp]";
4149
- }
4150
- function isFunction(obj) {
4151
- return _class(obj) === "[object Function]";
4152
- }
4153
- function escapeRE(str) {
4154
- return str.replace(/[.?*+^$[\]\\(){}|-]/g, "\\$&");
4155
- }
4156
- var defaultOptions = {
4157
- fuzzyLink: true,
4158
- fuzzyEmail: true,
4159
- fuzzyIP: false
4160
- };
4161
- function isOptionsObj(obj) {
4162
- return Object.keys(obj || {}).reduce(function(acc, k) {
4163
- return acc || defaultOptions.hasOwnProperty(k);
4164
- }, false);
4165
- }
4166
- var defaultSchemas = {
4167
- "http:": {
4168
- validate: function(text, pos, self) {
4169
- var tail = text.slice(pos);
4170
- if (!self.re.http) {
4171
- self.re.http = new RegExp("^\\/\\/" + self.re.src_auth + self.re.src_host_port_strict + self.re.src_path, "i");
4172
- }
4173
- if (self.re.http.test(tail)) {
4174
- return tail.match(self.re.http)[0].length;
4175
- }
4176
- return 0;
4177
- }
4178
- },
4179
- "https:": "http:",
4180
- "ftp:": "http:",
4181
- "//": {
4182
- validate: function(text, pos, self) {
4183
- var tail = text.slice(pos);
4184
- if (!self.re.no_http) {
4185
- self.re.no_http = new RegExp("^" + self.re.src_auth + "(?:localhost|(?:(?:" + self.re.src_domain + ")\\.)+" + self.re.src_domain_root + ")" + self.re.src_port + self.re.src_host_terminator + self.re.src_path, "i");
4186
- }
4187
- if (self.re.no_http.test(tail)) {
4188
- if (pos >= 3 && text[pos - 3] === ":") {
4189
- return 0;
4190
- }
4191
- if (pos >= 3 && text[pos - 3] === "/") {
4192
- return 0;
4193
- }
4194
- return tail.match(self.re.no_http)[0].length;
4195
- }
4196
- return 0;
4197
- }
4198
- },
4199
- "mailto:": {
4200
- validate: function(text, pos, self) {
4201
- var tail = text.slice(pos);
4202
- if (!self.re.mailto) {
4203
- self.re.mailto = new RegExp("^" + self.re.src_email_name + "@" + self.re.src_host_strict, "i");
4204
- }
4205
- if (self.re.mailto.test(tail)) {
4206
- return tail.match(self.re.mailto)[0].length;
4207
- }
4208
- return 0;
4209
- }
4210
- }
4211
- };
4212
- var tlds_2ch_src_re = "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]";
4213
- var tlds_default = "biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|\u0440\u0444".split("|");
4214
- function resetScanCache(self) {
4215
- self.__index__ = -1;
4216
- self.__text_cache__ = "";
4217
- }
4218
- function createValidator(re) {
4219
- return function(text, pos) {
4220
- var tail = text.slice(pos);
4221
- if (re.test(tail)) {
4222
- return tail.match(re)[0].length;
4223
- }
4224
- return 0;
4225
- };
4226
- }
4227
- function createNormalizer() {
4228
- return function(match, self) {
4229
- self.normalize(match);
4230
- };
4231
- }
4232
- function compile(self) {
4233
- var re = self.re = require_re()(self.__opts__);
4234
- var tlds = self.__tlds__.slice();
4235
- self.onCompile();
4236
- if (!self.__tlds_replaced__) {
4237
- tlds.push(tlds_2ch_src_re);
4238
- }
4239
- tlds.push(re.src_xn);
4240
- re.src_tlds = tlds.join("|");
4241
- function untpl(tpl) {
4242
- return tpl.replace("%TLDS%", re.src_tlds);
4243
- }
4244
- re.email_fuzzy = RegExp(untpl(re.tpl_email_fuzzy), "i");
4245
- re.link_fuzzy = RegExp(untpl(re.tpl_link_fuzzy), "i");
4246
- re.link_no_ip_fuzzy = RegExp(untpl(re.tpl_link_no_ip_fuzzy), "i");
4247
- re.host_fuzzy_test = RegExp(untpl(re.tpl_host_fuzzy_test), "i");
4248
- var aliases = [];
4249
- self.__compiled__ = {};
4250
- function schemaError(name, val) {
4251
- throw new Error('(LinkifyIt) Invalid schema "' + name + '": ' + val);
4252
- }
4253
- Object.keys(self.__schemas__).forEach(function(name) {
4254
- var val = self.__schemas__[name];
4255
- if (val === null) {
4256
- return;
4257
- }
4258
- var compiled = { validate: null, link: null };
4259
- self.__compiled__[name] = compiled;
4260
- if (isObject(val)) {
4261
- if (isRegExp(val.validate)) {
4262
- compiled.validate = createValidator(val.validate);
4263
- } else if (isFunction(val.validate)) {
4264
- compiled.validate = val.validate;
4265
- } else {
4266
- schemaError(name, val);
4267
- }
4268
- if (isFunction(val.normalize)) {
4269
- compiled.normalize = val.normalize;
4270
- } else if (!val.normalize) {
4271
- compiled.normalize = createNormalizer();
4272
- } else {
4273
- schemaError(name, val);
4274
- }
4275
- return;
4276
- }
4277
- if (isString(val)) {
4278
- aliases.push(name);
4279
- return;
4280
- }
4281
- schemaError(name, val);
4282
- });
4283
- aliases.forEach(function(alias) {
4284
- if (!self.__compiled__[self.__schemas__[alias]]) {
4285
- return;
4286
- }
4287
- self.__compiled__[alias].validate = self.__compiled__[self.__schemas__[alias]].validate;
4288
- self.__compiled__[alias].normalize = self.__compiled__[self.__schemas__[alias]].normalize;
4289
- });
4290
- self.__compiled__[""] = { validate: null, normalize: createNormalizer() };
4291
- var slist = Object.keys(self.__compiled__).filter(function(name) {
4292
- return name.length > 0 && self.__compiled__[name];
4293
- }).map(escapeRE).join("|");
4294
- self.re.schema_test = RegExp("(^|(?!_)(?:[><\uFF5C]|" + re.src_ZPCc + "))(" + slist + ")", "i");
4295
- self.re.schema_search = RegExp("(^|(?!_)(?:[><\uFF5C]|" + re.src_ZPCc + "))(" + slist + ")", "ig");
4296
- self.re.pretest = RegExp("(" + self.re.schema_test.source + ")|(" + self.re.host_fuzzy_test.source + ")|@", "i");
4297
- resetScanCache(self);
4298
- }
4299
- function Match(self, shift) {
4300
- var start = self.__index__, end = self.__last_index__, text = self.__text_cache__.slice(start, end);
4301
- this.schema = self.__schema__.toLowerCase();
4302
- this.index = start + shift;
4303
- this.lastIndex = end + shift;
4304
- this.raw = text;
4305
- this.text = text;
4306
- this.url = text;
4307
- }
4308
- function createMatch(self, shift) {
4309
- var match = new Match(self, shift);
4310
- self.__compiled__[match.schema].normalize(match, self);
4311
- return match;
4312
- }
4313
- function LinkifyIt(schemas, options) {
4314
- if (!(this instanceof LinkifyIt)) {
4315
- return new LinkifyIt(schemas, options);
4316
- }
4317
- if (!options) {
4318
- if (isOptionsObj(schemas)) {
4319
- options = schemas;
4320
- schemas = {};
4321
- }
4322
- }
4323
- this.__opts__ = assign({}, defaultOptions, options);
4324
- this.__index__ = -1;
4325
- this.__last_index__ = -1;
4326
- this.__schema__ = "";
4327
- this.__text_cache__ = "";
4328
- this.__schemas__ = assign({}, defaultSchemas, schemas);
4329
- this.__compiled__ = {};
4330
- this.__tlds__ = tlds_default;
4331
- this.__tlds_replaced__ = false;
4332
- this.re = {};
4333
- compile(this);
4334
- }
4335
- LinkifyIt.prototype.add = function add(schema, definition) {
4336
- this.__schemas__[schema] = definition;
4337
- compile(this);
4338
- return this;
4339
- };
4340
- LinkifyIt.prototype.set = function set(options) {
4341
- this.__opts__ = assign(this.__opts__, options);
4342
- return this;
4343
- };
4344
- LinkifyIt.prototype.test = function test(text) {
4345
- this.__text_cache__ = text;
4346
- this.__index__ = -1;
4347
- if (!text.length) {
4348
- return false;
4349
- }
4350
- var m, ml, me, len, shift, next, re, tld_pos, at_pos;
4351
- if (this.re.schema_test.test(text)) {
4352
- re = this.re.schema_search;
4353
- re.lastIndex = 0;
4354
- while ((m = re.exec(text)) !== null) {
4355
- len = this.testSchemaAt(text, m[2], re.lastIndex);
4356
- if (len) {
4357
- this.__schema__ = m[2];
4358
- this.__index__ = m.index + m[1].length;
4359
- this.__last_index__ = m.index + m[0].length + len;
4360
- break;
4361
- }
4362
- }
4363
- }
4364
- if (this.__opts__.fuzzyLink && this.__compiled__["http:"]) {
4365
- tld_pos = text.search(this.re.host_fuzzy_test);
4366
- if (tld_pos >= 0) {
4367
- if (this.__index__ < 0 || tld_pos < this.__index__) {
4368
- if ((ml = text.match(this.__opts__.fuzzyIP ? this.re.link_fuzzy : this.re.link_no_ip_fuzzy)) !== null) {
4369
- shift = ml.index + ml[1].length;
4370
- if (this.__index__ < 0 || shift < this.__index__) {
4371
- this.__schema__ = "";
4372
- this.__index__ = shift;
4373
- this.__last_index__ = ml.index + ml[0].length;
4374
- }
4375
- }
4376
- }
4377
- }
4378
- }
4379
- if (this.__opts__.fuzzyEmail && this.__compiled__["mailto:"]) {
4380
- at_pos = text.indexOf("@");
4381
- if (at_pos >= 0) {
4382
- if ((me = text.match(this.re.email_fuzzy)) !== null) {
4383
- shift = me.index + me[1].length;
4384
- next = me.index + me[0].length;
4385
- if (this.__index__ < 0 || shift < this.__index__ || shift === this.__index__ && next > this.__last_index__) {
4386
- this.__schema__ = "mailto:";
4387
- this.__index__ = shift;
4388
- this.__last_index__ = next;
4389
- }
4390
- }
4391
- }
4392
- }
4393
- return this.__index__ >= 0;
4394
- };
4395
- LinkifyIt.prototype.pretest = function pretest(text) {
4396
- return this.re.pretest.test(text);
4397
- };
4398
- LinkifyIt.prototype.testSchemaAt = function testSchemaAt(text, schema, pos) {
4399
- if (!this.__compiled__[schema.toLowerCase()]) {
4400
- return 0;
4401
- }
4402
- return this.__compiled__[schema.toLowerCase()].validate(text, pos, this);
4403
- };
4404
- LinkifyIt.prototype.match = function match(text) {
4405
- var shift = 0, result = [];
4406
- if (this.__index__ >= 0 && this.__text_cache__ === text) {
4407
- result.push(createMatch(this, shift));
4408
- shift = this.__last_index__;
4409
- }
4410
- var tail = shift ? text.slice(shift) : text;
4411
- while (this.test(tail)) {
4412
- result.push(createMatch(this, shift));
4413
- tail = tail.slice(this.__last_index__);
4414
- shift += this.__last_index__;
4415
- }
4416
- if (result.length) {
4417
- return result;
4418
- }
4419
- return null;
4420
- };
4421
- LinkifyIt.prototype.tlds = function tlds(list, keepOld) {
4422
- list = Array.isArray(list) ? list : [list];
4423
- if (!keepOld) {
4424
- this.__tlds__ = list.slice();
4425
- this.__tlds_replaced__ = true;
4426
- compile(this);
4427
- return this;
4428
- }
4429
- this.__tlds__ = this.__tlds__.concat(list).sort().filter(function(el, idx, arr) {
4430
- return el !== arr[idx - 1];
4431
- }).reverse();
4432
- compile(this);
4433
- return this;
4434
- };
4435
- LinkifyIt.prototype.normalize = function normalize(match) {
4436
- if (!match.schema) {
4437
- match.url = "http://" + match.url;
4438
- }
4439
- if (match.schema === "mailto:" && !/^mailto:/i.test(match.url)) {
4440
- match.url = "mailto:" + match.url;
4441
- }
4442
- };
4443
- LinkifyIt.prototype.onCompile = function onCompile() {
4444
- };
4445
- module.exports = LinkifyIt;
4446
- }
4447
- });
4448
-
4449
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/presets/default.js
4450
- var require_default = __commonJS({
4451
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/presets/default.js"(exports, module) {
4452
- "use strict";
4453
- module.exports = {
4454
- options: {
4455
- html: false,
4456
- xhtmlOut: false,
4457
- breaks: false,
4458
- langPrefix: "language-",
4459
- linkify: false,
4460
- typographer: false,
4461
- quotes: "\u201C\u201D\u2018\u2019",
4462
- highlight: null,
4463
- maxNesting: 100
4464
- },
4465
- components: {
4466
- core: {},
4467
- block: {},
4468
- inline: {}
4469
- }
4470
- };
4471
- }
4472
- });
4473
-
4474
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/presets/zero.js
4475
- var require_zero = __commonJS({
4476
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/presets/zero.js"(exports, module) {
4477
- "use strict";
4478
- module.exports = {
4479
- options: {
4480
- html: false,
4481
- xhtmlOut: false,
4482
- breaks: false,
4483
- langPrefix: "language-",
4484
- linkify: false,
4485
- typographer: false,
4486
- quotes: "\u201C\u201D\u2018\u2019",
4487
- highlight: null,
4488
- maxNesting: 20
4489
- },
4490
- components: {
4491
- core: {
4492
- rules: [
4493
- "normalize",
4494
- "block",
4495
- "inline"
4496
- ]
4497
- },
4498
- block: {
4499
- rules: [
4500
- "paragraph"
4501
- ]
4502
- },
4503
- inline: {
4504
- rules: [
4505
- "text"
4506
- ],
4507
- rules2: [
4508
- "balance_pairs",
4509
- "text_collapse"
4510
- ]
4511
- }
4512
- }
4513
- };
4514
- }
4515
- });
4516
-
4517
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/presets/commonmark.js
4518
- var require_commonmark = __commonJS({
4519
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/presets/commonmark.js"(exports, module) {
4520
- "use strict";
4521
- module.exports = {
4522
- options: {
4523
- html: true,
4524
- xhtmlOut: true,
4525
- breaks: false,
4526
- langPrefix: "language-",
4527
- linkify: false,
4528
- typographer: false,
4529
- quotes: "\u201C\u201D\u2018\u2019",
4530
- highlight: null,
4531
- maxNesting: 20
4532
- },
4533
- components: {
4534
- core: {
4535
- rules: [
4536
- "normalize",
4537
- "block",
4538
- "inline"
4539
- ]
4540
- },
4541
- block: {
4542
- rules: [
4543
- "blockquote",
4544
- "code",
4545
- "fence",
4546
- "heading",
4547
- "hr",
4548
- "html_block",
4549
- "lheading",
4550
- "list",
4551
- "reference",
4552
- "paragraph"
4553
- ]
4554
- },
4555
- inline: {
4556
- rules: [
4557
- "autolink",
4558
- "backticks",
4559
- "emphasis",
4560
- "entity",
4561
- "escape",
4562
- "html_inline",
4563
- "image",
4564
- "link",
4565
- "newline",
4566
- "text"
4567
- ],
4568
- rules2: [
4569
- "balance_pairs",
4570
- "emphasis",
4571
- "text_collapse"
4572
- ]
4573
- }
4574
- }
4575
- };
4576
- }
4577
- });
4578
-
4579
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/index.js
4580
- var require_lib = __commonJS({
4581
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/lib/index.js"(exports, module) {
4582
- "use strict";
4583
- var utils = require_utils();
4584
- var helpers = require_helpers();
4585
- var Renderer = require_renderer();
4586
- var ParserCore = require_parser_core();
4587
- var ParserBlock = require_parser_block();
4588
- var ParserInline = require_parser_inline();
4589
- var LinkifyIt = require_linkify_it();
4590
- var mdurl = require_mdurl();
4591
- var punycode = __require("punycode");
4592
- var config = {
4593
- default: require_default(),
4594
- zero: require_zero(),
4595
- commonmark: require_commonmark()
4596
- };
4597
- var BAD_PROTO_RE = /^(vbscript|javascript|file|data):/;
4598
- var GOOD_DATA_RE = /^data:image\/(gif|png|jpeg|webp);/;
4599
- function validateLink(url) {
4600
- var str = url.trim().toLowerCase();
4601
- return BAD_PROTO_RE.test(str) ? GOOD_DATA_RE.test(str) ? true : false : true;
4602
- }
4603
- var RECODE_HOSTNAME_FOR = ["http:", "https:", "mailto:"];
4604
- function normalizeLink(url) {
4605
- var parsed = mdurl.parse(url, true);
4606
- if (parsed.hostname) {
4607
- if (!parsed.protocol || RECODE_HOSTNAME_FOR.indexOf(parsed.protocol) >= 0) {
4608
- try {
4609
- parsed.hostname = punycode.toASCII(parsed.hostname);
4610
- } catch (er) {
4611
- }
4612
- }
4613
- }
4614
- return mdurl.encode(mdurl.format(parsed));
4615
- }
4616
- function normalizeLinkText(url) {
4617
- var parsed = mdurl.parse(url, true);
4618
- if (parsed.hostname) {
4619
- if (!parsed.protocol || RECODE_HOSTNAME_FOR.indexOf(parsed.protocol) >= 0) {
4620
- try {
4621
- parsed.hostname = punycode.toUnicode(parsed.hostname);
4622
- } catch (er) {
4623
- }
4624
- }
4625
- }
4626
- return mdurl.decode(mdurl.format(parsed), mdurl.decode.defaultChars + "%");
4627
- }
4628
- function MarkdownIt(presetName, options) {
4629
- if (!(this instanceof MarkdownIt)) {
4630
- return new MarkdownIt(presetName, options);
4631
- }
4632
- if (!options) {
4633
- if (!utils.isString(presetName)) {
4634
- options = presetName || {};
4635
- presetName = "default";
4636
- }
4637
- }
4638
- this.inline = new ParserInline();
4639
- this.block = new ParserBlock();
4640
- this.core = new ParserCore();
4641
- this.renderer = new Renderer();
4642
- this.linkify = new LinkifyIt();
4643
- this.validateLink = validateLink;
4644
- this.normalizeLink = normalizeLink;
4645
- this.normalizeLinkText = normalizeLinkText;
4646
- this.utils = utils;
4647
- this.helpers = utils.assign({}, helpers);
4648
- this.options = {};
4649
- this.configure(presetName);
4650
- if (options) {
4651
- this.set(options);
4652
- }
4653
- }
4654
- MarkdownIt.prototype.set = function(options) {
4655
- utils.assign(this.options, options);
4656
- return this;
4657
- };
4658
- MarkdownIt.prototype.configure = function(presets) {
4659
- var self = this, presetName;
4660
- if (utils.isString(presets)) {
4661
- presetName = presets;
4662
- presets = config[presetName];
4663
- if (!presets) {
4664
- throw new Error('Wrong `markdown-it` preset "' + presetName + '", check name');
4665
- }
4666
- }
4667
- if (!presets) {
4668
- throw new Error("Wrong `markdown-it` preset, can't be empty");
4669
- }
4670
- if (presets.options) {
4671
- self.set(presets.options);
4672
- }
4673
- if (presets.components) {
4674
- Object.keys(presets.components).forEach(function(name) {
4675
- if (presets.components[name].rules) {
4676
- self[name].ruler.enableOnly(presets.components[name].rules);
4677
- }
4678
- if (presets.components[name].rules2) {
4679
- self[name].ruler2.enableOnly(presets.components[name].rules2);
4680
- }
4681
- });
4682
- }
4683
- return this;
4684
- };
4685
- MarkdownIt.prototype.enable = function(list, ignoreInvalid) {
4686
- var result = [];
4687
- if (!Array.isArray(list)) {
4688
- list = [list];
4689
- }
4690
- ["core", "block", "inline"].forEach(function(chain) {
4691
- result = result.concat(this[chain].ruler.enable(list, true));
4692
- }, this);
4693
- result = result.concat(this.inline.ruler2.enable(list, true));
4694
- var missed = list.filter(function(name) {
4695
- return result.indexOf(name) < 0;
4696
- });
4697
- if (missed.length && !ignoreInvalid) {
4698
- throw new Error("MarkdownIt. Failed to enable unknown rule(s): " + missed);
4699
- }
4700
- return this;
4701
- };
4702
- MarkdownIt.prototype.disable = function(list, ignoreInvalid) {
4703
- var result = [];
4704
- if (!Array.isArray(list)) {
4705
- list = [list];
4706
- }
4707
- ["core", "block", "inline"].forEach(function(chain) {
4708
- result = result.concat(this[chain].ruler.disable(list, true));
4709
- }, this);
4710
- result = result.concat(this.inline.ruler2.disable(list, true));
4711
- var missed = list.filter(function(name) {
4712
- return result.indexOf(name) < 0;
4713
- });
4714
- if (missed.length && !ignoreInvalid) {
4715
- throw new Error("MarkdownIt. Failed to disable unknown rule(s): " + missed);
4716
- }
4717
- return this;
4718
- };
4719
- MarkdownIt.prototype.use = function(plugin) {
4720
- var args = [this].concat(Array.prototype.slice.call(arguments, 1));
4721
- plugin.apply(plugin, args);
4722
- return this;
4723
- };
4724
- MarkdownIt.prototype.parse = function(src, env) {
4725
- if (typeof src !== "string") {
4726
- throw new Error("Input data should be a String");
4727
- }
4728
- var state = new this.core.State(src, this, env);
4729
- this.core.process(state);
4730
- return state.tokens;
4731
- };
4732
- MarkdownIt.prototype.render = function(src, env) {
4733
- env = env || {};
4734
- return this.renderer.render(this.parse(src, env), this.options, env);
4735
- };
4736
- MarkdownIt.prototype.parseInline = function(src, env) {
4737
- var state = new this.core.State(src, this, env);
4738
- state.inlineMode = true;
4739
- this.core.process(state);
4740
- return state.tokens;
4741
- };
4742
- MarkdownIt.prototype.renderInline = function(src, env) {
4743
- env = env || {};
4744
- return this.renderer.render(this.parseInline(src, env), this.options, env);
4745
- };
4746
- module.exports = MarkdownIt;
4747
- }
4748
- });
4749
-
4750
- // ../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/index.js
4751
- var require_markdown_it = __commonJS({
4752
- "../../node_modules/.pnpm/markdown-it@12.3.2/node_modules/markdown-it/index.js"(exports, module) {
4753
- "use strict";
4754
- module.exports = require_lib();
4755
- }
4756
- });
18
+ } from "./chunk-ZN246GL6.mjs";
4757
19
 
4758
20
  // src/fs.ts
4759
- var import_markdown_it = __toESM(require_markdown_it());
4760
21
  import { promises as fs } from "fs";
4761
22
  import { dirname, resolve } from "path";
4762
- var md = (0, import_markdown_it.default)({ html: true });
4763
23
  async function load(filepath, themeMeta, content) {
4764
24
  const dir = dirname(filepath);
4765
25
  const markdown = content != null ? content : await fs.readFile(filepath, "utf-8");
@@ -4800,10 +60,6 @@ async function load(filepath, themeMeta, content) {
4800
60
  data.slides.splice(iSlide + offset, 0, slide);
4801
61
  }
4802
62
  }
4803
- for (const slide of data.slides) {
4804
- if (slide.title)
4805
- slide.title = md.render(slide.title).trim().replace(/^<p>/, "").replace(/<\/p>$/, "");
4806
- }
4807
63
  for (let iSlide = 0; iSlide < data.slides.length; iSlide++)
4808
64
  data.slides[iSlide].index = iSlide === 0 ? 0 : 1 + data.slides[iSlide - 1].index;
4809
65
  data.entries = Array.from(entries);