D7",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:`
`,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"},es=/^#[xX]([A-Fa-f0-9]+)$/,ts=/^#([0-9]+)$/,rs=/^([A-Za-z0-9]+)$/,kt=function(){function t(e){this.named=e}return t.prototype.parse=function(e){if(e){var r=e.match(es);if(r)return String.fromCharCode(parseInt(r[1],16));if(r=e.match(ts),r)return String.fromCharCode(parseInt(r[1],10));if(r=e.match(rs),r)return this.named[r[1]]}},t}(),ns=/[\t\n\f ]/,is=/[A-Za-z]/,ss=/\r\n?/g;function L(t){return ns.test(t)}function wn(t){return is.test(t)}function as(t){return t.replace(ss,`
`)}var pr=function(){function t(e,r,n){n===void 0&&(n="precompile"),this.delegate=e,this.entityParser=r,this.mode=n,this.state="beforeData",this.line=-1,this.column=-1,this.input="",this.index=-1,this.tagNameBuffer="",this.states={beforeData:function(){var i=this.peek();if(i==="<"&&!this.isIgnoredEndTag())this.transitionTo("tagOpen"),this.markTagStart(),this.consume();else{if(this.mode==="precompile"&&i===`
`){var s=this.tagNameBuffer.toLowerCase();(s==="pre"||s==="textarea")&&this.consume()}this.transitionTo("data"),this.delegate.beginData()}},data:function(){var i=this.peek(),s=this.tagNameBuffer;i==="<"&&!this.isIgnoredEndTag()?(this.delegate.finishData(),this.transitionTo("tagOpen"),this.markTagStart(),this.consume()):i==="&"&&s!=="script"&&s!=="style"?(this.consume(),this.delegate.appendToData(this.consumeCharRef()||"&")):(this.consume(),this.delegate.appendToData(i))},tagOpen:function(){var i=this.consume();i==="!"?this.transitionTo("markupDeclarationOpen"):i==="/"?this.transitionTo("endTagOpen"):(i==="@"||i===":"||wn(i))&&(this.transitionTo("tagName"),this.tagNameBuffer="",this.delegate.beginStartTag(),this.appendToTagName(i))},markupDeclarationOpen:function(){var i=this.consume();if(i==="-"&&this.peek()==="-")this.consume(),this.transitionTo("commentStart"),this.delegate.beginComment();else{var s=i.toUpperCase()+this.input.substring(this.index,this.index+6).toUpperCase();s==="DOCTYPE"&&(this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.transitionTo("doctype"),this.delegate.beginDoctype&&this.delegate.beginDoctype())}},doctype:function(){var i=this.consume();L(i)&&this.transitionTo("beforeDoctypeName")},beforeDoctypeName:function(){var i=this.consume();L(i)||(this.transitionTo("doctypeName"),this.delegate.appendToDoctypeName&&this.delegate.appendToDoctypeName(i.toLowerCase()))},doctypeName:function(){var i=this.consume();L(i)?this.transitionTo("afterDoctypeName"):i===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeName&&this.delegate.appendToDoctypeName(i.toLowerCase())},afterDoctypeName:function(){var i=this.consume();if(!L(i))if(i===">")this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData");else{var s=i.toUpperCase()+this.input.substring(this.index,this.index+5).toUpperCase(),a=s.toUpperCase()==="PUBLIC",l=s.toUpperCase()==="SYSTEM";(a||l)&&(this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.consume()),a?this.transitionTo("afterDoctypePublicKeyword"):l&&this.transitionTo("afterDoctypeSystemKeyword")}},afterDoctypePublicKeyword:function(){var i=this.peek();L(i)?(this.transitionTo("beforeDoctypePublicIdentifier"),this.consume()):i==='"'?(this.transitionTo("doctypePublicIdentifierDoubleQuoted"),this.consume()):i==="'"?(this.transitionTo("doctypePublicIdentifierSingleQuoted"),this.consume()):i===">"&&(this.consume(),this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData"))},doctypePublicIdentifierDoubleQuoted:function(){var i=this.consume();i==='"'?this.transitionTo("afterDoctypePublicIdentifier"):i===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypePublicIdentifier&&this.delegate.appendToDoctypePublicIdentifier(i)},doctypePublicIdentifierSingleQuoted:function(){var i=this.consume();i==="'"?this.transitionTo("afterDoctypePublicIdentifier"):i===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypePublicIdentifier&&this.delegate.appendToDoctypePublicIdentifier(i)},afterDoctypePublicIdentifier:function(){var i=this.consume();L(i)?this.transitionTo("betweenDoctypePublicAndSystemIdentifiers"):i===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):i==='"'?this.transitionTo("doctypeSystemIdentifierDoubleQuoted"):i==="'"&&this.transitionTo("doctypeSystemIdentifierSingleQuoted")},betweenDoctypePublicAndSystemIdentifiers:function(){var i=this.consume();L(i)||(i===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):i==='"'?this.transitionTo("doctypeSystemIdentifierDoubleQuoted"):i==="'"&&this.transitionTo("doctypeSystemIdentifierSingleQuoted"))},doctypeSystemIdentifierDoubleQuoted:function(){var i=this.consume();i==='"'?this.transitionTo("afterDoctypeSystemIdentifier"):i===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeSystemIdentifier&&this.delegate.appendToDoctypeSystemIdentifier(i)},doctypeSystemIdentifierSingleQuoted:function(){var i=this.consume();i==="'"?this.transitionTo("afterDoctypeSystemIdentifier"):i===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeSystemIdentifier&&this.delegate.appendToDoctypeSystemIdentifier(i)},afterDoctypeSystemIdentifier:function(){var i=this.consume();L(i)||i===">"&&(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData"))},commentStart:function(){var i=this.consume();i==="-"?this.transitionTo("commentStartDash"):i===">"?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData(i),this.transitionTo("comment"))},commentStartDash:function(){var i=this.consume();i==="-"?this.transitionTo("commentEnd"):i===">"?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData("-"),this.transitionTo("comment"))},comment:function(){var i=this.consume();i==="-"?this.transitionTo("commentEndDash"):this.delegate.appendToCommentData(i)},commentEndDash:function(){var i=this.consume();i==="-"?this.transitionTo("commentEnd"):(this.delegate.appendToCommentData("-"+i),this.transitionTo("comment"))},commentEnd:function(){var i=this.consume();i===">"?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData("--"+i),this.transitionTo("comment"))},tagName:function(){var i=this.consume();L(i)?this.transitionTo("beforeAttributeName"):i==="/"?this.transitionTo("selfClosingStartTag"):i===">"?(this.delegate.finishTag(),this.transitionTo("beforeData")):this.appendToTagName(i)},endTagName:function(){var i=this.consume();L(i)?(this.transitionTo("beforeAttributeName"),this.tagNameBuffer=""):i==="/"?(this.transitionTo("selfClosingStartTag"),this.tagNameBuffer=""):i===">"?(this.delegate.finishTag(),this.transitionTo("beforeData"),this.tagNameBuffer=""):this.appendToTagName(i)},beforeAttributeName:function(){var i=this.peek();if(L(i)){this.consume();return}else i==="/"?(this.transitionTo("selfClosingStartTag"),this.consume()):i===">"?(this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):i==="="?(this.delegate.reportSyntaxError("attribute name cannot start with equals sign"),this.transitionTo("attributeName"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(i)):(this.transitionTo("attributeName"),this.delegate.beginAttribute())},attributeName:function(){var i=this.peek();L(i)?(this.transitionTo("afterAttributeName"),this.consume()):i==="/"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):i==="="?(this.transitionTo("beforeAttributeValue"),this.consume()):i===">"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):i==='"'||i==="'"||i==="<"?(this.delegate.reportSyntaxError(i+" is not a valid character within attribute names"),this.consume(),this.delegate.appendToAttributeName(i)):(this.consume(),this.delegate.appendToAttributeName(i))},afterAttributeName:function(){var i=this.peek();if(L(i)){this.consume();return}else i==="/"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):i==="="?(this.consume(),this.transitionTo("beforeAttributeValue")):i===">"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.transitionTo("attributeName"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(i))},beforeAttributeValue:function(){var i=this.peek();L(i)?this.consume():i==='"'?(this.transitionTo("attributeValueDoubleQuoted"),this.delegate.beginAttributeValue(!0),this.consume()):i==="'"?(this.transitionTo("attributeValueSingleQuoted"),this.delegate.beginAttributeValue(!0),this.consume()):i===">"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.transitionTo("attributeValueUnquoted"),this.delegate.beginAttributeValue(!1),this.consume(),this.delegate.appendToAttributeValue(i))},attributeValueDoubleQuoted:function(){var i=this.consume();i==='"'?(this.delegate.finishAttributeValue(),this.transitionTo("afterAttributeValueQuoted")):i==="&"?this.delegate.appendToAttributeValue(this.consumeCharRef()||"&"):this.delegate.appendToAttributeValue(i)},attributeValueSingleQuoted:function(){var i=this.consume();i==="'"?(this.delegate.finishAttributeValue(),this.transitionTo("afterAttributeValueQuoted")):i==="&"?this.delegate.appendToAttributeValue(this.consumeCharRef()||"&"):this.delegate.appendToAttributeValue(i)},attributeValueUnquoted:function(){var i=this.peek();L(i)?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("beforeAttributeName")):i==="/"?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):i==="&"?(this.consume(),this.delegate.appendToAttributeValue(this.consumeCharRef()||"&")):i===">"?(this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.consume(),this.delegate.appendToAttributeValue(i))},afterAttributeValueQuoted:function(){var i=this.peek();L(i)?(this.consume(),this.transitionTo("beforeAttributeName")):i==="/"?(this.consume(),this.transitionTo("selfClosingStartTag")):i===">"?(this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):this.transitionTo("beforeAttributeName")},selfClosingStartTag:function(){var i=this.peek();i===">"?(this.consume(),this.delegate.markTagAsSelfClosing(),this.delegate.finishTag(),this.transitionTo("beforeData")):this.transitionTo("beforeAttributeName")},endTagOpen:function(){var i=this.consume();(i==="@"||i===":"||wn(i))&&(this.transitionTo("endTagName"),this.tagNameBuffer="",this.delegate.beginEndTag(),this.appendToTagName(i))}},this.reset()}return t.prototype.reset=function(){this.transitionTo("beforeData"),this.input="",this.tagNameBuffer="",this.index=0,this.line=1,this.column=0,this.delegate.reset()},t.prototype.transitionTo=function(e){this.state=e},t.prototype.tokenize=function(e){this.reset(),this.tokenizePart(e),this.tokenizeEOF()},t.prototype.tokenizePart=function(e){for(this.input+=as(e);this.index<this.input.length;){var r=this.states[this.state];if(r!==void 0)r.call(this);else throw new Error("unhandled state "+this.state)}},t.prototype.tokenizeEOF=function(){this.flushData()},t.prototype.flushData=function(){this.state==="data"&&(this.delegate.finishData(),this.transitionTo("beforeData"))},t.prototype.peek=function(){return this.input.charAt(this.index)},t.prototype.consume=function(){var e=this.peek();return this.index++,e===`
`?(this.line++,this.column=0):this.column++,e},t.prototype.consumeCharRef=function(){var e=this.input.indexOf(";",this.index);if(e!==-1){var r=this.input.slice(this.index,e),n=this.entityParser.parse(r);if(n){for(var i=r.length;i;)this.consume(),i--;return this.consume(),n}}},t.prototype.markTagStart=function(){this.delegate.tagOpen()},t.prototype.appendToTagName=function(e){this.tagNameBuffer+=e,this.delegate.appendToTagName(e)},t.prototype.isIgnoredEndTag=function(){var e=this.tagNameBuffer;return e==="title"&&this.input.substring(this.index,this.index+8)!=="</title>"||e==="style"&&this.input.substring(this.index,this.index+8)!=="</style>"||e==="script"&&this.input.substring(this.index,this.index+9)!=="<\/script>"},t}(),Ul=function(){function t(e,r){r===void 0&&(r={}),this.options=r,this.token=null,this.startLine=1,this.startColumn=0,this.tokens=[],this.tokenizer=new pr(this,e,r.mode),this._currentAttribute=void 0}return t.prototype.tokenize=function(e){return this.tokens=[],this.tokenizer.tokenize(e),this.tokens},t.prototype.tokenizePart=function(e){return this.tokens=[],this.tokenizer.tokenizePart(e),this.tokens},t.prototype.tokenizeEOF=function(){return this.tokens=[],this.tokenizer.tokenizeEOF(),this.tokens[0]},t.prototype.reset=function(){this.token=null,this.startLine=1,this.startColumn=0},t.prototype.current=function(){var e=this.token;if(e===null)throw new Error("token was unexpectedly null");if(arguments.length===0)return e;for(var r=0;r<arguments.length;r++)if(e.type===arguments[r])return e;throw new Error("token type was unexpectedly "+e.type)},t.prototype.push=function(e){this.token=e,this.tokens.push(e)},t.prototype.currentAttribute=function(){return this._currentAttribute},t.prototype.addLocInfo=function(){this.options.loc&&(this.current().loc={start:{line:this.startLine,column:this.startColumn},end:{line:this.tokenizer.line,column:this.tokenizer.column}}),this.startLine=this.tokenizer.line,this.startColumn=this.tokenizer.column},t.prototype.beginDoctype=function(){this.push({type:"Doctype",name:""})},t.prototype.appendToDoctypeName=function(e){this.current("Doctype").name+=e},t.prototype.appendToDoctypePublicIdentifier=function(e){var r=this.current("Doctype");r.publicIdentifier===void 0?r.publicIdentifier=e:r.publicIdentifier+=e},t.prototype.appendToDoctypeSystemIdentifier=function(e){var r=this.current("Doctype");r.systemIdentifier===void 0?r.systemIdentifier=e:r.systemIdentifier+=e},t.prototype.endDoctype=function(){this.addLocInfo()},t.prototype.beginData=function(){this.push({type:"Chars",chars:""})},t.prototype.appendToData=function(e){this.current("Chars").chars+=e},t.prototype.finishData=function(){this.addLocInfo()},t.prototype.beginComment=function(){this.push({type:"Comment",chars:""})},t.prototype.appendToCommentData=function(e){this.current("Comment").chars+=e},t.prototype.finishComment=function(){this.addLocInfo()},t.prototype.tagOpen=function(){},t.prototype.beginStartTag=function(){this.push({type:"StartTag",tagName:"",attributes:[],selfClosing:!1})},t.prototype.beginEndTag=function(){this.push({type:"EndTag",tagName:""})},t.prototype.finishTag=function(){this.addLocInfo()},t.prototype.markTagAsSelfClosing=function(){this.current("StartTag").selfClosing=!0},t.prototype.appendToTagName=function(e){this.current("StartTag","EndTag").tagName+=e},t.prototype.beginAttribute=function(){this._currentAttribute=["","",!1]},t.prototype.appendToAttributeName=function(e){this.currentAttribute()[0]+=e},t.prototype.beginAttributeValue=function(e){this.currentAttribute()[2]=e},t.prototype.appendToAttributeValue=function(e){this.currentAttribute()[1]+=e},t.prototype.finishAttributeValue=function(){this.current("StartTag").attributes.push(this._currentAttribute)},t.prototype.reportSyntaxError=function(e){this.current().syntaxError=e},t}();var os=/[\xA0"&]/,Ml=new RegExp(os.source,"g"),ls=/[\xA0&<>]/,Gl=new RegExp(ls.source,"g");var Pt=Object.create(null),cs="area base br col command embed hr img input keygen link meta param source track wbr";cs.split(" ").forEach(t=>{Pt[t]=!0});var Y=Object.freeze({line:1,column:0}),kn=Object.freeze({source:"(synthetic)",start:Y,end:Y});var ec=Object.freeze({source:"(temporary)",start:Y,end:Y}),Fe=Object.freeze({source:"(nonexistent)",start:Y,end:Y}),ee=Object.freeze({source:"(broken)",start:Y,end:Y});var Nt=class t{constructor(e){this.loc=e.loc,this.chars=e.chars}static synthetic(e){let r=P.synthetic(e);return new t({loc:r,chars:e})}static load(e,r){return new t({loc:P.load(e,r[1]),chars:r[0]})}getString(){return this.chars}serialize(){return[this.chars,this.loc.serialize()]}};var Pe="MATCH_ANY",At="IS_INVISIBLE",fr=class{constructor(e){this._whens=e}first(e){for(let r of this._whens){let n=r.match(e);if(He(n))return n[0]}return null}},Ct=class{constructor(){this._map=new Map}get(e,r){let n=this._map.get(e);return n||(n=r(),this._map.set(e,n),n)}add(e,r){this._map.set(e,r)}match(e){let r=us(e),n=[],i=this._map.get(r),s=this._map.get(Pe);return i&&n.push(i),s&&n.push(s),n}};function _t(t){return t(new dr).check()}var dr=class{constructor(){this._whens=new Ct}check(){return(e,r)=>this.matchFor(e.kind,r.kind)(e,r)}matchFor(e,r){let n=this._whens.match(e);return new fr(n).first(r)}when(e,r,n){return this._whens.get(e,()=>new Ct).add(r,n),this}};function us(t){switch(t){case"Broken":case"InternalsSynthetic":case"NonExistent":return At;default:return t}}var te="BROKEN",me=class t{constructor(e){this.data=e}static forHbsPos(e,r){return new re(e,r,null).wrap()}static broken(e=Y){return new Me("Broken",e).wrap()}get offset(){let e=this.data.toCharPos();return e===null?null:e.offset}eql(e){return hs(this.data,e.data)}until(e){return z(this.data,e.data)}move(e){let r=this.data.toCharPos();if(r===null)return t.broken();{let n=r.offset+e;return r.source.check(n)?new ge(r.source,n).wrap():t.broken()}}collapsed(){return z(this.data,this.data)}toJSON(){return this.data.toJSON()}},ge=class{constructor(e,r){this.source=e,this.charPos=r,this.kind="CharPosition",this._locPos=null}toCharPos(){return this}toJSON(){let e=this.toHbsPos();return e===null?Y:e.toJSON()}wrap(){return new me(this)}get offset(){return this.charPos}toHbsPos(){let e=this._locPos;if(e===null){let r=this.source.hbsPosFor(this.charPos);r===null?this._locPos=e=te:this._locPos=e=new re(this.source,r,this.charPos)}return e===te?null:e}},re=class{constructor(e,r,n=null){this.source=e,this.hbsPos=r,this.kind="HbsPosition",this._charPos=n===null?null:new ge(e,n)}toCharPos(){let e=this._charPos;if(e===null){let r=this.source.charPosFor(this.hbsPos);r===null?this._charPos=e=te:this._charPos=e=new ge(this.source,r)}return e===te?null:e}toJSON(){return this.hbsPos}wrap(){return new me(this)}toHbsPos(){return this}},Me=class{constructor(e,r){this.kind=e,this.pos=r}toCharPos(){return null}toJSON(){return this.pos}wrap(){return new me(this)}get offset(){return null}},hs=_t(t=>t.when("HbsPosition","HbsPosition",({hbsPos:e},{hbsPos:r})=>e.column===r.column&&e.line===r.line).when("CharPosition","CharPosition",({charPos:e},{charPos:r})=>e===r).when("CharPosition","HbsPosition",({offset:e},r)=>{var n;return e===((n=r.toCharPos())===null||n===void 0?void 0:n.offset)}).when("HbsPosition","CharPosition",(e,{offset:r})=>{var n;return((n=e.toCharPos())===null||n===void 0?void 0:n.offset)===r}).when(Pe,Pe,()=>!1));var P=class t{constructor(e){this.data=e,this.isInvisible=e.kind!=="CharPosition"&&e.kind!=="HbsPosition"}static get NON_EXISTENT(){return new ne("NonExistent",Fe).wrap()}static load(e,r){if(typeof r=="number")return t.forCharPositions(e,r,r);if(typeof r=="string")return t.synthetic(r);if(Array.isArray(r))return t.forCharPositions(e,r[0],r[1]);if(r==="NonExistent")return t.NON_EXISTENT;if(r==="Broken")return t.broken(ee);bn(r)}static forHbsLoc(e,r){let n=new re(e,r.start),i=new re(e,r.end);return new ot(e,{start:n,end:i},r).wrap()}static forCharPositions(e,r,n){let i=new ge(e,r),s=new ge(e,n);return new at(e,{start:i,end:s}).wrap()}static synthetic(e){return new ne("InternalsSynthetic",Fe,e).wrap()}static broken(e=ee){return new ne("Broken",e).wrap()}getStart(){return this.data.getStart().wrap()}getEnd(){return this.data.getEnd().wrap()}get loc(){let e=this.data.toHbsSpan();return e===null?ee:e.toHbsLoc()}get module(){return this.data.getModule()}get startPosition(){return this.loc.start}get endPosition(){return this.loc.end}toJSON(){return this.loc}withStart(e){return z(e.data,this.data.getEnd())}withEnd(e){return z(this.data.getStart(),e.data)}asString(){return this.data.asString()}toSlice(e){let r=this.data.asString();return!1&&e!==void 0&&r!==e&&console.warn(`unexpectedly found ${JSON.stringify(r)} when slicing source, but expected ${JSON.stringify(e)}`),new Nt({loc:this,chars:e||r})}get start(){return this.loc.start}set start(e){this.data.locDidUpdate({start:e})}get end(){return this.loc.end}set end(e){this.data.locDidUpdate({end:e})}get source(){return this.module}collapse(e){switch(e){case"start":return this.getStart().collapsed();case"end":return this.getEnd().collapsed()}}extend(e){return z(this.data.getStart(),e.data.getEnd())}serialize(){return this.data.serialize()}slice({skipStart:e=0,skipEnd:r=0}){return z(this.getStart().move(e).data,this.getEnd().move(-r).data)}sliceStartChars({skipStart:e=0,chars:r}){return z(this.getStart().move(e).data,this.getStart().move(e+r).data)}sliceEndChars({skipEnd:e=0,chars:r}){return z(this.getEnd().move(e-r).data,this.getStart().move(-e).data)}},at=class{constructor(e,r){this.source=e,this.charPositions=r,this.kind="CharPosition",this._locPosSpan=null}wrap(){return new P(this)}asString(){return this.source.slice(this.charPositions.start.charPos,this.charPositions.end.charPos)}getModule(){return this.source.module}getStart(){return this.charPositions.start}getEnd(){return this.charPositions.end}locDidUpdate(){}toHbsSpan(){let e=this._locPosSpan;if(e===null){let r=this.charPositions.start.toHbsPos(),n=this.charPositions.end.toHbsPos();r===null||n===null?e=this._locPosSpan=te:e=this._locPosSpan=new ot(this.source,{start:r,end:n})}return e===te?null:e}serialize(){let{start:{charPos:e},end:{charPos:r}}=this.charPositions;return e===r?e:[e,r]}toCharPosSpan(){return this}},ot=class{constructor(e,r,n=null){this.source=e,this.hbsPositions=r,this.kind="HbsPosition",this._charPosSpan=null,this._providedHbsLoc=n}serialize(){let e=this.toCharPosSpan();return e===null?"Broken":e.wrap().serialize()}wrap(){return new P(this)}updateProvided(e,r){this._providedHbsLoc&&(this._providedHbsLoc[r]=e),this._charPosSpan=null,this._providedHbsLoc={start:e,end:e}}locDidUpdate({start:e,end:r}){e!==void 0&&(this.updateProvided(e,"start"),this.hbsPositions.start=new re(this.source,e,null)),r!==void 0&&(this.updateProvided(r,"end"),this.hbsPositions.end=new re(this.source,r,null))}asString(){let e=this.toCharPosSpan();return e===null?"":e.asString()}getModule(){return this.source.module}getStart(){return this.hbsPositions.start}getEnd(){return this.hbsPositions.end}toHbsLoc(){return{start:this.hbsPositions.start.hbsPos,end:this.hbsPositions.end.hbsPos}}toHbsSpan(){return this}toCharPosSpan(){let e=this._charPosSpan;if(e===null){let r=this.hbsPositions.start.toCharPos(),n=this.hbsPositions.end.toCharPos();if(r&&n)e=this._charPosSpan=new at(this.source,{start:r,end:n});else return e=this._charPosSpan=te,null}return e===te?null:e}},ne=class{constructor(e,r,n=null){this.kind=e,this.loc=r,this.string=n}serialize(){switch(this.kind){case"Broken":case"NonExistent":return this.kind;case"InternalsSynthetic":return this.string||""}}wrap(){return new P(this)}asString(){return this.string||""}locDidUpdate({start:e,end:r}){e!==void 0&&(this.loc.start=e),r!==void 0&&(this.loc.end=r)}getModule(){return"an unknown module"}getStart(){return new Me(this.kind,this.loc.start)}getEnd(){return new Me(this.kind,this.loc.end)}toCharPosSpan(){return this}toHbsSpan(){return null}toHbsLoc(){return ee}},z=_t(t=>t.when("HbsPosition","HbsPosition",(e,r)=>new ot(e.source,{start:e,end:r}).wrap()).when("CharPosition","CharPosition",(e,r)=>new at(e.source,{start:e,end:r}).wrap()).when("CharPosition","HbsPosition",(e,r)=>{let n=r.toCharPos();return n===null?new ne("Broken",ee).wrap():z(e,n)}).when("HbsPosition","CharPosition",(e,r)=>{let n=e.toCharPos();return n===null?new ne("Broken",ee).wrap():z(n,r)}).when(At,Pe,e=>new ne(e.kind,ee).wrap()).when(Pe,At,(e,r)=>new ne(r.kind,ee).wrap()));var ie=class{constructor(e,r="an unknown module"){this.source=e,this.module=r}check(e){return e>=0&&e<=this.source.length}slice(e,r){return this.source.slice(e,r)}offsetFor(e,r){return me.forHbsPos(this,{line:e,column:r})}spanFor({start:e,end:r}){return P.forHbsLoc(this,{start:{line:e.line,column:e.column},end:{line:r.line,column:r.column}})}hbsPosFor(e){let r=0,n=0;if(e>this.source.length)return null;for(;;){let i=this.source.indexOf(`
`,n);if(e<=i||i===-1)return{line:r+1,column:e-n};r+=1,n=i+1}}charPosFor(e){let{line:r,column:n}=e,s=this.source.length,a=0,l=0;for(;;){if(l>=s)return s;let c=this.source.indexOf(`
`,l);if(c===-1&&(c=this.source.length),a===r-1){if(l+n>c)return c;if(!1){let h=this.hbsPosFor(l+n)}return l+n}else{if(c===-1)return 0;a+=1,l=c+1}}}};function S(t,e){let{module:r,loc:n}=e,{line:i,column:s}=n.start,a=e.asString(),l=a?`

|
|  ${a.split(`
`).join(`
|  `)}
|

`:"",c=new Error(`${t}: ${l}(error occurred in '${r}' @ line ${i} : column ${s})`);return c.name="SyntaxError",c.location=e,c.code=a,c}var ps={Program:T("body"),Template:T("body"),Block:T("body"),MustacheStatement:T("path","params","hash"),BlockStatement:T("path","params","hash","program","inverse"),ElementModifierStatement:T("path","params","hash"),PartialStatement:T("name","params","hash"),CommentStatement:T(),MustacheCommentStatement:T(),ElementNode:T("attributes","modifiers","children","comments"),AttrNode:T("value"),TextNode:T(),ConcatStatement:T("parts"),SubExpression:T("path","params","hash"),PathExpression:T(),PathHead:T(),StringLiteral:T(),BooleanLiteral:T(),NumberLiteral:T(),NullLiteral:T(),UndefinedLiteral:T(),Hash:T("pairs"),HashPair:T("value"),NamedBlock:T("attributes","modifiers","children","comments"),SimpleElement:T("attributes","modifiers","children","comments"),Component:T("head","attributes","modifiers","children","comments")},Pn=ps;var mr=function(){t.prototype=Object.create(Error.prototype),t.prototype.constructor=t;function t(e,r,n,i){let s=Error.call(this,e);this.key=i,this.message=e,this.node=r,this.parent=n,this.stack=s.stack}return t}();function gr(t,e,r){return new mr("Cannot remove a node unless it is part of an array",t,e,r)}function Nn(t,e,r){return new mr("Cannot replace a node with multiple nodes unless it is part of an array",t,e,r)}function br(t,e){return new mr("Replacing and removing in key handlers is not yet supported.",t,null,e)}var be=class{constructor(e,r=null,n=null){this.node=e,this.parent=r,this.parentKey=n}get parentNode(){return this.parent?this.parent.node:null}parents(){return{[Symbol.iterator]:()=>new yr(this)}}},yr=class{constructor(e){this.path=e}next(){return this.path.parent?(this.path=this.path.parent,{done:!1,value:this.path}):{done:!0,value:null}}};function An(t){return typeof t=="function"?t:t.enter}function _n(t){if(typeof t!="function")return t.exit}function fs(t,e){let r=typeof t!="function"?t.keys:void 0;if(r===void 0)return;let n=r[e];return n!==void 0?n:r.All}function ds(t,e){if((e==="Template"||e==="Block")&&t.Program)return t.Program;let r=t[e];return r!==void 0?r:t.All}function Lt(t,e){let{node:r,parent:n,parentKey:i}=e,s=ds(t,r.type),a,l;s!==void 0&&(a=An(s),l=_n(s));let c;if(a!==void 0&&(c=a(r,e)),c!=null)if(JSON.stringify(r)===JSON.stringify(c))c=void 0;else{if(Array.isArray(c))return Ln(t,c,n,i),c;{let h=new be(c,n,i);return Lt(t,h)||c}}if(c===void 0){let h=Pn[r.type];for(let g=0;g<h.length;g++){let y=h[g];gs(t,s,e,y)}l!==void 0&&(c=l(r,e))}return c}function ms(t,e){return t[e]}function Cn(t,e,r){t[e]=r}function gs(t,e,r,n){let{node:i}=r,s=ms(i,n);if(!s)return;let a,l;if(e!==void 0){let c=fs(e,n);c!==void 0&&(a=An(c),l=_n(c))}if(a!==void 0&&a(i,n)!==void 0)throw br(i,n);if(Array.isArray(s))Ln(t,s,r,n);else{let c=new be(s,r,n),h=Lt(t,c);h!==void 0&&bs(i,n,s,h)}if(l!==void 0&&l(i,n)!==void 0)throw br(i,n)}function Ln(t,e,r,n){for(let i=0;i<e.length;i++){let s=e[i],a=new be(s,r,n),l=Lt(t,a);l!==void 0&&(i+=ys(e,i,l)-1)}}function bs(t,e,r,n){if(n===null)throw gr(r,t,e);if(Array.isArray(n))if(n.length===1)Cn(t,e,n[0]);else throw n.length===0?gr(r,t,e):Nn(r,t,e);else Cn(t,e,n)}function ys(t,e,r){return r===null?(t.splice(e,1),0):Array.isArray(r)?(t.splice(e,1,...r),r.length):(t.splice(e,1,r),1)}function Sr(t,e){let r=new be(t);Lt(e,r)}var Ss=/[!"#%-,\.\/;->@\[-\^`\{-~]/;function Dn(t){let e=Es(t);e&&(t.blockParams=e)}function Es(t){let e=t.attributes.length,r=[];for(let i=0;i<e;i++)r.push(t.attributes[i].name);let n=r.indexOf("as");if(n===-1&&r.length>0&&r[r.length-1].charAt(0)==="|")throw S("Block parameters must be preceded by the `as` keyword, detected block parameters without `as`",t.loc);if(n!==-1&&e>n&&r[n+1].charAt(0)==="|"){let i=r.slice(n).join(" ");if(i.charAt(i.length-1)!=="|"||i.match(/\|/g).length!==2)throw S("Invalid block parameters syntax, '"+i+"'",t.loc);let s=[];for(let a=n+1;a<e;a++){let l=r[a].replace(/\|/g,"");if(l!==""){if(Ss.test(l))throw S("Invalid identifier for block parameters, '"+l+"'",t.loc);s.push(l)}}if(s.length===0)throw S("Cannot use zero block parameters",t.loc);return t.attributes=t.attributes.slice(0,n),s}return null}function Ts(t){switch(t.type){case"Block":case"Template":return t.body;case"ElementNode":return t.children}}function ye(t,e){Ts(t).push(e)}function Er(t){return t.type==="StringLiteral"||t.type==="BooleanLiteral"||t.type==="NumberLiteral"||t.type==="NullLiteral"||t.type==="UndefinedLiteral"}function On(t){return t.type==="UndefinedLiteral"?"undefined":JSON.stringify(t.value)}var Tr;function vr(){return Tr||(Tr=new ie("","(synthetic)")),Tr}function vs(t,e,r,n,i,s){return typeof t=="string"&&(t=lt(t)),{type:"MustacheStatement",path:t,params:e||[],hash:r||Ge([]),escaped:!n,trusting:!!n,loc:E(i||null),strip:s||{open:!1,close:!1}}}function ws(t,e,r,n,i,s,a,l,c){let h,g;return n.type==="Template"?h=pe({},n,{type:"Block"}):h=n,i!=null&&i.type==="Template"?g=pe({},i,{type:"Block"}):g=i,{type:"BlockStatement",path:lt(t),params:e||[],hash:r||Ge([]),program:h||null,inverse:g||null,loc:E(s||null),openStrip:a||{open:!1,close:!1},inverseStrip:l||{open:!1,close:!1},closeStrip:c||{open:!1,close:!1}}}function xs(t,e,r,n){return{type:"ElementModifierStatement",path:lt(t),params:e||[],hash:r||Ge([]),loc:E(n||null)}}function ks(t,e,r,n,i){return{type:"PartialStatement",name:t,params:e||[],hash:r||Ge([]),indent:n||"",strip:{open:!1,close:!1},loc:E(i||null)}}function Ps(t,e){return{type:"CommentStatement",value:t,loc:E(e||null)}}function Ns(t,e){return{type:"MustacheCommentStatement",value:t,loc:E(e||null)}}function Cs(t,e){if(!He(t))throw new Error("b.concat requires at least one part");return{type:"ConcatStatement",parts:t||[],loc:E(e||null)}}function As(t,e={}){let{attrs:r,blockParams:n,modifiers:i,comments:s,children:a,loc:l}=e,c,h=!1;return typeof t=="object"?(h=t.selfClosing,c=t.name):t.slice(-1)==="/"?(c=t.slice(0,-1),h=!0):c=t,{type:"ElementNode",tag:c,selfClosing:h,attributes:r||[],blockParams:n||[],modifiers:i||[],comments:s||[],children:a||[],loc:E(l||null)}}function _s(t,e,r){return{type:"AttrNode",name:t,value:e,loc:E(r||null)}}function Ls(t,e){return{type:"TextNode",chars:t||"",loc:E(e||null)}}function Ds(t,e,r,n){return{type:"SubExpression",path:lt(t),params:e||[],hash:r||Ge([]),loc:E(n||null)}}function Bn(t){switch(t.type){case"AtHead":return{original:t.name,parts:[t.name]};case"ThisHead":return{original:"this",parts:[]};case"VarHead":return{original:t.name,parts:[t.name]}}}function In(t,e){let[r,...n]=t.split("."),i;return r==="this"?i={type:"ThisHead",loc:E(e||null)}:r[0]==="@"?i={type:"AtHead",name:r,loc:E(e||null)}:i={type:"VarHead",name:r,loc:E(e||null)},{head:i,tail:n}}function Rn(t){return{type:"ThisHead",loc:E(t||null)}}function qn(t,e){return{type:"AtHead",name:t,loc:E(e||null)}}function Vn(t,e){return{type:"VarHead",name:t,loc:E(e||null)}}function Os(t,e){return t[0]==="@"?qn(t,e):t==="this"?Rn(e):Vn(t,e)}function Is(t,e){return{type:"NamedBlockName",name:t,loc:E(e||null)}}function Bs(t,e,r){let{original:n,parts:i}=Bn(t),s=[...i,...e],a=[...n,...s].join(".");return new j(a,t,e,E(r||null))}function lt(t,e){if(typeof t!="string"){if("type"in t)return t;{let{head:i,tail:s}=In(t.head,P.broken()),{original:a}=Bn(i);return new j([a,...s].join("."),i,s,E(e||null))}}let{head:r,tail:n}=In(t,P.broken());return new j(t,r,n,E(e||null))}function Dt(t,e,r){return{type:t,value:e,original:e,loc:E(r||null)}}function Ge(t,e){return{type:"Hash",pairs:t||[],loc:E(e||null)}}function Rs(t,e,r){return{type:"HashPair",key:t,value:e,loc:E(r||null)}}function qs(t,e,r){return{type:"Template",body:t||[],blockParams:e||[],loc:E(r||null)}}function Vs(t,e,r=!1,n){return{type:"Block",body:t||[],blockParams:e||[],chained:r,loc:E(n||null)}}function Hs(t,e,r){return{type:"Template",body:t||[],blockParams:e||[],loc:E(r||null)}}function Us(t,e){return{line:t,column:e}}function E(...t){if(t.length===1){let e=t[0];return e&&typeof e=="object"?P.forHbsLoc(vr(),e):P.forHbsLoc(vr(),kn)}else{let[e,r,n,i,s]=t,a=s?new ie("",s):vr();return P.forHbsLoc(a,{start:{line:e,column:r},end:{line:n,column:i}})}}var Hn={mustache:vs,block:ws,partial:ks,comment:Ps,mustacheComment:Ns,element:As,elementModifier:xs,attr:_s,text:Ls,sexpr:Ds,concat:Cs,hash:Ge,pair:Rs,literal:Dt,program:qs,blockItself:Vs,template:Hs,loc:E,pos:Us,path:lt,fullPath:Bs,head:Os,at:qn,var:Vn,this:Rn,blockName:Is,string:wr("StringLiteral"),boolean:wr("BooleanLiteral"),number:wr("NumberLiteral"),undefined(){return Dt("UndefinedLiteral",void 0)},null(){return Dt("NullLiteral",null)}};function wr(t){return function(e,r){return Dt(t,e,r)}}var j=class{constructor(e,r,n,i){this.original=e,this.loc=i,this.type="PathExpression",this.this=!1,this.data=!1,this._head=void 0;let s=n.slice();r.type==="ThisHead"?this.this=!0:r.type==="AtHead"?(this.data=!0,s.unshift(r.name.slice(1))):s.unshift(r.name),this.parts=s}get head(){if(this._head)return this._head;let e;this.this?e="this":this.data?e=`@${this.parts[0]}`:e=this.parts[0];let r=this.loc.collapse("start").sliceStartChars({chars:e.length}).loc;return this._head=Hn.head(e,r)}get tail(){return this.this?this.parts:this.parts.slice(1)}};var Ot={close:!1,open:!1},xr=class{pos(e,r){return{line:e,column:r}}blockItself({body:e,blockParams:r,chained:n=!1,loc:i}){return{type:"Block",body:e||[],blockParams:r||[],chained:n,loc:i}}template({body:e,blockParams:r,loc:n}){return{type:"Template",body:e||[],blockParams:r||[],loc:n}}mustache({path:e,params:r,hash:n,trusting:i,loc:s,strip:a=Ot}){return{type:"MustacheStatement",path:e,params:r,hash:n,escaped:!i,trusting:i,loc:s,strip:a||{open:!1,close:!1}}}block({path:e,params:r,hash:n,defaultBlock:i,elseBlock:s=null,loc:a,openStrip:l=Ot,inverseStrip:c=Ot,closeStrip:h=Ot}){return{type:"BlockStatement",path:e,params:r,hash:n,program:i,inverse:s,loc:a,openStrip:l,inverseStrip:c,closeStrip:h}}comment(e,r){return{type:"CommentStatement",value:e,loc:r}}mustacheComment(e,r){return{type:"MustacheCommentStatement",value:e,loc:r}}concat(e,r){return{type:"ConcatStatement",parts:e,loc:r}}element({tag:e,selfClosing:r,attrs:n,blockParams:i,modifiers:s,comments:a,children:l,loc:c}){return{type:"ElementNode",tag:e,selfClosing:r,attributes:n||[],blockParams:i||[],modifiers:s||[],comments:a||[],children:l||[],loc:c}}elementModifier({path:e,params:r,hash:n,loc:i}){return{type:"ElementModifierStatement",path:e,params:r,hash:n,loc:i}}attr({name:e,value:r,loc:n}){return{type:"AttrNode",name:e,value:r,loc:n}}text({chars:e,loc:r}){return{type:"TextNode",chars:e,loc:r}}sexpr({path:e,params:r,hash:n,loc:i}){return{type:"SubExpression",path:e,params:r,hash:n,loc:i}}path({head:e,tail:r,loc:n}){let{original:i}=Fs(e),s=[...i,...r].join(".");return new j(s,e,r,n)}head(e,r){return e[0]==="@"?this.atName(e,r):e==="this"?this.this(r):this.var(e,r)}this(e){return{type:"ThisHead",loc:e}}atName(e,r){return{type:"AtHead",name:e,loc:r}}var(e,r){return{type:"VarHead",name:e,loc:r}}hash(e,r){return{type:"Hash",pairs:e||[],loc:r}}pair({key:e,value:r,loc:n}){return{type:"HashPair",key:e,value:r,loc:n}}literal({type:e,value:r,loc:n}){return{type:e,value:r,original:r,loc:n}}undefined(){return this.literal({type:"UndefinedLiteral",value:void 0})}null(){return this.literal({type:"NullLiteral",value:null})}string(e,r){return this.literal({type:"StringLiteral",value:e,loc:r})}boolean(e,r){return this.literal({type:"BooleanLiteral",value:e,loc:r})}number(e,r){return this.literal({type:"NumberLiteral",value:e,loc:r})}};function Fs(t){switch(t.type){case"AtHead":return{original:t.name,parts:[t.name]};case"ThisHead":return{original:"this",parts:[]};case"VarHead":return{original:t.name,parts:[t.name]}}}var x=new xr;var It=class{constructor(e,r=new kt(xn),n="precompile"){this.elementStack=[],this.currentAttribute=null,this.currentNode=null,this.source=e,this.lines=e.source.split(/(?:\r\n?|\n)/g),this.tokenizer=new pr(this,r,n)}offset(){let{line:e,column:r}=this.tokenizer;return this.source.offsetFor(e,r)}pos({line:e,column:r}){return this.source.offsetFor(e,r)}finish(e){return pe({},e,{loc:e.loc.until(this.offset())})}get currentAttr(){return this.currentAttribute}get currentTag(){return this.currentNode}get currentStartTag(){return this.currentNode}get currentEndTag(){return this.currentNode}get currentComment(){return this.currentNode}get currentData(){return this.currentNode}acceptTemplate(e){return this[e.type](e)}acceptNode(e){return this[e.type](e)}currentElement(){return this.elementStack[this.elementStack.length-1]}sourceForNode(e,r){let n=e.loc.start.line-1,i=n-1,s=e.loc.start.column,a=[],l,c,h;for(r?(c=r.loc.end.line-1,h=r.loc.end.column):(c=e.loc.end.line-1,h=e.loc.end.column);i<c;)i++,l=this.lines[i],i===n?n===c?a.push(l.slice(s,h)):a.push(l.slice(s)):i===c?a.push(l.slice(0,h)):a.push(l);return a.join(`
`)}};var Bt=class extends It{get isTopLevel(){return this.elementStack.length===0}Program(e){let r=[],n;this.isTopLevel?n=x.template({body:r,blockParams:e.blockParams,loc:this.source.spanFor(e.loc)}):n=x.blockItself({body:r,blockParams:e.blockParams,chained:e.chained,loc:this.source.spanFor(e.loc)});let i,s=e.body.length;if(this.elementStack.push(n),s===0)return this.elementStack.pop();for(i=0;i<s;i++)this.acceptNode(e.body[i]);let a=this.elementStack.pop();if(a!==n){let l=a;throw S(`Unclosed element \`${l.tag}\``,l.loc)}return n}BlockStatement(e){if(this.tokenizer.state==="comment"){this.appendToCommentData(this.sourceForNode(e));return}if(this.tokenizer.state!=="data"&&this.tokenizer.state!=="beforeData")throw S("A block may only be used inside an HTML element or another block.",this.source.spanFor(e.loc));let{path:r,params:n,hash:i}=kr(this,e);e.program.loc||(e.program.loc=Fe),e.inverse&&!e.inverse.loc&&(e.inverse.loc=Fe);let s=this.Program(e.program),a=e.inverse?this.Program(e.inverse):null,l=x.block({path:r,params:n,hash:i,defaultBlock:s,elseBlock:a,loc:this.source.spanFor(e.loc),openStrip:e.openStrip,inverseStrip:e.inverseStrip,closeStrip:e.closeStrip}),c=this.currentElement();ye(c,l)}MustacheStatement(e){let{tokenizer:r}=this;if(r.state==="comment"){this.appendToCommentData(this.sourceForNode(e));return}let n,{escaped:i,loc:s,strip:a}=e;if(Er(e.path))n=x.mustache({path:this.acceptNode(e.path),params:[],hash:x.hash([],this.source.spanFor(e.path.loc).collapse("end")),trusting:!i,loc:this.source.spanFor(s),strip:a});else{let{path:l,params:c,hash:h}=kr(this,e);n=x.mustache({path:l,params:c,hash:h,trusting:!i,loc:this.source.spanFor(s),strip:a})}switch(r.state){case"tagOpen":case"tagName":throw S("Cannot use mustaches in an elements tagname",n.loc);case"beforeAttributeName":Pr(this.currentStartTag,n);break;case"attributeName":case"afterAttributeName":this.beginAttributeValue(!1),this.finishAttributeValue(),Pr(this.currentStartTag,n),r.transitionTo("beforeAttributeName");break;case"afterAttributeValueQuoted":Pr(this.currentStartTag,n),r.transitionTo("beforeAttributeName");break;case"beforeAttributeValue":this.beginAttributeValue(!1),this.appendDynamicAttributeValuePart(n),r.transitionTo("attributeValueUnquoted");break;case"attributeValueDoubleQuoted":case"attributeValueSingleQuoted":case"attributeValueUnquoted":this.appendDynamicAttributeValuePart(n);break;default:ye(this.currentElement(),n)}return n}appendDynamicAttributeValuePart(e){this.finalizeTextPart();let r=this.currentAttr;r.isDynamic=!0,r.parts.push(e)}finalizeTextPart(){let r=this.currentAttr.currentPart;r!==null&&(this.currentAttr.parts.push(r),this.startTextPart())}startTextPart(){this.currentAttr.currentPart=null}ContentStatement(e){Gs(this.tokenizer,e),this.tokenizer.tokenizePart(e.value),this.tokenizer.flushData()}CommentStatement(e){let{tokenizer:r}=this;if(r.state==="comment")return this.appendToCommentData(this.sourceForNode(e)),null;let{value:n,loc:i}=e,s=x.mustacheComment(n,this.source.spanFor(i));switch(r.state){case"beforeAttributeName":case"afterAttributeName":this.currentStartTag.comments.push(s);break;case"beforeData":case"data":ye(this.currentElement(),s);break;default:throw S(`Using a Handlebars comment when in the \`${r.state}\` state is not supported`,this.source.spanFor(e.loc))}return s}PartialStatement(e){throw S("Handlebars partials are not supported",this.source.spanFor(e.loc))}PartialBlockStatement(e){throw S("Handlebars partial blocks are not supported",this.source.spanFor(e.loc))}Decorator(e){throw S("Handlebars decorators are not supported",this.source.spanFor(e.loc))}DecoratorBlock(e){throw S("Handlebars decorator blocks are not supported",this.source.spanFor(e.loc))}SubExpression(e){let{path:r,params:n,hash:i}=kr(this,e);return x.sexpr({path:r,params:n,hash:i,loc:this.source.spanFor(e.loc)})}PathExpression(e){let{original:r}=e,n;if(r.indexOf("/")!==-1){if(r.slice(0,2)==="./")throw S('Using "./" is not supported in Glimmer and unnecessary',this.source.spanFor(e.loc));if(r.slice(0,3)==="../")throw S('Changing context using "../" is not supported in Glimmer',this.source.spanFor(e.loc));if(r.indexOf(".")!==-1)throw S("Mixing '.' and '/' in paths is not supported in Glimmer; use only '.' to separate property paths",this.source.spanFor(e.loc));n=[e.parts.join("/")]}else{if(r===".")throw S("'.' is not a supported path in Glimmer; check for a path with a trailing '.'",this.source.spanFor(e.loc));n=e.parts}let i=!1;r.match(/^this(\..+)?$/)&&(i=!0);let s;if(i)s={type:"ThisHead",loc:{start:e.loc.start,end:{line:e.loc.start.line,column:e.loc.start.column+4}}};else if(e.data){let a=n.shift();if(a===void 0)throw S("Attempted to parse a path expression, but it was not valid. Paths beginning with @ must start with a-z.",this.source.spanFor(e.loc));s={type:"AtHead",name:`@${a}`,loc:{start:e.loc.start,end:{line:e.loc.start.line,column:e.loc.start.column+a.length+1}}}}else{let a=n.shift();if(a===void 0)throw S("Attempted to parse a path expression, but it was not valid. Paths must start with a-z or A-Z.",this.source.spanFor(e.loc));s={type:"VarHead",name:a,loc:{start:e.loc.start,end:{line:e.loc.start.line,column:e.loc.start.column+a.length}}}}return new j(e.original,s,n,this.source.spanFor(e.loc))}Hash(e){let r=[];for(let n=0;n<e.pairs.length;n++){let i=e.pairs[n];r.push(x.pair({key:i.key,value:this.acceptNode(i.value),loc:this.source.spanFor(i.loc)}))}return x.hash(r,this.source.spanFor(e.loc))}StringLiteral(e){return x.literal({type:"StringLiteral",value:e.value,loc:e.loc})}BooleanLiteral(e){return x.literal({type:"BooleanLiteral",value:e.value,loc:e.loc})}NumberLiteral(e){return x.literal({type:"NumberLiteral",value:e.value,loc:e.loc})}UndefinedLiteral(e){return x.literal({type:"UndefinedLiteral",value:void 0,loc:e.loc})}NullLiteral(e){return x.literal({type:"NullLiteral",value:null,loc:e.loc})}};function Ms(t,e){if(e==="")return{lines:t.split(`
`).length-1,columns:0};let n=t.split(e)[0].split(/\n/),i=n.length-1;return{lines:i,columns:n[i].length}}function Gs(t,e){let r=e.loc.start.line,n=e.loc.start.column,i=Ms(e.original,e.value);r=r+i.lines,i.lines?n=i.columns:n=n+i.columns,t.line=r,t.column=n}function kr(t,e){if(e.path.type.endsWith("Literal")){let a=e.path,l="";throw a.type==="BooleanLiteral"?l=a.original.toString():a.type==="StringLiteral"?l=`"${a.original}"`:a.type==="NullLiteral"?l="null":a.type==="NumberLiteral"?l=a.value.toString():l="undefined",S(`${a.type} "${a.type==="StringLiteral"?a.original:l}" cannot be called as a sub-expression, replace (${l}) with ${l}`,t.source.spanFor(a.loc))}let r=e.path.type==="PathExpression"?t.PathExpression(e.path):t.SubExpression(e.path),n=e.params?e.params.map(a=>t.acceptNode(a)):[],i=n.length>0?n[n.length-1].loc:r.loc,s=e.hash?t.Hash(e.hash):{type:"Hash",pairs:[],loc:t.source.spanFor(i).collapse("end")};return{path:r,params:n,hash:s}}function Pr(t,e){let{path:r,params:n,hash:i,loc:s}=e;if(Er(r)){let l=`{{${On(r)}}}`,c=`<${t.name} ... ${l} ...`;throw S(`In ${c}, ${l} is not a valid modifier`,e.loc)}let a=x.elementModifier({path:r,params:n,hash:i,loc:s});t.modifiers.push(a)}var Nr=class extends Bt{constructor(){super(...arguments),this.tagOpenLine=0,this.tagOpenColumn=0}reset(){this.currentNode=null}beginComment(){this.currentNode=x.comment("",this.source.offsetFor(this.tagOpenLine,this.tagOpenColumn))}appendToCommentData(e){this.currentComment.value+=e}finishComment(){ye(this.currentElement(),this.finish(this.currentComment))}beginData(){this.currentNode=x.text({chars:"",loc:this.offset().collapsed()})}appendToData(e){this.currentData.chars+=e}finishData(){this.currentData.loc=this.currentData.loc.withEnd(this.offset()),ye(this.currentElement(),this.currentData)}tagOpen(){this.tagOpenLine=this.tokenizer.line,this.tagOpenColumn=this.tokenizer.column}beginStartTag(){this.currentNode={type:"StartTag",name:"",attributes:[],modifiers:[],comments:[],selfClosing:!1,loc:this.source.offsetFor(this.tagOpenLine,this.tagOpenColumn)}}beginEndTag(){this.currentNode={type:"EndTag",name:"",attributes:[],modifiers:[],comments:[],selfClosing:!1,loc:this.source.offsetFor(this.tagOpenLine,this.tagOpenColumn)}}finishTag(){let e=this.finish(this.currentTag);if(e.type==="StartTag"){if(this.finishStartTag(),e.name===":")throw S("Invalid named block named detected, you may have created a named block without a name, or you may have began your name with a number. Named blocks must have names that are at least one character long, and begin with a lower case letter",this.source.spanFor({start:this.currentTag.loc.toJSON(),end:this.offset().toJSON()}));(Pt[e.name]||e.selfClosing)&&this.finishEndTag(!0)}else e.type==="EndTag"&&this.finishEndTag(!1)}finishStartTag(){let{name:e,attributes:r,modifiers:n,comments:i,selfClosing:s,loc:a}=this.finish(this.currentStartTag),l=x.element({tag:e,selfClosing:s,attrs:r,modifiers:n,comments:i,children:[],blockParams:[],loc:a});this.elementStack.push(l)}finishEndTag(e){let r=this.finish(this.currentTag),n=this.elementStack.pop(),i=this.currentElement();this.validateEndTag(r,n,e),n.loc=n.loc.withEnd(this.offset()),Dn(n),ye(i,n)}markTagAsSelfClosing(){this.currentTag.selfClosing=!0}appendToTagName(e){this.currentTag.name+=e}beginAttribute(){let e=this.offset();this.currentAttribute={name:"",parts:[],currentPart:null,isQuoted:!1,isDynamic:!1,start:e,valueSpan:e.collapsed()}}appendToAttributeName(e){this.currentAttr.name+=e}beginAttributeValue(e){this.currentAttr.isQuoted=e,this.startTextPart(),this.currentAttr.valueSpan=this.offset().collapsed()}appendToAttributeValue(e){let r=this.currentAttr.parts,n=r[r.length-1],i=this.currentAttr.currentPart;if(i)i.chars+=e,i.loc=i.loc.withEnd(this.offset());else{let s=this.offset();e===`
`?s=n?n.loc.getEnd():this.currentAttr.valueSpan.getStart():s=s.move(-1),this.currentAttr.currentPart=x.text({chars:e,loc:s.collapsed()})}}finishAttributeValue(){this.finalizeTextPart();let e=this.currentTag,r=this.offset();if(e.type==="EndTag")throw S("Invalid end tag: closing tag must not have attributes",this.source.spanFor({start:e.loc.toJSON(),end:r.toJSON()}));let{name:n,parts:i,start:s,isQuoted:a,isDynamic:l,valueSpan:c}=this.currentAttr,h=this.assembleAttributeValue(i,a,l,s.until(r));h.loc=c.withEnd(r);let g=x.attr({name:n,value:h,loc:s.until(r)});this.currentStartTag.attributes.push(g)}reportSyntaxError(e){throw S(e,this.offset().collapsed())}assembleConcatenatedValue(e){for(let i=0;i<e.length;i++){let s=e[i];if(s.type!=="MustacheStatement"&&s.type!=="TextNode")throw S("Unsupported node in quoted attribute value: "+s.type,s.loc)}mn(e,"the concatenation parts of an element should not be empty");let r=e[0],n=e[e.length-1];return x.concat(e,this.source.spanFor(r.loc).extend(this.source.spanFor(n.loc)))}validateEndTag(e,r,n){let i;if(Pt[e.name]&&!n?i=`<${e.name}> elements do not need end tags. You should remove it`:r.tag===void 0?i=`Closing tag </${e.name}> without an open tag`:r.tag!==e.name&&(i=`Closing tag </${e.name}> did not match last open tag <${r.tag}> (on line ${r.loc.startPosition.line})`),i)throw S(i,e.loc)}assembleAttributeValue(e,r,n,i){if(n){if(r)return this.assembleConcatenatedValue(e);if(e.length===1||e.length===2&&e[1].type==="TextNode"&&e[1].chars==="/")return e[0];throw S("An unquoted attribute value must be a string or a mustache, preceded by whitespace or a '=' character, and followed by whitespace, a '>' character, or '/>'",i)}else return e.length>0?e[0]:x.text({chars:"",loc:i})}},Ys={},Cr=class extends kt{constructor(){super({})}parse(){}};function Un(t,e={}){var r,n,i;let s=e.mode||"precompile",a,l;typeof t=="string"?(a=new ie(t,(r=e.meta)===null||r===void 0?void 0:r.moduleName),s==="codemod"?l=xt(t,e.parseOptions):l=hr(t,e.parseOptions)):t instanceof ie?(a=t,s==="codemod"?l=xt(t.source,e.parseOptions):l=hr(t.source,e.parseOptions)):(a=new ie("",(n=e.meta)===null||n===void 0?void 0:n.moduleName),l=t);let c;s==="codemod"&&(c=new Cr);let h=P.forCharPositions(a,0,a.source.length);l.loc={source:"(program)",start:h.startPosition,end:h.endPosition};let g=new Nr(a,c,s).acceptTemplate(l);if(e.strictMode&&(g.blockParams=(i=e.locals)!==null&&i!==void 0?i:[]),e&&e.plugins&&e.plugins.ast)for(let y=0,F=e.plugins.ast.length;y<F;y++){let b=e.plugins.ast[y],k=pe({},e,{syntax:Ys},{plugins:void 0}),N=b(k);Sr(g,N.visitor)}return g}var Rt=`
`,Fn="\r",Mn=function(){function t(e){this.length=e.length;for(var r=[0],n=0;n<e.length;)switch(e[n]){case Rt:n+=Rt.length,r.push(n);break;case Fn:n+=Fn.length,e[n]===Rt&&(n+=Rt.length),r.push(n);break;default:n++;break}this.offsets=r}return t.prototype.locationForIndex=function(e){if(e<0||e>this.length)return null;for(var r=0,n=this.offsets;n[r+1]<=e;)r++;var i=e-n[r];return{line:r,column:i}},t.prototype.indexForLocation=function(e){var r=e.line,n=e.column;return r<0||r>=this.offsets.length||n<0||n>this.lengthOfLine(r)?null:this.offsets[r]+n},t.prototype.lengthOfLine=function(e){var r=this.offsets[e],n=e===this.offsets.length-1?this.length:this.offsets[e+1];return n-r},t}();function zs(t,e){let r=new SyntaxError(t+" ("+e.loc.start.line+":"+e.loc.start.column+")");return Object.assign(r,e)}var Gn=zs;function Ws(t){let e=t.children??t.body;if(e)for(let r=0;r<e.length-1;r++)e[r].type==="TextNode"&&e[r+1].type==="MustacheStatement"&&(e[r].chars=e[r].chars.replace(/\\$/,"\\\\"))}function Ks(t){let e=new Mn(t),r=({line:i,column:s})=>e.indexForLocation({line:i-1,column:s}),n=i=>{let{start:s,end:a}=i.loc;s.offset=r(s),a.offset=r(a)};return()=>({name:"prettierParsePlugin",visitor:{All(i){n(i),Ws(i)}}})}function js(t){let e;try{e=Un(t,{mode:"codemod",plugins:{ast:[Ks(t)]}})}catch(r){let n=Js(r);if(n){let i=Qs(r);throw Gn(i,{loc:n,cause:r})}throw r}return e}function Qs(t){let{message:e}=t,r=e.split(`
`);return r.length>=4&&/^Parse error on line \d+:$/.test(r[0])&&/^-*\^$/.test(he(!1,r,-2))?he(!1,r,-1):r.length>=4&&/:\s?$/.test(r[0])&&/^\(error occurred in '.*?' @ line \d+ : column \d+\)$/.test(he(!1,r,-1))&&r[1]===""&&he(!1,r,-2)===""&&r.slice(2,-2).every(n=>n.startsWith("|"))?r[0].trim().slice(0,-1):e}function Js(t){let{location:e,hash:r}=t;if(e){let{start:n,end:i}=e;return typeof i.line!="number"?{start:n}:e}if(r){let{loc:{last_line:n,last_column:i}}=r;return{start:{line:n,column:i+1}}}}var Xs={parse:js,astFormat:"glimmer",locStart:xe,locEnd:tt};var Yn=[{linguistLanguageId:155,name:"Handlebars",type:"markup",color:"#f7931e",aliases:["hbs","htmlbars"],extensions:[".handlebars",".hbs"],tmScope:"text.html.handlebars",aceMode:"handlebars",parsers:["glimmer"],vscodeLanguageIds:["handlebars"]}];var $s={glimmer:fn};var Fu=_r;export{Fu as default,Yn as languages,Ar as parsers,$s as printers};
