Files
2026-06-20 21:39:19 +09:00

27 lines
554 KiB
JavaScript
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let l=require(`obsidian`),u=require(`@codemirror/state`),d=require(`@codemirror/view`),f=require(`@codemirror/language`),p=require(`@codemirror/lint`),m=require(`@codemirror/autocomplete`),h=require(`@codemirror/commands`),g=require(`@codemirror/search`);var _=Symbol(`Comlink.proxy`),v=Symbol(`Comlink.endpoint`),y=Symbol(`Comlink.releaseProxy`),b=Symbol(`Comlink.finalizer`),x=Symbol(`Comlink.thrown`),S=e=>typeof e==`object`&&!!e||typeof e==`function`,C=new Map([[`proxy`,{canHandle:e=>S(e)&&e[_],serialize(e){let{port1:t,port2:n}=new MessageChannel;return T(e,t),[n,[n]]},deserialize(e){return e.start(),ee(e)}}],[`throw`,{canHandle:e=>S(e)&&x in e,serialize({value:e}){let t;return t=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[t,[]]},deserialize(e){throw e.isError?Object.assign(Error(e.value.message),e.value):e.value}}]]);function w(e,t){for(let n of e)if(t===n||n===`*`||n instanceof RegExp&&n.test(t))return!0;return!1}function T(e,t=globalThis,n=[`*`]){t.addEventListener(`message`,function r(i){if(!i||!i.data)return;if(!w(n,i.origin)){console.warn(`Invalid origin '${i.origin}' for comlink proxy`);return}let{id:a,type:o,path:s}=Object.assign({path:[]},i.data),c=(i.data.argumentList||[]).map(me),l;try{let t=s.slice(0,-1).reduce((e,t)=>e[t],e),n=s.reduce((e,t)=>e[t],e);switch(o){case`GET`:l=n;break;case`SET`:t[s.slice(-1)[0]]=me(i.data.value),l=!0;break;case`APPLY`:l=n.apply(t,c);break;case`CONSTRUCT`:l=fe(new n(...c));break;case`ENDPOINT`:{let{port1:t,port2:n}=new MessageChannel;T(e,n),l=de(t,[t])}break;case`RELEASE`:l=void 0;break;default:return}}catch(e){l={value:e,[x]:0}}Promise.resolve(l).catch(e=>({value:e,[x]:0})).then(n=>{let[i,s]=pe(n);t.postMessage(Object.assign(Object.assign({},i),{id:a}),s),o===`RELEASE`&&(t.removeEventListener(`message`,r),D(t),b in e&&typeof e[b]==`function`&&e[b]())}).catch(e=>{let[n,r]=pe({value:TypeError(`Unserializable return value`),[x]:0});t.postMessage(Object.assign(Object.assign({},n),{id:a}),r)})}),t.start&&t.start()}function E(e){return e.constructor.name===`MessagePort`}function D(e){E(e)&&e.close()}function ee(e,t){let n=new Map;return e.addEventListener(`message`,function(e){let{data:t}=e;if(!t||!t.id)return;let r=n.get(t.id);if(r)try{r(t)}finally{n.delete(t.id)}}),se(e,n,[],t)}function te(e){if(e)throw Error(`Proxy has been released and is not useable`)}function ne(e){return he(e,new Map,{type:`RELEASE`}).then(()=>{D(e)})}var re=new WeakMap,ie=`FinalizationRegistry`in globalThis&&new FinalizationRegistry(e=>{let t=(re.get(e)||0)-1;re.set(e,t),t===0&&ne(e)});function ae(e,t){let n=(re.get(t)||0)+1;re.set(t,n),ie&&ie.register(e,t,e)}function oe(e){ie&&ie.unregister(e)}function se(e,t,n=[],r=function(){}){let i=!1,a=new Proxy(r,{get(r,o){if(te(i),o===y)return()=>{oe(a),ne(e),t.clear(),i=!0};if(o===`then`){if(n.length===0)return{then:()=>a};let r=he(e,t,{type:`GET`,path:n.map(e=>e.toString())}).then(me);return r.then.bind(r)}return se(e,t,[...n,o])},set(r,a,o){te(i);let[s,c]=pe(o);return he(e,t,{type:`SET`,path:[...n,a].map(e=>e.toString()),value:s},c).then(me)},apply(r,a,o){te(i);let s=n[n.length-1];if(s===v)return he(e,t,{type:`ENDPOINT`}).then(me);if(s===`bind`)return se(e,t,n.slice(0,-1));let[c,l]=le(o);return he(e,t,{type:`APPLY`,path:n.map(e=>e.toString()),argumentList:c},l).then(me)},construct(r,a){te(i);let[o,s]=le(a);return he(e,t,{type:`CONSTRUCT`,path:n.map(e=>e.toString()),argumentList:o},s).then(me)}});return ae(a,e),a}function ce(e){return Array.prototype.concat.apply([],e)}function le(e){let t=e.map(pe);return[t.map(e=>e[0]),ce(t.map(e=>e[1]))]}var ue=new WeakMap;function de(e,t){return ue.set(e,t),e}function fe(e){return Object.assign(e,{[_]:!0})}function pe(e){for(let[t,n]of C)if(n.canHandle(e)){let[r,i]=n.serialize(e);return[{type:`HANDLER`,name:t,value:r},i]}return[{type:`RAW`,value:e},ue.get(e)||[]]}function me(e){switch(e.type){case`HANDLER`:return C.get(e.name).deserialize(e.value);case`RAW`:return e.value}}function he(e,t,n,r){return new Promise(i=>{let a=ge();t.set(a,i),e.start&&e.start(),e.postMessage(Object.assign({id:a},n),r)})}function ge(){return[,,,,].fill(0).map(()=>Math.floor(Math.random()*(2**53-1)).toString(16)).join(`-`)}const O=u.Facet.define({combine:e=>e[0]});var _e=new Map,ve=[],ye=class e{constructor(e){this.id=e}static new(t,n){let r=`${t?t.toString():``}::${n.asRootedPath}`,i=_e.get(r);if(i!==void 0)return i;let a=new e(ve.length+1);return _e.set(r,a),ve.push([t,n]),a}static newFake(t){let n=new e(ve.length+1);return ve.push([void 0,t]),n}package(){return ve[this.id-1][0]}vpath(){return ve[this.id-1][1]}join(t){return e.new(this.package(),this.vpath().join(t))}withExtension(t){return e.new(this.package(),this.vpath().withExtension(t))}static fromRaw(t){return new e(t)}intoRaw(){return this.id}equals(e){return this.id===e.id}toString(){let e=this.package(),t=this.vpath().asRootedPath;return e?`${e.toString()}${t}`:t}};let k=function(e){return e[e.End=0]=`End`,e[e.Error=1]=`Error`,e[e.Shebang=2]=`Shebang`,e[e.LineComment=3]=`LineComment`,e[e.BlockComment=4]=`BlockComment`,e[e.Markup=5]=`Markup`,e[e.Text=6]=`Text`,e[e.Space=7]=`Space`,e[e.Linebreak=8]=`Linebreak`,e[e.Parbreak=9]=`Parbreak`,e[e.Escape=10]=`Escape`,e[e.Shorthand=11]=`Shorthand`,e[e.SmartQuote=12]=`SmartQuote`,e[e.Strong=13]=`Strong`,e[e.Emph=14]=`Emph`,e[e.Raw=15]=`Raw`,e[e.RawLang=16]=`RawLang`,e[e.RawDelim=17]=`RawDelim`,e[e.RawTrimmed=18]=`RawTrimmed`,e[e.Link=19]=`Link`,e[e.Label=20]=`Label`,e[e.Ref=21]=`Ref`,e[e.RefMarker=22]=`RefMarker`,e[e.Heading=23]=`Heading`,e[e.HeadingMarker=24]=`HeadingMarker`,e[e.ListItem=25]=`ListItem`,e[e.ListMarker=26]=`ListMarker`,e[e.EnumItem=27]=`EnumItem`,e[e.EnumMarker=28]=`EnumMarker`,e[e.TermItem=29]=`TermItem`,e[e.TermMarker=30]=`TermMarker`,e[e.Equation=31]=`Equation`,e[e.Math=32]=`Math`,e[e.MathText=33]=`MathText`,e[e.MathIdent=34]=`MathIdent`,e[e.MathShorthand=35]=`MathShorthand`,e[e.MathAlignPoint=36]=`MathAlignPoint`,e[e.MathDelimited=37]=`MathDelimited`,e[e.MathAttach=38]=`MathAttach`,e[e.MathPrimes=39]=`MathPrimes`,e[e.MathFrac=40]=`MathFrac`,e[e.MathRoot=41]=`MathRoot`,e[e.Hash=42]=`Hash`,e[e.LeftBrace=43]=`LeftBrace`,e[e.RightBrace=44]=`RightBrace`,e[e.LeftBracket=45]=`LeftBracket`,e[e.RightBracket=46]=`RightBracket`,e[e.LeftParen=47]=`LeftParen`,e[e.RightParen=48]=`RightParen`,e[e.Comma=49]=`Comma`,e[e.Semicolon=50]=`Semicolon`,e[e.Colon=51]=`Colon`,e[e.Star=52]=`Star`,e[e.Underscore=53]=`Underscore`,e[e.Dollar=54]=`Dollar`,e[e.Plus=55]=`Plus`,e[e.Minus=56]=`Minus`,e[e.Slash=57]=`Slash`,e[e.Hat=58]=`Hat`,e[e.Prime=59]=`Prime`,e[e.Dot=60]=`Dot`,e[e.Eq=61]=`Eq`,e[e.EqEq=62]=`EqEq`,e[e.ExclEq=63]=`ExclEq`,e[e.Lt=64]=`Lt`,e[e.LtEq=65]=`LtEq`,e[e.Gt=66]=`Gt`,e[e.GtEq=67]=`GtEq`,e[e.PlusEq=68]=`PlusEq`,e[e.HyphEq=69]=`HyphEq`,e[e.StarEq=70]=`StarEq`,e[e.SlashEq=71]=`SlashEq`,e[e.Dots=72]=`Dots`,e[e.Arrow=73]=`Arrow`,e[e.Root=74]=`Root`,e[e.Not=75]=`Not`,e[e.And=76]=`And`,e[e.Or=77]=`Or`,e[e.None=78]=`None`,e[e.Auto=79]=`Auto`,e[e.Let=80]=`Let`,e[e.Set=81]=`Set`,e[e.Show=82]=`Show`,e[e.Context=83]=`Context`,e[e.If=84]=`If`,e[e.Else=85]=`Else`,e[e.For=86]=`For`,e[e.In=87]=`In`,e[e.While=88]=`While`,e[e.Break=89]=`Break`,e[e.Continue=90]=`Continue`,e[e.Return=91]=`Return`,e[e.Import=92]=`Import`,e[e.Include=93]=`Include`,e[e.As=94]=`As`,e[e.Code=95]=`Code`,e[e.Ident=96]=`Ident`,e[e.Bool=97]=`Bool`,e[e.Int=98]=`Int`,e[e.Float=99]=`Float`,e[e.Numeric=100]=`Numeric`,e[e.Str=101]=`Str`,e[e.CodeBlock=102]=`CodeBlock`,e[e.ContentBlock=103]=`ContentBlock`,e[e.Parenthesized=104]=`Parenthesized`,e[e.Array=105]=`Array`,e[e.Dict=106]=`Dict`,e[e.Named=107]=`Named`,e[e.Keyed=108]=`Keyed`,e[e.Unary=109]=`Unary`,e[e.Binary=110]=`Binary`,e[e.FieldAccess=111]=`FieldAccess`,e[e.FuncCall=112]=`FuncCall`,e[e.Args=113]=`Args`,e[e.Spread=114]=`Spread`,e[e.Closure=115]=`Closure`,e[e.Params=116]=`Params`,e[e.LetBinding=117]=`LetBinding`,e[e.SetRule=118]=`SetRule`,e[e.ShowRule=119]=`ShowRule`,e[e.Contextual=120]=`Contextual`,e[e.Conditional=121]=`Conditional`,e[e.WhileLoop=122]=`WhileLoop`,e[e.ForLoop=123]=`ForLoop`,e[e.ModuleImport=124]=`ModuleImport`,e[e.ImportItems=125]=`ImportItems`,e[e.ImportItemPath=126]=`ImportItemPath`,e[e.RenamedImportItem=127]=`RenamedImportItem`,e[e.ModuleInclude=128]=`ModuleInclude`,e[e.LoopBreak=129]=`LoopBreak`,e[e.LoopContinue=130]=`LoopContinue`,e[e.FuncReturn=131]=`FuncReturn`,e[e.Destructuring=132]=`Destructuring`,e[e.DestructAssignment=133]=`DestructAssignment`,e}({});(function(e){function t(e){switch(e){case k.LeftBracket:case k.LeftBrace:case k.LeftParen:case k.RightBracket:case k.RightBrace:case k.RightParen:return!0;default:return!1}}e.isGrouping=t;function n(e){switch(e){case k.End:case k.Semicolon:case k.RightBrace:case k.RightParen:case k.RightBracket:return!0;default:return!1}}e.isTerminator=n;function r(e){return e===k.CodeBlock||e===k.ContentBlock}e.isBlock=r;function i(e){switch(e){case k.LetBinding:case k.SetRule:case k.ShowRule:case k.ModuleImport:case k.ModuleInclude:return!0;default:return!1}}e.isStmt=i;function a(e){switch(e){case k.Not:case k.And:case k.Or:case k.None:case k.Auto:case k.Let:case k.Set:case k.Show:case k.Context:case k.If:case k.Else:case k.For:case k.In:case k.While:case k.Break:case k.Continue:case k.Return:case k.Import:case k.Include:case k.As:return!0;default:return!1}}e.isKeyword=a;function o(e){switch(e){case k.Shebang:case k.LineComment:case k.BlockComment:case k.Space:case k.Parbreak:return!0;default:return!1}}e.isTrivia=o;function s(e){return e===k.Error}e.isError=s;function c(e){switch(e){case k.End:return`end of tokens`;case k.Error:return`syntax error`;case k.Shebang:return`shebang`;case k.LineComment:return`line comment`;case k.BlockComment:return`block comment`;case k.Markup:return`markup`;case k.Text:return`text`;case k.Space:return`space`;case k.Linebreak:return`line break`;case k.Parbreak:return`paragraph break`;case k.Escape:return`escape sequence`;case k.Shorthand:return`shorthand`;case k.SmartQuote:return`smart quote`;case k.Strong:return`strong content`;case k.Emph:return`emphasized content`;case k.Raw:return`raw block`;case k.RawLang:return`raw language tag`;case k.RawTrimmed:return`raw trimmed`;case k.RawDelim:return`raw delimiter`;case k.Link:return`link`;case k.Label:return`label`;case k.Ref:return`reference`;case k.RefMarker:return`reference marker`;case k.Heading:return`heading`;case k.HeadingMarker:return`heading marker`;case k.ListItem:return`list item`;case k.ListMarker:return`list marker`;case k.EnumItem:return`enum item`;case k.EnumMarker:return`enum marker`;case k.TermItem:return`term list item`;case k.TermMarker:return`term marker`;case k.Equation:return`equation`;case k.Math:return`math`;case k.MathText:return`math text`;case k.MathIdent:return`math identifier`;case k.MathShorthand:return`math shorthand`;case k.MathAlignPoint:return`math alignment point`;case k.MathDelimited:return`delimited math`;case k.MathAttach:return`math attachments`;case k.MathFrac:return`math fraction`;case k.MathRoot:return`math root`;case k.MathPrimes:return`math primes`;case k.Hash:return`hash`;case k.LeftBrace:return`opening brace`;case k.RightBrace:return`closing brace`;case k.LeftBracket:return`opening bracket`;case k.RightBracket:return`closing bracket`;case k.LeftParen:return`opening paren`;case k.RightParen:return`closing paren`;case k.Comma:return`comma`;case k.Semicolon:return`semicolon`;case k.Colon:return`colon`;case k.Star:return`star`;case k.Underscore:return`underscore`;case k.Dollar:return`dollar sign`;case k.Plus:return`plus`;case k.Minus:return`minus`;case k.Slash:return`slash`;case k.Hat:return`hat`;case k.Prime:return`prime`;case k.Dot:return`dot`;case k.Eq:return`equals sign`;case k.EqEq:return`equality operator`;case k.ExclEq:return`inequality operator`;case k.Lt:return`less-than operator`;case k.LtEq:return`less-than or equal operator`;case k.Gt:return`greater-than operator`;case k.GtEq:return`greater-than or equal operator`;case k.PlusEq:return`add-assign operator`;case k.HyphEq:return`subtract-assign operator`;case k.StarEq:return`multiply-assign operator`;case k.SlashEq:return`divide-assign operator`;case k.Dots:return`dots`;case k.Arrow:return`arrow`;case k.Root:return`root`;case k.Not:return"operator `not`";case k.And:return"operator `and`";case k.Or:return"operator `or`";case k.None:return"`none`";case k.Auto:return"`auto`";case k.Let:return"keyword `let`";case k.Set:return"keyword `set`";case k.Show:return"keyword `show`";case k.Context:return"keyword `context`";case k.If:return"keyword `if`";case k.Else:return"keyword `else`";case k.For:return"keyword `for`";case k.In:return"keyword `in`";case k.While:return"keyword `while`";case k.Break:return"keyword `break`";case k.Continue:return"keyword `continue`";case k.Return:return"keyword `return`";case k.Import:return"keyword `import`";case k.Include:return"keyword `include`";case k.As:return"keyword `as`";case k.Code:return`code`;case k.Ident:return`identifier`;case k.Bool:return`boolean`;case k.Int:return`integer`;case k.Float:return`float`;case k.Numeric:return`numeric value`;case k.Str:return`string`;case k.CodeBlock:return`code block`;case k.ContentBlock:return`content block`;case k.Parenthesized:return`group`;case k.Array:return`array`;case k.Dict:return`dictionary`;case k.Named:return`named pair`;case k.Keyed:return`keyed pair`;case k.Unary:return`unary expression`;case k.Binary:return`binary expression`;case k.FieldAccess:return`field access`;case k.FuncCall:return`function call`;case k.Args:return`call arguments`;case k.Spread:return`spread`;case k.Closure:return`closure`;case k.Params:return`closure parameters`;case k.LetBinding:return"`let` expression";case k.SetRule:return"`set` expression";case k.ShowRule:return"`show` expression";case k.Contextual:return"`context` expression";case k.Conditional:return"`if` expression";case k.WhileLoop:return`while-loop expression`;case k.ForLoop:return`for-loop expression`;case k.ModuleImport:return"`import` expression";case k.ImportItems:return`import items`;case k.ImportItemPath:return`imported item path`;case k.RenamedImportItem:return`renamed import item`;case k.ModuleInclude:return"`include` expression";case k.LoopBreak:return"`break` expression";case k.LoopContinue:return"`continue` expression";case k.FuncReturn:return"`return` expression";case k.Destructuring:return`destructuring pattern`;case k.DestructAssignment:return`destructuring assignment expression`;default:return``}}e.name=c})(k||={});let A=function(e){return e.Comment=`typ-comment`,e.Punctuation=`typ-punct`,e.Escape=`typ-escape`,e.Strong=`typ-strong`,e.Emph=`typ-emph`,e.Link=`typ-link`,e.Raw=`typ-raw`,e.Label=`typ-label`,e.Ref=`typ-ref`,e.Heading=`typ-heading`,e.ListMarker=`typ-marker`,e.ListTerm=`typ-term`,e.MathDelimiter=`typ-math-delim`,e.MathOperator=`typ-math-op`,e.Keyword=`typ-key`,e.Operator=`typ-op`,e.Number=`typ-num`,e.String=`typ-str`,e.Function=`typ-func`,e.Interpolated=`typ-pol`,e.Error=`typ-error`,e.Text=`typ-text`,e}({});function be(e){switch(e.kind()){case k.Markup:return e.parentKind()===k.TermItem&&e.nextSiblingKind()===k.Colon?A.ListTerm:null;case k.Text:return A.Text;case k.Space:return null;case k.Linebreak:return A.Escape;case k.Parbreak:return null;case k.Escape:case k.Shorthand:return A.Escape;case k.SmartQuote:return null;case k.Strong:return A.Strong;case k.Emph:return A.Emph;case k.Raw:return A.Raw;case k.RawLang:case k.RawTrimmed:case k.RawDelim:return null;case k.Link:return A.Link;case k.Label:return A.Label;case k.Ref:return A.Ref;case k.RefMarker:return null;case k.Heading:return A.Heading;case k.HeadingMarker:return null;case k.ListItem:return null;case k.ListMarker:return A.ListMarker;case k.EnumItem:return null;case k.EnumMarker:return A.ListMarker;case k.TermItem:return null;case k.TermMarker:return A.ListMarker;case k.Equation:return null;case k.Math:return null;case k.MathText:return A.Text;case k.MathIdent:return xe(e);case k.MathShorthand:return A.Escape;case k.MathAlignPoint:return A.MathOperator;case k.MathDelimited:case k.MathAttach:case k.MathFrac:case k.MathRoot:case k.MathPrimes:return null;case k.Hash:return Se(e);case k.LeftBrace:case k.RightBrace:case k.LeftBracket:case k.RightBracket:case k.LeftParen:case k.RightParen:case k.Comma:case k.Semicolon:case k.Colon:return A.Punctuation;case k.Star:return e.parentKind()===k.Strong?null:A.Operator;case k.Underscore:return e.parentKind()===k.MathAttach?A.MathOperator:null;case k.Dollar:return A.MathDelimiter;case k.Plus:case k.Minus:return A.Operator;case k.Slash:return e.parentKind()===k.MathFrac?A.MathOperator:A.Operator;case k.Hat:case k.Prime:return A.MathOperator;case k.Dot:return A.Punctuation;case k.Eq:return e.parentKind()===k.Heading?null:A.Operator;case k.EqEq:case k.ExclEq:case k.Lt:case k.LtEq:case k.Gt:case k.GtEq:case k.PlusEq:case k.HyphEq:case k.StarEq:case k.SlashEq:case k.Dots:case k.Arrow:return A.Operator;case k.Root:return A.MathOperator;case k.Not:case k.And:case k.Or:case k.None:case k.Auto:case k.Let:case k.Set:case k.Show:case k.Context:case k.If:case k.Else:case k.For:case k.In:case k.While:case k.Break:case k.Continue:case k.Return:case k.Import:case k.Include:case k.As:return A.Keyword;case k.Code:return null;case k.Ident:return xe(e);case k.Bool:return A.Keyword;case k.Int:case k.Float:case k.Numeric:return A.Number;case k.Str:return A.String;case k.CodeBlock:case k.ContentBlock:case k.Parenthesized:case k.Array:case k.Dict:case k.Named:case k.Keyed:case k.Unary:case k.Binary:case k.FieldAccess:case k.FuncCall:case k.Args:case k.Spread:case k.Closure:case k.Params:case k.LetBinding:case k.SetRule:case k.ShowRule:case k.Contextual:case k.Conditional:case k.WhileLoop:case k.ForLoop:case k.ModuleImport:case k.ImportItems:case k.ImportItemPath:case k.RenamedImportItem:case k.ModuleInclude:case k.LoopBreak:case k.LoopContinue:case k.FuncReturn:case k.Destructuring:case k.DestructAssignment:return null;case k.Shebang:case k.LineComment:case k.BlockComment:return A.Comment;case k.Error:return A.Error;case k.End:return null}}function xe(e){let t=e.nextLeaf();if(t&&e.range().end===t.offset&&(t.kind()===k.LeftParen&&(t.parentKind()===k.Args||t.parentKind()===k.Params)||t.kind()===k.LeftBracket&&t.parentKind()===k.ContentBlock))return A.Function;if(e.kind()===k.MathIdent)return A.Interpolated;let n=e;for(;n!==null&&n.parentKind()===k.FieldAccess;)n=n.parent??null;if(!n)return null;if(n.parentKind()===k.ShowRule&&(t?.kind()===k.Colon||e.prevLeaf()?.kind()===k.Colon))return A.Function;if(n.prevLeaf()?.kind()===k.Hash)return A.Interpolated;let r=e.prevLeaf();if(r&&r.kind()===k.Dot){let e=r.prevLeaf();if(e&&Ce(e))return xe(e)}return null}function Se(e){let t=e.nextSibling();if(!t)return null;let n=t.kind();if(!(!k.isTrivia(n)&&n!==k.Error&&n!==k.End))return null;let r=t.leftmostLeaf();return r?be(r):null}function Ce(e){return e.kind()===k.Ident||e.kind()===k.MathIdent}var we=/\p{White_Space}/u;function Te(e){if(!e)return!1;let t=e.charCodeAt(0);return t===32||t>=9&&t<=13?!0:t<=127?!1:we.test(e)}var Ee=/\p{Number}/u;function De(e){let t=e.codePointAt(0);return e>=`0`&&e<=`9`?!0:t<=127?!1:Ee.test(e)}function Oe(e){if(!e)return!1;let t=e.charCodeAt(0);return t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122}var ke=/^\p{XID_Start}$/u,Ae=/^\p{XID_Continue}$/u;function je(e){return ke.test(e)}function Me(e){return Ae.test(e)}function Ne(e){return/^[\p{L}\p{N}]$/u.test(e)}function Pe(e){return/^\p{Script=Han}$/u.test(e)}function Fe(e){return/^\p{Script=Hiragana}$/u.test(e)}function Ie(e){return/^\p{Script=Katakana}$/u.test(e)}function Le(e){return/^\p{Script=Hangul}$/u.test(e)}var Re=class{string;cursor=0;len;constructor(e){this.string=e,this.len=e.length}done(){return this.len<=this.cursor}before(){return this.string.slice(0,this.cursor)}after(){return this.string.slice(this.cursor)}parts(){return[this.before(),this.after()]}from(e){return this.string.slice(e,this.cursor)}to(e){return this.string.slice(this.cursor,e)}get(e,t){return this.string.slice(e,t)}peek(){return this.string[this.cursor]||``}at(e){if(this.done())return!1;let t=this.string[this.cursor]||``;if(typeof e==`string`)return this.string.startsWith(e,this.cursor);if(Array.isArray(e)){for(let t of e)if(this.string.startsWith(t,this.cursor))return!0;return!1}else if(e instanceof RegExp)return e.test(t);else return e(t)}scout(e){return this.string[this.cursor+e]||``}locate(e){let t=this.cursor+e;return t>this.len?this.len:t}eat(){if(this.done())return null;let e=this.string[this.cursor];return this.cursor++,e||null}uneat(){return this.cursor>0?(this.cursor--,this.string[this.cursor]||null):null}eatIf(e){if(this.done())return!1;let t=this.string[this.cursor]||``,n=!1,r=0;return typeof e==`string`?this.string.startsWith(e,this.cursor)&&(n=!0,r=e.length):e instanceof RegExp?e.test(t)&&(n=!0,r=1):e(t)&&(n=!0,r=1),n?(this.cursor+=r,!0):!1}eatWhile(e){let t=this.cursor;for(;!this.done();){let t=this.string[this.cursor]||``,n=!1;if(n=typeof e==`string`?t===e:e instanceof RegExp?e.test(t):e(t),n)this.cursor++;else break}return this.string.slice(t,this.cursor)}eatUntil(e){let t=this.cursor;for(;!this.done();){let t=this.string[this.cursor]||``,n=!1;if(n=typeof e==`string`?t===e:e instanceof RegExp?e.test(t):e(t),!n)this.cursor++;else break}return this.string.slice(t,this.cursor)}eatWhitespace(){return this.eatWhile(e=>/\s/.test(e))}expect(e){if(!this.eatIf(e))throw Error(`Expected '${e}' at position ${this.cursor}`)}jump(e){e<0?this.cursor=0:e>this.len?this.cursor=this.len:this.cursor=e}advance(e=1){let t=this.cursor+e;t>this.len?this.cursor=this.len:this.cursor=t}};let j;(function(e){let t=e.FULL_START=2n,n=e.FULL_END=1n<<47n,r=e.DETACHED=1n;e.NUMBER_BITS=48n;let i=e.FILE_ID_SHIFT=48n,a=e.NUMBER_MASK=(1n<<48n)-1n,o=e.RANGE_BASE=1n<<47n;e.RANGE_PART_BITS=23n;let s=e.RANGE_PART_SHIFT=23n,c=e.RANGE_PART_MASK=(1n<<23n)-1n;function l(){return r}e.detached=l;function u(e,r){if(!(r<t||r>=n))return p(e,r)}e.fromNumber=u;function d(e,t,n){let r=1<<23,i=BigInt(t>r?r:t),a=BigInt(n>r?r:n);return p(e,o+(i<<s|a))}e.fromRange=d;function f(e){return e}e.fromRaw=f;function p(e,t){return BigInt(e.intoRaw())<<i|t}e.pack=p;function m(e){return e===r}e.isDetached=m;function h(e){let t=Number(e>>i)&65535;if(t!==0)return ye.fromRaw(t)}e.id=h;function g(e){return e&a}e.number=g;function _(e){let t=g(e)-o;if(!(t<0n))return{start:Number(t>>s),end:Number(t&c)}}e.range=_;function v(e){return e}e.intoRaw=v;function y(e,t){return m(e)?t:e}e.or=y;function b(e){for(let t of e)if(!m(t))return t;return l()}e.find=b;function x(e,t){let n=h(e);if(n)return n.join(t)}e.resolvePath=x})(j||={});var M=class{static leaf(e,t){return new ze(e,t,j.detached())}static inner(e,t){return new Be(e,t)}static error(e,t){return new Ve(t,e)}static placeholder(e){if(e===k.Error)throw Error(`cannot create error placeholder`);return new ze(e,``,j.detached())}isEmpty(){return this.len()===0}convertToKind(e){if(this instanceof Ve)throw Error(`cannot convert error`);(this instanceof ze||this instanceof Be)&&(this._kind=e)}convertToError(e){if(this.kind()!==k.Error){let t=He.new(e),n=this.intoText();for(let e of Object.keys(this))delete this[e];Object.setPrototypeOf(this,Ve.prototype),this._text=n,this._error=t}}expected(e){let t=this.kind(),n=`expected ${e}, found ${k[t]}`;this.convertToError(n),k.isKeyword(t)&&(e===`identifier`||e===`pattern`)&&this.hint(`keyword \`${this.text()}\` is not allowed as an identifier; try \`${this.text()}_\` instead`)}unexpected(){let e=k[this.kind()];this.convertToError(`unexpected ${e}`)}},ze=class e extends M{constructor(e,t,n){super(),this._kind=e,this._text=t,this._span=n}kind(){return this._kind}len(){return this._text.length}span(){return this._span}text(){return this._text}intoText(){return this._text}children(){return[]}erroneous(){return!1}errors(){return[]}hint(e){}synthesize(e){this._span=e}spanlessEq(t){return t instanceof e?this._kind===t._kind&&this._text===t._text:!1}numberize(e,t){if(t.start>=t.end)throw new We;let n=(t.start+t.end)/2n;this._span=j.fromNumber(e,n)===void 0?j.detached():j.fromNumber(e,n)}isLeaf(){return!0}descendants(){return 1}childrenMut(){return[]}replaceChildren(e,t){}updateParent(e,t,n,r){}upper(){return j.number(this._span)+1n}clone(){return new e(this._kind,this._text,this._span)}},Be=class e extends M{_kind;_len;_span;_descendants;_erroneous;_upper;_children;constructor(e,t){super(),this._kind=e;let n=0,r=1,i=!1;for(let e of t)n+=e.len(),r+=e.descendants(),i||=e.erroneous();this._len=n,this._descendants=r,this._erroneous=i,this._upper=0n,this._span=j.detached(),this._children=t}kind(){return this._kind}len(){return this._len}span(){return this._span}text(){return``}intoText(){return this._children.map(e=>e.intoText()).join(``)}children(){return this._children}erroneous(){return this._erroneous}errors(){return this._erroneous?this._children.filter(e=>e.erroneous()).flatMap(e=>e.errors()):[]}hint(e){}synthesize(e){this._span=e,this._upper=j.number(e);for(let t of this._children)t.synthesize(e)}spanlessEq(t){if(!(t instanceof e)||this._kind!==t._kind||this._len!==t._len||this._descendants!==t._descendants||this._erroneous!==t._erroneous||this._children.length!==t._children.length)return!1;for(let e=0;e<this._children.length;e++){let n=this._children[e],r=t._children[e];if(n&&r&&!n.spanlessEq(r))return!1}return!0}numberize(e,t,n){let r=0;if(n){if(n.start>=n.end)return;for(let e=n.start;e<n.end;e++){let t=this._children[e];t&&(r+=t.descendants())}}else r=this._descendants;let i=t.end-t.start,a=i/(2n*BigInt(r));if(a===0n&&(a=i/BigInt(this._descendants),a===0n))throw new We;let o=t.start;if(!n){let n=o+a,r=j.fromNumber(e,(o+n)/2n);this._span=r===void 0?j.detached():r,this._upper=t.end,o=n}let s=n?n.start:0,c=n?n.end:this._children.length;for(let t=s;t<c;t++){let n=this._children[t];if(!n)continue;let r=o+BigInt(n.descendants())*a;n.numberize(e,{start:o,end:r}),o=r}}isLeaf(){return!1}descendants(){return this._descendants}childrenMut(){return this._children}replaceChildren(e,t){let n=e.start,r=e.end,i=j.id(this._span),a=0,o=t.length;for(;n<r&&a<o;){let e=this._children[n],r=t[a];if(e&&r&&e.spanlessEq(r))n++,a++;else break}for(;n<r&&a<o;){let e=this._children[r-1],n=t[o-1];if(e&&n&&e.spanlessEq(n))r--,o--;else break}let s=t.slice(a,o),c=this._children.slice(n,r);if(this._len=this._len+s.map(e=>e.len()).reduce((e,t)=>e+t,0)-c.map(e=>e.len()).reduce((e,t)=>e+t,0),this._descendants=this._descendants+s.map(e=>e.descendants()).reduce((e,t)=>e+t,0)-c.map(e=>e.descendants()).reduce((e,t)=>e+t,0),this._erroneous=s.some(e=>e.erroneous())||this._erroneous&&(this._children.slice(0,n).some(e=>e.erroneous())||this._children.slice(r).some(e=>e.erroneous())),this._children.splice(n,r-n,...s),r=n+s.length,!i)return;let l=0,u=0,d=n,f=this._children.length-r;for(;;){let e=n-l,t=r+u,a=j.number(this.span())+1n,o=e>0?this._children[e-1]:void 0;a=o?o.upper():j.number(this._span)+1n;let s=this._upper,c=t<this._children.length?this._children[t]:void 0;s=c?j.number(c.span()):this._upper;try{this.numberize(i,{start:a,end:s},{start:e,end:t});return}catch(e){if(e instanceof We){if(l===d&&u===f)throw e;let t=e=>{let t=1;for(;t<=e;)t*=2;return t};l=Math.min(t(l+1),d),u=Math.min(t(u+1),f)}else throw e}}}updateParent(e,t,n,r){this._len=this._len+t-e,this._descendants=this._descendants+r-n,this._erroneous=this._children.some(e=>e.erroneous())}upper(){return this._upper}clone(){let t=new e(this._kind,[...this._children]);return t._len=this._len,t._span=this._span,t._descendants=this._descendants,t._erroneous=this._erroneous,t._upper=this._upper,t}},Ve=class e extends M{constructor(e,t){super(),this._text=e,this._error=t}kind(){return k.Error}len(){return this._text.length}span(){return this._error.span}text(){return this._text}intoText(){return this._text}children(){return[]}erroneous(){return!0}errors(){return[this._error]}hint(e){this._error.hints.push(e)}synthesize(e){this._error.span=e}spanlessEq(t){return t instanceof e?this._text===t._text&&this._error.spanlessEq(t._error):!1}numberize(e,t){if(t.start>=t.end)throw new We;let n=(t.start+t.end)/2n;this._error.span=j.fromNumber(e,n)===void 0?j.detached():j.fromNumber(e,n)}isLeaf(){return!1}descendants(){return 1}childrenMut(){return[]}replaceChildren(e,t){}updateParent(e,t,n,r){}upper(){return j.number(this._error.span)+1n}clone(){return new e(this._text,this._error.clone())}},He=class e{constructor(e,t,n=[]){this.span=e,this.message=t,this.hints=n}static new(t){return new e(j.detached(),t,[])}spanlessEq(e){if(this.message!==e.message||this.hints.length!==e.hints.length)return!1;for(let t=0;t<this.hints.length;t++)if(this.hints[t]!==e.hints[t])return!1;return!0}clone(){return new e(this.span,this.message,[...this.hints])}},Ue=class e{constructor(e,t,n,r){this.node=e,this.parent=t,this.index=n,this.offset=r}static new(t){return new e(t,void 0,0,0)}get(){return this.node}getIndex(){return this.index}getOffset(){return this.offset}range(){return{start:this.offset,end:this.offset+this.node.len()}}kind(){return this.node.kind()}text(){return this.node.text()}len(){return this.node.len()}span(){return this.node.span()}isLeaf(){return this.node.isLeaf()}isEmpty(){return this.node.isEmpty()}erroneous(){return this.node.erroneous()}errors(){return this.node.errors()}spanlessEq(e){return this.node.spanlessEq(e)}descendants(){return this.node.descendants()}upper(){return this.node.upper()}children(){let t=this.node.children(),n=[],r=this.offset;for(let i=0;i<t.length;i++){let a=t[i];a&&(n.push(new e(a,this,i,r)),r+=a.len())}return n}find(e){if(this.node.span()===e)return this;if(this.node instanceof Be){if(j.number(e)<j.number(this.node.span()))return;let t=this.children();for(let n=0;n<t.length;n++){let r=t[n];if(!r)continue;let i=t[n+1]?j.number(t[n+1].node.span()):void 0;if(i===void 0||i>j.number(e)){let t=r.find(e);if(t)return t}}}}prevSibling(){if(!this.parent)return;let t=this.index-1;if(t<0||!this.parent.node.childrenMut)return;let n=t>=0?this.parent.node.children()[t]:void 0;if(!n)return;let r=this.offset-n.len(),i=new e(n,this.parent,t,r);return k.isTrivia(i.kind())?i.prevSibling():i}nextSibling(){if(!this.parent)return;let t=this.index+1;if(t>=this.parent.node.children().length)return;let n=t<this.parent.node.children().length?this.parent.node.children()[t]:void 0;if(!n)return;let r=this.offset+this.node.len(),i=new e(n,this.parent,t,r);return k.isTrivia(i.kind())?i.nextSibling():i}parentKind(){return this.parent?.node.kind()}prevSiblingKind(){return this.prevSibling()?.kind()}nextSiblingKind(){return this.nextSibling()?.kind()}prevLeaf(){let e=this;for(;e;){let t=e.prevSibling();if(!t)break;let n=t.rightmostLeaf();if(n)return n;e=t}return this.parent?.prevLeaf()}leftmostLeaf(){if(this.isLeaf()&&!k.isTrivia(this.kind())&&!k.isError(this.kind()))return this;for(let e of this.children()){let t=e.leftmostLeaf();if(t)return t}}leafBefore(e){let t=this.children();if(t.length===0&&e<=this.offset+this.len())return this;let n=this.offset,r=t.length;for(let i=0;i<r;i++){let a=t[i];if(!a)continue;let o=a.len();if(n<e&&e<=n+o||n===e&&i+1===r)return a.leafBefore(e);n+=o}}leafAfter(e){let t=this.children();if(t.length===0&&e<this.offset+this.len())return this;let n=this.offset;for(let r of t){if(!r)continue;let t=r.len();if(n<=e&&e<n+t)return r.leafAfter(e);n+=t}}leafAt(e,t){return t===Ge.Before?this.leafBefore(e):this.leafAfter(e)}rightmostLeaf(){if(this.isLeaf()&&!k.isTrivia(this.kind()))return this;let e=this.children();for(let t=e.length-1;t>=0;t--){let n=e[t];if(!n)continue;let r=n.rightmostLeaf();if(r)return r}}nextLeaf(){let e=this;for(;e;){let t=e.nextSibling();if(!t)break;let n=t.leftmostLeaf();if(n)return n;e=t}return this.parent?.nextLeaf()}},We=class extends Error{constructor(){super(`cannot number within this interval`)}};let Ge=function(e){return e[e.Before=0]=`Before`,e[e.After=1]=`After`,e}({});var Ke=class{s;mode;newline;error_;constructor(e,t){this.s=new Re(e),this.mode=t,this.newline=!1,this.error_=null}setMode(e){this.mode=e}cursor(){return this.s.cursor}jump(e){this.s.jump(e)}column(e){let t=new Re(this.s.string);t.jump(e);let n=0,r=t.before();for(let e=r.length-1;e>=0;e--){let t=r[e];if(Ye(t))break;n++}return n}error(e){return this.error_=He.new(e),k.Error}hint(e){this.error_&&this.error_.hints.push(e)}next(){let e=this.s.cursor;this.newline=!1;let t=k.End,n=this.s.eat();if(n!==null&&Je(n,this.mode))t=this.whitespace(e,n);else if(n===`#`&&e===0&&this.s.eatIf(`!`))t=this.shebang();else if(n===`/`&&this.s.eatIf(`/`))t=this.lineComment();else if(n===`/`&&this.s.eatIf(`*`))t=this.blockComment();else if(n===`*`&&this.s.eatIf(`/`))t=this.error(`unexpected end of block comment`),this.hint("consider escaping the `*` with a backslash or opening the block comment with `/*`");else if(n==="`"&&this.mode!==I.Math)return this.raw();else if(n!==null)switch(this.mode){case I.Markup:t=this.markup(e,n);break;case I.Math:{let[r,i]=this.math(e,n);if(i)return[r,i];t=r;break}case I.Code:t=this.code(e,n);break;default:t=k.Error}else t=k.End;let r=this.s.from(e),i;return this.error_?(i=M.error(this.error_,r),this.error_=null):i=M.leaf(t,r),[t,i]}whitespace(e,t){let n=this.s.eatWhile(e=>Je(e,this.mode)),r=0;return r=t===` `&&n.length===0?0:Qe(this.s.from(e)),this.newline=r>0,this.mode===I.Markup&&r>=2?k.Parbreak:k.Space}shebang(){return this.s.eatUntil(Ye),k.Shebang}lineComment(){return this.s.eatUntil(Ye),k.LineComment}blockComment(){let e=`_`,t=1,n=this.s.eat();for(;n!==null;){if(e===`*`&&n===`/`){if(--t,t===0)break;e=`_`}else e===`/`&&n===`*`?(t+=1,e=`_`):e=n;n=this.s.eat()}return k.BlockComment}markup(e,t){return t===`\\`?this.backslash():t===`h`&&this.s.eatIf(`ttp://`)||t===`h`&&this.s.eatIf(`ttps://`)?this.link():t===`<`&&this.s.at(et)?this.label():t===`@`&&this.s.at(et)?this.refMarker():t===`.`&&this.s.eatIf(`..`)||t===`-`&&this.s.eatIf(`--`)||t===`-`&&this.s.eatIf(`-`)||t===`-`&&this.s.eatIf(`?`)||t===`-`&&this.s.at(De)?k.Shorthand:t===`*`&&!this.inWord()?k.Star:t===`_`&&!this.inWord()?k.Underscore:t===`#`?k.Hash:t===`[`?k.LeftBracket:t===`]`?k.RightBracket:t===`'`||t===`"`?k.SmartQuote:t===`$`?k.Dollar:t===`~`?k.Shorthand:t===`:`?k.Colon:t===`=`?(this.s.eatWhile(`=`),this.spaceOrEnd()?k.HeadingMarker:this.text()):t===`-`&&this.spaceOrEnd()?k.ListMarker:t===`+`&&this.spaceOrEnd()?k.EnumMarker:t===`/`&&this.spaceOrEnd()?k.TermMarker:/^[0-9]$/.test(t)?this.numbering(e):this.text()}backslash(){if(this.s.eatIf(`u{`)){let e=this.s.eatWhile(Oe);if(!this.s.eatIf(`}`))return this.error(`unclosed Unicode escape sequence`);let t=parseInt(e,16);return Number.isNaN(t)||t>1114111?this.error(`invalid Unicode codepoint: ${e}`):k.Escape}return this.s.done()||this.s.at(Te)?k.Linebreak:(this.s.eat(),k.Escape)}raw(){let e=this.s.cursor-1,t=1;for(;this.s.eatIf("`");)t++;if(t===2){let e=[M.leaf(k.RawDelim,"`"),M.leaf(k.RawDelim,"`")];return[k.Raw,M.inner(k.Raw,e)]}let n=0;for(;n<t;){let t=this.s.eat();if(t==="`")n++;else if(t!==null)n=0;else{let t=He.new(`unclosed raw text`),n=M.error(t,this.s.from(e));return[k.Error,n]}}let r=this.s.cursor,i=[],a=e,o=(e,t)=>{i.push(M.leaf(e,t.from(a))),a=t.cursor};return this.s.jump(e+t),o(k.RawDelim,this.s),t>=3?this.blockyRaw(r-t,o):this.inlineRaw(r-t,o),this.s.jump(r),o(k.RawDelim,this.s),[k.Raw,M.inner(k.Raw,i)]}blockyRaw(e,t){this.s.eatIf($e)&&(this.s.eatWhile(et),t(k.RawLang,this.s));let n=Ze(this.s.to(e)),r=null,i=e=>{let t=0;for(let n=0;n<e.length&&/^\s$/.test(e[n]);n++)t++;return t};for(let e=1;e<n.length;e++){let t=n[e];if(/^\s*$/.test(t))continue;let a=i(t);(r===null||a<r)&&(r=a)}let a=n[n.length-1],o=i(a);(r===null||o<r)&&(r=o);let s=r||0;if(n.length>0&&/^\s*$/.test(n[n.length-1]))n.pop();else if(n.length>0){let e=n[n.length-1];e.endsWith("`")&&(e.endsWith(" `")&&(e=e.slice(0,-2)+"`"),n[n.length-1]=e)}if(n.length>0){let e=n.shift();if(/^\s*$/.test(e))this.s.advance(e.length);else{let n=this.s.cursor+e.length;this.s.eatIf(` `)&&t(k.RawTrimmed,this.s),this.s.jump(n),t(k.Text,this.s)}}for(let e of n){let n=0,r=0;for(let t of e){if(r>=s)break;n+=t.length,r++}this.eatNewline(),this.s.advance(n),t(k.RawTrimmed,this.s),this.s.advance(e.length-n),t(k.Text,this.s)}this.s.cursor<e&&(this.s.jump(e),t(k.RawTrimmed,this.s))}inlineRaw(e,t){for(;this.s.cursor<e;){if(this.s.at(Ye)){t(k.Text,this.s),this.eatNewline(),t(k.RawTrimmed,this.s);continue}this.s.eat()}t(k.Text,this.s)}link(){let[e,t]=Xe(this.s.after());return this.s.advance(e.length),t?k.Link:this.error("automatic links cannot contain unbalanced brackets, use the `link` function instead")}numbering(e){this.s.eatWhile(e=>/^[0-9]$/.test(e));let t=this.s.from(e);return this.s.eatIf(`.`)&&this.spaceOrEnd()&&!Number.isNaN(Number(t))?k.EnumMarker:this.text()}refMarker(){for(this.s.eatWhile(rt);;){let e=this.s.scout(-1);if(e===`.`||e===`:`)this.s.uneat();else break}return k.RefMarker}label(){return this.s.eatWhile(rt).length===0?this.error(`label cannot be empty`):this.s.eatIf(`>`)?k.Label:this.error(`unclosed label`)}text(){let e=new Set([` `,` `,`
`,`\v`,`\f`,`\r`,`\\`,`/`,`[`,`]`,`~`,`-`,`.`,`'`,`"`,`*`,`_`,`:`,`h`,"`",`$`,`<`,`>`,`@`,`#`]);for(;;){this.s.eatUntil(t=>e.has(t)||Te(t));let t=new Re(this.s.string);t.jump(this.s.cursor);let n=t.eat(),r=!1;if((n===` `&&t.at(e=>/^[\p{L}\p{N}]$/u.test(e))||n===`/`&&!t.at([`/`,`*`])||n===`-`&&!t.at([`-`,`?`])||n===`.`&&!t.at(`..`)||n===`h`&&!t.at(`ttp://`)&&!t.at(`ttps://`)||n===`@`&&!t.at(rt))&&(r=!0),r)this.s.jump(t.cursor);else break}return k.Text}inWord(){let e=e=>e?Ne(e)&&!Pe(e)&&!Fe(e)&&!Ie(e)&&!Le(e):!1,t=this.s.scout(-2),n=this.s.peek();return e(t)&&e(n)}spaceOrEnd(){return this.s.done()||this.s.at(e=>/^\s$/.test(e))||this.s.at(`//`)||this.s.at(`/*`)}math(e,t){let n;if(t===`\\`)n=this.backslash();else if(t===`"`)n=this.string_();else if(t===`-`&&(this.s.eatIf(`>>`)||this.s.eatIf(`>`)||this.s.eatIf(`->`)))n=k.MathShorthand;else if(t===`:`&&(this.s.eatIf(`=`)||this.s.eatIf(`:=`)))n=k.MathShorthand;else if(t===`!`&&this.s.eatIf(`=`))n=k.MathShorthand;else if(t===`.`&&this.s.eatIf(`..`))n=k.MathShorthand;else if(t===`[`&&this.s.eatIf(`|`))n=k.MathShorthand;else if(t===`<`&&(this.s.eatIf(`==>`)||this.s.eatIf(`-->`)||this.s.eatIf(`--`)||this.s.eatIf(`-<`)||this.s.eatIf(`->`)||this.s.eatIf(`<-`)||this.s.eatIf(`<<`)||this.s.eatIf(`=>`)||this.s.eatIf(`==`)||this.s.eatIf(`~~`)||this.s.eatIf(`=`)||this.s.eatIf(`<`)||this.s.eatIf(`-`)||this.s.eatIf(`~`)))n=k.MathShorthand;else if(t===`>`&&(this.s.eatIf(`->`)||this.s.eatIf(`>>`)))n=k.MathShorthand;else if(t===`=`&&(this.s.eatIf(`=>`)||this.s.eatIf(`>`)||this.s.eatIf(`:`)))n=k.MathShorthand;else if(t===`>`&&(this.s.eatIf(`=`)||this.s.eatIf(`>`)))n=k.MathShorthand;else if(t===`|`&&(this.s.eatIf(`->`)||this.s.eatIf(`=>`)||this.s.eatIf(`]`)||this.s.eatIf(`|`)))n=k.MathShorthand;else if(t===`~`&&(this.s.eatIf(`~>`)||this.s.eatIf(`>`)))n=k.MathShorthand;else if(t===`*`||t===`-`||t===`~`)n=k.MathShorthand;else if(t===`.`)n=k.Dot;else if(t===`,`)n=k.Comma;else if(t===`;`)n=k.Semicolon;else if(t===`)`)n=k.RightParen;else if(t===`#`)n=k.Hash;else if(t===`_`)n=k.Underscore;else if(t===`$`)n=k.Dollar;else if(t===`/`)n=k.Slash;else if(t===`^`)n=k.Hat;else if(t===`'`)n=k.Prime;else if(t===`&`)n=k.MathAlignPoint;else if(t===``||t===``||t===``)n=k.Root;else if(tt(t)&&this.s.at(nt)){this.s.eatWhile(nt);let[t,n]=this.mathIdentOrField(e);return[t,n]}else n=this.mathText(e,t);return[n,null]}mathIdentOrField(e){let t=k.MathIdent,n=M.leaf(t,this.s.from(e)),r=this.maybeDotIdent();for(;r!==null;){t=k.FieldAccess;let e=[n,M.leaf(k.Dot,`.`),M.leaf(k.Ident,r)];n=M.inner(t,e),r=this.maybeDotIdent()}return[t,n]}maybeDotIdent(){if(this.s.scout(1)!==``&&tt(this.s.scout(1))&&this.s.eatIf(`.`)){let e=this.s.cursor;return this.s.eat(),this.s.eatWhile(nt),this.s.from(e)}return null}mathText(e,t){if(De(t)){this.s.eatWhile(De);let e=new Re(this.s.string);return e.jump(this.s.cursor),e.eatIf(`.`)&&e.eatWhile(De).length!==0&&this.s.jump(e.cursor),k.MathText}else{let n=t.charCodeAt(0),r=1;return n>=55296&&n<=56319&&this.s.scout(1).charCodeAt(0)>=56320&&this.s.scout(1).charCodeAt(0)<=57343&&(r=2),this.s.jump(e+r),k.MathText}}maybeMathNamedArg(e){let t=this.s.cursor;if(this.s.jump(e),this.s.eatIf($e)){this.s.eatWhile(et);let t=this.s.at(`:`),n=this.s.at(`:=`),r=this.s.at(`::=`);if(t&&!n&&!r){let t;if(this.s.from(e)!==`_`)t=M.leaf(k.Ident,this.s.from(e));else{let n=He.new(`expected identifier, found underscore`);t=M.error(n,this.s.from(e))}return t}}return this.s.jump(t),null}maybeMathSpreadArg(e){let t=this.s.cursor;return this.s.jump(e),this.s.eatIf(`..`)&&!this.spaceOrEnd()&&!this.s.at(`.`)?M.leaf(k.Dots,this.s.from(e)):(this.s.jump(t),null)}code(e,t){switch(t){case`<`:return this.s.at(et)?this.label():this.s.eatIf(`=`)?k.LtEq:k.Lt;case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:return this.number(e,t);case`.`:return this.s.at(e=>/^[0-9]$/.test(e))?this.number(e,t):this.s.eatIf(`.`)?k.Dots:k.Dot;case`"`:return this.string_();case`=`:return this.s.eatIf(`=`)?k.EqEq:this.s.eatIf(`>`)?k.Arrow:k.Eq;case`!`:return this.s.eatIf(`=`)?k.ExclEq:this.error("the character `!` is not valid in code");case`>`:return this.s.eatIf(`=`)?k.GtEq:k.Gt;case`+`:return this.s.eatIf(`=`)?k.PlusEq:k.Plus;case`-`:case``:return this.s.eatIf(`=`)?k.HyphEq:k.Minus;case`*`:return this.s.eatIf(`=`)?k.StarEq:k.Star;case`/`:return this.s.eatIf(`=`)?k.SlashEq:k.Slash;case`{`:return k.LeftBrace;case`}`:return k.RightBrace;case`[`:return k.LeftBracket;case`]`:return k.RightBracket;case`(`:return k.LeftParen;case`)`:return k.RightParen;case`$`:return k.Dollar;case`,`:return k.Comma;case`;`:return k.Semicolon;case`:`:return k.Colon;default:return $e(t)?this.ident(e):this.error(`the character \`${t}\` is not valid in code`)}}ident(e){this.s.eatWhile(et);let t=this.s.from(e),n=this.s.get(0,e);if(!((n.endsWith(`.`)||n.endsWith(`@`))&&!n.endsWith(`..`))){let e=qe(t);if(e!==void 0)return e}return t===`_`?k.Underscore:k.Ident}number(e,t){let n=10;t===`0`&&(this.s.eatIf(`b`)?n=2:this.s.eatIf(`o`)?n=8:this.s.eatIf(`x`)&&(n=16)),n===16?this.s.eatWhile(e=>/^[0-9a-zA-Z]$/.test(e)):this.s.eatWhile(e=>/^[0-9]$/.test(e));let r=!1;n===10&&(t===`.`?r=!0:!this.s.at(`..`)&&!$e(this.s.scout(1))&&this.s.eatIf(`.`)&&(r=!0,this.s.eatWhile(e=>/^[0-9]$/.test(e))),!this.s.at(`em`)&&(this.s.eatIf(`e`)||this.s.eatIf(`E`))&&(r=!0,this.s.eatIf(`+`)||this.s.eatIf(`-`),this.s.eatWhile(e=>/^[0-9]$/.test(e))));let i=this.s.from(e),a=this.s.eatWhile(e=>/^[a-zA-Z0-9]$/.test(e)||e===`%`);if(n===10&&!r){let e=parseInt(i,10);(e>=2**53-1||e<=-(2**53-1))&&(Number.isNaN(parseFloat(i))||(r=!0))}let o=null,s=!1;a===``?s=!0:[`pt`,`mm`,`cm`,`in`,`deg`,`rad`,`em`,`fr`,`%`].includes(a)?(s=!0,o=`suffix`):o=`invalid number suffix: ${a}`;let c=!1,l=null;if(r&&Number.isNaN(parseFloat(i)))l=`invalid floating point number: ${i}`;else if(n===10)c=!0;else{let e=``;n===2?e=`binary`:n===8?e=`octal`:n===16&&(e=`hexadecimal`);let t=i.slice(2),r=!1;n===2?r=/^[01]+$/.test(t):n===8?r=/^[0-7]+$/.test(t):n===16&&(r=/^[0-9a-fA-F]+$/.test(t)),r&&a===``?c=!0:r?(s&&=(o=`try using a decimal number: ${parseInt(t,n)}${a}`,!1),l=`${e} numbers cannot have a suffix`):l=`invalid ${e} number: ${i}`}if(c&&s&&!o)return r?k.Float:k.Int;if(c&&s&&o===`suffix`)return k.Numeric;if(!c&&!s){let e=this.error(l);return this.hint(o),e}else if(c&&!s)return this.error(o);else return this.error(l)}string_(){let e=!1;return this.s.eatUntil(t=>{let n=t===`"`&&!e;return e=t===`\\`&&!e,n}),this.s.eatIf(`"`)?k.Str:this.error(`unclosed string`)}eatNewline(){let e=this.s.eatIf(Ye);return e&&this.s.before().endsWith(`\r`)&&this.s.eatIf(`
`),e}};function qe(e){switch(e){case`none`:return k.None;case`auto`:return k.Auto;case`true`:return k.Bool;case`false`:return k.Bool;case`not`:return k.Not;case`and`:return k.And;case`or`:return k.Or;case`let`:return k.Let;case`set`:return k.Set;case`show`:return k.Show;case`context`:return k.Context;case`if`:return k.If;case`else`:return k.Else;case`for`:return k.For;case`in`:return k.In;case`while`:return k.While;case`break`:return k.Break;case`continue`:return k.Continue;case`return`:return k.Return;case`import`:return k.Import;case`include`:return k.Include;case`as`:return k.As;default:return}}function Je(e,t){switch(t){case I.Markup:return e===` `||e===` `||Ye(e);default:return Te(e)}}function Ye(e){return e===`
`||e===`\v`||e===`\f`||e===`\r`||e===`…`||e===`\u2028`||e===`\u2029`}function Xe(e){let t=new Re(e),n=[];for(t.eatWhile(e=>/^[0-9a-zA-Z!#$%&*+,-./:;=?@_~']$/.test(e)?!0:e===`[`?(n.push(`[`),!0):e===`(`?(n.push(`(`),!0):e===`]`?n.pop()===`[`:e===`)`?n.pop()===`(`:!1);;){let e=t.scout(-1);if(e===`!`||e===`,`||e===`.`||e===`:`||e===`;`||e===`?`||e===`'`)t.uneat();else break}return[t.before(),n.length===0]}function Ze(e){let t=new Re(e),n=[],r=0,i=0;for(;!t.done();){let a=t.eat();if(a===null)break;Ye(a)&&(a===`\r`&&t.eatIf(`
`),n.push(e.slice(r,i)),r=t.cursor),i=t.cursor}return n.push(e.slice(r)),n}function Qe(e){let t=0,n=new Re(e);for(;!n.done();){let e=n.eat();if(e===null)break;Ye(e)&&(e===`\r`&&n.eatIf(`
`),t++)}return t}function $e(e){return je(e)||e===`_`}function et(e){return Me(e)||e===`_`||e===`-`}function tt(e){return je(e)}function nt(e){return Me(e)&&e!==`_`}function rt(e){return et(e)||e===`:`||e===`.`}let N=function(e){return e[e.Normal=0]=`Normal`,e[e.Alphabetic=1]=`Alphabetic`,e[e.Binary=2]=`Binary`,e[e.Closing=3]=`Closing`,e[e.Diacritic=4]=`Diacritic`,e[e.Fence=5]=`Fence`,e[e.GlyphPart=6]=`GlyphPart`,e[e.Large=7]=`Large`,e[e.Opening=8]=`Opening`,e[e.Punctuation=9]=`Punctuation`,e[e.Relation=10]=`Relation`,e[e.Space=11]=`Space`,e[e.Unary=12]=`Unary`,e[e.Vary=13]=`Vary`,e[e.Special=14]=`Special`,e}({});const it=[[` `,N.Space],[`!`,N.Normal],[`#`,N.Normal],[`$`,N.Normal],[`%`,N.Normal],[`&`,N.Normal],[`(`,N.Opening],[`)`,N.Closing],[`*`,N.Normal],[`+`,N.Vary],[`,`,N.Punctuation],[`-`,N.Normal],[`.`,N.Punctuation],[`/`,N.Binary],[`0`,N.Normal],[`1`,N.Normal],[`2`,N.Normal],[`3`,N.Normal],[`4`,N.Normal],[`5`,N.Normal],[`6`,N.Normal],[`7`,N.Normal],[`8`,N.Normal],[`9`,N.Normal],[`:`,N.Punctuation],[`;`,N.Punctuation],[`<`,N.Relation],[`=`,N.Relation],[`>`,N.Relation],[`?`,N.Punctuation],[`@`,N.Normal],[`A`,N.Alphabetic],[`B`,N.Alphabetic],[`C`,N.Alphabetic],[`D`,N.Alphabetic],[`E`,N.Alphabetic],[`F`,N.Alphabetic],[`G`,N.Alphabetic],[`H`,N.Alphabetic],[`I`,N.Alphabetic],[`J`,N.Alphabetic],[`K`,N.Alphabetic],[`L`,N.Alphabetic],[`M`,N.Alphabetic],[`N`,N.Alphabetic],[`O`,N.Alphabetic],[`P`,N.Alphabetic],[`Q`,N.Alphabetic],[`R`,N.Alphabetic],[`S`,N.Alphabetic],[`T`,N.Alphabetic],[`U`,N.Alphabetic],[`V`,N.Alphabetic],[`W`,N.Alphabetic],[`X`,N.Alphabetic],[`Y`,N.Alphabetic],[`Z`,N.Alphabetic],[`[`,N.Opening],[`\\`,N.Binary],[`]`,N.Closing],[`^`,N.Normal],[`_`,N.Normal],["`",N.Diacritic],[`a`,N.Alphabetic],[`b`,N.Alphabetic],[`c`,N.Alphabetic],[`d`,N.Alphabetic],[`e`,N.Alphabetic],[`f`,N.Alphabetic],[`g`,N.Alphabetic],[`h`,N.Alphabetic],[`i`,N.Alphabetic],[`j`,N.Alphabetic],[`k`,N.Alphabetic],[`l`,N.Alphabetic],[`m`,N.Alphabetic],[`n`,N.Alphabetic],[`o`,N.Alphabetic],[`p`,N.Alphabetic],[`q`,N.Alphabetic],[`r`,N.Alphabetic],[`s`,N.Alphabetic],[`t`,N.Alphabetic],[`u`,N.Alphabetic],[`v`,N.Alphabetic],[`w`,N.Alphabetic],[`x`,N.Alphabetic],[`y`,N.Alphabetic],[`z`,N.Alphabetic],[`{`,N.Opening],[`|`,N.Fence],[`}`,N.Closing],[`~`,N.Normal],[`\xA0`,N.Space],[`¡`,N.Punctuation],[`¢`,N.Normal],[`£`,N.Normal],[`¤`,N.Normal],[`¥`,N.Normal],[`¦`,N.Normal],[`§`,N.Normal],[`¨`,N.Diacritic],[`¬`,N.Unary],[`¯`,N.Diacritic],[`°`,N.Normal],[`±`,N.Vary],[`²`,N.Normal],[`³`,N.Normal],[`´`,N.Normal],[`µ`,N.Normal],[`¶`,N.Normal],[`·`,N.Binary],[`¹`,N.Normal],[`¼`,N.Normal],[`½`,N.Normal],[`¾`,N.Normal],[`¿`,N.Punctuation],[`×`,N.Binary],[`÷`,N.Binary],[`ı`,N.Alphabetic],[`ȷ`,N.Alphabetic],[`ˆ`,N.Diacritic],[`ˇ`,N.Diacritic],[`˘`,N.Diacritic],[`˙`,N.Diacritic],[`˚`,N.Diacritic],[`˜`,N.Diacritic],[`̀`,N.Diacritic],[`́`,N.Diacritic],[`̂`,N.Diacritic],[`̃`,N.Diacritic],[`̄`,N.Diacritic],[`̅`,N.Diacritic],[`̆`,N.Diacritic],[`̇`,N.Diacritic],[`̈`,N.Diacritic],[`̊`,N.Diacritic],[`̌`,N.Diacritic],[`̑`,N.Diacritic],[`̣`,N.Diacritic],[`̬`,N.Diacritic],[`̭`,N.Diacritic],[`̮`,N.Diacritic],[`̯`,N.Diacritic],[`̰`,N.Diacritic],[`̱`,N.Diacritic],[`̲`,N.Diacritic],[`̳`,N.Diacritic],[`̸`,N.Diacritic],[`̺`,N.Diacritic],[`̿`,N.Diacritic],[`͆`,N.Diacritic],[`Α`,N.Alphabetic],[`Β`,N.Alphabetic],[`Γ`,N.Alphabetic],[`Δ`,N.Alphabetic],[`Ε`,N.Alphabetic],[`Ζ`,N.Alphabetic],[`Η`,N.Alphabetic],[`Θ`,N.Alphabetic],[`Ι`,N.Alphabetic],[`Κ`,N.Alphabetic],[`Λ`,N.Alphabetic],[`Μ`,N.Alphabetic],[`Ν`,N.Alphabetic],[`Ξ`,N.Alphabetic],[`Ο`,N.Alphabetic],[`Π`,N.Alphabetic],[`Ρ`,N.Alphabetic],[`Σ`,N.Alphabetic],[`Τ`,N.Alphabetic],[`Φ`,N.Alphabetic],[`Χ`,N.Alphabetic],[`Ψ`,N.Alphabetic],[`Ω`,N.Alphabetic],[`α`,N.Alphabetic],[`β`,N.Alphabetic],[`γ`,N.Alphabetic],[`δ`,N.Alphabetic],[`ε`,N.Alphabetic],[`ζ`,N.Alphabetic],[`η`,N.Alphabetic],[`θ`,N.Alphabetic],[`ι`,N.Alphabetic],[`κ`,N.Alphabetic],[`λ`,N.Alphabetic],[`μ`,N.Alphabetic],[`ν`,N.Alphabetic],[`ξ`,N.Alphabetic],[`ο`,N.Alphabetic],[`π`,N.Alphabetic],[`ρ`,N.Alphabetic],[`σ`,N.Alphabetic],[`τ`,N.Alphabetic],[`υ`,N.Alphabetic],[`φ`,N.Alphabetic],[`χ`,N.Alphabetic],[`ψ`,N.Alphabetic],[`ω`,N.Alphabetic],[`ϐ`,N.Alphabetic],[`ϑ`,N.Alphabetic],[`ϒ`,N.Alphabetic],[`ϕ`,N.Alphabetic],[`ϖ`,N.Alphabetic],[`Ϙ`,N.Normal],[`ϙ`,N.Normal],[`Ϛ`,N.Alphabetic],[`ϛ`,N.Alphabetic],[`Ϝ`,N.Alphabetic],[`ϝ`,N.Alphabetic],[`Ϡ`,N.Alphabetic],[`ϡ`,N.Alphabetic],[`ϰ`,N.Alphabetic],[`ϱ`,N.Alphabetic],[`ϴ`,N.Alphabetic],[`ϵ`,N.Alphabetic],[`϶`,N.Normal],[`Ш`,N.Alphabetic],[`؆`,N.Large],[`؇`,N.Large],[`؈`,N.Alphabetic],[` `,N.Space],[``,N.Space],[``,N.Space],[``,N.Space],[``,N.Space],[``,N.Space],[``,N.Space],[``,N.Space],[``,N.Space],[``,N.Space],[``,N.Space],[``,N.Punctuation],[``,N.Punctuation],[``,N.Punctuation],[`—`,N.Punctuation],[`‖`,N.Fence],[`†`,N.Relation],[`‡`,N.Relation],[`•`,N.Binary],[`…`,N.Normal],[``,N.Normal],[`″`,N.Normal],[`‴`,N.Normal],[``,N.Normal],[`‶`,N.Normal],[`‷`,N.Normal],[`※`,N.Normal],[`‼`,N.Normal],[`⁀`,N.Binary],[``,N.Binary],[``,N.Binary],[`⁏`,N.Relation],[`⁐`,N.Relation],[`⁑`,N.Normal],[`⁒`,N.Normal],[`⁗`,N.Normal],[``,N.Space],[``,N.Binary],[``,N.Binary],[``,N.Punctuation],[``,N.Special],[`⁺`,N.Normal],[`⁻`,N.Normal],[`⁼`,N.Normal],[`⁽`,N.Normal],[`⁾`,N.Normal],[`₊`,N.Normal],[`₋`,N.Normal],[`₌`,N.Normal],[`₍`,N.Normal],[`₎`,N.Normal],[`⃐`,N.Diacritic],[`⃑`,N.Diacritic],[`⃒`,N.Diacritic],[`⃓`,N.Special],[`⃔`,N.Diacritic],[`⃕`,N.Diacritic],[`⃖`,N.Diacritic],[`⃗`,N.Diacritic],[`⃘`,N.Diacritic],[`⃙`,N.Diacritic],[`⃚`,N.Diacritic],[`⃛`,N.Diacritic],[`⃜`,N.Diacritic],[`⃝`,N.Diacritic],[`⃞`,N.Diacritic],[`⃟`,N.Diacritic],[`⃡`,N.Diacritic],[`⃤`,N.Diacritic],[`⃥`,N.Diacritic],[`⃦`,N.Diacritic],[`⃧`,N.Diacritic],[`⃨`,N.Diacritic],[`⃩`,N.Diacritic],[`⃪`,N.Diacritic],[`⃫`,N.Diacritic],[`⃬`,N.Diacritic],[`⃭`,N.Diacritic],[`⃮`,N.Diacritic],[`⃯`,N.Diacritic],[``,N.Alphabetic],[`ℇ`,N.Normal],[``,N.Alphabetic],[``,N.Alphabetic],[``,N.Alphabetic],[``,N.Alphabetic],[``,N.Normal],[`ℏ`,N.Normal],[``,N.Alphabetic],[``,N.Alphabetic],[``,N.Alphabetic],[``,N.Alphabetic],[``,N.Alphabetic],[`℘`,N.Alphabetic],[``,N.Alphabetic],[``,N.Alphabetic],[``,N.Alphabetic],[``,N.Alphabetic],[``,N.Alphabetic],[``,N.Alphabetic],[`Ω`,N.Normal],[`℧`,N.Normal],[``,N.Alphabetic],[`℩`,N.Normal],[`Å`,N.Alphabetic],[``,N.Alphabetic],[``,N.Alphabetic],[``,N.Alphabetic],[``,N.Alphabetic],[``,N.Alphabetic],[`Ⅎ`,N.Normal],[``,N.Alphabetic],[``,N.Alphabetic],[`ℵ`,N.Alphabetic],[`ℶ`,N.Alphabetic],[`ℷ`,N.Alphabetic],[`ℸ`,N.Alphabetic],[`ℼ`,N.Alphabetic],[``,N.Alphabetic],[`ℾ`,N.Normal],[`ℿ`,N.Alphabetic],[`⅀`,N.Large],[`⅁`,N.Normal],[`⅂`,N.Normal],[`⅃`,N.Normal],[`⅄`,N.Normal],[``,N.Normal],[``,N.Normal],[``,N.Normal],[``,N.Normal],[``,N.Normal],[`⅋`,N.Normal],[`←`,N.Relation],[`↑`,N.Relation],[`→`,N.Relation],[`↓`,N.Relation],[`↔`,N.Relation],[`↕`,N.Relation],[`↖`,N.Relation],[`↗`,N.Relation],[`↘`,N.Relation],[`↙`,N.Relation],[`↚`,N.Relation],[`↛`,N.Relation],[`↜`,N.Relation],[`↝`,N.Relation],[`↞`,N.Relation],[`↟`,N.Relation],[`↠`,N.Relation],[`↡`,N.Relation],[`↢`,N.Relation],[`↣`,N.Relation],[`↤`,N.Relation],[`↥`,N.Relation],[`↦`,N.Relation],[`↧`,N.Relation],[`↨`,N.Relation],[`↩`,N.Relation],[`↪`,N.Relation],[`↫`,N.Relation],[`↬`,N.Relation],[`↭`,N.Relation],[`↮`,N.Relation],[`↯`,N.Relation],[`↰`,N.Relation],[`↱`,N.Relation],[`↲`,N.Relation],[`↳`,N.Relation],[`↶`,N.Relation],[`↷`,N.Relation],[`↺`,N.Relation],[`↻`,N.Relation],[`↼`,N.Relation],[`↽`,N.Relation],[`↾`,N.Relation],[`↿`,N.Relation],[`⇀`,N.Relation],[`⇁`,N.Relation],[`⇂`,N.Relation],[`⇃`,N.Relation],[`⇄`,N.Relation],[`⇅`,N.Relation],[`⇆`,N.Relation],[`⇇`,N.Relation],[`⇈`,N.Relation],[`⇉`,N.Relation],[`⇊`,N.Relation],[`⇋`,N.Relation],[`⇌`,N.Relation],[`⇍`,N.Relation],[`⇎`,N.Relation],[`⇏`,N.Relation],[`⇐`,N.Relation],[`⇑`,N.Relation],[`⇒`,N.Relation],[`⇓`,N.Relation],[`⇔`,N.Relation],[`⇕`,N.Relation],[`⇖`,N.Relation],[`⇗`,N.Relation],[`⇘`,N.Relation],[`⇙`,N.Relation],[`⇚`,N.Relation],[`⇛`,N.Relation],[`⇜`,N.Relation],[`⇝`,N.Relation],[`⇞`,N.Relation],[`⇟`,N.Relation],[`⇠`,N.Relation],[`⇡`,N.Relation],[`⇢`,N.Relation],[`⇣`,N.Relation],[`⇤`,N.Relation],[`⇥`,N.Relation],[`⇦`,N.Relation],[`⇧`,N.Relation],[`⇨`,N.Relation],[`⇩`,N.Relation],[`⇪`,N.Relation],[`⇫`,N.Relation],[`⇬`,N.Relation],[`⇭`,N.Relation],[`⇮`,N.Relation],[`⇯`,N.Relation],[`⇰`,N.Relation],[`⇱`,N.Relation],[`⇲`,N.Relation],[`⇳`,N.Relation],[`⇴`,N.Relation],[`⇵`,N.Relation],[`⇶`,N.Relation],[`⇷`,N.Relation],[`⇸`,N.Relation],[`⇹`,N.Relation],[`⇺`,N.Relation],[`⇻`,N.Relation],[`⇼`,N.Relation],[`⇽`,N.Relation],[`⇾`,N.Relation],[`⇿`,N.Relation],[`∀`,N.Unary],[`∁`,N.Unary],[`∂`,N.Normal],[`∃`,N.Unary],[`∄`,N.Unary],[`∅`,N.Normal],[`∆`,N.Unary],[`∇`,N.Unary],[`∈`,N.Relation],[`∉`,N.Relation],[`∊`,N.Relation],[`∋`,N.Relation],[`∌`,N.Relation],[`∍`,N.Relation],[`∎`,N.Normal],[`∏`,N.Large],[`∐`,N.Large],[`∑`,N.Large],[``,N.Vary],[`∓`,N.Vary],[`∔`,N.Binary],[``,N.Binary],[``,N.Binary],[``,N.Binary],[`∘`,N.Binary],[`∙`,N.Binary],[`√`,N.Large],[`∛`,N.Large],[`∜`,N.Large],[`∝`,N.Relation],[`∞`,N.Normal],[`∟`,N.Normal],[`∠`,N.Normal],[`∡`,N.Normal],[`∢`,N.Normal],[``,N.Relation],[`∤`,N.Relation],[`∥`,N.Relation],[`∦`,N.Relation],[`∧`,N.Binary],[``,N.Binary],[`∩`,N.Binary],[``,N.Binary],[`∫`,N.Large],[`∬`,N.Large],[`∭`,N.Large],[`∮`,N.Large],[`∯`,N.Large],[`∰`,N.Large],[`∱`,N.Large],[`∲`,N.Large],[`∳`,N.Large],[`∴`,N.Relation],[`∵`,N.Relation],[``,N.Relation],[`∷`,N.Relation],[`∸`,N.Binary],[`∹`,N.Relation],[`∺`,N.Relation],[`∻`,N.Relation],[``,N.Relation],[`∽`,N.Relation],[`∾`,N.Binary],[`∿`,N.Normal],[`≀`,N.Binary],[`≁`,N.Relation],[`≂`,N.Relation],[`≃`,N.Relation],[`≄`,N.Relation],[`≅`,N.Relation],[`≆`,N.Relation],[`≇`,N.Relation],[`≈`,N.Relation],[`≉`,N.Relation],[`≊`,N.Relation],[`≋`,N.Relation],[`≌`,N.Relation],[`≍`,N.Relation],[`≎`,N.Relation],[`≏`,N.Relation],[`≐`,N.Relation],[`≑`,N.Relation],[`≒`,N.Relation],[`≓`,N.Relation],[`≔`,N.Relation],[`≕`,N.Relation],[`≖`,N.Relation],[`≗`,N.Relation],[`≘`,N.Relation],[`≙`,N.Relation],[`≚`,N.Relation],[`≛`,N.Relation],[`≜`,N.Relation],[`≝`,N.Relation],[`≞`,N.Relation],[`≟`,N.Relation],[`≠`,N.Relation],[`≡`,N.Relation],[`≢`,N.Relation],[`≣`,N.Relation],[`≤`,N.Relation],[`≥`,N.Relation],[`≦`,N.Relation],[`≧`,N.Relation],[`≨`,N.Relation],[`≩`,N.Relation],[`≪`,N.Relation],[`≫`,N.Relation],[`≬`,N.Relation],[`≭`,N.Relation],[`≮`,N.Relation],[`≯`,N.Relation],[`≰`,N.Relation],[`≱`,N.Relation],[`≲`,N.Relation],[`≳`,N.Relation],[`≴`,N.Relation],[`≵`,N.Relation],[`≶`,N.Relation],[`≷`,N.Relation],[`≸`,N.Relation],[`≹`,N.Relation],[`≺`,N.Relation],[`≻`,N.Relation],[`≼`,N.Relation],[`≽`,N.Relation],[`≾`,N.Relation],[`≿`,N.Relation],[`⊀`,N.Relation],[`⊁`,N.Relation],[`⊂`,N.Relation],[`⊃`,N.Relation],[`⊄`,N.Relation],[`⊅`,N.Relation],[`⊆`,N.Relation],[`⊇`,N.Relation],[`⊈`,N.Relation],[`⊉`,N.Relation],[`⊊`,N.Relation],[`⊋`,N.Relation],[`⊌`,N.Binary],[`⊍`,N.Binary],[`⊎`,N.Binary],[`⊏`,N.Relation],[`⊐`,N.Relation],[`⊑`,N.Relation],[`⊒`,N.Relation],[`⊓`,N.Binary],[`⊔`,N.Binary],[`⊕`,N.Binary],[`⊖`,N.Binary],[`⊗`,N.Binary],[`⊘`,N.Binary],[`⊙`,N.Binary],[`⊚`,N.Binary],[`⊛`,N.Binary],[`⊜`,N.Binary],[`⊝`,N.Binary],[`⊞`,N.Binary],[`⊟`,N.Binary],[`⊠`,N.Binary],[`⊡`,N.Binary],[`⊢`,N.Relation],[`⊣`,N.Relation],[``,N.Normal],[`⊥`,N.Relation],[`⊦`,N.Relation],[`⊧`,N.Relation],[`⊨`,N.Relation],[`⊩`,N.Relation],[`⊪`,N.Relation],[`⊫`,N.Relation],[`⊬`,N.Relation],[`⊭`,N.Relation],[`⊮`,N.Relation],[`⊯`,N.Relation],[`⊰`,N.Relation],[`⊱`,N.Relation],[`⊲`,N.Relation],[`⊳`,N.Relation],[`⊴`,N.Relation],[`⊵`,N.Relation],[`⊶`,N.Relation],[`⊷`,N.Relation],[`⊸`,N.Relation],[`⊹`,N.Binary],[`⊺`,N.Binary],[`⊻`,N.Binary],[`⊼`,N.Binary],[`⊽`,N.Binary],[`⊾`,N.Normal],[`⊿`,N.Normal],[`⋀`,N.Large],[``,N.Large],[`⋂`,N.Large],[``,N.Large],[`⋄`,N.Binary],[`⋅`,N.Binary],[`⋆`,N.Binary],[`⋇`,N.Binary],[`⋈`,N.Relation],[`⋉`,N.Binary],[`⋊`,N.Binary],[`⋋`,N.Binary],[`⋌`,N.Binary],[`⋍`,N.Relation],[`⋎`,N.Binary],[`⋏`,N.Binary],[`⋐`,N.Relation],[`⋑`,N.Relation],[`⋒`,N.Binary],[`⋓`,N.Binary],[`⋔`,N.Relation],[`⋕`,N.Relation],[`⋖`,N.Relation],[`⋗`,N.Relation],[`⋘`,N.Relation],[`⋙`,N.Relation],[`⋚`,N.Relation],[`⋛`,N.Relation],[`⋜`,N.Relation],[`⋝`,N.Relation],[`⋞`,N.Relation],[`⋟`,N.Relation],[`⋠`,N.Relation],[`⋡`,N.Relation],[`⋢`,N.Relation],[`⋣`,N.Relation],[`⋤`,N.Relation],[`⋥`,N.Relation],[`⋦`,N.Relation],[`⋧`,N.Relation],[`⋨`,N.Relation],[`⋩`,N.Relation],[`⋪`,N.Relation],[`⋫`,N.Relation],[`⋬`,N.Relation],[`⋭`,N.Relation],[`⋮`,N.Relation],[`⋯`,N.Relation],[`⋰`,N.Relation],[`⋱`,N.Relation],[`⋲`,N.Relation],[`⋳`,N.Relation],[`⋴`,N.Relation],[`⋵`,N.Relation],[`⋶`,N.Relation],[`⋷`,N.Relation],[`⋸`,N.Relation],[`⋹`,N.Relation],[`⋺`,N.Relation],[`⋻`,N.Relation],[`⋼`,N.Relation],[`⋽`,N.Relation],[`⋾`,N.Relation],[``,N.Relation],[`⌀`,N.Normal],[`⌂`,N.Normal],[`⌅`,N.Binary],[`⌆`,N.Binary],[`⌈`,N.Opening],[`⌉`,N.Closing],[`⌊`,N.Opening],[`⌋`,N.Closing],[`⌐`,N.Normal],[`⌑`,N.Normal],[`⌙`,N.Normal],[`⌜`,N.Opening],[`⌝`,N.Closing],[`⌞`,N.Opening],[`⌟`,N.Closing],[`⌠`,N.GlyphPart],[`⌡`,N.GlyphPart],[`⌢`,N.Relation],[`⌣`,N.Relation],[`⌶`,N.Normal],[`⌽`,N.Binary],[`⌿`,N.Relation],[`⍼`,N.Relation],[`⎔`,N.Normal],[`⎛`,N.GlyphPart],[`⎜`,N.GlyphPart],[`⎝`,N.GlyphPart],[`⎞`,N.GlyphPart],[`⎟`,N.GlyphPart],[`⎠`,N.GlyphPart],[`⎡`,N.GlyphPart],[`⎢`,N.GlyphPart],[`⎣`,N.GlyphPart],[`⎤`,N.GlyphPart],[`⎥`,N.GlyphPart],[`⎦`,N.GlyphPart],[`⎧`,N.GlyphPart],[`⎨`,N.GlyphPart],[`⎩`,N.GlyphPart],[`⎪`,N.GlyphPart],[`⎫`,N.GlyphPart],[`⎬`,N.GlyphPart],[`⎭`,N.GlyphPart],[`⎮`,N.GlyphPart],[`⎯`,N.GlyphPart],[`⎰`,N.Relation],[`⎱`,N.Relation],[`⎲`,N.GlyphPart],[`⎳`,N.GlyphPart],[`⎴`,N.Normal],[`⎵`,N.Normal],[`⎶`,N.Normal],[`⎷`,N.GlyphPart],[`⏐`,N.GlyphPart],[`⏜`,N.Normal],[`⏝`,N.Normal],[`⏞`,N.Normal],[`⏟`,N.Normal],[`⏠`,N.Normal],[`⏡`,N.Normal],[`⏢`,N.Normal],[`⏣`,N.Normal],[`⏤`,N.Normal],[`⏥`,N.Normal],[`⏦`,N.Normal],[`⏧`,N.Normal],[`Ⓢ`,N.Normal],[`■`,N.Normal],[`□`,N.Normal],[`▪`,N.Normal],[`▫`,N.Normal],[`▭`,N.Normal],[`▮`,N.Normal],[`▯`,N.Normal],[`▰`,N.Normal],[`▱`,N.Normal],[`▲`,N.Binary],[`△`,N.Binary],[`▴`,N.Binary],[`▵`,N.Binary],[`▶`,N.Binary],[`▷`,N.Binary],[`▸`,N.Binary],[`▹`,N.Binary],[`▼`,N.Binary],[`▽`,N.Binary],[`▾`,N.Binary],[`▿`,N.Binary],[`◀`,N.Binary],[`◁`,N.Binary],[`◂`,N.Binary],[`◃`,N.Binary],[`◄`,N.Binary],[`◅`,N.Binary],[`◆`,N.Normal],[`◇`,N.Normal],[`◈`,N.Normal],[`◉`,N.Normal],[`◊`,N.Binary],[`○`,N.Binary],[`◎`,N.Normal],[`●`,N.Normal],[`◐`,N.Normal],[`◑`,N.Normal],[`◒`,N.Normal],[`◓`,N.Normal],[`◖`,N.Normal],[`◗`,N.Normal],[`◢`,N.Normal],[`◣`,N.Normal],[`◤`,N.Normal],[`◥`,N.Normal],[`◦`,N.Binary],[`◧`,N.Normal],[`◨`,N.Normal],[`◩`,N.Normal],[`◪`,N.Normal],[`◫`,N.Binary],[`◬`,N.Binary],[`◯`,N.Normal],[`◸`,N.Binary],[`◹`,N.Binary],[`◺`,N.Binary],[`◻`,N.Binary],[`◼`,N.Binary],[`◽`,N.Binary],[`◾`,N.Binary],[`◿`,N.Binary],[`★`,N.Binary],[`☆`,N.Binary],[`☉`,N.Normal],[`☌`,N.Normal],[`☽`,N.Normal],[`☾`,N.Normal],[`☿`,N.Normal],[`♀`,N.Normal],[`♁`,N.Normal],[`♂`,N.Normal],[`♃`,N.Normal],[`♄`,N.Normal],[`♆`,N.Normal],[`♇`,N.Normal],[`♈`,N.Normal],[`♉`,N.Normal],[`♠`,N.Normal],[`♡`,N.Normal],[`♢`,N.Normal],[`♣`,N.Normal],[`♤`,N.Normal],[`♥`,N.Normal],[`♦`,N.Normal],[`♧`,N.Normal],[`♩`,N.Normal],[`♭`,N.Normal],[`♮`,N.Normal],[`♯`,N.Normal],[`⚀`,N.Normal],[`⚁`,N.Normal],[`⚂`,N.Normal],[`⚃`,N.Normal],[`⚄`,N.Normal],[`⚅`,N.Normal],[`⚆`,N.Normal],[`⚇`,N.Normal],[`⚈`,N.Normal],[`⚉`,N.Normal],[`⚪`,N.Normal],[`⚫`,N.Normal],[`⚬`,N.Normal],[`⚲`,N.Normal],[`✓`,N.Normal],[`✗`,N.Normal],[`✠`,N.Normal],[`✪`,N.Normal],[`✶`,N.Normal],[``,N.Opening],[``,N.Closing],[`⟀`,N.Normal],[`⟁`,N.Normal],[`⟂`,N.Relation],[`⟃`,N.Relation],[`⟄`,N.Relation],[`⟅`,N.Relation],[`⟆`,N.Relation],[`⟇`,N.Relation],[`⟈`,N.Relation],[`⟉`,N.Relation],[`⟊`,N.Relation],[``,N.Relation],[`⟌`,N.Large],[``,N.Relation],[`⟎`,N.Binary],[`⟏`,N.Binary],[`⟐`,N.Normal],[`⟑`,N.Binary],[`⟒`,N.Relation],[`⟓`,N.Relation],[`⟔`,N.Relation],[`⟕`,N.Large],[`⟖`,N.Large],[`⟗`,N.Large],[`⟘`,N.Large],[``,N.Large],[`⟚`,N.Relation],[`⟛`,N.Relation],[`⟜`,N.Relation],[`⟝`,N.Relation],[`⟞`,N.Relation],[`⟟`,N.Relation],[`⟠`,N.Binary],[`⟡`,N.Binary],[`⟢`,N.Binary],[`⟣`,N.Binary],[`⟤`,N.Binary],[`⟥`,N.Binary],[`⟦`,N.Opening],[`⟧`,N.Closing],[`⟨`,N.Opening],[`⟩`,N.Closing],[`⟪`,N.Opening],[`⟫`,N.Closing],[`⟬`,N.Opening],[`⟭`,N.Closing],[`⟮`,N.Opening],[`⟯`,N.Closing],[`⟰`,N.Relation],[`⟱`,N.Relation],[`⟲`,N.Relation],[`⟳`,N.Relation],[`⟴`,N.Relation],[`⟵`,N.Relation],[`⟶`,N.Relation],[`⟷`,N.Relation],[`⟸`,N.Relation],[`⟹`,N.Relation],[`⟺`,N.Relation],[`⟻`,N.Relation],[`⟼`,N.Relation],[`⟽`,N.Relation],[`⟾`,N.Relation],[`⟿`,N.Relation],[`⤀`,N.Relation],[`⤁`,N.Relation],[`⤂`,N.Relation],[`⤃`,N.Relation],[`⤄`,N.Relation],[`⤅`,N.Relation],[`⤆`,N.Relation],[`⤇`,N.Relation],[`⤈`,N.Relation],[`⤉`,N.Relation],[`⤊`,N.Relation],[`⤋`,N.Relation],[`⤌`,N.Relation],[`⤍`,N.Relation],[`⤎`,N.Relation],[`⤏`,N.Relation],[`⤐`,N.Relation],[`⤑`,N.Relation],[`⤒`,N.Relation],[`⤓`,N.Relation],[`⤔`,N.Relation],[`⤕`,N.Relation],[`⤖`,N.Relation],[`⤗`,N.Relation],[`⤘`,N.Relation],[`⤙`,N.Relation],[`⤚`,N.Relation],[`⤛`,N.Relation],[`⤜`,N.Relation],[`⤝`,N.Relation],[`⤞`,N.Relation],[`⤟`,N.Relation],[`⤠`,N.Relation],[`⤡`,N.Relation],[`⤢`,N.Relation],[`⤣`,N.Relation],[`⤤`,N.Relation],[`⤥`,N.Relation],[`⤦`,N.Relation],[`⤧`,N.Relation],[`⤨`,N.Relation],[`⤩`,N.Relation],[`⤪`,N.Relation],[``,N.Relation],[``,N.Relation],[`⤭`,N.Relation],[`⤮`,N.Relation],[`⤯`,N.Relation],[`⤰`,N.Relation],[`⤱`,N.Relation],[`⤲`,N.Relation],[`⤳`,N.Relation],[`⤴`,N.Relation],[`⤵`,N.Relation],[`⤶`,N.Relation],[`⤷`,N.Relation],[`⤸`,N.Relation],[`⤹`,N.Relation],[`⤺`,N.Relation],[`⤻`,N.Relation],[`⤼`,N.Relation],[`⤽`,N.Relation],[`⤾`,N.Relation],[`⤿`,N.Relation],[`⥀`,N.Relation],[`⥁`,N.Relation],[`⥂`,N.Relation],[`⥃`,N.Relation],[`⥄`,N.Relation],[`⥅`,N.Relation],[`⥆`,N.Relation],[`⥇`,N.Relation],[`⥈`,N.Relation],[`⥉`,N.Relation],[`⥊`,N.Relation],[`⥋`,N.Relation],[`⥌`,N.Relation],[`⥍`,N.Relation],[`⥎`,N.Relation],[`⥏`,N.Relation],[`⥐`,N.Relation],[`⥑`,N.Relation],[`⥒`,N.Relation],[`⥓`,N.Relation],[`⥔`,N.Relation],[`⥕`,N.Relation],[`⥖`,N.Relation],[`⥗`,N.Relation],[`⥘`,N.Relation],[`⥙`,N.Relation],[`⥚`,N.Relation],[`⥛`,N.Relation],[`⥜`,N.Relation],[`⥝`,N.Relation],[`⥞`,N.Relation],[`⥟`,N.Relation],[`⥠`,N.Relation],[`⥡`,N.Relation],[`⥢`,N.Relation],[`⥣`,N.Relation],[`⥤`,N.Relation],[`⥥`,N.Relation],[`⥦`,N.Relation],[`⥧`,N.Relation],[`⥨`,N.Relation],[`⥩`,N.Relation],[`⥪`,N.Relation],[`⥫`,N.Relation],[`⥬`,N.Relation],[`⥭`,N.Relation],[`⥮`,N.Relation],[`⥯`,N.Relation],[`⥰`,N.Relation],[`⥱`,N.Relation],[`⥲`,N.Relation],[`⥳`,N.Relation],[`⥴`,N.Relation],[`⥵`,N.Relation],[`⥶`,N.Relation],[`⥷`,N.Relation],[`⥸`,N.Relation],[`⥹`,N.Relation],[`⥺`,N.Relation],[`⥻`,N.Relation],[`⥼`,N.Relation],[`⥽`,N.Relation],[`⥾`,N.Relation],[`⥿`,N.Relation],[`⦀`,N.Fence],[`⦁`,N.Normal],[`⦂`,N.Fence],[`⦃`,N.Opening],[`⦄`,N.Closing],[`⦅`,N.Opening],[`⦆`,N.Closing],[`⦇`,N.Opening],[`⦈`,N.Closing],[`⦉`,N.Opening],[`⦊`,N.Closing],[`⦋`,N.Opening],[`⦌`,N.Closing],[`⦍`,N.Opening],[`⦎`,N.Closing],[`⦏`,N.Opening],[`⦐`,N.Closing],[`⦑`,N.Opening],[`⦒`,N.Closing],[`⦓`,N.Opening],[`⦔`,N.Closing],[`⦕`,N.Opening],[`⦖`,N.Closing],[`⦗`,N.Opening],[`⦘`,N.Closing],[`⦙`,N.Fence],[`⦚`,N.Fence],[`⦛`,N.Normal],[`⦜`,N.Normal],[`⦝`,N.Normal],[`⦞`,N.Normal],[`⦟`,N.Normal],[`⦠`,N.Normal],[`⦡`,N.Normal],[`⦢`,N.Normal],[`⦣`,N.Normal],[`⦤`,N.Normal],[`⦥`,N.Normal],[`⦦`,N.Normal],[`⦧`,N.Normal],[`⦨`,N.Normal],[`⦩`,N.Normal],[`⦪`,N.Normal],[`⦫`,N.Normal],[`⦬`,N.Normal],[`⦭`,N.Normal],[`⦮`,N.Normal],[`⦯`,N.Normal],[`⦰`,N.Normal],[`⦱`,N.Normal],[`⦲`,N.Normal],[`⦳`,N.Normal],[`⦴`,N.Normal],[`⦵`,N.Normal],[`⦶`,N.Binary],[`⦷`,N.Binary],[`⦸`,N.Binary],[`⦹`,N.Binary],[`⦺`,N.Normal],[`⦻`,N.Normal],[`⦼`,N.Normal],[`⦽`,N.Normal],[`⦾`,N.Normal],[`⦿`,N.Normal],[`⧀`,N.Binary],[`⧁`,N.Binary],[`⧂`,N.Normal],[`⧃`,N.Normal],[`⧄`,N.Binary],[`⧅`,N.Binary],[`⧆`,N.Binary],[`⧇`,N.Binary],[`⧈`,N.Binary],[`⧉`,N.Normal],[`⧊`,N.Normal],[`⧋`,N.Normal],[`⧌`,N.Normal],[`⧍`,N.Normal],[`⧎`,N.Relation],[`⧏`,N.Relation],[`⧐`,N.Relation],[`⧑`,N.Relation],[`⧒`,N.Relation],[`⧓`,N.Relation],[`⧔`,N.Relation],[`⧕`,N.Relation],[`⧖`,N.Binary],[`⧗`,N.Binary],[`⧘`,N.Opening],[`⧙`,N.Closing],[`⧚`,N.Opening],[`⧛`,N.Closing],[`⧜`,N.Normal],[`⧝`,N.Normal],[`⧞`,N.Normal],[`⧟`,N.Relation],[`⧠`,N.Normal],[`⧡`,N.Relation],[`⧢`,N.Binary],[`⧣`,N.Relation],[`⧤`,N.Relation],[`⧥`,N.Relation],[`⧦`,N.Relation],[`⧧`,N.Normal],[`⧨`,N.Normal],[`⧩`,N.Normal],[`⧪`,N.Normal],[`⧫`,N.Binary],[`⧬`,N.Normal],[`⧭`,N.Normal],[`⧮`,N.Normal],[`⧯`,N.Normal],[`⧰`,N.Normal],[`⧱`,N.Normal],[`⧲`,N.Normal],[`⧳`,N.Normal],[`⧴`,N.Relation],[``,N.Binary],[`⧶`,N.Binary],[`⧷`,N.Binary],[``,N.Large],[``,N.Large],[`⧺`,N.Binary],[`⧻`,N.Binary],[`⧼`,N.Opening],[`⧽`,N.Closing],[`⧾`,N.Binary],[`⧿`,N.Binary],[`⨀`,N.Large],[`⨁`,N.Large],[`⨂`,N.Large],[`⨃`,N.Large],[`⨄`,N.Large],[`⨅`,N.Large],[`⨆`,N.Large],[`⨇`,N.Large],[`⨈`,N.Large],[`⨉`,N.Large],[`⨊`,N.Large],[`⨋`,N.Large],[`⨌`,N.Large],[`⨍`,N.Large],[`⨎`,N.Large],[`⨏`,N.Large],[`⨐`,N.Large],[`⨑`,N.Large],[`⨒`,N.Large],[`⨓`,N.Large],[`⨔`,N.Large],[`⨕`,N.Large],[`⨖`,N.Large],[`⨗`,N.Large],[`⨘`,N.Large],[`⨙`,N.Large],[`⨚`,N.Large],[`⨛`,N.Large],[`⨜`,N.Large],[`⨝`,N.Large],[`⨞`,N.Large],[`⨟`,N.Large],[`⨠`,N.Large],[`⨡`,N.Large],[`⨢`,N.Binary],[`⨣`,N.Binary],[`⨤`,N.Binary],[`⨥`,N.Binary],[`⨦`,N.Binary],[`⨧`,N.Binary],[`⨨`,N.Binary],[`⨩`,N.Binary],[`⨪`,N.Binary],[`⨫`,N.Binary],[`⨬`,N.Binary],[`⨭`,N.Binary],[`⨮`,N.Binary],[``,N.Binary],[`⨰`,N.Binary],[`⨱`,N.Binary],[`⨲`,N.Binary],[`⨳`,N.Binary],[`⨴`,N.Binary],[`⨵`,N.Binary],[`⨶`,N.Binary],[`⨷`,N.Binary],[`⨸`,N.Binary],[`⨹`,N.Binary],[`⨺`,N.Binary],[`⨻`,N.Binary],[`⨼`,N.Binary],[`⨽`,N.Binary],[`⨾`,N.Binary],[`⨿`,N.Binary],[`⩀`,N.Binary],[`⩁`,N.Binary],[`⩂`,N.Binary],[`⩃`,N.Binary],[`⩄`,N.Binary],[`⩅`,N.Binary],[`⩆`,N.Binary],[`⩇`,N.Binary],[`⩈`,N.Binary],[`⩉`,N.Binary],[`⩊`,N.Binary],[`⩋`,N.Binary],[`⩌`,N.Binary],[`⩍`,N.Binary],[`⩎`,N.Binary],[`⩏`,N.Binary],[`⩐`,N.Binary],[`⩑`,N.Binary],[`⩒`,N.Binary],[`⩓`,N.Binary],[`⩔`,N.Binary],[`⩕`,N.Binary],[`⩖`,N.Binary],[`⩗`,N.Binary],[`⩘`,N.Binary],[`⩙`,N.Relation],[`⩚`,N.Binary],[`⩛`,N.Binary],[`⩜`,N.Binary],[`⩝`,N.Binary],[`⩞`,N.Binary],[`⩟`,N.Binary],[`⩠`,N.Binary],[`⩡`,N.Binary],[`⩢`,N.Binary],[`⩣`,N.Binary],[`⩤`,N.Binary],[`⩥`,N.Binary],[`⩦`,N.Relation],[`⩧`,N.Relation],[`⩨`,N.Relation],[`⩩`,N.Relation],[`⩪`,N.Relation],[`⩫`,N.Relation],[`⩬`,N.Relation],[`⩭`,N.Relation],[`⩮`,N.Relation],[`⩯`,N.Relation],[`⩰`,N.Relation],[`⩱`,N.Binary],[`⩲`,N.Binary],[`⩳`,N.Relation],[`⩴`,N.Relation],[`⩵`,N.Relation],[`⩶`,N.Relation],[`⩷`,N.Relation],[`⩸`,N.Relation],[`⩹`,N.Relation],[`⩺`,N.Relation],[`⩻`,N.Relation],[`⩼`,N.Relation],[`⩽`,N.Relation],[`⩾`,N.Relation],[`⩿`,N.Relation],[`⪀`,N.Relation],[`⪁`,N.Relation],[`⪂`,N.Relation],[`⪃`,N.Relation],[`⪄`,N.Relation],[`⪅`,N.Relation],[`⪆`,N.Relation],[`⪇`,N.Relation],[`⪈`,N.Relation],[`⪉`,N.Relation],[`⪊`,N.Relation],[`⪋`,N.Relation],[`⪌`,N.Relation],[`⪍`,N.Relation],[`⪎`,N.Relation],[`⪏`,N.Relation],[`⪐`,N.Relation],[`⪑`,N.Relation],[`⪒`,N.Relation],[`⪓`,N.Relation],[`⪔`,N.Relation],[`⪕`,N.Relation],[`⪖`,N.Relation],[`⪗`,N.Relation],[`⪘`,N.Relation],[`⪙`,N.Relation],[`⪚`,N.Relation],[`⪛`,N.Relation],[`⪜`,N.Relation],[`⪝`,N.Relation],[`⪞`,N.Relation],[`⪟`,N.Relation],[`⪠`,N.Relation],[`⪡`,N.Relation],[`⪢`,N.Relation],[`⪣`,N.Relation],[`⪤`,N.Relation],[`⪥`,N.Relation],[`⪦`,N.Relation],[`⪧`,N.Relation],[`⪨`,N.Relation],[`⪩`,N.Relation],[`⪪`,N.Relation],[`⪫`,N.Relation],[`⪬`,N.Relation],[`⪭`,N.Relation],[`⪮`,N.Relation],[`⪯`,N.Relation],[`⪰`,N.Relation],[`⪱`,N.Relation],[`⪲`,N.Relation],[`⪳`,N.Relation],[`⪴`,N.Relation],[`⪵`,N.Relation],[`⪶`,N.Relation],[`⪷`,N.Relation],[`⪸`,N.Relation],[`⪹`,N.Relation],[`⪺`,N.Relation],[`⪻`,N.Relation],[`⪼`,N.Relation],[`⪽`,N.Relation],[`⪾`,N.Relation],[`⪿`,N.Relation],[`⫀`,N.Relation],[`⫁`,N.Relation],[`⫂`,N.Relation],[`⫃`,N.Relation],[`⫄`,N.Relation],[`⫅`,N.Relation],[`⫆`,N.Relation],[`⫇`,N.Relation],[`⫈`,N.Relation],[`⫉`,N.Relation],[`⫊`,N.Relation],[`⫋`,N.Relation],[`⫌`,N.Relation],[`⫍`,N.Relation],[`⫎`,N.Relation],[`⫏`,N.Relation],[`⫐`,N.Relation],[`⫑`,N.Relation],[`⫒`,N.Relation],[`⫓`,N.Relation],[`⫔`,N.Relation],[`⫕`,N.Relation],[`⫖`,N.Relation],[`⫗`,N.Relation],[`⫘`,N.Relation],[`⫙`,N.Relation],[`⫚`,N.Relation],[`⫛`,N.Relation],[`⫝̸`,N.Relation],[`⫝`,N.Relation],[`⫞`,N.Relation],[`⫟`,N.Relation],[`⫠`,N.Relation],[`⫡`,N.Normal],[`⫢`,N.Relation],[`⫣`,N.Relation],[`⫤`,N.Relation],[`⫥`,N.Relation],[`⫦`,N.Relation],[`⫧`,N.Relation],[`⫨`,N.Relation],[`⫩`,N.Relation],[`⫪`,N.Relation],[`⫫`,N.Relation],[`⫬`,N.Relation],[`⫭`,N.Relation],[`⫮`,N.Relation],[`⫯`,N.Relation],[`⫰`,N.Relation],[`⫱`,N.Normal],[`⫲`,N.Relation],[`⫳`,N.Relation],[`⫴`,N.Binary],[`⫵`,N.Binary],[`⫶`,N.Binary],[`⫷`,N.Relation],[`⫸`,N.Relation],[`⫹`,N.Relation],[`⫺`,N.Relation],[`⫻`,N.Binary],[`⫼`,N.Large],[`⫽`,N.Binary],[`⫾`,N.Binary],[`⫿`,N.Large],[`⬀`,N.Relation],[`⬁`,N.Relation],[`⬂`,N.Relation],[`⬃`,N.Relation],[`⬄`,N.Relation],[`⬅`,N.Relation],[`⬆`,N.Relation],[`⬇`,N.Relation],[`⬈`,N.Relation],[`⬉`,N.Relation],[`⬊`,N.Relation],[`⬋`,N.Relation],[`⬌`,N.Relation],[`⬍`,N.Relation],[`⬎`,N.Relation],[`⬏`,N.Relation],[`⬐`,N.Relation],[`⬑`,N.Relation],[`⬒`,N.Normal],[`⬓`,N.Normal],[`⬔`,N.Normal],[`⬕`,N.Normal],[`⬖`,N.Normal],[`⬗`,N.Normal],[`⬘`,N.Normal],[`⬙`,N.Normal],[`⬛`,N.Normal],[`⬜`,N.Normal],[`⬝`,N.Normal],[`⬞`,N.Normal],[`⬟`,N.Normal],[`⬠`,N.Normal],[`⬡`,N.Normal],[`⬢`,N.Normal],[`⬣`,N.Normal],[`⬤`,N.Normal],[`⬥`,N.Normal],[`⬦`,N.Normal],[`⬧`,N.Normal],[`⬨`,N.Normal],[`⬩`,N.Normal],[`⬪`,N.Normal],[`⬫`,N.Normal],[`⬬`,N.Normal],[`⬭`,N.Normal],[`⬮`,N.Normal],[`⬯`,N.Normal],[`⬰`,N.Relation],[`⬱`,N.Relation],[`⬲`,N.Relation],[`⬳`,N.Relation],[`⬴`,N.Relation],[`⬵`,N.Relation],[`⬶`,N.Relation],[`⬷`,N.Relation],[`⬸`,N.Relation],[`⬹`,N.Relation],[`⬺`,N.Relation],[`⬻`,N.Relation],[`⬼`,N.Relation],[`⬽`,N.Relation],[`⬾`,N.Relation],[`⬿`,N.Relation],[`⭀`,N.Relation],[`⭁`,N.Relation],[`⭂`,N.Relation],[`⭃`,N.Relation],[`⭄`,N.Relation],[`⭅`,N.Relation],[`⭆`,N.Relation],[`⭇`,N.Relation],[`⭈`,N.Relation],[`⭉`,N.Relation],[`⭊`,N.Relation],[`⭋`,N.Relation],[`⭌`,N.Relation],[`⭐`,N.Normal],[`⭑`,N.Normal],[`⭒`,N.Normal],[`⭓`,N.Normal],[`⭔`,N.Normal],[`⮕`,N.Relation],[`⯂`,N.Normal],[`⯃`,N.Normal],[`⯄`,N.Normal],[`⯅`,N.Normal],[`⯆`,N.Normal],[`⯇`,N.Normal],[`⯈`,N.Normal],[`⯊`,N.Normal],[`⯋`,N.Normal],[`〈`,N.Special],[`〉`,N.Special],[`〚`,N.Special],[`〛`,N.Special],[`の`,N.Normal],[`﬩`,N.Special],[``,N.Diacritic],[`﹡`,N.Special],[`﹢`,N.Special],[`﹣`,N.Special],[`﹤`,N.Special],[`﹥`,N.Special],[`﹦`,N.Special],[``,N.Special],[``,N.Special],[``,N.Special],[``,N.Special],[``,N.Special],[``,N.Special],[``,N.Special],[``,N.Special],[``,N.Special],[`¬`,N.Special],[`←`,N.Special],[`↑`,N.Special],[`→`,N.Special],[`↓`,N.Special],[`𝐀`,N.Alphabetic],[`𝐁`,N.Alphabetic],[`𝐂`,N.Alphabetic],[`𝐃`,N.Alphabetic],[`𝐄`,N.Alphabetic],[`𝐅`,N.Alphabetic],[`𝐆`,N.Alphabetic],[`𝐇`,N.Alphabetic],[`𝐈`,N.Alphabetic],[`𝐉`,N.Alphabetic],[`𝐊`,N.Alphabetic],[`𝐋`,N.Alphabetic],[`𝐌`,N.Alphabetic],[`𝐍`,N.Alphabetic],[`𝐎`,N.Alphabetic],[`𝐏`,N.Alphabetic],[`𝐐`,N.Alphabetic],[`𝐑`,N.Alphabetic],[`𝐒`,N.Alphabetic],[`𝐓`,N.Alphabetic],[`𝐔`,N.Alphabetic],[`𝐕`,N.Alphabetic],[`𝐖`,N.Alphabetic],[`𝐗`,N.Alphabetic],[`𝐘`,N.Alphabetic],[`𝐙`,N.Alphabetic],[`𝐚`,N.Alphabetic],[`𝐛`,N.Alphabetic],[`𝐜`,N.Alphabetic],[`𝐝`,N.Alphabetic],[`𝐞`,N.Alphabetic],[`𝐟`,N.Alphabetic],[`𝐠`,N.Alphabetic],[`𝐡`,N.Alphabetic],[`𝐢`,N.Alphabetic],[`𝐣`,N.Alphabetic],[`𝐤`,N.Alphabetic],[`𝐥`,N.Alphabetic],[`𝐦`,N.Alphabetic],[`𝐧`,N.Alphabetic],[`𝐨`,N.Alphabetic],[`𝐩`,N.Alphabetic],[`𝐪`,N.Alphabetic],[`𝐫`,N.Alphabetic],[`𝐬`,N.Alphabetic],[`𝐭`,N.Alphabetic],[`𝐮`,N.Alphabetic],[`𝐯`,N.Alphabetic],[`𝐰`,N.Alphabetic],[`𝐱`,N.Alphabetic],[`𝐲`,N.Alphabetic],[`𝐳`,N.Alphabetic],[`𝐴`,N.Alphabetic],[`𝐵`,N.Alphabetic],[`𝐶`,N.Alphabetic],[`𝐷`,N.Alphabetic],[`𝐸`,N.Alphabetic],[`𝐹`,N.Alphabetic],[`𝐺`,N.Alphabetic],[`𝐻`,N.Alphabetic],[`𝐼`,N.Alphabetic],[`𝐽`,N.Alphabetic],[`𝐾`,N.Alphabetic],[`𝐿`,N.Alphabetic],[`𝑀`,N.Alphabetic],[`𝑁`,N.Alphabetic],[`𝑂`,N.Alphabetic],[`𝑃`,N.Alphabetic],[`𝑄`,N.Alphabetic],[`𝑅`,N.Alphabetic],[`𝑆`,N.Alphabetic],[`𝑇`,N.Alphabetic],[`𝑈`,N.Alphabetic],[`𝑉`,N.Alphabetic],[`𝑊`,N.Alphabetic],[`𝑋`,N.Alphabetic],[`𝑌`,N.Alphabetic],[`𝑍`,N.Alphabetic],[`𝑎`,N.Alphabetic],[`𝑏`,N.Alphabetic],[`𝑐`,N.Alphabetic],[`𝑑`,N.Alphabetic],[`𝑒`,N.Alphabetic],[`𝑓`,N.Alphabetic],[`𝑔`,N.Alphabetic],[`𝑖`,N.Alphabetic],[`𝑗`,N.Alphabetic],[`𝑘`,N.Alphabetic],[`𝑙`,N.Alphabetic],[`𝑚`,N.Alphabetic],[`𝑛`,N.Alphabetic],[`𝑜`,N.Alphabetic],[`𝑝`,N.Alphabetic],[`𝑞`,N.Alphabetic],[`𝑟`,N.Alphabetic],[`𝑠`,N.Alphabetic],[`𝑡`,N.Alphabetic],[`𝑢`,N.Alphabetic],[`𝑣`,N.Alphabetic],[`𝑤`,N.Alphabetic],[`𝑥`,N.Alphabetic],[`𝑦`,N.Alphabetic],[`𝑧`,N.Alphabetic],[`𝑨`,N.Alphabetic],[`𝑩`,N.Alphabetic],[`𝑪`,N.Alphabetic],[`𝑫`,N.Alphabetic],[`𝑬`,N.Alphabetic],[`𝑭`,N.Alphabetic],[`𝑮`,N.Alphabetic],[`𝑯`,N.Alphabetic],[`𝑰`,N.Alphabetic],[`𝑱`,N.Alphabetic],[`𝑲`,N.Alphabetic],[`𝑳`,N.Alphabetic],[`𝑴`,N.Alphabetic],[`𝑵`,N.Alphabetic],[`𝑶`,N.Alphabetic],[`𝑷`,N.Alphabetic],[`𝑸`,N.Alphabetic],[`𝑹`,N.Alphabetic],[`𝑺`,N.Alphabetic],[`𝑻`,N.Alphabetic],[`𝑼`,N.Alphabetic],[`𝑽`,N.Alphabetic],[`𝑾`,N.Alphabetic],[`𝑿`,N.Alphabetic],[`𝒀`,N.Alphabetic],[`𝒁`,N.Alphabetic],[`𝒂`,N.Alphabetic],[`𝒃`,N.Alphabetic],[`𝒄`,N.Alphabetic],[`𝒅`,N.Alphabetic],[`𝒆`,N.Alphabetic],[`𝒇`,N.Alphabetic],[`𝒈`,N.Alphabetic],[`𝒉`,N.Alphabetic],[`𝒊`,N.Alphabetic],[`𝒋`,N.Alphabetic],[`𝒌`,N.Alphabetic],[`𝒍`,N.Alphabetic],[`𝒎`,N.Alphabetic],[`𝒏`,N.Alphabetic],[`𝒐`,N.Alphabetic],[`𝒑`,N.Alphabetic],[`𝒒`,N.Alphabetic],[`𝒓`,N.Alphabetic],[`𝒔`,N.Alphabetic],[`𝒕`,N.Alphabetic],[`𝒖`,N.Alphabetic],[`𝒗`,N.Alphabetic],[`𝒘`,N.Alphabetic],[`𝒙`,N.Alphabetic],[`𝒚`,N.Alphabetic],[`𝒛`,N.Alphabetic],[`𝒜`,N.Alphabetic],[`𝒞`,N.Alphabetic],[`𝒟`,N.Alphabetic],[`𝒢`,N.Alphabetic],[`𝒥`,N.Alphabetic],[`𝒦`,N.Alphabetic],[`𝒩`,N.Alphabetic],[`𝒪`,N.Alphabetic],[`𝒫`,N.Alphabetic],[`𝒬`,N.Alphabetic],[`𝒮`,N.Alphabetic],[`𝒯`,N.Alphabetic],[`𝒰`,N.Alphabetic],[`𝒱`,N.Alphabetic],[`𝒲`,N.Alphabetic],[`𝒳`,N.Alphabetic],[`𝒴`,N.Alphabetic],[`𝒵`,N.Alphabetic],[`𝒶`,N.Alphabetic],[`𝒷`,N.Alphabetic],[`𝒸`,N.Alphabetic],[`𝒹`,N.Alphabetic],[`𝒻`,N.Alphabetic],[`𝒽`,N.Alphabetic],[`𝒾`,N.Alphabetic],[`𝒿`,N.Alphabetic],[`𝓀`,N.Alphabetic],[`𝓁`,N.Alphabetic],[`𝓂`,N.Alphabetic],[`𝓃`,N.Alphabetic],[`𝓅`,N.Alphabetic],[`𝓆`,N.Alphabetic],[`𝓇`,N.Alphabetic],[`𝓈`,N.Alphabetic],[`𝓉`,N.Alphabetic],[`𝓊`,N.Alphabetic],[`𝓋`,N.Alphabetic],[`𝓌`,N.Alphabetic],[`𝓍`,N.Alphabetic],[`𝓎`,N.Alphabetic],[`𝓏`,N.Alphabetic],[`𝓐`,N.Alphabetic],[`𝓑`,N.Alphabetic],[`𝓒`,N.Alphabetic],[`𝓓`,N.Alphabetic],[`𝓔`,N.Alphabetic],[`𝓕`,N.Alphabetic],[`𝓖`,N.Alphabetic],[`𝓗`,N.Alphabetic],[`𝓘`,N.Alphabetic],[`𝓙`,N.Alphabetic],[`𝓚`,N.Alphabetic],[`𝓛`,N.Alphabetic],[`𝓜`,N.Alphabetic],[`𝓝`,N.Alphabetic],[`𝓞`,N.Alphabetic],[`𝓟`,N.Alphabetic],[`𝓠`,N.Alphabetic],[`𝓡`,N.Alphabetic],[`𝓢`,N.Alphabetic],[`𝓣`,N.Alphabetic],[`𝓤`,N.Alphabetic],[`𝓥`,N.Alphabetic],[`𝓦`,N.Alphabetic],[`𝓧`,N.Alphabetic],[`𝓨`,N.Alphabetic],[`𝓩`,N.Alphabetic],[`𝓪`,N.Alphabetic],[`𝓫`,N.Alphabetic],[`𝓬`,N.Alphabetic],[`𝓭`,N.Alphabetic],[`𝓮`,N.Alphabetic],[`𝓯`,N.Alphabetic],[`𝓰`,N.Alphabetic],[`𝓱`,N.Alphabetic],[`𝓲`,N.Alphabetic],[`𝓳`,N.Alphabetic],[`𝓴`,N.Alphabetic],[`𝓵`,N.Alphabetic],[`𝓶`,N.Alphabetic],[`𝓷`,N.Alphabetic],[`𝓸`,N.Alphabetic],[`𝓹`,N.Alphabetic],[`𝓺`,N.Alphabetic],[`𝓻`,N.Alphabetic],[`𝓼`,N.Alphabetic],[`𝓽`,N.Alphabetic],[`𝓾`,N.Alphabetic],[`𝓿`,N.Alphabetic],[`𝔀`,N.Alphabetic],[`𝔁`,N.Alphabetic],[`𝔂`,N.Alphabetic],[`𝔃`,N.Alphabetic],[`𝔄`,N.Alphabetic],[`𝔅`,N.Alphabetic],[`𝔇`,N.Alphabetic],[`𝔈`,N.Alphabetic],[`𝔉`,N.Alphabetic],[`𝔊`,N.Alphabetic],[`𝔍`,N.Alphabetic],[`𝔎`,N.Alphabetic],[`𝔏`,N.Alphabetic],[`𝔐`,N.Alphabetic],[`𝔑`,N.Alphabetic],[`𝔒`,N.Alphabetic],[`𝔓`,N.Alphabetic],[`𝔔`,N.Alphabetic],[`𝔖`,N.Alphabetic],[`𝔗`,N.Alphabetic],[`𝔘`,N.Alphabetic],[`𝔙`,N.Alphabetic],[`𝔚`,N.Alphabetic],[`𝔛`,N.Alphabetic],[`𝔜`,N.Alphabetic],[`𝔞`,N.Alphabetic],[`𝔟`,N.Alphabetic],[`𝔠`,N.Alphabetic],[`𝔡`,N.Alphabetic],[`𝔢`,N.Alphabetic],[`𝔣`,N.Alphabetic],[`𝔤`,N.Alphabetic],[`𝔥`,N.Alphabetic],[`𝔦`,N.Alphabetic],[`𝔧`,N.Alphabetic],[`𝔨`,N.Alphabetic],[`𝔩`,N.Alphabetic],[`𝔪`,N.Alphabetic],[`𝔫`,N.Alphabetic],[`𝔬`,N.Alphabetic],[`𝔭`,N.Alphabetic],[`𝔮`,N.Alphabetic],[`𝔯`,N.Alphabetic],[`𝔰`,N.Alphabetic],[`𝔱`,N.Alphabetic],[`𝔲`,N.Alphabetic],[`𝔳`,N.Alphabetic],[`𝔴`,N.Alphabetic],[`𝔵`,N.Alphabetic],[`𝔶`,N.Alphabetic],[`𝔷`,N.Alphabetic],[`𝔸`,N.Alphabetic],[`𝔹`,N.Alphabetic],[`𝔻`,N.Alphabetic],[`𝔼`,N.Alphabetic],[`𝔽`,N.Alphabetic],[`𝔾`,N.Alphabetic],[`𝕀`,N.Alphabetic],[`𝕁`,N.Alphabetic],[`𝕂`,N.Alphabetic],[`𝕃`,N.Alphabetic],[`𝕄`,N.Alphabetic],[`𝕆`,N.Alphabetic],[`𝕊`,N.Alphabetic],[`𝕋`,N.Alphabetic],[`𝕌`,N.Alphabetic],[`𝕍`,N.Alphabetic],[`𝕎`,N.Alphabetic],[`𝕏`,N.Alphabetic],[`𝕐`,N.Alphabetic],[`𝕒`,N.Alphabetic],[`𝕓`,N.Alphabetic],[`𝕔`,N.Alphabetic],[`𝕕`,N.Alphabetic],[`𝕖`,N.Alphabetic],[`𝕗`,N.Alphabetic],[`𝕘`,N.Alphabetic],[`𝕙`,N.Alphabetic],[`𝕚`,N.Alphabetic],[`𝕛`,N.Alphabetic],[`𝕜`,N.Alphabetic],[`𝕝`,N.Alphabetic],[`𝕞`,N.Alphabetic],[`𝕟`,N.Alphabetic],[`𝕠`,N.Alphabetic],[`𝕡`,N.Alphabetic],[`𝕢`,N.Alphabetic],[`𝕣`,N.Alphabetic],[`𝕤`,N.Alphabetic],[`𝕥`,N.Alphabetic],[`𝕦`,N.Alphabetic],[`𝕧`,N.Alphabetic],[`𝕨`,N.Alphabetic],[`𝕩`,N.Alphabetic],[`𝕪`,N.Alphabetic],[`𝕫`,N.Alphabetic],[`𝕬`,N.Alphabetic],[`𝕭`,N.Alphabetic],[`𝕮`,N.Alphabetic],[`𝕯`,N.Alphabetic],[`𝕰`,N.Alphabetic],[`𝕱`,N.Alphabetic],[`𝕲`,N.Alphabetic],[`𝕳`,N.Alphabetic],[`𝕴`,N.Alphabetic],[`𝕵`,N.Alphabetic],[`𝕶`,N.Alphabetic],[`𝕷`,N.Alphabetic],[`𝕸`,N.Alphabetic],[`𝕹`,N.Alphabetic],[`𝕺`,N.Alphabetic],[`𝕻`,N.Alphabetic],[`𝕼`,N.Alphabetic],[`𝕽`,N.Alphabetic],[`𝕾`,N.Alphabetic],[`𝕿`,N.Alphabetic],[`𝖀`,N.Alphabetic],[`𝖁`,N.Alphabetic],[`𝖂`,N.Alphabetic],[`𝖃`,N.Alphabetic],[`𝖄`,N.Alphabetic],[`𝖅`,N.Alphabetic],[`𝖆`,N.Alphabetic],[`𝖇`,N.Alphabetic],[`𝖈`,N.Alphabetic],[`𝖉`,N.Alphabetic],[`𝖊`,N.Alphabetic],[`𝖋`,N.Alphabetic],[`𝖌`,N.Alphabetic],[`𝖍`,N.Alphabetic],[`𝖎`,N.Alphabetic],[`𝖏`,N.Alphabetic],[`𝖐`,N.Alphabetic],[`𝖑`,N.Alphabetic],[`𝖒`,N.Alphabetic],[`𝖓`,N.Alphabetic],[`𝖔`,N.Alphabetic],[`𝖕`,N.Alphabetic],[`𝖖`,N.Alphabetic],[`𝖗`,N.Alphabetic],[`𝖘`,N.Alphabetic],[`𝖙`,N.Alphabetic],[`𝖚`,N.Alphabetic],[`𝖛`,N.Alphabetic],[`𝖜`,N.Alphabetic],[`𝖝`,N.Alphabetic],[`𝖞`,N.Alphabetic],[`𝖟`,N.Alphabetic],[`𝖠`,N.Alphabetic],[`𝖡`,N.Alphabetic],[`𝖢`,N.Alphabetic],[`𝖣`,N.Alphabetic],[`𝖤`,N.Alphabetic],[`𝖥`,N.Alphabetic],[`𝖦`,N.Alphabetic],[`𝖧`,N.Alphabetic],[`𝖨`,N.Alphabetic],[`𝖩`,N.Alphabetic],[`𝖪`,N.Alphabetic],[`𝖫`,N.Alphabetic],[`𝖬`,N.Alphabetic],[`𝖭`,N.Alphabetic],[`𝖮`,N.Alphabetic],[`𝖯`,N.Alphabetic],[`𝖰`,N.Alphabetic],[`𝖱`,N.Alphabetic],[`𝖲`,N.Alphabetic],[`𝖳`,N.Alphabetic],[`𝖴`,N.Alphabetic],[`𝖵`,N.Alphabetic],[`𝖶`,N.Alphabetic],[`𝖷`,N.Alphabetic],[`𝖸`,N.Alphabetic],[`𝖹`,N.Alphabetic],[`𝖺`,N.Alphabetic],[`𝖻`,N.Alphabetic],[`𝖼`,N.Alphabetic],[`𝖽`,N.Alphabetic],[`𝖾`,N.Alphabetic],[`𝖿`,N.Alphabetic],[`𝗀`,N.Alphabetic],[`𝗁`,N.Alphabetic],[`𝗂`,N.Alphabetic],[`𝗃`,N.Alphabetic],[`𝗄`,N.Alphabetic],[`𝗅`,N.Alphabetic],[`𝗆`,N.Alphabetic],[`𝗇`,N.Alphabetic],[`𝗈`,N.Alphabetic],[`𝗉`,N.Alphabetic],[`𝗊`,N.Alphabetic],[`𝗋`,N.Alphabetic],[`𝗌`,N.Alphabetic],[`𝗍`,N.Alphabetic],[`𝗎`,N.Alphabetic],[`𝗏`,N.Alphabetic],[`𝗐`,N.Alphabetic],[`𝗑`,N.Alphabetic],[`𝗒`,N.Alphabetic],[`𝗓`,N.Alphabetic],[`𝗔`,N.Alphabetic],[`𝗕`,N.Alphabetic],[`𝗖`,N.Alphabetic],[`𝗗`,N.Alphabetic],[`𝗘`,N.Alphabetic],[`𝗙`,N.Alphabetic],[`𝗚`,N.Alphabetic],[`𝗛`,N.Alphabetic],[`𝗜`,N.Alphabetic],[`𝗝`,N.Alphabetic],[`𝗞`,N.Alphabetic],[`𝗟`,N.Alphabetic],[`𝗠`,N.Alphabetic],[`𝗡`,N.Alphabetic],[`𝗢`,N.Alphabetic],[`𝗣`,N.Alphabetic],[`𝗤`,N.Alphabetic],[`𝗥`,N.Alphabetic],[`𝗦`,N.Alphabetic],[`𝗧`,N.Alphabetic],[`𝗨`,N.Alphabetic],[`𝗩`,N.Alphabetic],[`𝗪`,N.Alphabetic],[`𝗫`,N.Alphabetic],[`𝗬`,N.Alphabetic],[`𝗭`,N.Alphabetic],[`𝗮`,N.Alphabetic],[`𝗯`,N.Alphabetic],[`𝗰`,N.Alphabetic],[`𝗱`,N.Alphabetic],[`𝗲`,N.Alphabetic],[`𝗳`,N.Alphabetic],[`𝗴`,N.Alphabetic],[`𝗵`,N.Alphabetic],[`𝗶`,N.Alphabetic],[`𝗷`,N.Alphabetic],[`𝗸`,N.Alphabetic],[`𝗹`,N.Alphabetic],[`𝗺`,N.Alphabetic],[`𝗻`,N.Alphabetic],[`𝗼`,N.Alphabetic],[`𝗽`,N.Alphabetic],[`𝗾`,N.Alphabetic],[`𝗿`,N.Alphabetic],[`𝘀`,N.Alphabetic],[`𝘁`,N.Alphabetic],[`𝘂`,N.Alphabetic],[`𝘃`,N.Alphabetic],[`𝘄`,N.Alphabetic],[`𝘅`,N.Alphabetic],[`𝘆`,N.Alphabetic],[`𝘇`,N.Alphabetic],[`𝘈`,N.Alphabetic],[`𝘉`,N.Alphabetic],[`𝘊`,N.Alphabetic],[`𝘋`,N.Alphabetic],[`𝘌`,N.Alphabetic],[`𝘍`,N.Alphabetic],[`𝘎`,N.Alphabetic],[`𝘏`,N.Alphabetic],[`𝘐`,N.Alphabetic],[`𝘑`,N.Alphabetic],[`𝘒`,N.Alphabetic],[`𝘓`,N.Alphabetic],[`𝘔`,N.Alphabetic],[`𝘕`,N.Alphabetic],[`𝘖`,N.Alphabetic],[`𝘗`,N.Alphabetic],[`𝘘`,N.Alphabetic],[`𝘙`,N.Alphabetic],[`𝘚`,N.Alphabetic],[`𝘛`,N.Alphabetic],[`𝘜`,N.Alphabetic],[`𝘝`,N.Alphabetic],[`𝘞`,N.Alphabetic],[`𝘟`,N.Alphabetic],[`𝘠`,N.Alphabetic],[`𝘡`,N.Alphabetic],[`𝘢`,N.Alphabetic],[`𝘣`,N.Alphabetic],[`𝘤`,N.Alphabetic],[`𝘥`,N.Alphabetic],[`𝘦`,N.Alphabetic],[`𝘧`,N.Alphabetic],[`𝘨`,N.Alphabetic],[`𝘩`,N.Alphabetic],[`𝘪`,N.Alphabetic],[`𝘫`,N.Alphabetic],[`𝘬`,N.Alphabetic],[`𝘭`,N.Alphabetic],[`𝘮`,N.Alphabetic],[`𝘯`,N.Alphabetic],[`𝘰`,N.Alphabetic],[`𝘱`,N.Alphabetic],[`𝘲`,N.Alphabetic],[`𝘳`,N.Alphabetic],[`𝘴`,N.Alphabetic],[`𝘵`,N.Alphabetic],[`𝘶`,N.Alphabetic],[`𝘷`,N.Alphabetic],[`𝘸`,N.Alphabetic],[`𝘹`,N.Alphabetic],[`𝘺`,N.Alphabetic],[`𝘻`,N.Alphabetic],[`𝘼`,N.Alphabetic],[`𝘽`,N.Alphabetic],[`𝘾`,N.Alphabetic],[`𝘿`,N.Alphabetic],[`𝙀`,N.Alphabetic],[`𝙁`,N.Alphabetic],[`𝙂`,N.Alphabetic],[`𝙃`,N.Alphabetic],[`𝙄`,N.Alphabetic],[`𝙅`,N.Alphabetic],[`𝙆`,N.Alphabetic],[`𝙇`,N.Alphabetic],[`𝙈`,N.Alphabetic],[`𝙉`,N.Alphabetic],[`𝙊`,N.Alphabetic],[`𝙋`,N.Alphabetic],[`𝙌`,N.Alphabetic],[`𝙍`,N.Alphabetic],[`𝙎`,N.Alphabetic],[`𝙏`,N.Alphabetic],[`𝙐`,N.Alphabetic],[`𝙑`,N.Alphabetic],[`𝙒`,N.Alphabetic],[`𝙓`,N.Alphabetic],[`𝙔`,N.Alphabetic],[`𝙕`,N.Alphabetic],[`𝙖`,N.Alphabetic],[`𝙗`,N.Alphabetic],[`𝙘`,N.Alphabetic],[`𝙙`,N.Alphabetic],[`𝙚`,N.Alphabetic],[`𝙛`,N.Alphabetic],[`𝙜`,N.Alphabetic],[`𝙝`,N.Alphabetic],[`𝙞`,N.Alphabetic],[`𝙟`,N.Alphabetic],[`𝙠`,N.Alphabetic],[`𝙡`,N.Alphabetic],[`𝙢`,N.Alphabetic],[`𝙣`,N.Alphabetic],[`𝙤`,N.Alphabetic],[`𝙥`,N.Alphabetic],[`𝙦`,N.Alphabetic],[`𝙧`,N.Alphabetic],[`𝙨`,N.Alphabetic],[`𝙩`,N.Alphabetic],[`𝙪`,N.Alphabetic],[`𝙫`,N.Alphabetic],[`𝙬`,N.Alphabetic],[`𝙭`,N.Alphabetic],[`𝙮`,N.Alphabetic],[`𝙯`,N.Alphabetic],[`𝙰`,N.Alphabetic],[`𝙱`,N.Alphabetic],[`𝙲`,N.Alphabetic],[`𝙳`,N.Alphabetic],[`𝙴`,N.Alphabetic],[`𝙵`,N.Alphabetic],[`𝙶`,N.Alphabetic],[`𝙷`,N.Alphabetic],[`𝙸`,N.Alphabetic],[`𝙹`,N.Alphabetic],[`𝙺`,N.Alphabetic],[`𝙻`,N.Alphabetic],[`𝙼`,N.Alphabetic],[`𝙽`,N.Alphabetic],[`𝙾`,N.Alphabetic],[`𝙿`,N.Alphabetic],[`𝚀`,N.Alphabetic],[`𝚁`,N.Alphabetic],[`𝚂`,N.Alphabetic],[`𝚃`,N.Alphabetic],[`𝚄`,N.Alphabetic],[`𝚅`,N.Alphabetic],[`𝚆`,N.Alphabetic],[`𝚇`,N.Alphabetic],[`𝚈`,N.Alphabetic],[`𝚉`,N.Alphabetic],[`𝚊`,N.Alphabetic],[`𝚋`,N.Alphabetic],[`𝚌`,N.Alphabetic],[`𝚍`,N.Alphabetic],[`𝚎`,N.Alphabetic],[`𝚏`,N.Alphabetic],[`𝚐`,N.Alphabetic],[`𝚑`,N.Alphabetic],[`𝚒`,N.Alphabetic],[`𝚓`,N.Alphabetic],[`𝚔`,N.Alphabetic],[`𝚕`,N.Alphabetic],[`𝚖`,N.Alphabetic],[`𝚗`,N.Alphabetic],[`𝚘`,N.Alphabetic],[`𝚙`,N.Alphabetic],[`𝚚`,N.Alphabetic],[`𝚛`,N.Alphabetic],[`𝚜`,N.Alphabetic],[`𝚝`,N.Alphabetic],[`𝚞`,N.Alphabetic],[`𝚟`,N.Alphabetic],[`𝚠`,N.Alphabetic],[`𝚡`,N.Alphabetic],[`𝚢`,N.Alphabetic],[`𝚣`,N.Alphabetic],[`𝚤`,N.Alphabetic],[`𝚥`,N.Alphabetic],[`𝚨`,N.Alphabetic],[`𝚩`,N.Alphabetic],[`𝚪`,N.Alphabetic],[`𝚫`,N.Alphabetic],[`𝚬`,N.Alphabetic],[`𝚭`,N.Alphabetic],[`𝚮`,N.Alphabetic],[`𝚯`,N.Alphabetic],[`𝚰`,N.Alphabetic],[`𝚱`,N.Alphabetic],[`𝚲`,N.Alphabetic],[`𝚳`,N.Alphabetic],[`𝚴`,N.Alphabetic],[`𝚵`,N.Alphabetic],[`𝚶`,N.Alphabetic],[`𝚷`,N.Alphabetic],[`𝚸`,N.Alphabetic],[`𝚹`,N.Alphabetic],[`𝚺`,N.Alphabetic],[`𝚻`,N.Alphabetic],[`𝚼`,N.Alphabetic],[`𝚽`,N.Alphabetic],[`𝚾`,N.Alphabetic],[`𝚿`,N.Alphabetic],[`𝛀`,N.Alphabetic],[`𝛁`,N.Alphabetic],[`𝛂`,N.Alphabetic],[`𝛃`,N.Alphabetic],[`𝛄`,N.Alphabetic],[`𝛅`,N.Alphabetic],[`𝛆`,N.Alphabetic],[`𝛇`,N.Alphabetic],[`𝛈`,N.Alphabetic],[`𝛉`,N.Alphabetic],[`𝛊`,N.Alphabetic],[`𝛋`,N.Alphabetic],[`𝛌`,N.Alphabetic],[`𝛍`,N.Alphabetic],[`𝛎`,N.Alphabetic],[`𝛏`,N.Alphabetic],[`𝛐`,N.Alphabetic],[`𝛑`,N.Alphabetic],[`𝛒`,N.Alphabetic],[`𝛓`,N.Alphabetic],[`𝛔`,N.Alphabetic],[`𝛕`,N.Alphabetic],[`𝛖`,N.Alphabetic],[`𝛗`,N.Alphabetic],[`𝛘`,N.Alphabetic],[`𝛙`,N.Alphabetic],[`𝛚`,N.Alphabetic],[`𝛛`,N.Alphabetic],[`𝛜`,N.Alphabetic],[`𝛝`,N.Alphabetic],[`𝛞`,N.Alphabetic],[`𝛟`,N.Alphabetic],[`𝛠`,N.Alphabetic],[`𝛡`,N.Alphabetic],[`𝛢`,N.Alphabetic],[`𝛣`,N.Alphabetic],[`𝛤`,N.Alphabetic],[`𝛥`,N.Alphabetic],[`𝛦`,N.Alphabetic],[`𝛧`,N.Alphabetic],[`𝛨`,N.Alphabetic],[`𝛩`,N.Alphabetic],[`𝛪`,N.Alphabetic],[`𝛫`,N.Alphabetic],[`𝛬`,N.Alphabetic],[`𝛭`,N.Alphabetic],[`𝛮`,N.Alphabetic],[`𝛯`,N.Alphabetic],[`𝛰`,N.Alphabetic],[`𝛱`,N.Alphabetic],[`𝛲`,N.Alphabetic],[`𝛳`,N.Alphabetic],[`𝛴`,N.Alphabetic],[`𝛵`,N.Alphabetic],[`𝛶`,N.Alphabetic],[`𝛷`,N.Alphabetic],[`𝛸`,N.Alphabetic],[`𝛹`,N.Alphabetic],[`𝛺`,N.Alphabetic],[`𝛻`,N.Alphabetic],[`𝛼`,N.Alphabetic],[`𝛽`,N.Alphabetic],[`𝛾`,N.Alphabetic],[`𝛿`,N.Alphabetic],[`𝜀`,N.Alphabetic],[`𝜁`,N.Alphabetic],[`𝜂`,N.Alphabetic],[`𝜃`,N.Alphabetic],[`𝜄`,N.Alphabetic],[`𝜅`,N.Alphabetic],[`𝜆`,N.Alphabetic],[`𝜇`,N.Alphabetic],[`𝜈`,N.Alphabetic],[`𝜉`,N.Alphabetic],[`𝜊`,N.Alphabetic],[`𝜋`,N.Alphabetic],[`𝜌`,N.Alphabetic],[`𝜍`,N.Alphabetic],[`𝜎`,N.Alphabetic],[`𝜏`,N.Alphabetic],[`𝜐`,N.Alphabetic],[`𝜑`,N.Alphabetic],[`𝜒`,N.Alphabetic],[`𝜓`,N.Alphabetic],[`𝜔`,N.Alphabetic],[`𝜕`,N.Alphabetic],[`𝜖`,N.Alphabetic],[`𝜗`,N.Alphabetic],[`𝜘`,N.Alphabetic],[`𝜙`,N.Alphabetic],[`𝜚`,N.Alphabetic],[`𝜛`,N.Alphabetic],[`𝜜`,N.Alphabetic],[`𝜝`,N.Alphabetic],[`𝜞`,N.Alphabetic],[`𝜟`,N.Alphabetic],[`𝜠`,N.Alphabetic],[`𝜡`,N.Alphabetic],[`𝜢`,N.Alphabetic],[`𝜣`,N.Alphabetic],[`𝜤`,N.Alphabetic],[`𝜥`,N.Alphabetic],[`𝜦`,N.Alphabetic],[`𝜧`,N.Alphabetic],[`𝜨`,N.Alphabetic],[`𝜩`,N.Alphabetic],[`𝜪`,N.Alphabetic],[`𝜫`,N.Alphabetic],[`𝜬`,N.Alphabetic],[`𝜭`,N.Alphabetic],[`𝜮`,N.Alphabetic],[`𝜯`,N.Alphabetic],[`𝜰`,N.Alphabetic],[`𝜱`,N.Alphabetic],[`𝜲`,N.Alphabetic],[`𝜳`,N.Alphabetic],[`𝜴`,N.Alphabetic],[`𝜵`,N.Alphabetic],[`𝜶`,N.Alphabetic],[`𝜷`,N.Alphabetic],[`𝜸`,N.Alphabetic],[`𝜹`,N.Alphabetic],[`𝜺`,N.Alphabetic],[`𝜻`,N.Alphabetic],[`𝜼`,N.Alphabetic],[`𝜽`,N.Alphabetic],[`𝜾`,N.Alphabetic],[`𝜿`,N.Alphabetic],[`𝝀`,N.Alphabetic],[`𝝁`,N.Alphabetic],[`𝝂`,N.Alphabetic],[`𝝃`,N.Alphabetic],[`𝝄`,N.Alphabetic],[`𝝅`,N.Alphabetic],[`𝝆`,N.Alphabetic],[`𝝇`,N.Alphabetic],[`𝝈`,N.Alphabetic],[`𝝉`,N.Alphabetic],[`𝝊`,N.Alphabetic],[`𝝋`,N.Alphabetic],[`𝝌`,N.Alphabetic],[`𝝍`,N.Alphabetic],[`𝝎`,N.Alphabetic],[`𝝏`,N.Alphabetic],[`𝝐`,N.Alphabetic],[`𝝑`,N.Alphabetic],[`𝝒`,N.Alphabetic],[`𝝓`,N.Alphabetic],[`𝝔`,N.Alphabetic],[`𝝕`,N.Alphabetic],[`𝝖`,N.Alphabetic],[`𝝗`,N.Alphabetic],[`𝝘`,N.Alphabetic],[`𝝙`,N.Alphabetic],[`𝝚`,N.Alphabetic],[`𝝛`,N.Alphabetic],[`𝝜`,N.Alphabetic],[`𝝝`,N.Alphabetic],[`𝝞`,N.Alphabetic],[`𝝟`,N.Alphabetic],[`𝝠`,N.Alphabetic],[`𝝡`,N.Alphabetic],[`𝝢`,N.Alphabetic],[`𝝣`,N.Alphabetic],[`𝝤`,N.Alphabetic],[`𝝥`,N.Alphabetic],[`𝝦`,N.Alphabetic],[`𝝧`,N.Alphabetic],[`𝝨`,N.Alphabetic],[`𝝩`,N.Alphabetic],[`𝝪`,N.Alphabetic],[`𝝫`,N.Alphabetic],[`𝝬`,N.Alphabetic],[`𝝭`,N.Alphabetic],[`𝝮`,N.Alphabetic],[`𝝯`,N.Alphabetic],[`𝝰`,N.Alphabetic],[`𝝱`,N.Alphabetic],[`𝝲`,N.Alphabetic],[`𝝳`,N.Alphabetic],[`𝝴`,N.Alphabetic],[`𝝵`,N.Alphabetic],[`𝝶`,N.Alphabetic],[`𝝷`,N.Alphabetic],[`𝝸`,N.Alphabetic],[`𝝹`,N.Alphabetic],[`𝝺`,N.Alphabetic],[`𝝻`,N.Alphabetic],[`𝝼`,N.Alphabetic],[`𝝽`,N.Alphabetic],[`𝝾`,N.Alphabetic],[`𝝿`,N.Alphabetic],[`𝞀`,N.Alphabetic],[`𝞁`,N.Alphabetic],[`𝞂`,N.Alphabetic],[`𝞃`,N.Alphabetic],[`𝞄`,N.Alphabetic],[`𝞅`,N.Alphabetic],[`𝞆`,N.Alphabetic],[`𝞇`,N.Alphabetic],[`𝞈`,N.Alphabetic],[`𝞉`,N.Alphabetic],[`𝞊`,N.Alphabetic],[`𝞋`,N.Alphabetic],[`𝞌`,N.Alphabetic],[`𝞍`,N.Alphabetic],[`𝞎`,N.Alphabetic],[`𝞏`,N.Alphabetic],[`𝞐`,N.Alphabetic],[`𝞑`,N.Alphabetic],[`𝞒`,N.Alphabetic],[`𝞓`,N.Alphabetic],[`𝞔`,N.Alphabetic],[`𝞕`,N.Alphabetic],[`𝞖`,N.Alphabetic],[`𝞗`,N.Alphabetic],[`𝞘`,N.Alphabetic],[`𝞙`,N.Alphabetic],[`𝞚`,N.Alphabetic],[`𝞛`,N.Alphabetic],[`𝞜`,N.Alphabetic],[`𝞝`,N.Alphabetic],[`𝞞`,N.Alphabetic],[`𝞟`,N.Alphabetic],[`𝞠`,N.Alphabetic],[`𝞡`,N.Alphabetic],[`𝞢`,N.Alphabetic],[`𝞣`,N.Alphabetic],[`𝞤`,N.Alphabetic],[`𝞥`,N.Alphabetic],[`𝞦`,N.Alphabetic],[`𝞧`,N.Alphabetic],[`𝞨`,N.Alphabetic],[`𝞩`,N.Alphabetic],[`𝞪`,N.Alphabetic],[`𝞫`,N.Alphabetic],[`𝞬`,N.Alphabetic],[`𝞭`,N.Alphabetic],[`𝞮`,N.Alphabetic],[`𝞯`,N.Alphabetic],[`𝞰`,N.Alphabetic],[`𝞱`,N.Alphabetic],[`𝞲`,N.Alphabetic],[`𝞳`,N.Alphabetic],[`𝞴`,N.Alphabetic],[`𝞵`,N.Alphabetic],[`𝞶`,N.Alphabetic],[`𝞷`,N.Alphabetic],[`𝞸`,N.Alphabetic],[`𝞹`,N.Alphabetic],[`𝞺`,N.Alphabetic],[`𝞻`,N.Alphabetic],[`𝞼`,N.Alphabetic],[`𝞽`,N.Alphabetic],[`𝞾`,N.Alphabetic],[`𝞿`,N.Alphabetic],[`𝟀`,N.Alphabetic],[`𝟁`,N.Alphabetic],[`𝟂`,N.Alphabetic],[`𝟃`,N.Alphabetic],[`𝟄`,N.Alphabetic],[`𝟅`,N.Alphabetic],[`𝟆`,N.Alphabetic],[`𝟇`,N.Alphabetic],[`𝟈`,N.Alphabetic],[`𝟉`,N.Alphabetic],[`𝟊`,N.Alphabetic],[`𝟋`,N.Alphabetic],[`𝟎`,N.Normal],[`𝟏`,N.Normal],[`𝟐`,N.Normal],[`𝟑`,N.Normal],[`𝟒`,N.Normal],[`𝟓`,N.Normal],[`𝟔`,N.Normal],[`𝟕`,N.Normal],[`𝟖`,N.Normal],[`𝟗`,N.Normal],[`𝟘`,N.Normal],[`𝟙`,N.Normal],[`𝟚`,N.Normal],[`𝟛`,N.Normal],[`𝟜`,N.Normal],[`𝟝`,N.Normal],[`𝟞`,N.Normal],[`𝟟`,N.Normal],[`𝟠`,N.Normal],[`𝟡`,N.Normal],[`𝟢`,N.Normal],[`𝟣`,N.Normal],[`𝟤`,N.Normal],[`𝟥`,N.Normal],[`𝟦`,N.Normal],[`𝟧`,N.Normal],[`𝟨`,N.Normal],[`𝟩`,N.Normal],[`𝟪`,N.Normal],[`𝟫`,N.Normal],[`𝟬`,N.Normal],[`𝟭`,N.Normal],[`𝟮`,N.Normal],[`𝟯`,N.Normal],[`𝟰`,N.Normal],[`𝟱`,N.Normal],[`𝟲`,N.Normal],[`𝟳`,N.Normal],[`𝟴`,N.Normal],[`𝟵`,N.Normal],[`𝟶`,N.Normal],[`𝟷`,N.Normal],[`𝟸`,N.Normal],[`𝟹`,N.Normal],[`𝟺`,N.Normal],[`𝟻`,N.Normal],[`𝟼`,N.Normal],[`𝟽`,N.Normal],[`𝟾`,N.Normal],[`𝟿`,N.Normal],[`𞸀`,N.Alphabetic],[`𞸁`,N.Alphabetic],[`𞸂`,N.Alphabetic],[`𞸃`,N.Alphabetic],[`𞸅`,N.Alphabetic],[`𞸆`,N.Alphabetic],[`𞸇`,N.Alphabetic],[`𞸈`,N.Alphabetic],[`𞸉`,N.Alphabetic],[`𞸊`,N.Alphabetic],[`𞸋`,N.Alphabetic],[`𞸌`,N.Alphabetic],[`𞸍`,N.Alphabetic],[`𞸎`,N.Alphabetic],[`𞸏`,N.Alphabetic],[`𞸐`,N.Alphabetic],[`𞸑`,N.Alphabetic],[`𞸒`,N.Alphabetic],[`𞸓`,N.Alphabetic],[`𞸔`,N.Alphabetic],[`𞸕`,N.Alphabetic],[`𞸖`,N.Alphabetic],[`𞸗`,N.Alphabetic],[`𞸘`,N.Alphabetic],[`𞸙`,N.Alphabetic],[`𞸚`,N.Alphabetic],[`𞸛`,N.Alphabetic],[`𞸜`,N.Alphabetic],[`𞸝`,N.Alphabetic],[`𞸞`,N.Alphabetic],[`𞸟`,N.Alphabetic],[`𞸡`,N.Alphabetic],[`𞸢`,N.Alphabetic],[`𞸤`,N.Alphabetic],[`𞸧`,N.Alphabetic],[`𞸩`,N.Alphabetic],[`𞸪`,N.Alphabetic],[`𞸫`,N.Alphabetic],[`𞸬`,N.Alphabetic],[`𞸭`,N.Alphabetic],[`𞸮`,N.Alphabetic],[`𞸯`,N.Alphabetic],[`𞸰`,N.Alphabetic],[`𞸱`,N.Alphabetic],[`𞸲`,N.Alphabetic],[`𞸴`,N.Alphabetic],[`𞸵`,N.Alphabetic],[`𞸶`,N.Alphabetic],[`𞸷`,N.Alphabetic],[`𞸹`,N.Alphabetic],[`𞸻`,N.Alphabetic],[`𞹂`,N.Alphabetic],[`𞹇`,N.Alphabetic],[`𞹉`,N.Alphabetic],[`𞹋`,N.Alphabetic],[`𞹍`,N.Alphabetic],[`𞹎`,N.Alphabetic],[`𞹏`,N.Alphabetic],[`𞹑`,N.Alphabetic],[`𞹒`,N.Alphabetic],[`𞹔`,N.Alphabetic],[`𞹗`,N.Alphabetic],[`𞹙`,N.Alphabetic],[`𞹛`,N.Alphabetic],[`𞹝`,N.Alphabetic],[`𞹟`,N.Alphabetic],[`𞹡`,N.Alphabetic],[`𞹢`,N.Alphabetic],[`𞹤`,N.Alphabetic],[`𞹧`,N.Alphabetic],[`𞹨`,N.Alphabetic],[`𞹩`,N.Alphabetic],[`𞹪`,N.Alphabetic],[`𞹬`,N.Alphabetic],[`𞹭`,N.Alphabetic],[`𞹮`,N.Alphabetic],[`𞹯`,N.Alphabetic],[`𞹰`,N.Alphabetic],[`𞹱`,N.Alphabetic],[`𞹲`,N.Alphabetic],[`𞹴`,N.Alphabetic],[`𞹵`,N.Alphabetic],[`𞹶`,N.Alphabetic],[`𞹷`,N.Alphabetic],[`𞹹`,N.Alphabetic],[`𞹺`,N.Alphabetic],[`𞹻`,N.Alphabetic],[`𞹼`,N.Alphabetic],[`𞹾`,N.Alphabetic],[`𞺀`,N.Alphabetic],[`𞺁`,N.Alphabetic],[`𞺂`,N.Alphabetic],[`𞺃`,N.Alphabetic],[`𞺄`,N.Alphabetic],[`𞺅`,N.Alphabetic],[`𞺆`,N.Alphabetic],[`𞺇`,N.Alphabetic],[`𞺈`,N.Alphabetic],[`𞺉`,N.Alphabetic],[`𞺋`,N.Alphabetic],[`𞺌`,N.Alphabetic],[`𞺍`,N.Alphabetic],[`𞺎`,N.Alphabetic],[`𞺏`,N.Alphabetic],[`𞺐`,N.Alphabetic],[`𞺑`,N.Alphabetic],[`𞺒`,N.Alphabetic],[`𞺓`,N.Alphabetic],[`𞺔`,N.Alphabetic],[`𞺕`,N.Alphabetic],[`𞺖`,N.Alphabetic],[`𞺗`,N.Alphabetic],[`𞺘`,N.Alphabetic],[`𞺙`,N.Alphabetic],[`𞺚`,N.Alphabetic],[`𞺛`,N.Alphabetic],[`𞺡`,N.Alphabetic],[`𞺢`,N.Alphabetic],[`𞺣`,N.Alphabetic],[`𞺥`,N.Alphabetic],[`𞺦`,N.Alphabetic],[`𞺧`,N.Alphabetic],[`𞺨`,N.Alphabetic],[`𞺩`,N.Alphabetic],[`𞺫`,N.Alphabetic],[`𞺬`,N.Alphabetic],[`𞺭`,N.Alphabetic],[`𞺮`,N.Alphabetic],[`𞺯`,N.Alphabetic],[`𞺰`,N.Alphabetic],[`𞺱`,N.Alphabetic],[`𞺲`,N.Alphabetic],[`𞺳`,N.Alphabetic],[`𞺴`,N.Alphabetic],[`𞺵`,N.Alphabetic],[`𞺶`,N.Alphabetic],[`𞺷`,N.Alphabetic],[`𞺸`,N.Alphabetic],[`𞺹`,N.Alphabetic],[`𞺺`,N.Alphabetic],[`𞺻`,N.Alphabetic],[`𞻰`,N.Large],[`𞻱`,N.Large],[`🞄`,N.Normal],[`🞌`,N.Normal],[`🞍`,N.Normal],[`🞗`,N.Normal],[`🞘`,N.Normal],[`🞙`,N.Normal],[`🞝`,N.Normal],[`🞞`,N.Normal],[`🞟`,N.Normal]];function at(e){let t=0,n=it.length-1;for(;t<=n;){let r=t+n>>1,i=it[r];if(!i)break;let[a,o]=i;if(a<e)t=r+1;else if(a>e)n=r-1;else return o}}let P;(function(e){function t(){return 0n}e.empty=t;function n(e,t){if(t>=128)throw Error(`SyntaxKind ${t} is out of bounds for SyntaxSet (max 127)`);return e|1n<<BigInt(t)}e.add=n;function r(e,t){return e|t}e.union=r;function i(e,t){return t>=128?!1:(e&1n<<BigInt(t))!=0n}e.contains=i;function a(...e){let t=0n;for(let n of e){if(n>=128)throw Error(`SyntaxKind ${n} is out of bounds for SyntaxSet (max 127)`);t|=1n<<BigInt(n)}return t}e.create=a})(P||={});const ot=P.create(k.Let,k.Set,k.Show,k.Import,k.Include,k.Return),st=P.create(k.Hash,k.MathIdent,k.FieldAccess,k.Dot,k.Comma,k.Semicolon,k.RightParen,k.Text,k.MathText,k.MathShorthand,k.Linebreak,k.MathAlignPoint,k.Escape,k.Str,k.Root,k.Prime),ct=P.create(k.Plus,k.Minus,k.Not),lt=P.create(k.Plus,k.Minus,k.Star,k.Slash,k.And,k.Or,k.EqEq,k.ExclEq,k.Lt,k.LtEq,k.Gt,k.GtEq,k.Eq,k.In,k.PlusEq,k.HyphEq,k.StarEq,k.SlashEq),ut=P.create(k.Ident,k.LeftBrace,k.LeftBracket,k.LeftParen,k.Dollar,k.Let,k.Set,k.Show,k.Context,k.If,k.While,k.For,k.Import,k.Include,k.Break,k.Continue,k.Return,k.None,k.Auto,k.Int,k.Float,k.Bool,k.Numeric,k.Str,k.Label,k.Raw),dt=P.add(ut,k.Underscore),ft=ut,pt=P.union(dt,ct),mt=P.add(pt,k.Dots),ht=P.add(pt,k.Dots),gt=ft,_t=P.add(P.add(gt,k.LeftParen),k.Underscore),vt=P.add(_t,k.Dots),yt=P.add(_t,k.Dots);function bt(e){let t=new wt(e,0,I.Markup);return t.markupExprs(!0,P.create(k.End)),t.finishInto(k.Markup)}function xt(e){let t=new wt(e,0,I.Code);return t.codeExprs(P.create(k.End)),t.finishInto(k.Code)}function St(e){let t=new wt(e,0,I.Math);return t.mathExprs(P.create(k.End)),t.finishInto(k.Math)}function Ct(e,t,n,r,i,a){let o=new wt(e,t,I.Markup);for(r.val=r.val||o.hadNewline();!o.end()&&o.currentStart()<n&&!(!a&&i.val===0&&o.at(k.RightBracket));)i.val=o.markupExpr(r.val,i.val),r.val=o.hadNewline();return o.balanced&&o.currentStart()===n?o.finish():null}var wt=class e{text;lexer;nlMode;token;balanced=!0;nodes=[];memo=new Ft;constructor(t,n,r){this.lexer=new Ke(t,r),this.lexer.jump(n),this.nlMode=F.Continue,this.token=e.lex(this.nodes,this.lexer,this.nlMode),this.text=t}finish(){return this.nodes}finishInto(e){if(!this.at(k.End))throw Error(`Expected End`);return M.inner(e,this.finish())}current(){return this.token.kind}at(e){return this.token.kind===e}atSet(e){return P.contains(e,this.token.kind)}end(){return this.at(k.End)}directlyAt(e){return this.token.kind===e&&!this.hadTrivia()}hadTrivia(){return this.token.nTrivia>0}hadNewline(){return this.token.newline!==null}currentColumn(){return this.token.newline&&this.token.newline.column!==null?this.token.newline.column:this.lexer.column(this.token.start)}currentText(){return this.text.slice(this.token.start,this.currentEnd())}currentStart(){return this.token.start}currentEnd(){return this.lexer.cursor()}prevEnd(){return this.token.prevEnd}marker(){return new Pt(this.nodes.length)}beforeTrivia(){return new Pt(this.nodes.length-this.token.nTrivia)}eatAndGet(){let e=this.nodes.length;return this.eat(),this.nodes[e]}eatIf(e){let t=this.at(e);return t&&this.eat(),t}eatIfDirect(e){let t=this.directlyAt(e);return t&&this.eat(),t}assert(e){if(this.token.kind!==e)throw Error(`Assert failed: expected ${e}, got ${this.token.kind}`);this.eat()}convertAndEat(e){this.token.node.convertToKind(e),this.eat()}eat(){this.nodes.push(this.token.node),this.token=e.lex(this.nodes,this.lexer,this.nlMode)}flushTrivia(){this.token.nTrivia=0,this.token.prevEnd=this.token.start}wrap(e,t){let n=this.beforeTrivia().index,r=Math.min(e.index,n),i=this.nodes.splice(r,n-r);this.nodes.splice(r,0,M.inner(t,i))}enterModes(t,n,r){let i=this.lexer.mode;this.lexer.setMode(t),this.withNlMode(n,r),t!==i&&(this.lexer.setMode(i),this.lexer.jump(this.token.prevEnd),this.nodes.splice(this.nodes.length-this.token.nTrivia,this.token.nTrivia),this.token=e.lex(this.nodes,this.lexer,this.nlMode))}withNlMode(e,t){let n=this.nlMode;if(this.nlMode=e,t(this),this.nlMode=n,this.token.newline&&e!==n){let e=this.token.node.kind();this.nlMode.stopAt(this.token.newline,e)?this.token.kind=k.End:this.token.kind=e}}static lex(e,t,n){let r=t.cursor(),i=0,a=null;for(;;){let o=t.cursor(),[s,c]=t.next();if(k.isTrivia(s)){if(i+=1,e.push(c),t.newline){let e={column:t.mode===I.Markup?t.column(o):null,parbreak:s===k.Parbreak};a=a?{column:a.column??e.column,parbreak:a.parbreak||e.parbreak}:e}continue}return a&&n.stopAt(a,s)?new Mt(k.End,c,i,a,o,r):new Mt(s,c,i,a,o,r)}}memoizeParsedNodes(e,t){let n=this.checkpoint(),r=this.memo.arena.length;for(let e=t;e<n.nodeLen;e++)this.memo.arena.push(this.nodes[e].clone());let i=this.memo.arena.length;this.memo.memoMap.set(e,[r,i,n.state.clone()])}restoreMemoOrCheckpoint(){let e=this.currentStart(),t=this.memo.memoMap.get(e);if(t!==void 0){let[e,n,r]=t;for(let t=e;t<n;t++)this.nodes.push(this.memo.arena[t].clone());return this.restorePartial(r.clone()),null}else return[e,this.checkpoint()]}restore(e){this.nodes.splice(e.nodeLen,this.nodes.length-e.nodeLen),this.restorePartial(e.state)}restorePartial(e){this.lexer.jump(e.cursor),this.lexer.setMode(e.lexMode),this.token=e.token}checkpoint(){let e=this.nodes.length;return new It(e,new Lt(this.lexer.cursor(),this.lexer.mode,this.token.clone()))}expect(e){let t=this.at(e);if(t)this.eat();else if(e===k.Ident&&k.None<=this.token.kind&&this.token.kind<=k.As){this.trimErrors();let t=this.nodes.length;this.eat(),this.nodes[t].expected(k[e]||`unknown`)}else e===k.LeftParen||e===k.RightParen||e===k.LeftBracket||e===k.RightBracket||e===k.LeftBrace||e===k.RightBrace||this.token.kindIsGrouping()||(this.balanced=!1),this.expected(k[e]||`unknown`);return t}expectClosingDelimiter(e,t){this.eatIf(t)||this.nodes[e.index].convertToError(`unclosed delimiter`)}expected(e){this.afterError()||this.expectedAt(this.beforeTrivia(),e)}afterError(){let e=this.beforeTrivia();return e.index>0&&this.nodes[e.index-1].kind()===k.Error}expectedAt(e,t){let n=M.error(He.new(`expected ${t}`),``);this.nodes.splice(e.index,0,n)}hint(e){let t=this.beforeTrivia();if(t.index>0){let n=this.nodes[t.index-1];n&&n.kind()===k.Error&&n.hint(e)}}unexpected(){this.trimErrors(),this.token.kindIsGrouping()||(this.balanced=!1);let e=this.nodes.length;this.eat(),this.nodes[e].unexpected()}trimErrors(){let e=this.beforeTrivia().index,t=e;for(;t>0&&this.nodes[t-1].kind()===k.Error&&this.nodes[t-1].text().length===0;)--t;this.nodes.splice(t,e-t)}markup(e,t,n){let r=t?this.beforeTrivia():this.marker();this.markupExprs(e,n),t&&this.flushTrivia(),this.wrap(r,k.Markup)}markupExprs(e,t){e||=this.hadNewline();let n=0;for(;!this.atSet(t)||n>0&&this.at(k.RightBracket);)n=this.markupExpr(e,n),e=this.hadNewline()}markupExpr(e,t){switch(this.current()){case k.LeftBracket:t+=1,this.convertAndEat(k.Text);break;case k.RightBracket:t>0?(--t,this.convertAndEat(k.Text)):(this.unexpected(),this.hint("try using a backslash escape: `\\]`"));break;case k.Shebang:this.eat();break;case k.Text:case k.Linebreak:case k.Escape:case k.Shorthand:case k.SmartQuote:case k.Link:case k.Label:case k.Raw:this.eat();break;case k.Hash:this.embeddedCodeExpr();break;case k.Star:this.strong();break;case k.Underscore:this.emph();break;case k.HeadingMarker:e?this.heading():this.convertAndEat(k.Text);break;case k.ListMarker:e?this.listItem():this.convertAndEat(k.Text);break;case k.EnumMarker:e?this.enumItem():this.convertAndEat(k.Text);break;case k.TermMarker:e?this.termItem():this.convertAndEat(k.Text);break;case k.RefMarker:this.reference();break;case k.Dollar:this.equation();break;case k.Colon:this.convertAndEat(k.Text);break;default:this.unexpected();break}return t}strong(){this.withNlMode(F.StopParBreak,()=>{let e=this.marker();this.assert(k.Star),this.markup(!1,!0,P.create(k.Star,k.RightBracket,k.End)),this.expectClosingDelimiter(e,k.Star),this.wrap(e,k.Strong)})}emph(){this.withNlMode(F.StopParBreak,()=>{let e=this.marker();this.assert(k.Underscore),this.markup(!1,!0,P.create(k.Underscore,k.RightBracket,k.End)),this.expectClosingDelimiter(e,k.Underscore),this.wrap(e,k.Emph)})}heading(){this.withNlMode(F.Stop,()=>{let e=this.marker();this.assert(k.HeadingMarker),this.markup(!1,!1,P.create(k.Label,k.RightBracket,k.End)),this.wrap(e,k.Heading)})}listItem(){this.withNlMode(F.RequireColumn(this.currentColumn()),()=>{let e=this.marker();this.assert(k.ListMarker),this.markup(!0,!1,P.create(k.RightBracket,k.End)),this.wrap(e,k.ListItem)})}enumItem(){this.withNlMode(F.RequireColumn(this.currentColumn()),()=>{let e=this.marker();this.assert(k.EnumMarker),this.markup(!0,!1,P.create(k.RightBracket,k.End)),this.wrap(e,k.EnumItem)})}termItem(){this.withNlMode(F.RequireColumn(this.currentColumn()),()=>{let e=this.marker();this.withNlMode(F.Stop,()=>{this.assert(k.TermMarker),this.markup(!1,!1,P.create(k.Colon,k.RightBracket,k.End))}),this.expect(k.Colon),this.markup(!0,!1,P.create(k.RightBracket,k.End)),this.wrap(e,k.TermItem)})}reference(){let e=this.marker();this.assert(k.RefMarker),this.directlyAt(k.LeftBracket)&&this.contentBlock(),this.wrap(e,k.Ref)}equation(){let e=this.marker();this.enterModes(I.Math,F.Continue,()=>{this.assert(k.Dollar),this.math(P.create(k.Dollar,k.End)),this.expectClosingDelimiter(e,k.Dollar)}),this.wrap(e,k.Equation)}math(e){let t=this.marker();this.mathExprs(e),this.wrap(t,k.Math)}mathExprs(e){let t=0;for(;!this.atSet(e);)this.atSet(st)?(this.mathExpr(),t++):this.unexpected();return t}mathExpr(){this.mathExprPrec(0,k.End)}mathExprPrec(e,t){let n=this.marker(),r=!1;switch(this.current()){case k.Hash:this.embeddedCodeExpr();break;case k.MathIdent:case k.FieldAccess:r=!0,this.eat(),e<3&&this.directlyAt(k.MathText)&&this.currentText()===`(`&&(this.mathArgs(),this.wrap(n,k.FuncCall),r=!1);break;case k.Dot:case k.Comma:case k.Semicolon:case k.RightParen:this.convertAndEat(k.MathText);break;case k.Text:case k.MathText:case k.MathShorthand:r=at(this.currentText())===N.Alphabetic||Array.from(this.currentText()).every(e=>e.toLowerCase()!==e.toUpperCase()),this.maybeDelimited()||this.eat();break;case k.Linebreak:case k.MathAlignPoint:this.eat();break;case k.Escape:case k.Str:r=!0,this.eat();break;case k.Root:if(e<3){this.eat();let e=this.marker();this.mathExprPrec(2,t),this.mathUnparen(e),this.wrap(n,k.MathRoot)}break;case k.Prime:for(r=!0;this.at(k.Prime);){let e=this.marker();for(this.eat();this.eatIfDirect(k.Prime););this.wrap(e,k.MathPrimes)}break;default:this.expected(`expression`);break}r&&e<3&&!this.hadTrivia()&&this.maybeDelimited()&&this.wrap(n,k.Math);let i=!1;for(;!this.end()&&!this.at(t);){if(this.directlyAt(k.MathText)&&this.currentText()===`!`){this.eat(),this.wrap(n,k.Math);continue}let r=this.marker();if(this.eatIfDirect(k.Prime)){for(;this.eatIfDirect(k.Prime););this.wrap(r,k.MathPrimes),this.at(t)&&this.wrap(n,k.MathAttach),i=!0;continue}let a=this.mathOp(this.current());if(!a){i&&this.wrap(n,k.MathAttach);break}let[o,s,c,l]=a,u=l;if(i&&o===k.MathFrac&&this.wrap(n,k.MathAttach),u<e)break;c===Tt.Left&&(u+=1),o===k.MathFrac&&this.mathUnparen(n),this.eat();let d=this.marker();if(this.mathExprPrec(u,s),this.mathUnparen(d),this.eatIf(k.Underscore)||this.eatIf(k.Hat)){let e=this.marker();this.mathExprPrec(u,k.End),this.mathUnparen(e)}this.wrap(n,o)}}mathOp(e){switch(e){case k.Underscore:return[k.MathAttach,k.Hat,Tt.Right,2];case k.Hat:return[k.MathAttach,k.Underscore,Tt.Right,2];case k.Slash:return[k.MathFrac,k.End,Tt.Left,1];default:return null}}maybeDelimited(){let e=at(this.currentText())===N.Opening;return e&&this.mathDelimited(),e}mathDelimited(){let e=this.marker();this.eat();let t=this.marker();for(;!this.atSet(P.create(k.Dollar,k.End));){if(at(this.currentText())===N.Closing){this.wrap(t,k.Math),this.at(k.RightParen)?this.convertAndEat(k.MathText):this.eat(),this.wrap(e,k.MathDelimited);return}this.atSet(st)?this.mathExpr():this.unexpected()}this.wrap(e,k.Math)}mathUnparen(e){let t=this.nodes[e.index];if(t&&t.kind()===k.MathDelimited){let e=t.childrenMut();if(e&&e.length>=2){let n=e[0],r=e[e.length-1];n.text()===`(`&&r.text()===`)`&&(n._kind=k.LeftParen,r._kind=k.RightParen,t._kind=k.Math)}}}mathArgs(){let e=this.marker();this.convertAndEat(k.LeftParen);let t=!0,n=!1,r=this.marker(),i=new Set;for(;!this.atSet(P.create(k.End,k.Dollar,k.RightParen));)switch(t=this.mathArg(i),this.current()){case k.Comma:this.eat(),t||(r=this.marker());break;case k.Semicolon:t||(r=this.marker()),this.wrap(r,k.Array),this.eat(),r=this.marker(),n=!0;break;case k.End:case k.Dollar:case k.RightParen:break;default:this.expected(`comma or semicolon`);break}r.index!==this.marker().index&&n&&t&&this.wrap(r,k.Array),this.expectClosingDelimiter(e,k.RightParen),this.wrap(e,k.Args)}mathArg(e){let t=this.marker(),n=this.currentStart();if(this.at(k.Dot)){let e=this.lexer.maybeMathSpreadArg(n);if(e){this.token.node=e,this.eat();let n=this.marker(),r=this.mathExprs(P.create(k.End,k.Dollar,k.Comma,k.Semicolon,k.RightParen));if(r===0){let e=[new ze(k.MathText,`.`,this.token.node.span()),new ze(k.MathText,`.`,this.token.node.span())];this.nodes[t.index]=new Be(k.Math,e)}else r>1&&this.wrap(n,k.Math),this.wrap(t,k.Spread);return!0}}let r=!0;if(this.atSet(P.create(k.MathText,k.MathIdent,k.Underscore))){let i=this.lexer.maybeMathNamedArg(n);if(i){this.token.node=i;let n=this.currentText();this.eat(),this.convertAndEat(k.Colon),e.has(n)&&this.nodes[t.index].convertToError(`duplicate argument: ${n}`),e.add(n),r=!1}}let i=this.marker(),a=this.mathExprs(P.create(k.End,k.Dollar,k.Comma,k.Semicolon,k.RightParen));return a===0&&(r||this.expected(`expression`),this.flushTrivia()),a!==1&&this.wrap(i,k.Math),r||this.wrap(t,k.Named),r}code(e){let t=this.marker();this.codeExprs(e),this.wrap(t,k.Code)}codeExprs(e){for(;!this.atSet(e);)this.withNlMode(F.ContextualContinue,()=>{if(!this.atSet(pt)){this.unexpected();return}this.codeExpr(),!this.atSet(e)&&!this.eatIf(k.Semicolon)&&(this.hadNewline()||(this.expected(`semicolon or line break`),this.at(k.Label)&&(this.hint(`labels can only be applied in markup mode`),this.hint("try wrapping your code in a markup block (`[ ]`)"))))})}embeddedCodeExpr(){this.enterModes(I.Code,F.Stop,()=>{if(this.assert(k.Hash),this.hadTrivia()||this.end()){this.expected(`expression`);return}let e=this.atSet(ot),t=this.atSet(ft);this.codeExprPrec(!0,0),t||this.unexpected();let n=(e||this.directlyAt(k.Semicolon))&&this.eatIf(k.Semicolon);e&&!n&&!this.end()&&!this.at(k.RightBracket)&&this.expected(`semicolon or line break`)})}codeExpr(){this.codeExprPrec(!1,0)}codeExprPrec(e,t){let n=this.marker();if(!e&&this.atSet(ct)){let t=Ot(this.current());this.eat(),this.codeExprPrec(e,t),this.wrap(n,k.Unary)}else this.codePrimary(e);for(;;){if(this.directlyAt(k.LeftParen)||this.directlyAt(k.LeftBracket)){this.args(),this.wrap(n,k.FuncCall);continue}let r=this.directlyAt(k.Dot)&&(()=>{let e=new Ke(this.text,this.lexer.mode);return e.jump(this.lexer.cursor()),e.next()[0]===k.Ident})();if(e&&!r)break;if(this.eatIf(k.Dot)){this.expect(k.Ident),this.wrap(n,k.FieldAccess);continue}let i=null;if(this.atSet(lt))i=this.current();else if(t<=Et(`NotIn`)&&this.eatIf(k.Not))if(this.at(k.In))i=`NotIn`;else{this.expected("keyword `in`");break}if(i){let e=Et(i);if(e<t)break;Dt(i)===Tt.Left&&(e+=1),this.eat(),this.codeExprPrec(!1,e),this.wrap(n,k.Binary);continue}break}}codePrimary(e){let t=this.marker();switch(this.current()){case k.Ident:this.eat(),!e&&this.at(k.Arrow)&&(this.wrap(t,k.Params),this.assert(k.Arrow),this.codeExpr(),this.wrap(t,k.Closure));break;case k.Underscore:e?this.expected(`expression`):(this.eat(),this.at(k.Arrow)?(this.wrap(t,k.Params),this.eat(),this.codeExpr(),this.wrap(t,k.Closure)):this.eatIf(k.Eq)?(this.codeExpr(),this.wrap(t,k.DestructAssignment)):this.nodes[t.index].expected(`expression`));break;case k.LeftBrace:this.codeBlock();break;case k.LeftBracket:this.contentBlock();break;case k.LeftParen:this.exprWithParen(e);break;case k.Dollar:this.equation();break;case k.Let:this.letBinding();break;case k.Set:this.setRule();break;case k.Show:this.showRule();break;case k.Context:this.contextual(e);break;case k.If:this.conditional();break;case k.While:this.whileLoop();break;case k.For:this.forLoop();break;case k.Import:this.moduleImport();break;case k.Include:this.moduleInclude();break;case k.Break:this.breakStmt();break;case k.Continue:this.continueStmt();break;case k.Return:this.returnStmt();break;case k.Raw:this.eat();break;case k.None:case k.Auto:case k.Int:case k.Float:case k.Bool:case k.Numeric:case k.Str:case k.Label:this.eat();break;default:this.expected(`expression`);break}}block(){switch(this.current()){case k.LeftBracket:this.contentBlock();break;case k.LeftBrace:this.codeBlock();break;default:this.expected(`block`);break}}codeBlock(){let e=this.marker();this.enterModes(I.Code,F.Continue,()=>{this.assert(k.LeftBrace),this.code(P.create(k.RightBrace,k.RightBracket,k.RightParen,k.End)),this.expectClosingDelimiter(e,k.RightBrace)}),this.wrap(e,k.CodeBlock)}contentBlock(){let e=this.marker();this.enterModes(I.Markup,F.Continue,()=>{this.assert(k.LeftBracket),this.markup(!0,!0,P.create(k.RightBracket,k.End)),this.expectClosingDelimiter(e,k.RightBracket)}),this.wrap(e,k.ContentBlock)}letBinding(){let e=this.marker();this.assert(k.Let);let t=this.marker(),n=!1,r=!1;if(this.eatIf(k.Ident))this.directlyAt(k.LeftParen)&&(this.params(),n=!0);else{let e=new Set;this.pattern(!1,e,null),r=!0}(n||r?this.expect(k.Eq):this.eatIf(k.Eq))&&this.codeExpr(),n&&this.wrap(t,k.Closure),this.wrap(e,k.LetBinding)}setRule(){let e=this.marker();this.assert(k.Set);let t=this.marker();for(this.expect(k.Ident);this.eatIf(k.Dot);)this.expect(k.Ident),this.wrap(t,k.FieldAccess);this.args(),this.eatIf(k.If)&&this.codeExpr(),this.wrap(e,k.SetRule)}showRule(){let e=this.marker();this.assert(k.Show);let t=this.beforeTrivia();this.at(k.Colon)||this.codeExpr(),this.eatIf(k.Colon)?this.codeExpr():this.expectedAt(t,`colon`),this.wrap(e,k.ShowRule)}contextual(e){let t=this.marker();this.assert(k.Context),this.codeExprPrec(e,0),this.wrap(t,k.Contextual)}conditional(){let e=this.marker();this.assert(k.If),this.codeExpr(),this.block(),this.eatIf(k.Else)&&(this.at(k.If)?this.conditional():this.block()),this.wrap(e,k.Conditional)}whileLoop(){let e=this.marker();this.assert(k.While),this.codeExpr(),this.block(),this.wrap(e,k.WhileLoop)}forLoop(){let e=this.marker();this.assert(k.For);let t=new Set;if(this.pattern(!1,t,null),this.at(k.Comma)){let e=this.eatAndGet();e.unexpected(),e.hint(`destructuring patterns must be wrapped in parentheses`),this.atSet(_t)&&this.pattern(!1,t,null)}this.expect(k.In),this.codeExpr(),this.block(),this.wrap(e,k.ForLoop)}moduleImport(){let e=this.marker();this.assert(k.Import),this.codeExpr(),this.eatIf(k.As)&&this.expect(k.Ident),this.eatIf(k.Colon)&&(this.at(k.LeftParen)?this.withNlMode(F.Continue,()=>{let e=this.marker();this.assert(k.LeftParen),this.importItems(),this.expectClosingDelimiter(e,k.RightParen)}):this.eatIf(k.Star)||this.importItems()),this.wrap(e,k.ModuleImport)}importItems(){let e=this.marker();for(;![k.End,k.RightParen,k.RightBracket,k.RightBrace].includes(this.current());){let e=this.marker();for(this.eatIf(k.Ident)||this.unexpected();this.eatIf(k.Dot);)this.expect(k.Ident);this.wrap(e,k.ImportItemPath),this.eatIf(k.As)&&(this.expect(k.Ident),this.wrap(e,k.RenamedImportItem)),this.current()===k.End||this.current()===k.RightParen||this.current()===k.RightBracket||this.current()===k.RightBrace||this.expect(k.Comma)}this.wrap(e,k.ImportItems)}moduleInclude(){let e=this.marker();this.assert(k.Include),this.codeExpr(),this.wrap(e,k.ModuleInclude)}breakStmt(){let e=this.marker();this.assert(k.Break),this.wrap(e,k.LoopBreak)}continueStmt(){let e=this.marker();this.assert(k.Continue),this.wrap(e,k.LoopContinue)}returnStmt(){let e=this.marker();this.assert(k.Return),this.atSet(pt)&&this.codeExpr(),this.wrap(e,k.FuncReturn)}exprWithParen(e){if(e){this.parenthesizedOrArrayOrDict();return}let t=this.restoreMemoOrCheckpoint();if(!t)return;let[n,r]=t,i=r.nodeLen,a=this.parenthesizedOrArrayOrDict();if(this.at(k.Arrow)){this.restore(r);let e=this.marker();if(this.params(),!this.expect(k.Arrow))return;this.codeExpr(),this.wrap(e,k.Closure)}else if(this.at(k.Eq)&&a!==k.Parenthesized){this.restore(r);let e=this.marker(),t=new Set;if(this.destructuringOrParenthesized(!0,t),!this.expect(k.Eq))return;this.codeExpr(),this.wrap(e,k.DestructAssignment)}else return;this.memoizeParsedNodes(n,i)}parenthesizedOrArrayOrDict(){let e={count:0,maybeJustParens:!0,kind:null,seen:new Set},t=this.marker();this.withNlMode(F.Continue,()=>{for(this.assert(k.LeftParen),this.eatIf(k.Colon)&&(e.kind=k.Dict);![k.End,k.RightParen,k.RightBracket,k.RightBrace].includes(this.current());){if(!this.atSet(mt)){this.unexpected();continue}this.arrayOrDictItem(e),e.count++,![k.End,k.RightParen,k.RightBracket,k.RightBrace].includes(this.current())&&this.expect(k.Comma)&&(e.maybeJustParens=!1)}this.expectClosingDelimiter(t,k.RightParen)});let n=e.maybeJustParens&&e.count===1?k.Parenthesized:e.kind??k.Array;return this.wrap(t,n),n}arrayOrDictItem(e){let t=this.marker();if(this.eatIf(k.Dots)){this.codeExpr(),this.wrap(t,k.Spread),e.maybeJustParens=!1;return}if(this.codeExpr(),this.eatIf(k.Colon)){this.codeExpr();let n=this.nodes[t.index],r=n.kind()===k.Ident?k.Named:k.Keyed,i=null;(n.kind()===k.Ident||n.kind()===k.Str)&&(i=n.text()),i&&e.seen.has(i)&&n.convertToError(`duplicate key: ${i}`),i&&e.seen.add(i),this.wrap(t,r),e.maybeJustParens=!1,e.kind===k.Array?this.nodes[t.index].expected(`expression`):e.kind=k.Dict}else e.kind===k.Dict?this.nodes[t.index].expected(`named or keyed pair`):e.kind=k.Array}args(){!this.directlyAt(k.LeftParen)&&!this.directlyAt(k.LeftBracket)&&(this.expected(`argument list`),(this.at(k.LeftParen)||this.at(k.LeftBracket))&&this.hint(`there may not be any spaces before the argument list`));let e=this.marker();if(this.at(k.LeftParen)){let e=this.marker();this.withNlMode(F.Continue,()=>{this.assert(k.LeftParen);let t=new Set;for(;![k.End,k.RightParen,k.RightBracket,k.RightBrace].includes(this.current());){if(!this.atSet(ht)){this.unexpected();continue}this.arg(t),[k.End,k.RightParen,k.RightBracket,k.RightBrace].includes(this.current())||this.expect(k.Comma)}this.expectClosingDelimiter(e,k.RightParen)})}for(;this.directlyAt(k.LeftBracket);)this.contentBlock();this.wrap(e,k.Args)}arg(e){let t=this.marker();if(this.eatIf(k.Dots)){this.codeExpr(),this.wrap(t,k.Spread);return}let n=this.atSet(pt),r=this.currentText();this.codeExpr(),this.eatIf(k.Colon)&&(n&&(this.nodes[t.index].kind()===k.Ident?e.has(r)?this.nodes[t.index].convertToError(`duplicate argument: ${r}`):e.add(r):this.nodes[t.index].expected(`identifier`)),this.codeExpr(),this.wrap(t,k.Named))}params(){let e=this.marker();this.withNlMode(F.Continue,()=>{this.assert(k.LeftParen);let t=new Set,n={sink:!1};for(;![k.End,k.RightParen,k.RightBracket,k.RightBrace].includes(this.current());){if(!this.atSet(vt)){this.unexpected();continue}this.param(t,n),[k.End,k.RightParen,k.RightBracket,k.RightBrace].includes(this.current())||this.expect(k.Comma)}this.expectClosingDelimiter(e,k.RightParen)}),this.wrap(e,k.Params)}param(e,t){let n=this.marker();if(this.eatIf(k.Dots)){this.atSet(gt)&&this.patternLeaf(!1,e,`parameter`),this.wrap(n,k.Spread),t.sink&&this.nodes[n.index].convertToError(`only one argument sink is allowed`),t.sink=!0;return}let r=this.atSet(_t);this.pattern(!1,e,`parameter`),this.eatIf(k.Colon)&&(r&&this.nodes[n.index].kind()!==k.Ident&&this.nodes[n.index].expected(`identifier`),this.codeExpr(),this.wrap(n,k.Named))}pattern(e,t,n){this.at(k.Underscore)?this.eat():this.at(k.LeftParen)?this.destructuringOrParenthesized(e,t):this.patternLeaf(e,t,n)}destructuringOrParenthesized(e,t){let n=!1,r=0,i=!0,a=this.marker();this.withNlMode(F.Continue,()=>{for(this.assert(k.LeftParen);![k.End,k.RightParen,k.RightBracket,k.RightBrace].includes(this.current());){if(!this.atSet(yt)){this.unexpected();continue}let a={sink:n,maybeJustParens:i};this.destructuringItem(e,t,a),n=a.sink,i=a.maybeJustParens,r++,![k.End,k.RightParen,k.RightBracket,k.RightBrace].includes(this.current())&&this.expect(k.Comma)&&(i=!1)}this.expectClosingDelimiter(a,k.RightParen)}),i&&r===1&&!n?this.wrap(a,k.Parenthesized):this.wrap(a,k.Destructuring)}destructuringItem(e,t,n){let r=this.marker();if(this.eatIf(k.Dots)){this.atSet(gt)&&this.patternLeaf(e,t,null),this.wrap(r,k.Spread),n.sink&&this.nodes[r.index].convertToError(`only one destructuring sink is allowed`),n.sink=!0;return}let i=this.atSet(_t),a=this.checkpoint();this.eatIf(k.Ident)&&this.at(k.Colon)||(this.restore(a),this.pattern(e,t,null)),this.eatIf(k.Colon)&&(i&&this.nodes[r.index].kind()!==k.Ident&&this.nodes[r.index].expected(`identifier`),this.pattern(e,t,null),this.wrap(r,k.Named),n.maybeJustParens=!1)}patternLeaf(e,t,n){if(k.isKeyword(this.current())){this.eatAndGet().expected(`pattern`);return}else if(!this.atSet(gt)){this.expected(`pattern`);return}let r=this.marker(),i=this.currentText();if(this.codeExprPrec(!0,0),!e){let e=this.nodes[r.index];e&&e.kind()===k.Ident?t.has(i)?e.convertToError(`duplicate ${n||`binding`}: ${i}`):t.add(i):e&&e.expected(`pattern`)}}};let Tt=function(e){return e[e.Left=0]=`Left`,e[e.Right=1]=`Right`,e}({});function Et(e){if(e===`NotIn`)return 4;switch(e){case k.Star:case k.Slash:return 6;case k.Plus:case k.Minus:return 5;case k.EqEq:case k.ExclEq:case k.Lt:case k.LtEq:case k.Gt:case k.GtEq:case k.In:return 4;case k.And:return 3;case k.Or:return 2;case k.Eq:case k.PlusEq:case k.HyphEq:case k.StarEq:case k.SlashEq:return 1;default:return 0}}function Dt(e){if(e===`NotIn`)return Tt.Left;switch(e){case k.Eq:case k.PlusEq:case k.HyphEq:case k.StarEq:case k.SlashEq:return Tt.Right;default:return Tt.Left}}function Ot(e){switch(e){case k.Plus:case k.Minus:return 7;case k.Not:return 4;default:return 0}}function kt(e,t,n){let r=new wt(e,t,I.Code);return r.codeExprs(P.create(k.End)),r.balanced&&r.currentStart()===n?r.finish():null}function At(e,t,n){let r=new wt(e,t,I.Math);return r.mathExprs(P.create(k.End)),r.balanced&&r.currentStart()===n?r.finish():null}function jt(e,t,n){let r=new wt(e,t,I.Code);if(r.current()!==k.LeftBracket&&r.current()!==k.LeftBrace)throw Error(`Expected LeftBracket or LeftBrace`);return r.block(),r.balanced&&r.prevEnd()===n&&r.finish()[0]||null}var Mt=class e{constructor(e,t,n,r,i,a){this.kind=e,this.node=t,this.nTrivia=n,this.newline=r,this.start=i,this.prevEnd=a}clone(){return new e(this.kind,this.node.clone(),this.nTrivia,this.newline?{...this.newline}:null,this.start,this.prevEnd)}kindIsGrouping(){let e=this.kind;return e===k.LeftParen||e===k.RightParen||e===k.LeftBracket||e===k.RightBracket||e===k.LeftBrace||e===k.RightBrace}};let Nt=function(e){return e[e.Continue=0]=`Continue`,e[e.Stop=1]=`Stop`,e[e.ContextualContinue=2]=`ContextualContinue`,e[e.StopParBreak=3]=`StopParBreak`,e[e.RequireColumn=4]=`RequireColumn`,e}({});var F=class e{constructor(e,t=0){this.kind=e,this.minCol=t}static Continue=new e(Nt.Continue);static Stop=new e(Nt.Stop);static ContextualContinue=new e(Nt.ContextualContinue);static StopParBreak=new e(Nt.StopParBreak);static RequireColumn(t){return new e(Nt.RequireColumn,t)}stopAt(e,t){switch(this.kind){case Nt.Continue:return!1;case Nt.Stop:return!0;case Nt.ContextualContinue:return!(t===k.Else||t===k.Dot||k.isGrouping(t));case Nt.StopParBreak:return e.parbreak;case Nt.RequireColumn:return e.column!==null&&e.column<=this.minCol}}},Pt=class{constructor(e){this.index=e}},Ft=class{arena=[];memoMap=new Map},It=class{constructor(e,t){this.nodeLen=e,this.state=t}},Lt=class e{constructor(e,t,n){this.cursor=e,this.lexMode=t,this.token=n}clone(){return new e(this.cursor,this.lexMode,this.token.clone())}},Rt=class e{static root=new e(`/`);constructor(e){this._path=e}get asRootedPath(){return this._path}get asRootlessPath(){return this._path===`/`?``:this._path.slice(1)}join(t){if(t.length===0)return this;if(t.startsWith(`/`))return e.new(t);let n=this._path===`/`?[]:this._path.split(`/`).filter(Boolean),r=t.split(`/`).filter(Boolean),i=n.slice(0,n.length>0?n.length-1:0);for(let e of r)if(e!==`.`){if(e===`..`){i.length>0&&i.pop();continue}i.push(e)}return new e(`/`+i.join(`/`))}withExtension(t){let n=this._path.lastIndexOf(`/`),r=this._path.lastIndexOf(`.`);return r>n?new e(this._path.slice(0,r)+`.`+t):new e(this._path+`.`+t)}static new(t){let n=t.split(`/`).filter(Boolean),r=[];for(let e of n)e!==`.`&&(e===`..`?r.length>0&&r.pop():r.push(e));return new e(`/`+r.join(`/`))}toString(){return this._path}};function zt(e,t,n,r){if(Bt(t,n,r,null,e,0))return e;let i=j.id(e.span()),a;if(a=e.kind()===k.Code?xt(t):e.kind()===k.Math?St(t):bt(t),i!==void 0)try{a.numberize(i,{start:0n,end:1n<<60n})}catch(e){if(!(e instanceof We))throw e}return a}function Bt(e,t,n,r,i,a){let o={start:2**53-1,end:0},s=a,c=i.kind(),l=i.childrenMut();for(let r=0;r<l.length;r++){let a=l[r],u=a.len(),d={start:s,end:s+u},f=a.descendants();if(!a.isLeaf()&&Vt(d,t)){let o=u+n-(t.end-t.start),l={start:s,end:s+o},d=Bt(e,{...t},n,c,a,s);if(d){let e=a.descendants();return i.updateParent(u,o,f,e),d}if(k.isBlock(a.kind())){let t=jt(e,l.start,l.end);if(t)try{return i.replaceChildren({start:r,end:r+1},[t]),l}catch(e){if(!(e instanceof We))throw e}}}if(Ht(d,t)&&(o.start=Math.min(o.start,r),o.end=r+1),t.end<s)break;s+=u}if(o.start>=o.end)return null;if(i.kind()===k.Markup&&(r===null||r===k.ContentBlock)){let s=1;for(;;){let c=Math.max(0,o.start-Math.max(s,2)),u=Math.min(o.end+s,l.length);for(;c>0&&Wt(l[c]);)c--;for(;u<l.length&&Wt(l[u]);)u++;c>0&&l[c-1].kind()===k.Hash&&c--;let d=0,f=0,p=!0;for(let e=0;e<c;e++)d+=l[e].len(),p=Gt(l[e],p),f=Kt(l[e],f);let m=0,h=p,g=f;for(let e=c;e<u;e++)m+=l[e].len(),h=Gt(l[e],h),g=Kt(l[e],g);let _=a+d,v={start:_,end:_+(m+n-(t.end-t.start))},y=u===l.length,b={val:p},x={val:f},S=Ct(e,v.start,v.end,b,x,r===null);if(S&&(y||b.val===h)&&(y&&r===null||x.val===g))try{return i.replaceChildren({start:c,end:u},S),v}catch(e){if(!(e instanceof We))throw e}if(c===0&&y)break;s*=2}}else if((i.kind()===k.Code||i.kind()===k.Math)&&r===null){let r=1;for(;;){let s=Math.max(0,o.start-r),c=Math.min(o.end+r,l.length),u=0;for(let e=0;e<s;e++)u+=l[e].len();let d=0;for(let e=s;e<c;e++)d+=l[e].len();let f=a+u,p={start:f,end:f+(d+n-(t.end-t.start))},m=i.kind()===k.Code?kt(e,p.start,p.end):At(e,p.start,p.end);if(m)try{return i.replaceChildren({start:s,end:c},m),p}catch(e){if(!(e instanceof We))throw e}if(s===0&&c===l.length)break;r*=2}}return null}function Vt(e,t){return t.start===t.end?e.start<=t.start&&t.start<=e.end:e.start<=t.start&&e.end>=t.end}function Ht(e,t){return e.start<=t.end&&t.start<=e.end}function Ut(e){return Array.from(e).some(e=>e===`
`||e===`\r`||e===`\v`||e===`\f`||e===`…`||e===`\u2028`||e===`\u2029`)}function Wt(e){if(!e)return!1;let t=e.kind();return k.isTrivia(t)||t===k.Error||t===k.Semicolon||e.text()===`/`||e.text()===`:`}function Gt(e,t){let n=e.kind();return k.isTrivia(n)?t||n===k.Parbreak||n===k.Space&&Ut(e.text()):!1}function Kt(e,t){if(e.kind()===k.Text){if(e.text()===`[`)return t+1;if(e.text()===`]`&&t>0)return t-1}return t}let I=function(e){return e[e.Markup=0]=`Markup`,e[e.Math=1]=`Math`,e[e.Code=2]=`Code`,e[e.Opaque=3]=`Opaque`,e}({}),L=function(e){return e.TypstSVG=`typst-svg`,e.MathJax=`mathjax`,e}({}),qt=function(e){return e.Inline=`inline`,e.Baseline=`baseline`,e.Middle=`middle`,e}({}),Jt=function(e){return e.Block=`block`,e.BlockCenter=`block-center`,e}({}),Yt=function(e){return e.Block=`block`,e.BlockCenter=`block-center`,e.Codeblock=`codeblock`,e}({}),Xt=function(e){return e.Default=`default`,e}({});const Zt={id:`new`,renderingEngine:L.TypstSVG,format:`#set page(margin: (x: 0pt, y: 0.3125em))
\${CODE}$`,styling:qt.Inline,disableSuggest:!1,noPreamble:!1,fitToNoteWidth:!1,syntaxMode:I.Math,useReplaceAll:!1},Qt={id:`new`,renderingEngine:L.TypstSVG,format:`$ {CODE} $`,styling:Jt.BlockCenter,disableSuggest:!1,noPreamble:!1,fitToNoteWidth:!1,syntaxMode:I.Math,useReplaceAll:!1},$t={id:`new`,renderingEngine:L.TypstSVG,format:`#{CODE}`,styling:Yt.BlockCenter,disableSuggest:!1,noPreamble:!1,fitToNoteWidth:!1,syntaxMode:I.Markup,useReplaceAll:!1},en={id:`new`,renderingEngine:L.TypstSVG,format:`#set page(margin: 0.3125em)
\${CODE}$`,styling:Xt.Default,disableSuggest:!1,noPreamble:!1,fitToNoteWidth:!1,syntaxMode:I.Markup,useReplaceAll:!1},tn={inline:Zt,display:Qt,codeblock:$t,excalidraw:en},nn=16,rn=`--typst-base-color`,an=`<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><g transform="translate(50 50) scale(3.687) translate(-7.22315 -12.20305)"><path d="M7.88785 18.1481C7.88785 19.2805 8.05033 20.0404 8.3753 20.4278C8.70026 20.8152 9.29111 21.0089 10.1478 21.0089C11.0341 21.0089 12.1715 20.5619 13.56 19.6679L14.4463 21.143C11.8465 23.3184 9.70471 24.4061 8.02079 24.4061C6.33687 24.4061 5.00745 24.0038 4.03255 23.1992C3.05765 22.3648 2.5702 20.9046 2.5702 18.8186V7.10728H0.35451L0 5.45338L2.5702 4.64879V2.45849L7.88785 0V4.91699L13.1169 4.51469L12.6294 7.42018L7.88785 7.24138V18.1481Z" fill="currentColor"/></g></svg>`,on=an.replace(`fill="currentColor"`,`fill="none" stroke="currentColor" stroke-width="2" stroke-linejoin="round" stroke-linecap="round"`),R={concealMathSymbols:!0,enableConcealMathSymbolRevealDelay:!0,mathSymbolRevealDelay:1e3,complementSymbolWithUnicode:!1,disableBracketHighlight:!1,useObsidianTheme:!1,enableInlinePreview:!0,revertTabToDefault:!1,jumpOutsideBracket:!0,preferInlineExitForSingleLineDisplayMath:!0,moveToEndOfMathBlockBeforeExiting:!1,disableMacro:!1,enableBackgroundRendering:!0,patchPDFExport:!1,autoBaseColor:!0,baseColor:`#000000`,offset:0,fitToNoteWidthProfile:`Live`,fitToNoteWidthProfiles:[{name:`A3`,width:`700pt`},{name:`A4`,width:`500pt`},{name:`A5`,width:`350pt`},{name:`Legal`,width:`516pt`},{name:`Letter`,width:`516pt`},{name:`Tabloid`,width:`690pt`}],skipPreparationWaiting:!1,disablePackageCache:!1,preamble:[`#set page(margin: 0pt, width: auto, height: auto)`,`#show raw: set text(size: 1.25em)`,`#set text(size: fontsize)`,`#import "@preview/mannot:0.3.1": *`,`#import "@preview/quick-maths:0.2.1": shorthands`,`#show: shorthands.with(`,` ($+-$, sym.plus.minus),`,` ($|-$, math.tack),`,`)`].join(`
`),openTypstToolsOnStartup:!0,enableMathjaxFallback:!1,applyProcessorToMathJax:!1,importPath:`.typst`,enableDebugger:!1,processor:{inline:{processors:[{id:`ce`,renderingEngine:L.TypstSVG,format:[`#import "@preview/typsium:0.3.1": ce`,`#show math.equation: set text(font: ("New Computer Modern Math", "Noto Serif CJK SC"))`,`#ce[{CODE}]`].join(`
`),styling:qt.Inline,noPreamble:!1,fitToNoteWidth:!1,syntaxMode:I.Markup},{id:`tex`,renderingEngine:L.MathJax,format:``,styling:qt.Inline,noPreamble:!1,fitToNoteWidth:!1},{id:`display`,renderingEngine:L.TypstSVG,format:`#set page(margin: (x: 0pt, y: 0.3125em))
#math.equation($ {CODE} $, block: false)`,styling:qt.Inline,noPreamble:!1,fitToNoteWidth:!1,syntaxMode:I.Math,useReplaceAll:!1},{id:``,renderingEngine:L.TypstSVG,format:`#set page(margin: (x: 0pt, y: 0.3125em))
\${CODE}$`,styling:qt.Inline,noPreamble:!1,fitToNoteWidth:!1,syntaxMode:I.Math,useReplaceAll:!1}]},display:{processors:[{id:`block`,renderingEngine:L.TypstSVG,format:`$ {CODE} $`,styling:Jt.Block,noPreamble:!1,fitToNoteWidth:!1,syntaxMode:I.Math,useReplaceAll:!1},{id:``,renderingEngine:L.TypstSVG,format:`$ {CODE} $`,styling:Jt.BlockCenter,noPreamble:!1,fitToNoteWidth:!1,syntaxMode:I.Math,useReplaceAll:!1}]},codeblock:{processors:[{id:`typst`,renderingEngine:L.TypstSVG,format:`{CODE}`,styling:Yt.BlockCenter,noPreamble:!1,fitToNoteWidth:!0,syntaxMode:I.Markup,useReplaceAll:!1},{id:`fletcher`,renderingEngine:L.TypstSVG,format:`#import "@preview/fletcher:0.5.8" as fletcher: diagram, node, edge
{CODE}`,styling:Yt.BlockCenter,noPreamble:!1,fitToNoteWidth:!1,syntaxMode:I.Markup,useReplaceAll:!1},{id:`lovelace`,renderingEngine:L.TypstSVG,format:`#import "@preview/lovelace:0.3.0": *
#pseudocode-list[
{CODE}
]`,styling:Yt.Block,noPreamble:!1,fitToNoteWidth:!1,syntaxMode:I.Markup,useReplaceAll:!1},{id:`lilaq`,renderingEngine:L.TypstSVG,format:`#import "@preview/lilaq:0.5.0" as lq
{CODE}`,styling:Yt.BlockCenter,noPreamble:!1,fitToNoteWidth:!1,syntaxMode:I.Markup,useReplaceAll:!1}]},excalidraw:{processors:[{id:`default`,renderingEngine:L.TypstSVG,format:`#set page(margin: 0.25em)
\${CODE}$`,styling:Xt.Default,noPreamble:!1,syntaxMode:I.Math,useReplaceAll:!1}]}},snippets:[{category:`Matrix`,name:`mat`,description:`e.g. mat(3,3)@`,kind:`display`,id:``,content:'const parts = input.split(",").map(s => s.trim());\n\nconst [x, y] = parts.map(Number)\n\nconst rowText = `${("#CURSOR, ".repeat(x)).slice(0, -2)} ;\\n`;\nconst contentText = ` ${rowText}`.repeat(y);\n\nreturn `mat(\\n${contentText})`;',script:!0},{category:`Matrix`,name:`matInline`,description:`e.g. mat(3,3)@`,kind:`inline`,id:``,content:'const parts = input.split(",").map(s => s.trim());\n\nconst [x, y] = parts.map(Number)\n\nconst rowText = `${("#CURSOR, ".repeat(x)).slice(0, -2)} ;`;\nconst contentText = `${rowText}`.repeat(y);\n\nreturn `mat(${contentText})`;',script:!0},{category:`Cases`,name:`cases`,description:``,kind:`display`,id:``,content:`cases(#CURSOR "if" #CURSOR, #CURSOR "else")`,script:!1},{category:`Cases`,name:`casesn`,description:`e.g. casesn(3)@`,kind:`display`,id:``,content:'const n = Number(input);\nreturn `cases(\\n${(` #CURSOR "if" #CURSOR,\\n`).repeat(n-1)} #CURSOR "else"\\n)`',script:!0}],crashCount:0};var sn=class{constructor(e){this.view=e}jumpTo(e,t){if(e.type===`url`)return window.open(e.url);if(e.type!==`file`||e.pos===void 0)return;let n=t.closest(`.typstmate-codeblockpreview`),r=n?.dataset.regionFrom?parseInt(n.dataset.regionFrom,10):this.view.posAtDOM(t),i=qn(this.view,r);if(!i)return;let a=i.from+t.offset,o=e.pos+a,s=o<=i.from?i.from:i.to<=o?i.to:o;this.view.focus(),this.view.dispatch({selection:{anchor:s,head:s},scrollIntoView:!0});let c=this.view.state.facet(O);i.from<=o&&o<=i.to&&requestAnimationFrame(()=>{c.triggerRippleEffect(this.view,s)})}};const cn=d.ViewPlugin.fromClass(sn),ln=cn;function un(e){let t=document.createElement(`div`);t.classList.add(`typstmate-diag`);let n=e.severity===`error`?document.createElement(`strong`):document.createElement(`em`);if(n.textContent=e.message,t.appendChild(n),e.hints&&0<e.hints.length){let n=document.createElement(`div`);n.classList.add(`typstmate-diag-hints`),e.hints.forEach((e,t)=>{let r=document.createElement(`div`);r.textContent=`${t+1}. ${e}`,n.appendChild(r)}),t.appendChild(n)}return t}function dn(e,t){if(t.noDiag)return[];let n=z(e);if(!n)return[];let r=n.from+n.skip+t.offset,i=e.state.doc.length,a=t.diagnostics.map(e=>({from:Math.max(n.from,Math.min(e.from+r,i)),to:Math.max(n.from,Math.min(e.to+r,i)),message:e.message||`Error`,severity:e.severity,renderMessage:()=>un({severity:e.severity,message:e.message,hints:e.hints})})),o=[],s=new Set,c=new Set;for(let e of a){let t=`${e.from}-${e.to}-${e.message}`;if(!s.has(t)){if(s.add(t),e.from===e.to){if(c.has(e.from))continue;c.add(e.from)}o.push(e)}}return o}const fn=u.StateField.define({create(){},update(e,t){for(let e of t.effects)if(e.is(pn))return e.value;return e}}),pn=u.StateEffect.define(),mn=(e,t)=>{e.dispatch({effects:pn.of(t)});let n=dn(e,t);e.dispatch((0,p.setDiagnostics)(e.state,n))};function hn(e){if(e.typstManager?.currentNoteWidth!==void 0)return e.typstManager.currentNoteWidth;let t=e.app.workspace.getActiveViewOfType(l.MarkdownView),n=t?.contentEl.find(`div.el-p p`),r=t?.editor.editorComponent?.sizerEl.find(`.cm-line`),i=t?.editor.editorComponent?.sizerEl.find(`.cm-content`),a=n?.clientWidth?n.clientWidth:1/0,o=r?.clientWidth?r.clientWidth:1/0,s=i?.clientWidth?i?.clientWidth:1/0,c=parseInt(getComputedStyle(document.body).getPropertyValue(`--file-line-width`),10),u=Math.min(a,o,s,Number.isNaN(c)?1/0:c);return`${(u===1/0?700:u)/4*3}pt`}var gn=class extends l.Modal{constructor(e,t){super(e);for(let e of t){new l.Setting(this.contentEl).setName(e.message).setHeading();for(let t of e.hints)new l.Setting(this.contentEl).setName(`hint: ${t}`)}}},_n=class extends HTMLElement{ndir;npath;kind;source;processor;noDiag;offset=0;plugin;isErr=!0;menu=new l.Menu().addItem(e=>{e.setTitle(`Copy as script`).onClick(()=>{let e=this.format().replaceAll(`fontsize`,`${(this.plugin.app.vault.config.baseFontSize??16)/1.25}pt`);navigator.clipboard.writeText(e),new l.Notice(`Copied to clipboard!`)})});postProcess(e){this.isErr=!1;let t=this.plugin.app.workspace.getActiveFileView();t instanceof l.MarkdownView&&setTimeout(()=>{mn(t.editor.cm,{diagnostics:e.diags,processor:this.processor,noDiag:this.noDiag,offset:this.offset})},0),this.plugin.typstManager.beforeKind=this.kind}format(){let e=this.processor.useReplaceAll?this.processor.format.replaceAll(`{CODE}`,this.source):this.processor.format.replace(`{CODE}`,this.source);if(e=`${this.plugin.typstManager.preamble}\n${e}${this.kind===`inline`?`#text(size:0pt)[TypstMate]`:``}`,e=this.processor.noPreamble?e:`${this.plugin.settings.preamble}\n${e}`,this.offset=-this.processor.format.indexOf(`{CODE}`)-(this.processor.noPreamble?0:this.plugin.settings.preamble.length+1)-this.plugin.typstManager.preamble.length-1,this.processor.fitToNoteWidth){let t=hn(this.plugin);e=`#let WIDTH = ${t}\n${e}`,this.offset-=16+t.length,this.dataset.fitToNoteWidth=`true`}return e}handleError(e){this.isErr=!0,this.plugin.typstManager.beforeKind=this.kind;let t=this.plugin.app.workspace.getActiveFileView();if(t instanceof l.MarkdownView&&mn(t.editor.cm,{diagnostics:e,processor:this.processor,noDiag:this.noDiag,offset:this.offset}),this.plugin.settings.enableMathjaxFallback)this.replaceChildren(this.plugin.originalTex2chtml(this.source,{display:this.kind!==`inline`}));else{if(t instanceof l.MarkdownView&&z(t.editor.cm)){this.innerHTML=this.innerHTML.replaceAll(`--typst-base-color`,`--text-faint`);return}let n=document.createElement(`span`);n.className=`typstmate-error`,n.textContent=`${e[0]?.message}${e[0]?.hints.length===0?``:` [${e[0]?.hints.length} hints]`}`,e[0]?.hints.length!==0&&n.addEventListener(`click`,()=>new gn(this.plugin.app,e).open()),this.replaceChildren(n)}}connectedCallback(){this.addEventListener(`contextmenu`,e=>{e.preventDefault(),this.menu.showAtPosition({x:e.pageX,y:e.pageY})})}},vn=class extends _n{connectedCallback(){this.addEventListener(`contextmenu`,e=>{this.querySelector(`svg`)&&(e.preventDefault(),this.menu.showAtPosition({x:e.pageX,y:e.pageY}))}),this.addEventListener(`click`,async e=>{await this.jump(e)})}constructor(){super(),this.menu.addSeparator(),this.menu.addItem(e=>{e.setTitle(`Copy as SVG (Obsidian Theme)`).onClick(async()=>{if(this.isErr)return;let e=getComputedStyle(document.body).getPropertyValue(`--text-normal`).trim();await yn(this.innerHTML.replaceAll(`var(${rn})`,e)),new l.Notice(`Copied to clipboard!`)})}),this.menu.addItem(e=>{e.setTitle(`Copy as SVG (Typst Default)`).onClick(async()=>{this.isErr||(await yn(this.innerHTML.replaceAll(`var(${rn})`,`#000000`)),new l.Notice(`Copied to clipboard!`))})}),this.menu.addSeparator(),this.menu.addItem(e=>{e.setTitle(`Copy as PNG (Transparent)`).onClick(async()=>{if(this.isErr)return;let e=getComputedStyle(document.body).getPropertyValue(`--text-normal`).trim(),t=await xn(this.innerHTML.replaceAll(`var(${rn})`,e),this);t?(await bn(t),new l.Notice(`Copied to clipboard!`)):new l.Notice(`Failed to convert SVG to PNG`)})}),this.menu.addItem(e=>{e.setTitle(`Copy as PNG (Opaque)`).onClick(async()=>{if(this.isErr)return;let e=getComputedStyle(document.body),t=e.getPropertyValue(`--text-normal`).trim(),n=e.getPropertyValue(`--background-primary`).trim(),r=await xn(this.innerHTML.replaceAll(`var(${rn})`,t),this,n);r?(await bn(r),new l.Notice(`Copied to clipboard!`)):new l.Notice(`Failed to convert SVG to PNG`)})}),this.menu.addSeparator(),this.menu.addItem(e=>{e.setTitle(`Copy as img tag (for embedding into Obsidian notes)`).onClick(async()=>{if(this.isErr)return;let e=getComputedStyle(document.body).getPropertyValue(`--text-normal`).trim(),t=this.innerHTML.replaceAll(`var(${rn})`,e).replaceAll(`
`,``),n=`<img src="${`data:image/svg+xml,${encodeURIComponent(t)}`}">`;await navigator.clipboard.writeText(n),new l.Notice(`Copied to clipboard!`)})})}async render(){let e=this.format();try{let t=this.plugin.typst.svg(e,this.ndir,this.kind,this.id);t instanceof Promise?t.then(e=>this.postProcess(e)).catch(e=>this.handleError(e)):this.postProcess(t)}catch(e){this.handleError(e)}return this}postProcess(e){super.postProcess(e),this.innerHTML=e.svg}async jump(e){if(this.kind!==`codeblock`)return;let t=this.querySelector(`svg`);if(!t)return;let n=t.getBoundingClientRect(),r=(e.clientX-n.left)/(n.width/t.viewBox.baseVal.width),i=(e.clientY-n.top)/(n.height/t.viewBox.baseVal.height);await this.plugin.typst.svg(this.format(),this.ndir,this.kind,this.id);let a=await this.plugin.typst.jumpFromClick(r,i);if(a){let e=this.plugin.app.workspace.getActiveFileView();if(!(e instanceof l.MarkdownView))return;e.editor.cm.plugin(cn)?.jumpTo(a,this)}}};async function yn(e){try{let t=new Blob([e],{type:`image/svg+xml`}),n=new Blob([e],{type:`text/plain`}),r=new ClipboardItem({"image/svg+xml":t,"text/plain":n});await navigator.clipboard.write([r])}catch{navigator.clipboard.writeText(e)}}async function bn(e){try{let t=new ClipboardItem({"image/png":e});await navigator.clipboard.write([t])}catch{navigator.clipboard.writeText(e.toString())}}async function xn(e,t,n,r=2){let i=t.querySelector(`svg`);if(!i)return null;let{width:a,height:o}=i.getBBox();a*=r,o*=r;let s=new Blob([e],{type:`image/svg+xml`}),c=URL.createObjectURL(s);try{let e=await Sn(c),t=document.createElement(`canvas`);t.width=a,t.height=o;let r=t.getContext(`2d`);return r?(n&&(r.fillStyle=n,r.fillRect(0,0,t.width,t.height)),r.drawImage(e,0,0,t.width,t.height),await Cn(t)):null}catch{return null}finally{URL.revokeObjectURL(c)}}async function Sn(e){let t=new Image;return t.src=e,await t.decode(),t}async function Cn(e){return new Promise(t=>{e.toBlob(t,`image/png`)})}function wn(e,t){let n=window.customElements,r=n.get(e);if(!r){n.define(e,t);return}let i=(e,t)=>{let n=Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e));for(let r of n)if(r!==`constructor`)try{let n=Object.getOwnPropertyDescriptor(e,r);n&&Object.defineProperty(t,r,n)}catch(e){console.warn(`Failed to copy property ${String(r)}:`,e)}},a=(e,t)=>{i(e,t);let n=Object.getPrototypeOf(e),r=Object.getPrototypeOf(t);n&&r&&n!==HTMLElement.prototype&&n!==Object.prototype&&a(n,r)};a(t.prototype,r.prototype);let o=Object.getOwnPropertyNames(t).filter(e=>![`length`,`name`,`prototype`].includes(e));for(let e of o)try{let n=Object.getOwnPropertyDescriptor(t,e);n&&Object.defineProperty(r,e,n)}catch(t){console.warn(`Failed to copy static property ${e}:`,t)}t.observedAttributes&&Object.defineProperty(r,`observedAttributes`,{get(){return t.observedAttributes},configurable:!0});try{Object.defineProperty(r.prototype,`constructor`,{value:r,writable:!0,configurable:!0})}catch{}let s=Array.from(document.querySelectorAll(e)),c=t.observedAttributes??[];for(let e of s){if(Object.setPrototypeOf(e,r.prototype),typeof e.disconnectedCallback==`function`)try{e.disconnectedCallback()}catch(e){console.warn(`disconnectedCallback error during reload:`,e)}if(e.isConnected&&typeof r.prototype.connectedCallback==`function`)try{r.prototype.connectedCallback.call(e)}catch(e){console.error(`connectedCallback error during reload:`,e)}if(c.length>0&&typeof r.prototype.attributeChangedCallback==`function`){for(let t of c)if(e.hasAttribute(t))try{r.prototype.attributeChangedCallback.call(e,t,null,e.getAttribute(t))}catch(e){console.error(`attributeChangedCallback error during reload:`,e)}}}}var Tn=new TextEncoder,En=new TextDecoder;function Dn(e){let t=4;for(let[n,r]of e){let e=Tn.encode(n);t+=4+e.length,t+=1,r&&(t+=4+r.byteLength)}let n=new Uint8Array(t),r=new DataView(n.buffer,n.byteOffset,n.byteLength),i=0;r.setUint32(i,e.size,!0),i+=4;for(let[t,a]of e){let e=Tn.encode(t);r.setUint32(i,e.length,!0),i+=4,n.set(e,i),i+=e.length,a===void 0?n[i++]=0:(n[i++]=1,r.setUint32(i,a.byteLength,!0),i+=4,n.set(a,i),i+=a.byteLength)}if(i!==t)throw Error(`internal error: length mismatch`);return n}function On(e){let t=e instanceof Uint8Array?e:new Uint8Array(e),n=new DataView(t.buffer,t.byteOffset,t.byteLength),r=0,i=new Map;if(t.byteLength<4)throw Error(`internal error: buffer too small for count`);let a=n.getUint32(r,!0);r+=4;for(let e=0;e<a;e++){if(r+4>t.byteLength)throw Error(`internal error: unexpected end (keyLen)`);let e=n.getUint32(r,!0);if(r+=4,r+e>t.byteLength)throw Error(`internal error: unexpected end (keyBytes)`);let a=t.subarray(r,r+e),o=En.decode(a);if(r+=e,r+1>t.byteLength)throw Error(`internal error: unexpected end (hasValue)`);if(t[r++]===0)i.set(o,void 0);else{if(r+4>t.byteLength)throw Error(`internal error: unexpected end (valueLen)`);let e=n.getUint32(r,!0);if(r+=4,r+e>t.byteLength)throw Error(`internal error: unexpected end (valueBytes)`);let a=t.subarray(r,r+e),s=new Uint8Array(a);r+=e,i.set(o,s)}}return i}function kn(e){let t=new Set;for(let n of e){let e=n.slice(1).split(`/`),r=e[0];t.add(r);for(let n=1;n<e.length;n++)r=`${r}/${e[n]}`,t.add(r)}return t}var An=/\n([ \t]*> )/g,jn=class{plugin;ready=!1;beforeKind;beforeProcessor;beforeElement=document.createElement(`span`);lastStateHash;preamble=``;tagFiles=new Set;currentNoteWidth;constructor(e){this.plugin=e}async init(){this.ready=!1,this.plugin.updateCrashStatus(!0),this.updateNoteWidth(),await this.plugin.typst.init(await this.plugin.app.vault.adapter.readBinary(this.plugin.wasmPath),this.plugin.app.vault.config.baseFontSize??16,this.plugin.settings.offset);let e=(await this.plugin.app.vault.adapter.list(this.plugin.fontsDirNPath)).files.filter(e=>e.endsWith(`.font`)||e.endsWith(`.otf`)||e.endsWith(`.otc`)||e.endsWith(`.ttf`)||e.endsWith(`.ttc`)),t=(await Promise.all(e.map(e=>this.plugin.app.vault.adapter.readBinary(e).catch(()=>{new l.Notice(`Failed to load font: ${e.split(`/`).pop()}`)})))).filter(e=>e!==void 0);this.plugin.excalidrawPluginInstalled&&[`inline`,`display`,`codeblock`].push(`excalidraw`);let n=new Map;if(!this.plugin.settings.disablePackageCache){let e=(await this.plugin.app.vault.adapter.list(this.plugin.cachesDirNPath)).files.filter(e=>e.endsWith(`.cache`));for(let t of e)try{let e=On(await this.plugin.app.vault.adapter.readBinary(t));for(let[t,r]of e)n.set(`@${t}`,new Uint8Array(r))}catch{new l.Notice(`Failed to load cache: ${t.split(`/`).pop()}`)}}let r=await this.collectTagFiles();if(this.plugin.settings.skipPreparationWaiting){let e=this.plugin.typst.store({fonts:t,sources:n,files:r});e instanceof Promise?e.then(()=>{this.ready=!0,this.plugin.updateCrashStatus(!1);let e=document.querySelectorAll(`.typstmate-waiting`);for(let t of e){let e=t.textContent,n=this.plugin.app.workspace.getActiveFile(),r=n?.parent?Pn(n.path):`/`,i=n?.path;t.empty(),this.render(e,t,t.getAttribute(`kind`),r,i)}}):(this.ready=!0,this.plugin.updateCrashStatus(!1))}else await this.plugin.typst.store({fonts:t,sources:n,files:r}),this.ready=!0,this.plugin.updateCrashStatus(!1)}registerOnce(){wn(`typstmate-svg`,vn);for(let e of this.plugin.settings.processor.codeblock?.processors??[])try{this.plugin.registerMarkdownCodeBlockProcessor(e.id,(t,n,r)=>{if(!this.ready)return n.textContent=t,n.addClass(`typstmate-waiting`),n.setAttribute(`kind`,e.id),Promise.resolve(n);let i=r.sourcePath,a=Pn(i);return Promise.resolve(this.render(t,n,e.id,a,i))})}catch{new l.Notice(`Already registered codeblock language: ${e.id}`)}this.plugin.registerMarkdownPostProcessor((e,t)=>{if(t.sourcePath===this.plugin.app.workspace.getActiveFile()?.path)return;let n=e.querySelectorAll(`.math`);for(let e of n){let n=e.hasClass(`math-inline`),r=e.textContent;e.setText(``);let i=document.createElement(`mjx-container`);i.className=`Mathjax`,i.setAttribute(`jax`,`CHTML`),e.replaceChildren(this.render(r,i,n?`inline`:`display`,t.sourcePath)),e.setAttribute(`contenteditable`,`false`),e.addClass(`is-loaded`)}},-100),window.MathJax.tex2chtml=(e,t)=>{let n=document.createElement(`mjx-container`);if(n.className=`Mathjax`,n.setAttribute(`jax`,`CHTML`),!this.ready)return n.textContent=e,n.addClass(`typstmate-waiting`),n.setAttribute(`kind`,t.display?`display`:`inline`),n;let r=this.plugin.app.workspace.getActiveFile(),i=r?.parent?Pn(r.path):`/`,a=r?.path;return this.render(e,n,t.display?`display`:`inline`,i,a)}}render(e,t,n,r,i){if(i){let t=this.plugin.app.metadataCache.getCache(i);if(t){if((n===`inline`||n===`display`)&&t?.frontmatter?.[`math-engine`]===`mathjax`)return this.plugin.originalTex2chtml(e,{display:n!==`inline`});this.syncFileCache(t)}}else this.preamble=``;let a;switch(n){case`inline`:case`display`:{let{eqStart:t,eqEnd:r,processor:i}=Mn(this.plugin.settings,e,n===`display`);e=r===0?e.slice(t):e.slice(t,-r),a=i;break}case`excalidraw`:a=this.plugin.settings.processor.excalidraw?.processors.find(t=>e.startsWith(`${t.id}`))??R.processor.excalidraw?.processors.at(-1),a.id.length!==0&&(e=e.slice(a.id.length));break;default:a=this.plugin.settings.processor.codeblock?.processors.find(e=>e.id===n)??R.processor.codeblock?.processors.at(-1),a.styling===`codeblock`&&(t.addClass(`HyperMD-codeblock`,`HyperMD-codeblock-bg`),t=t.createEl(`code`)),n=`codeblock`}if(this.beforeProcessor=a,a.renderingEngine===`mathjax`)return this.plugin.settings.applyProcessorToMathJax&&(e=a.format.replace(`{CODE}`,e)),this.plugin.originalTex2chtml(e,{display:n!==`inline`});t.addClass(`typstmate-${n}`,`typstmate-style-${a.styling}`,`typstmate-id-${a.id}`);let o=document.createElement(`typstmate-svg`);o.plugin=this.plugin,o.kind=n,o.source=e,o.processor=a,o.ndir=r,o.npath=i,t.appendChild(o);let{id:s}=this.beforeProcessor;return this.beforeKind===n&&s===a.id&&o.replaceChildren(this.beforeElement.cloneNode(!0)),o.render(),this.beforeElement=o,t}async collectFiles(e,t,n){let{filePaths:r,folderPaths:i}=await this.list(t);await Promise.all(r.map(async t=>{try{let r=new Uint8Array(await this.readBinary(t));n.set(t.replace(e,``),r)}catch{}}));for(let t of i)await this.collectFiles(e,t,n)}async createCache(e,t,n){let r=new Map,i=n??this.plugin.localPackagesDirPaths;for(let t of i)try{await this.collectFiles(t,`${e.namespace}/${e.name}/${e.version}`,r)}catch{}await this.plugin.app.vault.adapter.writeBinary(`${this.plugin.cachesDirNPath}/${e.namespace}_${e.name}_${e.version}.cache`,Dn(r).slice().buffer);let a=new Map;for(let[e,t]of r)a.set(`@${e}`,t);return t&&await this.plugin.typst.store({sources:a}),a}async list(e){let t=[],n=[];if(this.plugin.path?.isAbsolute(e)){let r=await this.plugin.fs.promises.readdir(e,{withFileTypes:!0});for(let i of r){let r=this.plugin.path.join(e,i.name);i.isDirectory()?n.push(r):i.isFile()&&t.push(r)}}else{let r=await this.plugin.app.vault.adapter.list(e);t=r.files,n=r.folders}return{filePaths:t,folderPaths:n}}async readBinary(e){let{fs:t}=this.plugin;return t?this.plugin.path?.isAbsolute(e)?t.readFileSync(e):t.readFileSync(`${this.plugin.baseDirPath}/${e}`):this.plugin.app.vault.adapter.readBinary(e)}async collectTagFiles(){let e=new Map;if(!this.plugin.settings.importPath)return e;let t=this.plugin.settings.importPath;if(!await this.plugin.app.vault.adapter.exists(t))return e;let n=await this.plugin.app.vault.adapter.list(t);for(let t of n.files){if(!t.endsWith(`.typ`))continue;let n=await this.plugin.app.vault.adapter.read(t);e.set(`/${t}`,n)}let r=`${t}/tags`;if(!n.folders.contains(r))return e;let i=await this.plugin.app.vault.adapter.list(r);for(let n of i.files){if(!n.endsWith(`.typ`))continue;let r=await this.plugin.app.vault.adapter.read(n);e.set(`/${n}`,r),this.tagFiles.add(n.slice(t.length+1).slice(5).slice(0,-4).replaceAll(`.`,`/`))}return e}syncFileCache(e){let t=e.frontmatter?.imports??[],n=e.frontmatter?.definitions??[],r=[];for(let t of kn((0,l.getAllTags)(e)??[]))this.tagFiles.has(t)&&r.push(t);let i=JSON.stringify([r,t,n]);if(i===this.lastStateHash)return!1;this.lastStateHash=i,this.preamble=``;for(let e of r)this.preamble+=`#import "${this.plugin.baseDirPath}/${this.plugin.settings.importPath}/tags/${e.replaceAll(`/`,`.`)}.typ": *;`;for(let e of t)this.preamble+=`#import ${e};`;for(let e of n)this.preamble+=`#let ${e};`;return!0}refreshView(){let e=this.plugin.app.workspace.getActiveFileView();e instanceof l.MarkdownView&&(e.getMode()===`preview`?e.previewMode.rerender(!0):e.leaf.rebuildView())}updateNoteWidth(){let e=this.plugin.settings.fitToNoteWidthProfile;if(e!==`Live`){let t=this.plugin.settings.fitToNoteWidthProfiles.find(t=>t.name===e);if(t){this.currentNoteWidth=t.width;return}}this.currentNoteWidth=void 0}};const Mn=(e,t,n)=>{let r=0,i=0,a;if(n){t=t.replaceAll(`<br>`,``),t=t.replace(An,(e,t)=>`\n${``.repeat(t.length)}`);let n=e.processor.display?.processors;a=n?.find(e=>t.startsWith(e.id))??n?.at(-1),a.id.length>0&&(r+=a.id.length)}else{t.startsWith(`{}`)&&(t.startsWith(`{} `)?r+=3:r+=2),t.endsWith(`{}`)&&(t.endsWith(` {}`)?i+=3:i+=2),t=t.slice(r);let n=e.processor.inline?.processors;a=n?.find(e=>t.startsWith(`${e.id}:`))??n.at(-1),a.id.length>0&&(r+=a.id.length+1)}return{eqStart:r,eqEnd:i,processor:a}};function Nn(e){return{ndir:e?.parent?Pn(e.path):`/`,npath:e?.path}}function Pn(e){let t=e.lastIndexOf(`/`);return t===-1?`/`:`/${e.slice(0,t+1)}`}var Fn=`formatting_formatting-math_formatting-math-begin_keyword_math`,In=`formatting_formatting-math_formatting-math-begin_keyword_math_math-block`,Ln=`formatting_formatting-math_formatting-math-end_keyword_math_math-`,Rn=`HyperMD-codeblock_HyperMD-codeblock-begin_HyperMD-codeblock-begin-bg_HyperMD-codeblock-bg`,zn=`HyperMD-codeblock_HyperMD-codeblock-bg_HyperMD-codeblock-end_HyperMD-codeblock-end-bg`;const Bn=(e,t,n)=>{let r=(0,f.syntaxTree)(e.state),i=[],a=0,o=null,s=!1,c=null,l=``;return r.iterate({from:t,to:n,enter:t=>{switch(t.name){case Fn:o=t.to,s=!1;break;case In:o=t.to,s=!0;break;case Ln:{if(o===null)break;let e=o,n=t.from,r=s?`display`:`inline`;e<=n&&(i.push({from:e,to:n,kind:r,index:a}),a++),o=null;break}case Rn:c=t.to,l=e.state.sliceDoc(t.from+3,c).trim();break;case zn:{if(c===null)break;let e=t.from-1;c<e&&(i.push({index:a,from:c+1,to:e,kind:`codeblock`,lang:l}),a++),c=null;break}}return!0}}),i};function Vn(e,t){let n=(0,f.syntaxTree)(e.state),{from:r,to:i}=e.viewport,a=null,o=!1,s=null,c=``,l=null,u=0;return n.iterate({from:r,to:i,enter:n=>{if(l!==null)return!1;switch(n.name){case Fn:a=n.to,o=!1;break;case In:a=n.to,o=!0;break;case Ln:{if(a===null)break;let e=a,r=n.from,i=o?`display`:`inline`;if(e<=r){if(e<=t&&t<=r)return l={from:e,to:r,kind:i,index:u},!1;if(e>t)return!1;u++}a=null;break}case Rn:s=n.to,c=e.state.sliceDoc(n.from+3,s).trim();break;case zn:{if(s===null)break;let e=n.from-1;if(s<e){let n=s+1;if(n<=t&&t<=e)return l={index:u,from:n,to:e,kind:`codeblock`,lang:c},!1;if(n>t)return!1;u++}s=null;break}}return!0}}),l}var Hn=(e,t,n,r=!1)=>{if(n.kind===`codeblock`){let i=e.state.doc.lineAt(n.from-1).text.slice(3).trim();n.lang=i;let a=t.plugin.settings.processor.codeblock?.processors.find(e=>e.id===i);if(a===void 0)return null;let o;if(a.renderingEngine===L.MathJax||a.syntaxMode===null)o=void 0;else if(!r){let t=a.syntaxMode??I.Markup,r=e.state.sliceDoc(n.from,n.to);o=t===I.Code?xt(r):t===I.Math?St(r):bt(r)}return{index:n.index,skip:0,skipEnd:0,from:n.from,to:n.to,kind:`codeblock`,processor:a,tree:o,syntaxMode:void 0,syntaxKind:void 0,defaultMode:a.syntaxMode??I.Markup}}let i=n.kind===`display`,a=e.state.sliceDoc(n.from,n.to),{processor:o,eqStart:s,eqEnd:c}=Mn(t.plugin.settings,a,i);if(n.from+s>n.to)return null;let l=c,u=e.state.sliceDoc(n.from+s,n.to-l),d;if(o.renderingEngine===L.MathJax||o.syntaxMode===null)d=void 0;else if(!r){let e=o.syntaxMode??I.Math;d=e===I.Code?xt(u):e===I.Math?St(u):bt(u)}return{index:n.index,skip:s,skipEnd:l,from:n.from,to:n.to-l,kind:n.kind,processor:o,tree:d,syntaxMode:void 0,syntaxKind:void 0,defaultMode:o.syntaxMode??I.Math}},Un=class{activeRegion=null;prevCursor=0;constructor(e){this.recompute(e)}update(e){if(e.docChanged)if(this.activeRegion){let t=e.state.selection.main.head,n=e.changes.mapPos(this.activeRegion.from,-1),r=this.activeRegion.kind===`codeblock`?this.activeRegion.to:this.activeRegion.to+this.activeRegion.skipEnd,i=e.changes.mapPos(Math.min(r,e.changes.length),-1);if(n<=t&&t<=i){let r=e.view.state.facet(O),a=Hn(e.view,r,{index:this.activeRegion.index,from:n,to:i,kind:this.activeRegion.kind},!0);if(a){let t=!0;if(this.activeRegion.tree){let n=0,r=null;if(e.changes.iterChanges((e,t,i,a,o)=>{n++,r={fromA:e,toA:t,fromB:i,toB:a,inserted:o.toString()}}),n===1){let n=this.activeRegion.from+this.activeRegion.skip,i=this.activeRegion.to;if(r.fromA>=n&&r.toA<=i){let i=r.fromA-n,o=r.toA-n,s=e.view.state.sliceDoc(a.from+a.skip,a.to);try{a.tree=zt(this.activeRegion.tree,s,{start:i,end:o},r.inserted.length),t=!0}catch(e){new l.Notice(String(e))}}}}if(!t&&a.processor?.renderingEngine!==L.MathJax&&a.processor?.syntaxMode!==null){let t=a.defaultMode,n=e.view.state.sliceDoc(a.from+a.skip,a.to);a.tree=t===I.Code?xt(n):t===I.Math?St(n):bt(n)}}if(this.activeRegion=a,this.activeRegion){let{syntaxMode:e,syntaxKind:n}=Yn(this.activeRegion,t);this.activeRegion.syntaxMode=e,this.activeRegion.syntaxKind=n}return}this.recompute(e.view)}else{let t=!1;e.changes.iterChanges((n,r,i,a,o)=>{if(t)return;let s=o.toString(),c=e.view.state.sliceDoc(a,a+1);(s.includes(`$`)||s.includes("`")||s.includes(`~`)||s.includes(`\\`)||c.includes(`$`)||c.includes("`")||c.includes(`~`)||c.includes(`\\`))&&(t=!0)}),t&&this.recompute(e.view)}else if(e.selectionSet){let t=e.state.selection.main.head;if(t===this.prevCursor)return;if(this.prevCursor=t,this.activeRegion&&this.activeRegion.from<=t&&t<=this.activeRegion.to){let{syntaxMode:e,syntaxKind:n}=Yn(this.activeRegion,t);this.activeRegion.syntaxMode=e,this.activeRegion.syntaxKind=n;return}this.recompute(e.view)}}recompute(e){let t=e.state.facet(O),n=e.state.selection.main.head,r=Vn(e,n);if(!r){t.hideAllPopup(),this.activeRegion=null;return}if(this.activeRegion=Hn(e,t,r),this.activeRegion){let{syntaxMode:e,syntaxKind:t}=Yn(this.activeRegion,n);this.activeRegion.syntaxMode=e,this.activeRegion.syntaxKind=t}}};const Wn=d.ViewPlugin.fromClass(Un);var Gn=class{activeRegion={index:0,skip:0,skipEnd:0,from:0,to:0,kind:`codeblock`,syntaxMode:void 0,syntaxKind:void 0,defaultMode:I.Markup};constructor(e){this.activeRegion.to=e.state.doc.length,this.activeRegion.tree=bt(e.state.doc.toString())}update(e){if(!e.docChanged){if(e.selectionSet){let t=e.state.selection.main.head,{syntaxMode:n,syntaxKind:r}=Yn(this.activeRegion,t);this.activeRegion.syntaxMode=n,this.activeRegion.syntaxKind=r}return}this.activeRegion.to=e.state.doc.length;let t=0,n=0,r=0,i=0;if(e.changes.iterChanges((e,a,o,s,c)=>{t++,n=e,r=a,i=c.length}),t===1&&this.activeRegion.tree)try{this.activeRegion.tree=zt(this.activeRegion.tree,e.state.doc.toString(),{start:n,end:r},i)}catch(t){console.warn(`TypstMate: Reparse failed, falling back to full parse.`,t),this.activeRegion.tree=bt(e.state.doc.toString())}else this.activeRegion.tree=bt(e.state.doc.toString());let a=e.state.selection.main.head,{syntaxMode:o,syntaxKind:s}=Yn(this.activeRegion,a);this.activeRegion.syntaxMode=o,this.activeRegion.syntaxKind=s}};const Kn=d.ViewPlugin.fromClass(Gn);function z(e){let t=e.plugin(Wn);if(t)return t.activeRegion;let n=e.plugin(Kn);return n?n.activeRegion:null}function qn(e,t){let n=e.plugin(Kn);if(n)return n.activeRegion;let r=e.state.facet(O),{from:i,to:a}=e.viewport,o=Bn(e,i,a).find(e=>e.from-(e.kind===`inline`?1:e.kind===`display`?2:e.kind===`codeblock`?4+e.lang.length:0)<=t&&t<=e.to);return o?Hn(e,r,o):null}function Jn(){return d.ViewPlugin.fromClass(class{decorations;lastRegionIndex=null;constructor(e){this.decorations=this.buildDecorations(e)}update(e){let t=z(e.view),n=t?.index!==this.lastRegionIndex;(e.docChanged||e.viewportChanged||n)&&(this.decorations=this.buildDecorations(e.view,t),this.lastRegionIndex=t?.index??null)}buildDecorations(e,t){let n=t??z(e);if(!n||!n.tree)return d.Decoration.none;let r=n.tree,i=n.kind===`codeblock`?n.from:n.from+n.skip,a=[],o=e=>{let t=be(e);if(t){let n=i+e.offset,r=i+e.offset+e.len();n<r&&a.push({from:n,to:r,class:t})}for(let t of e.children())o(t)};return o(Ue.new(r)),d.Decoration.set(a.map(e=>d.Decoration.mark({class:e.class}).range(e.from,e.to)),!0)}},{decorations:e=>e.decorations})}function Yn(e,t){if(!e||!e.tree)return{syntaxMode:null,syntaxKind:null};let n=e.defaultMode,r=t-(e.kind===`codeblock`?e.from:e.from+e.skip),i=Ue.new(e.tree),a=i.leafAt(r,Ge.Before),o=i.leafAt(r,Ge.After),s=a?.kind()??k.None,c=o?.kind()??k.End,l=Xn(a)??e.defaultMode,u=Xn(o)??e.defaultMode;return n=l===u?l:s===k.LineComment||s===k.Escape?I.Opaque:u===I.Code?I.Code:k.isTerminator(s)||s===k.Dollar?u:l,{syntaxMode:n,syntaxKind:c}}function Xn(e){for(;e;){let t=e.kind();if(Zn(t))return I.Opaque;if(t===k.Equation||t===k.Math)return I.Math;if(t===k.ContentBlock||t===k.Markup)return I.Markup;if(k.Code<=t&&t<=k.Numeric||k.Parenthesized<=t&&t<=k.Binary||k.LetBinding<=t)return I.Code;e=e.parent}return null}function Zn(e){return e===k.Shebang||e===k.LineComment||e===k.BlockComment||e===k.Raw||e===k.Link||e===k.Ref||e===k.Label||e===k.Str}var Qn=u.StateEffect.define(),$n=class extends d.WidgetType{constructor(e,t,n,r){super(),this.code=e,this.helper=t,this.id=n,this.regionFrom=r}toDOM(e){let t=document.createElement(`div`);t.addClasses([`typstmate-codeblockpreview`,`typstmate-temporary`]),t.dataset.regionFrom=this.regionFrom.toString();let{ndir:n,npath:r}=Nn(this.helper.plugin.app.workspace.getActiveFile());return this.helper.plugin.typstManager.render(this.code,t,this.id,n,r),t}eq(e){return this.code===e.code&&this.id===e.id&&this.regionFrom===e.regionFrom}updateDOM(e,t){e.replaceChildren();let{ndir:n,npath:r}=Nn(this.helper.plugin.app.workspace.getActiveFile());return this.helper.plugin.typstManager.render(this.code,e,this.id,n,r),!0}},er=u.StateField.define({create(){return d.Decoration.none},update(e,t){t.docChanged&&(e=e.map(t.changes));for(let e of t.effects)if(e.is(Qn)){let n=e.value;if(!n)return d.Decoration.none;let r=t.state.facet(O),i=new $n(n.code,r,n.id,n.regionFrom),a=d.Decoration.widget({widget:i,side:1,block:!0});return d.Decoration.set([a.range(n.position)])}return e},provide:e=>d.EditorView.decorations.from(e)}),tr=class{widgetData=null;updateTimeout=null;update(e){(e.docChanged||e.selectionSet||e.focusChanged)&&(this.updateTimeout!==null&&window.cancelAnimationFrame(this.updateTimeout),this.updateTimeout=window.requestAnimationFrame(()=>{this.performUpdate(e.view)}))}performUpdate(e){let t=z(e);if(!(e.hasFocus&&t?.kind===`codeblock`)){this.widgetData&&(this.widgetData=null,e.dispatch({effects:Qn.of(null)}));return}let n=e.state.sliceDoc(t.from,t.to),r=e.state.doc.lineAt(t.to+1).to,i={code:n,id:t.processor?.id??``,position:r,regionFrom:t.from};this.isChanged(i)&&(this.widgetData=i,e.dispatch({effects:Qn.of(i)}))}isChanged(e){return this.widgetData?this.widgetData.code!==e.code||this.widgetData.id!==e.id||this.widgetData.position!==e.position||this.widgetData.regionFrom!==e.regionFrom:!0}destroy(){this.updateTimeout!==null&&window.cancelAnimationFrame(this.updateTimeout)}};const nr=[er,d.ViewPlugin.fromClass(tr)];function rr(e,t,n){let r=e.coordsAtPos(t),i=e.coordsAtPos(n);if(!r||!i)return{x:0,y:0};let a=e.coordsAtPos(e.state.doc.lineAt(t).from);return{x:Math.abs(r.top-i.top)>8&&a?a.left:r.left,y:i.bottom+2}}var ir=class{container;lastContent=``;constructor(e){this.view=e,this.container=document.createElement(`div`),this.container.addClasses([`typstmate-inlinemathpreview`,`typstmate-temporary`]),this.container.hide(),document.body.appendChild(this.container)}update(e){if(!e.state.facet(O).plugin.settings.enableInlinePreview||!e.view.hasFocus){this.hide();return}if(e.docChanged||e.selectionSet){let t=z(e.view);if(!t||t.kind!==`inline`){this.hide();return}let n=e.state.sliceDoc(t.from,t.to);if(n.startsWith(`\\ref`)||n.startsWith(`{} \\ref`)){this.hide();return}this.view.requestMeasure({read:()=>{try{return rr(this.view,t.from,t.to)}catch{return null}},write:e=>{e?this.render(e,n):this.hide()}})}}render(e,t){if(!window.MathJax||this.lastContent===t)return;this.lastContent=t;let n=window.MathJax.tex2chtml(t,{display:!1});this.container.replaceChildren(n),this.container.style.setProperty(`--preview-left`,`${e.x}px`),this.container.style.setProperty(`--preview-top`,`${e.y}px`),this.container.show()}hide(){this.container.hide(),this.lastContent=``}destroy(){this.container.remove()}};const ar=d.ViewPlugin.fromClass(ir);var or=500,sr=[{trigger:[`d`,`m`],insert:`$$
$$`,cursorOffset:e=>e+3},{trigger:[`m`,`k`],insert:"${} {}$",cursorOffset:e=>e+4}],cr=class{beforeKey=null;lastKeyDownTime=0;constructor(e){this.view=e}update(e){}destroy(){this.beforeKey=null}handleKeyDown(e){if(this.view.state.facet(O).plugin.settings.disableMacro)return!1;let{key:t,ctrlKey:n,metaKey:r,altKey:i}=e;if(n||r||i)return!1;for(let n of sr)if(this.beforeKey===n.trigger[0]&&t===n.trigger[1]){if(Date.now()-this.lastKeyDownTime>or)return this.beforeKey=t,this.lastKeyDownTime=Date.now(),!1;e.preventDefault();let r=this.view.state.selection.main.head,i=r-1,a=r;return this.view.dispatch({changes:{from:i,to:a,insert:n.insert},selection:{anchor:n.cursorOffset(i)}}),this.beforeKey=null,!0}return this.beforeKey=t,this.lastKeyDownTime=Date.now(),!1}};const lr=d.ViewPlugin.fromClass(cr),ur=[lr,d.EditorView.domEventHandlers({keydown:(e,t)=>t.plugin(lr)?.handleKeyDown(e)??!1})],dr={content:`lr($1)`,category:`Left/Right`},fr={content:`abs($1)`,category:`Left/Right`},pr={content:`norm($1)`,category:`Left/Right`},mr={content:`floor($1)`,category:`Left/Right`},hr={content:`ceil($1)`,category:`Left/Right`},gr={content:`round($1)`,category:`Left/Right`},_r={content:`stretch($1)_""`,category:`Stretch`,offset:-1},vr={content:`upright($1)`,category:`Styles`},yr={content:`bold($1)`,category:`Styles`},br={content:`underbrace($1, "")`,category:`Under/Over`,offset:-2},xr={content:`overbrace($1, "")`,category:`Under/Over`,offset:-2},Sr={content:`sans($1)`,category:`Variants`},Cr={content:`frak($1)`,category:`Variants`},wr={content:`mono($1)`,category:`Variants`},Tr={content:`bb($1)`,category:`Variants`},Er={content:`cal($1)`,category:`Variants`},Dr={content:`scr($1)`,category:`Variants`};var Or={"!":{content:`cancel($1)`,category:`Cancel`},l:dr,a:fr,n:pr,f:mr,c:hr,e:gr,2:{content:`sqrt($1)`,category:`Roots`},3:{content:`root(3, $1)`,category:`Roots`},4:{content:`root(4, $1)`,category:`Roots`},5:{content:`root(5, $1)`,category:`Roots`},6:{content:`root(6, $1)`,category:`Roots`},7:{content:`root(7, $1)`,category:`Roots`},8:{content:`root(8, $1)`,category:`Roots`},9:{content:`root(9, $1)`,category:`Roots`},"^":{content:`stretch($1)^""`,category:`Stretch`,offset:-1},_:_r,u:vr,b:yr,U:br,O:xr,s:Sr,F:Cr,M:wr,B:Tr,C:Er,S:Dr},kr=Object.keys(Or),Ar=250,jr=class{timeoutId;pendingKey;savedSelection;constructor(e){this.view=e}update(e){e.docChanged&&this.timeoutId&&this.clearTimeout()}destroy(){this.clearTimeout()}clearTimeout(){this.timeoutId&&(window.clearTimeout(this.timeoutId),this.timeoutId=void 0,this.pendingKey=void 0,this.savedSelection=void 0)}handleKeyDown(e){let{key:t,repeat:n,ctrlKey:r,metaKey:i,altKey:a}=e,o=this.view.state.selection.main;if(!kr.includes(t)||r||i||a||o.empty)return this.clearTimeout(),!1;let s=z(this.view);return!s||s.processor&&s.processor.renderingEngine===L.MathJax?!1:n&&this.timeoutId?!0:(this.startShortcutTimeout(t,o),e.preventDefault(),!0)}handleKeyUp(e){e.key===this.pendingKey&&this.timeoutId&&this.cancelShortcutAndInsertKey()}cancelShortcutAndInsertKey(){if(!this.savedSelection||!this.pendingKey){this.clearTimeout();return}let{anchor:e,head:t}=this.savedSelection,n=Math.min(e,t),r=Math.max(e,t);this.view.dispatch({changes:{from:n,to:r,insert:this.pendingKey},selection:{anchor:n+this.pendingKey.length}}),this.clearTimeout()}startShortcutTimeout(e,t){this.clearTimeout(),this.pendingKey=e,this.savedSelection={anchor:t.anchor,head:t.head,content:this.view.state.sliceDoc(t.from,t.to)},this.timeoutId=window.setTimeout(()=>{this.executeShortcut(e),this.clearTimeout()},Ar)}executeShortcut(e){if(!this.savedSelection)return;let t=Or[e];if(!t)return;let n=t.content.replaceAll(`$1`,this.savedSelection.content),r=Math.min(this.savedSelection.anchor,this.savedSelection.head),i=Math.max(this.savedSelection.anchor,this.savedSelection.head);this.view.dispatch({changes:{from:r,to:i,insert:n},selection:{anchor:t.offset===void 0?r+n.length:r+t.offset},userEvent:`input.shortcut`,scrollIntoView:!0})}};const Mr=d.ViewPlugin.fromClass(jr,{eventHandlers:{keydown(e){return this.handleKeyDown(e)},keyup(e){this.handleKeyUp(e)},mousedown(){this.clearTimeout()}}});var Nr=`#CURSOR`;const Pr=u.Prec.high(d.keymap.of([{key:`Tab`,run:e=>{let t=e.state.facet(O);if(t.plugin.settings.revertTabToDefault)return!1;let n=z(e);return n?Ir(e,t,n,1):!1}},{key:`Shift-Tab`,run:e=>{let t=e.state.facet(O);if(t.plugin.settings.revertTabToDefault)return!1;let n=z(e);return n?Ir(e,t,n,-1):!1}}])),Fr=u.Prec.high(d.keymap.of([{key:`Tab`,run:e=>{let t=e.state.facet(O);if(t.plugin.settings.revertTabToDefault)return!1;let n=z(e);return n?(Ir(e,t,n,1,!0),!0):!1}},{key:`Shift-Tab`,run:e=>{let t=e.state.facet(O);if(t.plugin.settings.revertTabToDefault)return!1;let n=z(e);return n?(Ir(e,t,n,-1,!0),!0):!1}}]));function Ir(e,t,n,r,i=!1){let a=n.from+n.skip,o=n.to,s=e.state.selection.main.head,c=s-a,l=e.state.sliceDoc(a,o),u=r===-1?l.slice(0,c):l.slice(c);return Lr(e,a,c,u,r)||t.plugin.settings.jumpOutsideBracket&&e.state.selection.ranges.length===1&&Rr(e,a,c,u,r)?!0:i?!1:zr(e,a,c,u,r)?!0:Br(e,t,n,s,u,r)}function Lr(e,t,n,r,i){let a=r.indexOf(Nr);if(a===-1)return!1;let o=i===-1?t+a:t+n+a;return e.dispatch({changes:{from:o,to:o+7,insert:``},selection:{anchor:o}}),!0}function Rr(e,t,n,r,i){if(i===-1){r=r.replaceAll(`\\(`,` `).replaceAll(`\\[`,` `).replaceAll(`\\{`,` `);let n=Math.max(r.lastIndexOf(`(`),r.lastIndexOf(`[`),r.lastIndexOf(`{`));if(n===-1)return!1;e.dispatch({selection:{anchor:t+n}})}else{r=r.replaceAll(`\\)`,` `).replaceAll(`\\`,` `).replaceAll(`\\}`,` `);let i=[r.indexOf(`)`),r.indexOf(`]`),r.indexOf(`}`)].filter(e=>e!==-1),a=i.length>0?Math.min(...i):-1;if(a===-1)return!1;e.dispatch({selection:{anchor:t+n+a+1}})}return!0}function zr(e,t,n,r,i){if(r=r.replaceAll(`\\$`,` `),i===-1){let n=r.lastIndexOf(`$`);if(n===-1)return!1;e.dispatch({selection:{anchor:t+n}})}else{let i=r.indexOf(`$`);if(i===-1)return!1;e.dispatch({selection:{anchor:t+n+i+1}})}return!0}function Br(e,t,n,r,i,a){if(n.kind===`codeblock`){let i=a===-1?n.from:n.to;if(t.plugin.settings.moveToEndOfMathBlockBeforeExiting&&(a===-1?i<r:r<i))e.dispatch({selection:{anchor:i}});else if(a===-1){let t=e.state.doc.lineAt(n.from-1).from;e.dispatch({selection:{anchor:t}})}else{let t=e.state.doc.lineAt(n.to+1).to;e.dispatch({selection:{anchor:t}})}return!0}let o=n.kind===`inline`?1:2,s=a===-1?n.from:n.to+n.skipEnd;if(t.plugin.settings.moveToEndOfMathBlockBeforeExiting&&(a===-1?s<r:r<s))e.dispatch({selection:{anchor:s-(a===-1?0:n.skipEnd)}});else{if(e.dispatch({selection:{anchor:s+a*o}}),n.kind===`inline`||t.plugin.settings.preferInlineExitForSingleLineDisplayMath&&n.kind===`display`&&!i.includes(`
`))return!0;e.dispatch({changes:{from:n.to+n.skipEnd+o,to:n.to+n.skipEnd+o,insert:`
`},selection:{anchor:n.to+n.skipEnd+o+1}})}return!0}var Vr=class{dom;helper;lastText=``;constructor(e){this.view=e,this.dom=document.createElement(`div`),this.dom.className=`typstmate-debug-panel`,e.dom.appendChild(this.dom),this.helper=e.state.facet(O),this.helper.plugin.settings.enableDebugger||this.dom.hide(),this.render()}update(e){if(this.helper.plugin.settings.enableDebugger)this.dom.show();else{this.dom.hide();return}(e.docChanged||e.selectionSet)&&window.requestAnimationFrame(()=>this.render())}destroy(){this.dom.remove()}render(){if(!this.view.dom.contains(this.dom))return;let e=this.view.state.selection.main.head,t=z(this.view),n=[];if(t){let r=e-t.from,i=`N/A`;if(t.processor){let{id:e,noPreamble:n,format:a}=t.processor;i=(r+(e.length+(n?0:this.helper.plugin.settings.preamble.length+1)+a.indexOf(`{CODE}`))).toString()}let{syntaxMode:a,syntaxKind:o}=t;n.push({title:`Processor`,description:`${t.kind}${t.processor?.id?`(${t.processor.id})`:``}`},{title:`Mode`,description:a===null?`Opaque`:I[a]},{title:`Kind`,description:o===null?`End`:k[o]},{title:`GlobalPos`,description:e.toString()},{title:`LocalPos`,description:`${r} (+${t.skip})`},{title:`TypstPos`,description:i},{title:`Length`,description:(t.to-t.from).toString()})}else n.push({title:`Mode`,description:`Markdown`},{title:`Pos(Global)`,description:e.toString()});let r=Math.max(...n.map(e=>e.title.length)),i=`[DEBUG]\n${n.map(e=>`${e.title.padEnd(r)} : ${e.description}`).join(`
`)}`;this.lastText!==i&&(this.dom.textContent=i,this.lastText=i)}};const Hr=d.ViewPlugin.fromClass(Vr),Ur={sym:`𝔸`,unicName:`MATHEMATICAL DOUBLE-STRUCK CAPITAL A`,name:`AA`,shorthand:null,mathClass:`Alphabetic`,latexName:`BbbA`},Wr={sym:`Α`,unicName:`GREEK CAPITAL LETTER ALPHA`,name:`Alpha`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupAlpha`},Gr={sym:`𝔹`,unicName:`MATHEMATICAL DOUBLE-STRUCK CAPITAL B`,name:`BB`,shorthand:null,mathClass:`Alphabetic`,latexName:`BbbB`},Kr={sym:`Β`,unicName:`GREEK CAPITAL LETTER BETA`,name:`Beta`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupBeta`},qr={sym:``,unicName:`DOUBLE-STRUCK CAPITAL C`,name:`CC`,shorthand:null,mathClass:`Alphabetic`,latexName:`BbbC`},Jr={sym:`Χ`,unicName:`GREEK CAPITAL LETTER CHI`,name:`Chi`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupChi`},Yr={sym:`𝔻`,unicName:`MATHEMATICAL DOUBLE-STRUCK CAPITAL D`,name:`DD`,shorthand:null,mathClass:`Alphabetic`,latexName:`BbbD`},Xr={sym:`Δ`,unicName:`GREEK CAPITAL LETTER DELTA`,name:`Delta`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupDelta`},Zr={sym:`Dif`,unicName:``,name:`Dif`,shorthand:null,mathClass:`op`,latexName:`partial`},Qr={sym:`Ϝ`,unicName:`GREEK LETTER DIGAMMA`,name:`Digamma`,shorthand:null,mathClass:`Alphabetic`,latexName:`upDigamma`},$r={sym:`𝔼`,unicName:`MATHEMATICAL DOUBLE-STRUCK CAPITAL E`,name:`EE`,shorthand:null,mathClass:`Alphabetic`,latexName:`BbbE`},ei={sym:`Ε`,unicName:`GREEK CAPITAL LETTER EPSILON`,name:`Epsilon`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupEpsilon`},ti={sym:`Η`,unicName:`GREEK CAPITAL LETTER ETA`,name:`Eta`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupEta`},ni={sym:`𝔽`,unicName:`MATHEMATICAL DOUBLE-STRUCK CAPITAL F`,name:`FF`,shorthand:null,mathClass:`Alphabetic`,latexName:`BbbF`},ri={sym:`𝔾`,unicName:`MATHEMATICAL DOUBLE-STRUCK CAPITAL G`,name:`GG`,shorthand:null,mathClass:`Alphabetic`,latexName:`BbbG`},ii={sym:`Γ`,unicName:`GREEK CAPITAL LETTER GAMMA`,name:`Gamma`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupGamma`},ai={sym:``,unicName:`DOUBLE-STRUCK CAPITAL H`,name:`HH`,shorthand:null,mathClass:`Alphabetic`,latexName:`BbbH`},oi={sym:`𝕀`,unicName:`MATHEMATICAL DOUBLE-STRUCK CAPITAL I`,name:`II`,shorthand:null,mathClass:`Alphabetic`,latexName:`BbbI`},si={sym:``,unicName:`BLACK-LETTER CAPITAL I`,name:`Im`,shorthand:null,mathClass:`Alphabetic`,latexName:`Im`},ci={sym:`Ι`,unicName:`GREEK CAPITAL LETTER IOTA`,name:`Iota`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupIota`},li={sym:`𝕁`,unicName:`MATHEMATICAL DOUBLE-STRUCK CAPITAL J`,name:`JJ`,shorthand:null,mathClass:`Alphabetic`,latexName:`BbbJ`},ui={sym:`𝕂`,unicName:`MATHEMATICAL DOUBLE-STRUCK CAPITAL K`,name:`KK`,shorthand:null,mathClass:`Alphabetic`,latexName:`BbbK`},di={sym:`Ϗ`,unicName:`GREEK CAPITAL KAI SYMBOL`,name:`Kai`,shorthand:null,mathClass:``,latexName:``},fi={sym:`Κ`,unicName:`GREEK CAPITAL LETTER KAPPA`,name:`Kappa`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupKappa`},pi={sym:`𝕃`,unicName:`MATHEMATICAL DOUBLE-STRUCK CAPITAL L`,name:`LL`,shorthand:null,mathClass:`Alphabetic`,latexName:`BbbL`},mi={sym:`Λ`,unicName:`GREEK CAPITAL LETTER LAMDA`,name:`Lambda`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupLambda`},hi={sym:`𝕄`,unicName:`MATHEMATICAL DOUBLE-STRUCK CAPITAL M`,name:`MM`,shorthand:null,mathClass:`Alphabetic`,latexName:`BbbM`},gi={sym:`Μ`,unicName:`GREEK CAPITAL LETTER MU`,name:`Mu`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupMu`},_i={sym:``,unicName:`DOUBLE-STRUCK CAPITAL N`,name:`NN`,shorthand:null,mathClass:`Alphabetic`,latexName:`BbbN`},vi={sym:`Ν`,unicName:`GREEK CAPITAL LETTER NU`,name:`Nu`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupNu`},yi={sym:`𝕆`,unicName:`MATHEMATICAL DOUBLE-STRUCK CAPITAL O`,name:`OO`,shorthand:null,mathClass:`Alphabetic`,latexName:`BbbO`},bi={sym:`Ω`,unicName:`GREEK CAPITAL LETTER OMEGA`,name:`Omega`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupOmega`},xi={sym:`Ο`,unicName:`GREEK CAPITAL LETTER OMICRON`,name:`Omicron`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupOmicron`},Si={sym:``,unicName:`DOUBLE-STRUCK CAPITAL P`,name:`PP`,shorthand:null,mathClass:`Alphabetic`,latexName:`BbbP`},Ci={sym:`Φ`,unicName:`GREEK CAPITAL LETTER PHI`,name:`Phi`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupPhi`},wi={sym:`Π`,unicName:`GREEK CAPITAL LETTER PI`,name:`Pi`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupPi`},Ti={sym:`Pr`,unicName:``,name:`Pr`,shorthand:null,mathClass:`op`,latexName:`Pr`},Ei={sym:`Ψ`,unicName:`GREEK CAPITAL LETTER PSI`,name:`Psi`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupPsi`},Di={sym:``,unicName:`DOUBLE-STRUCK CAPITAL Q`,name:`QQ`,shorthand:null,mathClass:`Alphabetic`,latexName:`BbbQ`},Oi={sym:``,unicName:`DOUBLE-STRUCK CAPITAL R`,name:`RR`,shorthand:null,mathClass:`Alphabetic`,latexName:`BbbR`},ki={sym:``,unicName:`BLACK-LETTER CAPITAL R`,name:`Re`,shorthand:null,mathClass:`Alphabetic`,latexName:`Re`},Ai={sym:`Ρ`,unicName:`GREEK CAPITAL LETTER RHO`,name:`Rho`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupRho`},ji={sym:`𝕊`,unicName:`MATHEMATICAL DOUBLE-STRUCK CAPITAL S`,name:`SS`,shorthand:null,mathClass:`Alphabetic`,latexName:`BbbS`},Mi={sym:`Ш`,unicName:`CYRILLIC CAPITAL LETTER SHA`,name:`Sha`,shorthand:null,mathClass:`Alphabetic`,latexName:``},Ni={sym:`Σ`,unicName:`GREEK CAPITAL LETTER SIGMA`,name:`Sigma`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupSigma`},Pi={sym:`𝕋`,unicName:`MATHEMATICAL DOUBLE-STRUCK CAPITAL T`,name:`TT`,shorthand:null,mathClass:`Alphabetic`,latexName:`BbbT`},Fi={sym:`Τ`,unicName:`GREEK CAPITAL LETTER TAU`,name:`Tau`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupTau`},Ii={sym:`Θ`,unicName:`GREEK CAPITAL LETTER THETA`,name:`Theta`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupTheta`},Li={sym:`𝕌`,unicName:`MATHEMATICAL DOUBLE-STRUCK CAPITAL U`,name:`UU`,shorthand:null,mathClass:`Alphabetic`,latexName:`BbbU`},Ri={sym:`Υ`,unicName:`GREEK CAPITAL LETTER UPSILON`,name:`Upsilon`,shorthand:null,mathClass:``,latexName:`mupUpsilon`},zi={sym:`𝕍`,unicName:`MATHEMATICAL DOUBLE-STRUCK CAPITAL V`,name:`VV`,shorthand:null,mathClass:`Alphabetic`,latexName:`BbbV`},Bi={sym:`𝕎`,unicName:`MATHEMATICAL DOUBLE-STRUCK CAPITAL W`,name:`WW`,shorthand:null,mathClass:`Alphabetic`,latexName:`BbbW`},Vi={sym:`𝕏`,unicName:`MATHEMATICAL DOUBLE-STRUCK CAPITAL X`,name:`XX`,shorthand:null,mathClass:`Alphabetic`,latexName:`BbbX`},Hi={sym:`Ξ`,unicName:`GREEK CAPITAL LETTER XI`,name:`Xi`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupXi`},Ui={sym:`𝕐`,unicName:`MATHEMATICAL DOUBLE-STRUCK CAPITAL Y`,name:`YY`,shorthand:null,mathClass:`Alphabetic`,latexName:`BbbY`},Wi={sym:``,unicName:`DOUBLE-STRUCK CAPITAL Z`,name:`ZZ`,shorthand:null,mathClass:`Alphabetic`,latexName:`BbbZ`},Gi={sym:`Ζ`,unicName:`GREEK CAPITAL LETTER ZETA`,name:`Zeta`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupZeta`},Ki={sym:`´`,unicName:`ACUTE ACCENT`,name:`acute`,shorthand:null,mathClass:`Normal`,latexName:``},qi={sym:`؋`,unicName:`AFGHANI SIGN`,name:`afghani`,shorthand:null,mathClass:``,latexName:``},Ji={sym:`א`,unicName:`HEBREW LETTER ALEF`,name:`alef`,shorthand:null,mathClass:``,latexName:``},Yi={sym:`א`,unicName:`HEBREW LETTER ALEF`,name:`aleph`,shorthand:null,mathClass:``,latexName:``},Xi={sym:`α`,unicName:`GREEK SMALL LETTER ALPHA`,name:`alpha`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupalpha`},Zi={sym:`&`,unicName:`AMPERSAND`,name:`amp`,shorthand:null,mathClass:`Normal`,latexName:`mathampersand`},Qi={sym:``,unicName:`LOGICAL AND`,name:`and`,shorthand:null,mathClass:`Binary`,latexName:`wedge`},$i={sym:``,unicName:`ANGLE`,name:`angle`,shorthand:null,mathClass:`Normal`,latexName:`angle`},ea={sym:`Å`,unicName:`LATIN CAPITAL LETTER A WITH RING ABOVE`,name:`angstrom`,shorthand:null,mathClass:``,latexName:``},ta={sym:``,unicName:`RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW`,name:`angzarr`,shorthand:null,mathClass:`Relation`,latexName:`rangledownzigzagarrow`},na={sym:``,unicName:`ALMOST EQUAL TO`,name:`approx`,shorthand:null,mathClass:`Relation`,latexName:`approx`},ra={sym:`arccos`,unicName:``,name:`arccos`,shorthand:null,mathClass:`op`,latexName:`arccos`},ia={sym:`arcsin`,unicName:``,name:`arcsin`,shorthand:null,mathClass:`op`,latexName:`arcsin`},aa={sym:`arctan`,unicName:``,name:`arctan`,shorthand:null,mathClass:`op`,latexName:`arctan`},oa={sym:`arg`,unicName:``,name:`arg`,shorthand:null,mathClass:`op`,latexName:`arg`},sa={sym:``,unicName:`EQUIVALENT TO`,name:`asymp`,shorthand:null,mathClass:`Relation`,latexName:`asymp`},ca={sym:`@`,unicName:`COMMERCIAL AT`,name:`at`,shorthand:null,mathClass:`Normal`,latexName:`mathatsign`},la={sym:`\\`,unicName:`REVERSE SOLIDUS`,name:`backslash`,shorthand:null,mathClass:`Binary`,latexName:`backslash`},ua={sym:`฿`,unicName:`THAI CURRENCY SYMBOL BAHT`,name:`baht`,shorthand:null,mathClass:``,latexName:``},da={sym:``,unicName:`BALLOT BOX`,name:`ballot`,shorthand:null,mathClass:``,latexName:``},fa={sym:``,unicName:`BECAUSE`,name:`because`,shorthand:null,mathClass:`Relation`,latexName:`because`},pa={sym:`ב`,unicName:`HEBREW LETTER BET`,name:`bet`,shorthand:null,mathClass:``,latexName:``},ma={sym:`β`,unicName:`GREEK SMALL LETTER BETA`,name:`beta`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupbeta`},ha={sym:`ב`,unicName:`HEBREW LETTER BET`,name:`beth`,shorthand:null,mathClass:``,latexName:``},ga={sym:``,unicName:`BITCOIN SIGN`,name:`bitcoin`,shorthand:null,mathClass:``,latexName:``},_a={sym:``,unicName:`UP TACK`,name:`bot`,shorthand:null,mathClass:`Normal`,latexName:`bot`},va={sym:`˘`,unicName:`BREVE`,name:`breve`,shorthand:null,mathClass:`Diacritic`,latexName:``},ya={sym:``,unicName:`BULLET`,name:`bullet`,shorthand:null,mathClass:`Binary`,latexName:`smblkcircle`},ba={sym:``,unicName:`CARET`,name:`caret`,shorthand:null,mathClass:``,latexName:`caretinsert`},xa={sym:`ˇ`,unicName:`CARON`,name:`caron`,shorthand:null,mathClass:`Diacritic`,latexName:``},Sa={sym:`🅭`,unicName:`CIRCLED CC`,name:`cc`,shorthand:null,mathClass:``,latexName:``},Ca={sym:``,unicName:`CEDI SIGN`,name:`cedi`,shorthand:null,mathClass:``,latexName:``},wa={sym:`¢`,unicName:`CENT SIGN`,name:`cent`,shorthand:null,mathClass:`Normal`,latexName:``},Ta={sym:``,unicName:`CHECK MARK`,name:`checkmark`,shorthand:null,mathClass:`Normal`,latexName:`checkmark`},Ea={sym:`χ`,unicName:`GREEK SMALL LETTER CHI`,name:`chi`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupchi`},Da={sym:``,unicName:`CARE OF`,name:`co`,shorthand:null,mathClass:``,latexName:``},Oa={sym:`:`,unicName:`COLON`,name:`colon`,shorthand:null,mathClass:`Relation`,latexName:`mathcolon`},ka={sym:`,`,unicName:`COMMA`,name:`comma`,shorthand:null,mathClass:`Punctuation`,latexName:`mathcomma`},Aa={sym:``,unicName:`COMPLEMENT`,name:`complement`,shorthand:null,mathClass:`Unary`,latexName:`complement`},ja={sym:``,unicName:`RING OPERATOR`,name:`compose`,shorthand:null,mathClass:`Binary`,latexName:`vysmwhtcircle`},Ma={sym:``,unicName:`ASTERISK OPERATOR`,name:`convolve`,shorthand:`*`,mathClass:`Binary`,latexName:`ast`},Na={sym:`🄯`,unicName:`COPYLEFT SYMBOL`,name:`copyleft`,shorthand:null,mathClass:``,latexName:``},Pa={sym:`©`,unicName:`COPYRIGHT SIGN`,name:`copyright`,shorthand:null,mathClass:``,latexName:``},Fa={sym:`cos`,unicName:``,name:`cos`,shorthand:null,mathClass:`op`,latexName:`cos`},Ia={sym:`cosh`,unicName:``,name:`cosh`,shorthand:null,mathClass:`op`,latexName:`cosh`},La={sym:`cot`,unicName:``,name:`cot`,shorthand:null,mathClass:`op`,latexName:`cot`},Ra={sym:`coth`,unicName:``,name:`coth`,shorthand:null,mathClass:`op`,latexName:`coth`},za={sym:``,unicName:`BALLOT X`,name:`crossmark`,shorthand:null,mathClass:`Normal`,latexName:``},Ba={sym:`csc`,unicName:``,name:`csc`,shorthand:null,mathClass:`op`,latexName:`csc`},Va={sym:`csch`,unicName:``,name:`csch`,shorthand:null,mathClass:`op`,latexName:`operatorname{csch}`},Ha={sym:`ctg`,unicName:``,name:`ctg`,shorthand:null,mathClass:`op`,latexName:`ctg`},Ua={sym:`¤`,unicName:`CURRENCY SIGN`,name:`currency`,shorthand:null,mathClass:`Normal`,latexName:``},Wa={sym:``,unicName:`DAGGER`,name:`dagger`,shorthand:null,mathClass:`Relation`,latexName:`dagger`},Ga={sym:`ד`,unicName:`HEBREW LETTER DALET`,name:`dalet`,shorthand:null,mathClass:``,latexName:``},Ka={sym:`ד`,unicName:`HEBREW LETTER DALET`,name:`daleth`,shorthand:null,mathClass:``,latexName:``},qa={sym:`deg`,unicName:``,name:`deg`,shorthand:null,mathClass:`op`,latexName:`deg`},Ja={sym:`°`,unicName:`DEGREE SIGN`,name:`degree`,shorthand:null,mathClass:`Normal`,latexName:``},Ya={sym:`δ`,unicName:`GREEK SMALL LETTER DELTA`,name:`delta`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupdelta`},Xa={sym:`det`,unicName:``,name:`det`,shorthand:null,mathClass:`op`,latexName:`det`},Za={sym:`¨`,unicName:`DIAERESIS`,name:`diaer`,shorthand:null,mathClass:`Diacritic`,latexName:``},Qa={sym:``,unicName:`DIAMETER SIGN`,name:`diameter`,shorthand:null,mathClass:`Normal`,latexName:`diameter`},$a={sym:`dif`,unicName:``,name:`dif`,shorthand:null,mathClass:`op`,latexName:`partial`},eo={sym:``,unicName:`PARTIAL DIFFERENTIAL`,name:`diff`,shorthand:null,mathClass:`Normal`,latexName:`partial`},to={sym:`ϝ`,unicName:`GREEK SMALL LETTER DIGAMMA`,name:`digamma`,shorthand:null,mathClass:`Alphabetic`,latexName:`updigamma`},no={sym:`dim`,unicName:``,name:`dim`,shorthand:null,mathClass:`op`,latexName:`dim`},ro={sym:`÷`,unicName:`DIVISION SIGN`,name:`div`,shorthand:null,mathClass:`Binary`,latexName:`div`},io={sym:``,unicName:`DIVIDES`,name:`divides`,shorthand:null,mathClass:`Relation`,latexName:`mid`},ao={sym:`$`,unicName:`DOLLAR SIGN`,name:`dollar`,shorthand:null,mathClass:`Normal`,latexName:`mathdollar`},oo={sym:``,unicName:`DONG SIGN`,name:`dong`,shorthand:null,mathClass:``,latexName:``},so={sym:`߾`,unicName:`NKO DOROME SIGN`,name:`dorome`,shorthand:null,mathClass:``,latexName:``},co={sym:`֏`,unicName:`ARMENIAN DRAM SIGN`,name:`dram`,shorthand:null,mathClass:``,latexName:``},lo={sym:`🜨`,unicName:`ALCHEMICAL SYMBOL FOR VERDIGRIS`,name:`earth`,shorthand:null,mathClass:``,latexName:``},uo={sym:``,unicName:`SCRIPT SMALL L`,name:`ell`,shorthand:null,mathClass:`Alphabetic`,latexName:`ell`},fo={sym:``,unicName:`EMPTY SET`,name:`emptyset`,shorthand:null,mathClass:`Normal`,latexName:`varnothing`},po={sym:`ε`,unicName:`GREEK SMALL LETTER EPSILON`,name:`epsilon`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupvarepsilon`},mo={sym:`=`,unicName:`EQUALS SIGN`,name:`eq`,shorthand:null,mathClass:`Relation`,latexName:`equal`},ho={sym:``,unicName:`IDENTICAL TO`,name:`equiv`,shorthand:null,mathClass:`Relation`,latexName:`equiv`},go={sym:`η`,unicName:`GREEK SMALL LETTER ETA`,name:`eta`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupeta`},_o={sym:``,unicName:`EURO SIGN`,name:`euro`,shorthand:null,mathClass:``,latexName:`euro`},vo={sym:`!`,unicName:`EXCLAMATION MARK`,name:`excl`,shorthand:null,mathClass:`Normal`,latexName:`mathexclam`},yo={sym:``,unicName:`THERE EXISTS`,name:`exists`,shorthand:null,mathClass:`Unary`,latexName:`exists`},bo={sym:`exp`,unicName:``,name:`exp`,shorthand:null,mathClass:`op`,latexName:`exp`},xo={sym:``,unicName:`MUSIC FLAT SIGN`,name:`flat`,shorthand:null,mathClass:`Normal`,latexName:`flat`},So={sym:``,unicName:`FLORAL HEART`,name:`floral`,shorthand:null,mathClass:``,latexName:``},Co={sym:``,unicName:`FOR ALL`,name:`forall`,shorthand:null,mathClass:`Unary`,latexName:`forall`},wo={sym:``,unicName:`FORCES`,name:`forces`,shorthand:null,mathClass:`Relation`,latexName:`Vdash`},To={sym:``,unicName:`FRENCH FRANC SIGN`,name:`franc`,shorthand:null,mathClass:``,latexName:``},Eo={sym:``,unicName:`FROWN`,name:`frown`,shorthand:null,mathClass:`Relation`,latexName:`frown`},Do={sym:`γ`,unicName:`GREEK SMALL LETTER GAMMA`,name:`gamma`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupgamma`},Oo={sym:`gcd`,unicName:``,name:`gcd`,shorthand:null,mathClass:`op`,latexName:`gcd`},ko={sym:`ג`,unicName:`HEBREW LETTER GIMEL`,name:`gimel`,shorthand:null,mathClass:``,latexName:``},Ao={sym:`ג`,unicName:`HEBREW LETTER GIMEL`,name:`gimmel`,shorthand:null,mathClass:``,latexName:``},jo={sym:``,unicName:`NABLA`,name:`gradient`,shorthand:null,mathClass:`Unary`,latexName:`nabla`},Mo={sym:"`",unicName:`GRAVE ACCENT`,name:`grave`,shorthand:null,mathClass:`Diacritic`,latexName:``},No={sym:`>`,unicName:`GREATER-THAN SIGN`,name:`gt`,shorthand:null,mathClass:`Relation`,latexName:`greater`},Po={sym:`₲`,unicName:`GUARANI SIGN`,name:`guarani`,shorthand:null,mathClass:``,latexName:``},Fo={sym:`#`,unicName:`NUMBER SIGN`,name:`hash`,shorthand:null,mathClass:`Normal`,latexName:`mathoctothorpe`},Io={sym:`^`,unicName:`CIRCUMFLEX ACCENT`,name:`hat`,shorthand:null,mathClass:`Normal`,latexName:``},Lo={sym:`hom`,unicName:``,name:`hom`,shorthand:null,mathClass:`op`,latexName:`hom`},Ro={sym:`₴`,unicName:`HRYVNIA SIGN`,name:`hryvnia`,shorthand:null,mathClass:``,latexName:``},zo={sym:``,unicName:`HYPHEN`,name:`hyph`,shorthand:null,mathClass:`Punctuation`,latexName:`mathhyphen`},Bo={sym:`id`,unicName:``,name:`id`,shorthand:null,mathClass:`op`,latexName:`operatorname{id}`},Vo={sym:`im`,unicName:``,name:`im`,shorthand:null,mathClass:`op`,latexName:`operatorname{im}`},Ho={sym:`⊷`,unicName:`IMAGE OF`,name:`image`,shorthand:null,mathClass:`Relation`,latexName:`imageof`},Uo={sym:`inf`,unicName:``,name:`inf`,shorthand:null,mathClass:`op`,latexName:`inf`},Wo={sym:`∞`,unicName:`INFINITY`,name:`infinity`,shorthand:null,mathClass:`Normal`,latexName:`infty`},Go={sym:`∫`,unicName:`INTEGRAL`,name:`integral`,shorthand:null,mathClass:`Large`,latexName:`int`},Ko={sym:`∩`,unicName:`INTERSECTION`,name:`inter`,shorthand:null,mathClass:`Binary`,latexName:`cap`},qo={sym:`⫴`,unicName:`TRIPLE VERTICAL BAR BINARY RELATION`,name:`interleave`,shorthand:null,mathClass:`Binary`,latexName:`interleave`},Jo={sym:`‽`,unicName:`INTERROBANG`,name:`interrobang`,shorthand:null,mathClass:``,latexName:``},Yo={sym:`ι`,unicName:`GREEK SMALL LETTER IOTA`,name:`iota`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupiota`},Xo={sym:`⨝`,unicName:`JOIN`,name:`join`,shorthand:null,mathClass:`Large`,latexName:`Join`},Zo={sym:`♃`,unicName:`JUPITER`,name:`jupiter`,shorthand:null,mathClass:`Normal`,latexName:``},Qo={sym:`ϗ`,unicName:`GREEK KAI SYMBOL`,name:`kai`,shorthand:null,mathClass:``,latexName:``},$o={sym:`κ`,unicName:`GREEK SMALL LETTER KAPPA`,name:`kappa`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupkappa`},es={sym:`ker`,unicName:``,name:`ker`,shorthand:null,mathClass:`op`,latexName:`ker`},ts={sym:`₭`,unicName:`KIP SIGN`,name:`kip`,shorthand:null,mathClass:``,latexName:``},ns={sym:`λ`,unicName:`GREEK SMALL LETTER LAMDA`,name:`lambda`,shorthand:null,mathClass:`Alphabetic`,latexName:`muplambda`},rs={sym:`∆`,unicName:`INCREMENT`,name:`laplace`,shorthand:null,mathClass:`Unary`,latexName:`increment`},is={sym:`₾`,unicName:`LARI SIGN`,name:`lari`,shorthand:null,mathClass:``,latexName:``},as={sym:`⪫`,unicName:`LARGER THAN`,name:`lat`,shorthand:null,mathClass:`Relation`,latexName:`lat`},os={sym:`lcm`,unicName:``,name:`lcm`,shorthand:null,mathClass:`op`,latexName:`operatorname{lcm}`},ss={sym:`lg`,unicName:``,name:`lg`,shorthand:null,mathClass:`op`,latexName:`lg`},cs={sym:`lim`,unicName:``,name:`lim`,shorthand:null,mathClass:`op`,latexName:`lim`},ls={sym:`liminf`,unicName:``,name:`liminf`,shorthand:null,mathClass:`op`,latexName:`liminf`},us={sym:`limsup`,unicName:``,name:`limsup`,shorthand:null,mathClass:`op`,latexName:`limsup`},ds={sym:`₺`,unicName:`TURKISH LIRA SIGN`,name:`lira`,shorthand:null,mathClass:``,latexName:``},fs={sym:`ln`,unicName:``,name:`ln`,shorthand:null,mathClass:`op`,latexName:`ln`},ps={sym:`log`,unicName:``,name:`log`,shorthand:null,mathClass:`op`,latexName:`log`},ms={sym:``,unicName:`LEFT-TO-RIGHT MARK`,name:`lrm`,shorthand:null,mathClass:``,latexName:``},hs={sym:`<`,unicName:`LESS-THAN SIGN`,name:`lt`,shorthand:null,mathClass:`Relation`,latexName:`less`},gs={sym:`¯`,unicName:`MACRON`,name:`macron`,shorthand:null,mathClass:`Diacritic`,latexName:``},_s={sym:`✠`,unicName:`MALTESE CROSS`,name:`maltese`,shorthand:null,mathClass:`Normal`,latexName:`maltese`},vs={sym:`₼`,unicName:`MANAT SIGN`,name:`manat`,shorthand:null,mathClass:``,latexName:``},ys={sym:`↦`,unicName:`RIGHTWARDS ARROW FROM BAR`,name:`mapsto`,shorthand:`|->`,mathClass:`Relation`,latexName:`mapsto`},bs={sym:`♂`,unicName:`MALE SIGN`,name:`mars`,shorthand:null,mathClass:`Normal`,latexName:`male`},xs={sym:`max`,unicName:``,name:`max`,shorthand:null,mathClass:`op`,latexName:`max`},Ss={sym:`☿`,unicName:`MERCURY`,name:`mercury`,shorthand:null,mathClass:`Normal`,latexName:``},Cs={sym:`min`,unicName:``,name:`min`,shorthand:null,mathClass:`op`,latexName:`min`},ws={sym:``,unicName:`MINUS SIGN`,name:`minus`,shorthand:`-`,mathClass:`Vary`,latexName:`minus`},Ts={sym:`⧿`,unicName:`MINY`,name:`miny`,shorthand:null,mathClass:`Binary`,latexName:`tminus`},Es={sym:`mod`,unicName:``,name:`mod`,shorthand:null,mathClass:`op`,latexName:`bmod`},Ds={sym:`⊧`,unicName:`MODELS`,name:`models`,shorthand:null,mathClass:`Relation`,latexName:`models`},Os={sym:`μ`,unicName:`GREEK SMALL LETTER MU`,name:`mu`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupmu`},ks={sym:`⊸`,unicName:`MULTIMAP`,name:`multimap`,shorthand:null,mathClass:`Relation`,latexName:`multimap`},As={sym:`∇`,unicName:`NABLA`,name:`nabla`,shorthand:null,mathClass:`Unary`,latexName:`nabla`},js={sym:`₦`,unicName:`NAIRA SIGN`,name:`naira`,shorthand:null,mathClass:``,latexName:``},Ms={sym:`♮`,unicName:`MUSIC NATURAL SIGN`,name:`natural`,shorthand:null,mathClass:`Normal`,latexName:`natural`},Ns={sym:`♆`,unicName:`NEPTUNE`,name:`neptune`,shorthand:null,mathClass:`Normal`,latexName:``},Ps={sym:`¬`,unicName:`NOT SIGN`,name:`not`,shorthand:null,mathClass:`Unary`,latexName:`neg`},Fs={sym:`∅`,unicName:`EMPTY SET`,name:`nothing`,shorthand:null,mathClass:`Normal`,latexName:`varnothing`},Is={sym:`ν`,unicName:`GREEK SMALL LETTER NU`,name:`nu`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupnu`},Ls={sym:`№`,unicName:`NUMERO SIGN`,name:`numero`,shorthand:null,mathClass:``,latexName:``},Rs={sym:`ω`,unicName:`GREEK SMALL LETTER OMEGA`,name:`omega`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupomega`},zs={sym:`ο`,unicName:`GREEK SMALL LETTER OMICRON`,name:`omicron`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupomicron`},Bs={sym:`∞`,unicName:`INFINITY`,name:`oo`,shorthand:null,mathClass:`Normal`,latexName:`infty`},Vs={sym:``,unicName:`LOGICAL OR`,name:`or`,shorthand:null,mathClass:`Binary`,latexName:`vee`},Hs={sym:`⊶`,unicName:`ORIGINAL OF`,name:`original`,shorthand:null,mathClass:`Relation`,latexName:`origof`},Us={sym:`∥`,unicName:`PARALLEL TO`,name:`parallel`,shorthand:null,mathClass:`Relation`,latexName:`parallel`},Ws={sym:`∂`,unicName:`PARTIAL DIFFERENTIAL`,name:`partial`,shorthand:null,mathClass:`Normal`,latexName:`partial`},Gs={sym:`$`,unicName:`DOLLAR SIGN`,name:`pataca`,shorthand:null,mathClass:`Normal`,latexName:`mathdollar`},Ks={sym:`%`,unicName:`PERCENT SIGN`,name:`percent`,shorthand:null,mathClass:`Normal`,latexName:`mathpercent`},qs={sym:`‰`,unicName:`PER MILLE SIGN`,name:`permille`,shorthand:null,mathClass:``,latexName:``},Js={sym:`‱`,unicName:`PER TEN THOUSAND SIGN`,name:`permyriad`,shorthand:null,mathClass:``,latexName:``},Ys={sym:`⟂`,unicName:`PERPENDICULAR`,name:`perp`,shorthand:null,mathClass:`Relation`,latexName:`perp`},Xs={sym:`$`,unicName:`DOLLAR SIGN`,name:`peso`,shorthand:null,mathClass:`Normal`,latexName:`mathdollar`},Zs={sym:`φ`,unicName:`GREEK SMALL LETTER PHI`,name:`phi`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupvarphi`},Qs={sym:`π`,unicName:`GREEK SMALL LETTER PI`,name:`pi`,shorthand:null,mathClass:`Alphabetic`,latexName:`muppi`},$s={sym:`¶`,unicName:`PILCROW SIGN`,name:`pilcrow`,shorthand:null,mathClass:`Normal`,latexName:`mathparagraph`},ec={sym:`ħ`,unicName:`LATIN SMALL LETTER H WITH STROKE`,name:`planck`,shorthand:null,mathClass:``,latexName:``},tc={sym:`+`,unicName:`PLUS SIGN`,name:`plus`,shorthand:null,mathClass:`Vary`,latexName:`mathplus`},nc={sym:`£`,unicName:`POUND SIGN`,name:`pound`,shorthand:null,mathClass:`Normal`,latexName:`mathsterling`},rc={sym:`≺`,unicName:`PRECEDES`,name:`prec`,shorthand:null,mathClass:`Relation`,latexName:`prec`},ic={sym:``,unicName:`PRIME`,name:`prime`,shorthand:null,mathClass:`Normal`,latexName:`prime`},ac={sym:`∏`,unicName:`N-ARY PRODUCT`,name:`product`,shorthand:null,mathClass:`Large`,latexName:`prod`},oc={sym:`∝`,unicName:`PROPORTIONAL TO`,name:`prop`,shorthand:null,mathClass:`Relation`,latexName:`propto`},sc={sym:`ψ`,unicName:`GREEK SMALL LETTER PSI`,name:`psi`,shorthand:null,mathClass:`Alphabetic`,latexName:`muppsi`},cc={sym:`∎`,unicName:`END OF PROOF`,name:`qed`,shorthand:null,mathClass:`Normal`,latexName:`QED`},lc={sym:`?`,unicName:`QUESTION MARK`,name:`quest`,shorthand:null,mathClass:`Punctuation`,latexName:`mathquestion`},uc={sym:``,unicName:`RATIO`,name:`ratio`,shorthand:null,mathClass:`Relation`,latexName:`mathratio`},dc={sym:`※`,unicName:`REFERENCE MARK`,name:`refmark`,shorthand:null,mathClass:`Normal`,latexName:``},fc={sym:`ρ`,unicName:`GREEK SMALL LETTER RHO`,name:`rho`,shorthand:null,mathClass:`Alphabetic`,latexName:`muprho`},pc={sym:`៛`,unicName:`KHMER CURRENCY SYMBOL RIEL`,name:`riel`,shorthand:null,mathClass:``,latexName:``},mc={sym:``,unicName:`RIGHT-TO-LEFT MARK`,name:`rlm`,shorthand:null,mathClass:``,latexName:``},hc={sym:`₽`,unicName:`RUBLE SIGN`,name:`ruble`,shorthand:null,mathClass:``,latexName:``},gc={sym:`♄`,unicName:`SATURN`,name:`saturn`,shorthand:null,mathClass:`Normal`,latexName:``},_c={sym:`sec`,unicName:``,name:`sec`,shorthand:null,mathClass:`op`,latexName:`sec`},vc={sym:`sech`,unicName:``,name:`sech`,shorthand:null,mathClass:`op`,latexName:`operatorname{sech}`},yc={sym:`∩`,unicName:`INTERSECTION`,name:`sect`,shorthand:null,mathClass:`Binary`,latexName:`cap`},bc={sym:`§`,unicName:`SECTION SIGN`,name:`section`,shorthand:null,mathClass:`Normal`,latexName:`mathsection`},xc={sym:`;`,unicName:`SEMICOLON`,name:`semi`,shorthand:null,mathClass:`Punctuation`,latexName:`mathsemicolon`},Sc={sym:`ш`,unicName:`CYRILLIC SMALL LETTER SHA`,name:`sha`,shorthand:null,mathClass:``,latexName:``},Cc={sym:`♯`,unicName:`MUSIC SHARP SIGN`,name:`sharp`,shorthand:null,mathClass:`Normal`,latexName:`sharp`},wc={sym:`₪`,unicName:`NEW SHEQEL SIGN`,name:`shekel`,shorthand:null,mathClass:``,latexName:``},Tc={sym:`ש`,unicName:`HEBREW LETTER SHIN`,name:`shin`,shorthand:null,mathClass:``,latexName:``},Ec={sym:`σ`,unicName:`GREEK SMALL LETTER SIGMA`,name:`sigma`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupsigma`},Dc={sym:`sin`,unicName:``,name:`sin`,shorthand:null,mathClass:`op`,latexName:`sin`},Oc={sym:`sinc`,unicName:``,name:`sinc`,shorthand:null,mathClass:`op`,latexName:`operatorname{sinc}`},kc={sym:`sinh`,unicName:``,name:`sinh`,shorthand:null,mathClass:`op`,latexName:`sinh`},Ac={sym:`/`,unicName:`SOLIDUS`,name:`slash`,shorthand:null,mathClass:`Normal`,latexName:`mathslash`},jc={sym:`⨳`,unicName:`SMASH PRODUCT`,name:`smash`,shorthand:null,mathClass:`Binary`,latexName:`smashtimes`},Mc={sym:`⌣`,unicName:`SMILE`,name:`smile`,shorthand:null,mathClass:`Relation`,latexName:`smile`},Nc={sym:`⪪`,unicName:`SMALLER THAN`,name:`smt`,shorthand:null,mathClass:`Relation`,latexName:`smt`},Pc={sym:`⃀`,unicName:`SOM SIGN`,name:`som`,shorthand:null,mathClass:``,latexName:``},Fc={sym:` `,unicName:`SPACE`,name:`space`,shorthand:null,mathClass:`Space`,latexName:``},Ic={sym:`⊂`,unicName:`SUBSET OF`,name:`subset`,shorthand:null,mathClass:`Relation`,latexName:`subset`},Lc={sym:`≻`,unicName:`SUCCEEDS`,name:`succ`,shorthand:null,mathClass:`Relation`,latexName:`succ`},Rc={sym:`∑`,unicName:`N-ARY SUMMATION`,name:`sum`,shorthand:null,mathClass:`Large`,latexName:`sum`},zc={sym:`☉`,unicName:`SUN`,name:`sun`,shorthand:null,mathClass:`Normal`,latexName:`astrosun`},Bc={sym:`sup`,unicName:``,name:`sup`,shorthand:null,mathClass:`op`,latexName:`sup`},Vc={sym:`⊃`,unicName:`SUPERSET OF`,name:`supset`,shorthand:null,mathClass:`Relation`,latexName:`supset`},Hc={sym:`৳`,unicName:`BENGALI RUPEE SIGN`,name:`taka`,shorthand:null,mathClass:``,latexName:``},Uc={sym:`߿`,unicName:`NKO TAMAN SIGN`,name:`taman`,shorthand:null,mathClass:``,latexName:``},Wc={sym:`tan`,unicName:``,name:`tan`,shorthand:null,mathClass:`op`,latexName:`tan`},Gc={sym:`tanh`,unicName:``,name:`tanh`,shorthand:null,mathClass:`op`,latexName:`tanh`},Kc={sym:`τ`,unicName:`GREEK SMALL LETTER TAU`,name:`tau`,shorthand:null,mathClass:`Alphabetic`,latexName:`muptau`},qc={sym:`₸`,unicName:`TENGE SIGN`,name:`tenge`,shorthand:null,mathClass:``,latexName:``},Jc={sym:`tg`,unicName:``,name:`tg`,shorthand:null,mathClass:`op`,latexName:`operatorname{tg}`},Yc={sym:`∴`,unicName:`THEREFORE`,name:`therefore`,shorthand:null,mathClass:`Relation`,latexName:`therefore`},Xc={sym:`θ`,unicName:`GREEK SMALL LETTER THETA`,name:`theta`,shorthand:null,mathClass:`Alphabetic`,latexName:`muptheta`},Zc={sym:`×`,unicName:`MULTIPLICATION SIGN`,name:`times`,shorthand:null,mathClass:`Binary`,latexName:`times`},Qc={sym:`⧾`,unicName:`TINY`,name:`tiny`,shorthand:null,mathClass:`Binary`,latexName:`tplus`},$c={sym:`₮`,unicName:`TUGRIK SIGN`,name:`togrog`,shorthand:null,mathClass:``,latexName:``},el={sym:``,unicName:`DOWN TACK`,name:`top`,shorthand:null,mathClass:`Normal`,latexName:`top`},tl={sym:`tr`,unicName:``,name:`tr`,shorthand:null,mathClass:`op`,latexName:`operatorname{tr}`},nl={sym:`™`,unicName:`TRADE MARK SIGN`,name:`trademark`,shorthand:null,mathClass:``,latexName:``},rl={sym:``,unicName:`UNION`,name:`union`,shorthand:null,mathClass:`Binary`,latexName:`cup`},il={sym:`υ`,unicName:`GREEK SMALL LETTER UPSILON`,name:`upsilon`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupupsilon`},al={sym:`⛢`,unicName:`ASTRONOMICAL SYMBOL FOR URANUS`,name:`uranus`,shorthand:null,mathClass:``,latexName:``},ol={sym:`♀`,unicName:`FEMALE SIGN`,name:`venus`,shorthand:null,mathClass:`Normal`,latexName:`female`},sl={sym:``,unicName:`SET MINUS`,name:`without`,shorthand:null,mathClass:`Binary`,latexName:`setminus`},cl={sym:``,unicName:`WORD JOINER`,name:`wj`,shorthand:null,mathClass:``,latexName:``},ll={sym:`₩`,unicName:`WON SIGN`,name:`won`,shorthand:null,mathClass:``,latexName:``},ul={sym:`≀`,unicName:`WREATH PRODUCT`,name:`wreath`,shorthand:null,mathClass:`Binary`,latexName:`wr`},dl={sym:`ξ`,unicName:`GREEK SMALL LETTER XI`,name:`xi`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupxi`},fl={sym:`⊕`,unicName:`CIRCLED PLUS`,name:`xor`,shorthand:null,mathClass:`Binary`,latexName:`oplus`},pl={sym:`¥`,unicName:`YEN SIGN`,name:`yen`,shorthand:null,mathClass:`Normal`,latexName:`mathyen`},ml={sym:`¥`,unicName:`YEN SIGN`,name:`yuan`,shorthand:null,mathClass:`Normal`,latexName:`mathyen`},hl={sym:`ζ`,unicName:`GREEK SMALL LETTER ZETA`,name:`zeta`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupzeta`},gl={sym:``,unicName:`ZERO WIDTH JOINER`,name:`zwj`,shorthand:null,mathClass:``,latexName:``},_l={sym:``,unicName:`ZERO WIDTH NON-JOINER`,name:`zwnj`,shorthand:null,mathClass:``,latexName:``},vl={sym:``,unicName:`ZERO WIDTH SPACE`,name:`zws`,shorthand:null,mathClass:`Space`,latexName:``};var yl={"!=":{sym:`≠`,unicName:`NOT EQUAL TO`,name:`eq.not`,shorthand:`!=`,mathClass:`Relation`,latexName:`ne`},"*":{sym:``,unicName:`ASTERISK OPERATOR`,name:`convolve`,shorthand:`*`,mathClass:`Binary`,latexName:`ast`},"-":{sym:``,unicName:`MINUS SIGN`,name:`minus`,shorthand:`-`,mathClass:`Vary`,latexName:`minus`},"--":{sym:``,unicName:`EN DASH`,name:`dash.en`,shorthand:`--`,mathClass:`Punctuation`,latexName:``},"---":{sym:`—`,unicName:`EM DASH`,name:`dash.em`,shorthand:`---`,mathClass:`Punctuation`,latexName:``},"-->":{sym:`⟶`,unicName:`LONG RIGHTWARDS ARROW`,name:`arrow.r.long`,shorthand:`-->`,mathClass:`Relation`,latexName:`longrightarrow`},"->":{sym:`→`,unicName:`RIGHTWARDS ARROW`,name:`arrow.r`,shorthand:`->`,mathClass:`Relation`,latexName:`rightarrow`},"->>":{sym:`↠`,unicName:`RIGHTWARDS TWO HEADED ARROW`,name:`arrow.r.twohead`,shorthand:`->>`,mathClass:`Relation`,latexName:`twoheadrightarrow`},"-?":{sym:`­`,unicName:`SOFT HYPHEN`,name:`hyph.soft`,shorthand:`-?`,mathClass:``,latexName:``},"...":{sym:`…`,unicName:`HORIZONTAL ELLIPSIS`,name:`dots.h`,shorthand:`...`,mathClass:`Normal`,latexName:`unicodeellipsis`},"::=":{sym:`⩴`,unicName:`DOUBLE COLON EQUAL`,name:`colon.double.eq`,shorthand:`::=`,mathClass:`Relation`,latexName:`Coloneq`},":=":{sym:`≔`,unicName:`COLON EQUALS`,name:`colon.eq`,shorthand:`:=`,mathClass:`Relation`,latexName:`coloneq`},"<-":{sym:`←`,unicName:`LEFTWARDS ARROW`,name:`arrow.l`,shorthand:`<-`,mathClass:`Relation`,latexName:`leftarrow`},"<--":{sym:`⟵`,unicName:`LONG LEFTWARDS ARROW`,name:`arrow.l.long`,shorthand:`<--`,mathClass:`Relation`,latexName:`longleftarrow`},"<-->":{sym:`⟷`,unicName:`LONG LEFT RIGHT ARROW`,name:`arrow.l.r.long`,shorthand:`<-->`,mathClass:`Relation`,latexName:`longleftrightarrow`},"<-<":{sym:`↢`,unicName:`LEFTWARDS ARROW WITH TAIL`,name:`arrow.l.tail`,shorthand:`<-<`,mathClass:`Relation`,latexName:`leftarrowtail`},"<<":{sym:`≪`,unicName:`MUCH LESS-THAN`,name:`lt.double`,shorthand:`<<`,mathClass:`Relation`,latexName:`ll`},"<<-":{sym:`↞`,unicName:`LEFTWARDS TWO HEADED ARROW`,name:`arrow.l.twohead`,shorthand:`<<-`,mathClass:`Relation`,latexName:`twoheadleftarrow`},"<<<":{sym:`⋘`,unicName:`VERY MUCH LESS-THAN`,name:`lt.triple`,shorthand:`<<<`,mathClass:`Relation`,latexName:`lll`},"<=":{sym:`≤`,unicName:`LESS-THAN OR EQUAL TO`,name:`lt.eq`,shorthand:`<=`,mathClass:`Relation`,latexName:`leq`},"<==":{sym:`⟸`,unicName:`LONG LEFTWARDS DOUBLE ARROW`,name:`arrow.l.double.long`,shorthand:`<==`,mathClass:`Relation`,latexName:`Longleftarrow`},"<==>":{sym:`⟺`,unicName:`LONG LEFT RIGHT DOUBLE ARROW`,name:`arrow.l.r.double.long`,shorthand:`<==>`,mathClass:`Relation`,latexName:`Longleftrightarrow`},"<=>":{sym:`⇔`,unicName:`LEFT RIGHT DOUBLE ARROW`,name:`arrow.l.r.double`,shorthand:`<=>`,mathClass:`Relation`,latexName:`Leftrightarrow`},"<~":{sym:`⇜`,unicName:`LEFTWARDS SQUIGGLE ARROW`,name:`arrow.l.squiggly`,shorthand:`<~`,mathClass:`Relation`,latexName:`leftsquigarrow`},"<~~":{sym:`⬳`,unicName:`LONG LEFTWARDS SQUIGGLE ARROW`,name:`arrow.l.long.squiggly`,shorthand:`<~~`,mathClass:`Relation`,latexName:`longleftsquigarrow`},"=:":{sym:`≕`,unicName:`EQUALS COLON`,name:`eq.colon`,shorthand:`=:`,mathClass:`Relation`,latexName:`eqcolon`},"==>":{sym:`⟹`,unicName:`LONG RIGHTWARDS DOUBLE ARROW`,name:`arrow.r.double.long`,shorthand:`==>`,mathClass:`Relation`,latexName:`Longrightarrow`},"=>":{sym:`⇒`,unicName:`RIGHTWARDS DOUBLE ARROW`,name:`arrow.r.double`,shorthand:`=>`,mathClass:`Relation`,latexName:`Rightarrow`},">->":{sym:`↣`,unicName:`RIGHTWARDS ARROW WITH TAIL`,name:`arrow.r.tail`,shorthand:`>->`,mathClass:`Relation`,latexName:`rightarrowtail`},">=":{sym:`≥`,unicName:`GREATER-THAN OR EQUAL TO`,name:`gt.eq`,shorthand:`>=`,mathClass:`Relation`,latexName:`geq`},">>":{sym:`≫`,unicName:`MUCH GREATER-THAN`,name:`gt.double`,shorthand:`>>`,mathClass:`Relation`,latexName:`gg`},">>>":{sym:`⋙`,unicName:`VERY MUCH GREATER-THAN`,name:`gt.triple`,shorthand:`>>>`,mathClass:`Relation`,latexName:`ggg`},AA:Ur,Alpha:Wr,BB:Gr,Beta:Kr,CC:qr,Chi:Jr,DD:Yr,Delta:Xr,Dif:Zr,Digamma:Qr,EE:$r,Epsilon:ei,Eta:ti,FF:ni,GG:ri,Gamma:ii,HH:ai,II:oi,Im:si,Iota:ci,JJ:li,KK:ui,Kai:di,Kappa:fi,LL:pi,Lambda:mi,MM:hi,Mu:gi,NN:_i,Nu:vi,OO:yi,Omega:bi,"Omega.inv":{sym:`℧`,unicName:`INVERTED OHM SIGN`,name:`Omega.inv`,shorthand:null,mathClass:`Normal`,latexName:`mho`},Omicron:xi,PP:Si,Phi:Ci,Pi:wi,Pr:Ti,Psi:Ei,QQ:Di,RR:Oi,Re:ki,Rho:Ai,SS:ji,Sha:Mi,Sigma:Ni,TT:Pi,Tau:Fi,Theta:Ii,"Theta.alt":{sym:`ϴ`,unicName:`GREEK CAPITAL THETA SYMBOL`,name:`Theta.alt`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupvarTheta`},UU:Li,Upsilon:Ri,VV:zi,WW:Bi,XX:Vi,Xi:Hi,YY:Ui,ZZ:Wi,Zeta:Gi,"[|":{sym:`⟦`,unicName:`MATHEMATICAL LEFT WHITE SQUARE BRACKET`,name:`bracket.l.double`,shorthand:`[|`,mathClass:`Opening`,latexName:`lBrack`},acute:Ki,"acute.double":{sym:`˝`,unicName:`DOUBLE ACUTE ACCENT`,name:`acute.double`,shorthand:null,mathClass:``,latexName:``},afghani:qi,alef:Ji,aleph:Yi,alpha:Xi,amp:Zi,"amp.inv":{sym:`⅋`,unicName:`TURNED AMPERSAND`,name:`amp.inv`,shorthand:null,mathClass:`Binary`,latexName:`upand`},and:Qi,"and.big":{sym:`⋀`,unicName:`N-ARY LOGICAL AND`,name:`and.big`,shorthand:null,mathClass:`Large`,latexName:`bigwedge`},"and.curly":{sym:`⋏`,unicName:`CURLY LOGICAL AND`,name:`and.curly`,shorthand:null,mathClass:`Binary`,latexName:`curlywedge`},"and.dot":{sym:`⟑`,unicName:`AND WITH DOT`,name:`and.dot`,shorthand:null,mathClass:`Binary`,latexName:`wedgedot`},"and.double":{sym:`⩓`,unicName:`DOUBLE LOGICAL AND`,name:`and.double`,shorthand:null,mathClass:`Binary`,latexName:`Wedge`},angle:$i,"angle.acute":{sym:`⦟`,unicName:`ACUTE ANGLE`,name:`angle.acute`,shorthand:null,mathClass:`Normal`,latexName:`angdnr`},"angle.arc":{sym:`∡`,unicName:`MEASURED ANGLE`,name:`angle.arc`,shorthand:null,mathClass:`Normal`,latexName:`measuredangle`},"angle.arc.rev":{sym:`⦛`,unicName:`MEASURED ANGLE OPENING LEFT`,name:`angle.arc.rev`,shorthand:null,mathClass:`Normal`,latexName:`measuredangleleft`},"angle.azimuth":{sym:`⍼`,unicName:`RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW`,name:`angle.azimuth`,shorthand:null,mathClass:`Relation`,latexName:`rangledownzigzagarrow`},"angle.l":{sym:`⟨`,unicName:`MATHEMATICAL LEFT ANGLE BRACKET`,name:`angle.l`,shorthand:null,mathClass:`Opening`,latexName:`langle`},"angle.l.curly":{sym:`⧼`,unicName:`LEFT-POINTING CURVED ANGLE BRACKET`,name:`angle.l.curly`,shorthand:null,mathClass:`Opening`,latexName:`lcurvyangle`},"angle.l.dot":{sym:`⦑`,unicName:`LEFT ANGLE BRACKET WITH DOT`,name:`angle.l.dot`,shorthand:null,mathClass:`Opening`,latexName:`langledot`},"angle.l.double":{sym:`⟪`,unicName:`MATHEMATICAL LEFT DOUBLE ANGLE BRACKET`,name:`angle.l.double`,shorthand:null,mathClass:`Opening`,latexName:`lAngle`},"angle.oblique":{sym:`⦦`,unicName:`OBLIQUE ANGLE OPENING UP`,name:`angle.oblique`,shorthand:null,mathClass:`Normal`,latexName:`wideangledown`},"angle.obtuse":{sym:`⦦`,unicName:`OBLIQUE ANGLE OPENING UP`,name:`angle.obtuse`,shorthand:null,mathClass:`Normal`,latexName:`wideangledown`},"angle.r":{sym:`⟩`,unicName:`MATHEMATICAL RIGHT ANGLE BRACKET`,name:`angle.r`,shorthand:null,mathClass:`Closing`,latexName:`rangle`},"angle.r.curly":{sym:`⧽`,unicName:`RIGHT-POINTING CURVED ANGLE BRACKET`,name:`angle.r.curly`,shorthand:null,mathClass:`Closing`,latexName:`rcurvyangle`},"angle.r.dot":{sym:`⦒`,unicName:`RIGHT ANGLE BRACKET WITH DOT`,name:`angle.r.dot`,shorthand:null,mathClass:`Closing`,latexName:`rangledot`},"angle.r.double":{sym:`⟫`,unicName:`MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET`,name:`angle.r.double`,shorthand:null,mathClass:`Closing`,latexName:`rAngle`},"angle.rev":{sym:`⦣`,unicName:`REVERSED ANGLE`,name:`angle.rev`,shorthand:null,mathClass:`Normal`,latexName:`revangle`},"angle.right":{sym:`∟`,unicName:`RIGHT ANGLE`,name:`angle.right`,shorthand:null,mathClass:`Normal`,latexName:`rightangle`},"angle.right.arc":{sym:`⊾`,unicName:`RIGHT ANGLE WITH ARC`,name:`angle.right.arc`,shorthand:null,mathClass:`Normal`,latexName:`measuredrightangle`},"angle.right.dot":{sym:`⦝`,unicName:`MEASURED RIGHT ANGLE WITH DOT`,name:`angle.right.dot`,shorthand:null,mathClass:`Normal`,latexName:`rightanglemdot`},"angle.right.rev":{sym:`⯾`,unicName:`REVERSED RIGHT ANGLE`,name:`angle.right.rev`,shorthand:null,mathClass:``,latexName:``},"angle.right.sq":{sym:`⦜`,unicName:`RIGHT ANGLE VARIANT WITH SQUARE`,name:`angle.right.sq`,shorthand:null,mathClass:`Normal`,latexName:`rightanglesqr`},"angle.right.square":{sym:`⦜`,unicName:`RIGHT ANGLE VARIANT WITH SQUARE`,name:`angle.right.square`,shorthand:null,mathClass:`Normal`,latexName:`rightanglesqr`},"angle.s":{sym:`⦞`,unicName:`ANGLE WITH S INSIDE`,name:`angle.s`,shorthand:null,mathClass:`Normal`,latexName:`angles`},"angle.spatial":{sym:`⟀`,unicName:`THREE DIMENSIONAL ANGLE`,name:`angle.spatial`,shorthand:null,mathClass:`Normal`,latexName:`threedangle`},"angle.spheric":{sym:`∢`,unicName:`SPHERICAL ANGLE`,name:`angle.spheric`,shorthand:null,mathClass:`Normal`,latexName:`sphericalangle`},"angle.spheric.rev":{sym:`⦠`,unicName:`SPHERICAL ANGLE OPENING LEFT`,name:`angle.spheric.rev`,shorthand:null,mathClass:`Normal`,latexName:`gtlpar`},"angle.spheric.t":{sym:`⦡`,unicName:`SPHERICAL ANGLE OPENING UP`,name:`angle.spheric.t`,shorthand:null,mathClass:`Normal`,latexName:`sphericalangleup`},"angle.spheric.top":{sym:`⦡`,unicName:`SPHERICAL ANGLE OPENING UP`,name:`angle.spheric.top`,shorthand:null,mathClass:`Normal`,latexName:`sphericalangleup`},angstrom:ea,angzarr:ta,approx:na,"approx.eq":{sym:`≊`,unicName:`ALMOST EQUAL OR EQUAL TO`,name:`approx.eq`,shorthand:null,mathClass:`Relation`,latexName:`approxeq`},"approx.not":{sym:`≉`,unicName:`NOT ALMOST EQUAL TO`,name:`approx.not`,shorthand:null,mathClass:`Relation`,latexName:`napprox`},arccos:ra,arcsin:ia,arctan:aa,arg:oa,"arrow.b":{sym:`↓`,unicName:`DOWNWARDS ARROW`,name:`arrow.b`,shorthand:null,mathClass:`Relation`,latexName:`downarrow`},"arrow.b.bar":{sym:`↧`,unicName:`DOWNWARDS ARROW FROM BAR`,name:`arrow.b.bar`,shorthand:null,mathClass:`Relation`,latexName:`mapsdown`},"arrow.b.curve":{sym:`⤵`,unicName:`ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS`,name:`arrow.b.curve`,shorthand:null,mathClass:`Relation`,latexName:`downrightcurvedarrow`},"arrow.b.dashed":{sym:`⇣`,unicName:`DOWNWARDS DASHED ARROW`,name:`arrow.b.dashed`,shorthand:null,mathClass:`Relation`,latexName:`downdasharrow`},"arrow.b.double":{sym:`⇓`,unicName:`DOWNWARDS DOUBLE ARROW`,name:`arrow.b.double`,shorthand:null,mathClass:`Relation`,latexName:`Downarrow`},"arrow.b.dstruck":{sym:`⇟`,unicName:`DOWNWARDS ARROW WITH DOUBLE STROKE`,name:`arrow.b.dstruck`,shorthand:null,mathClass:`Relation`,latexName:`nHdownarrow`},"arrow.b.filled":{sym:`⬇`,unicName:`DOWNWARDS BLACK ARROW`,name:`arrow.b.filled`,shorthand:null,mathClass:`Relation`,latexName:``},"arrow.b.quad":{sym:`⟱`,unicName:`DOWNWARDS QUADRUPLE ARROW`,name:`arrow.b.quad`,shorthand:null,mathClass:`Relation`,latexName:`DDownarrow`},"arrow.b.stop":{sym:`⤓`,unicName:`DOWNWARDS ARROW TO BAR`,name:`arrow.b.stop`,shorthand:null,mathClass:`Relation`,latexName:`downarrowbar`},"arrow.b.stroked":{sym:`⇩`,unicName:`DOWNWARDS WHITE ARROW`,name:`arrow.b.stroked`,shorthand:null,mathClass:`Relation`,latexName:`downwhitearrow`},"arrow.b.struck":{sym:`⤈`,unicName:`DOWNWARDS ARROW WITH HORIZONTAL STROKE`,name:`arrow.b.struck`,shorthand:null,mathClass:`Relation`,latexName:`downarrowbarred`},"arrow.b.triple":{sym:`⤋`,unicName:`DOWNWARDS TRIPLE ARROW`,name:`arrow.b.triple`,shorthand:null,mathClass:`Relation`,latexName:`Ddownarrow`},"arrow.b.turn":{sym:`⮏`,unicName:`ANTICLOCKWISE TRIANGLE-HEADED TOP U-SHAPED ARROW`,name:`arrow.b.turn`,shorthand:null,mathClass:``,latexName:``},"arrow.b.twohead":{sym:`↡`,unicName:`DOWNWARDS TWO HEADED ARROW`,name:`arrow.b.twohead`,shorthand:null,mathClass:`Relation`,latexName:`twoheaddownarrow`},"arrow.bl":{sym:`↙`,unicName:`SOUTH WEST ARROW`,name:`arrow.bl`,shorthand:null,mathClass:`Relation`,latexName:`swarrow`},"arrow.bl.double":{sym:`⇙`,unicName:`SOUTH WEST DOUBLE ARROW`,name:`arrow.bl.double`,shorthand:null,mathClass:`Relation`,latexName:`Swarrow`},"arrow.bl.filled":{sym:`⬋`,unicName:`SOUTH WEST BLACK ARROW`,name:`arrow.bl.filled`,shorthand:null,mathClass:`Relation`,latexName:``},"arrow.bl.hook":{sym:`⤦`,unicName:`SOUTH WEST ARROW WITH HOOK`,name:`arrow.bl.hook`,shorthand:null,mathClass:`Relation`,latexName:`hkswarrow`},"arrow.bl.stroked":{sym:`⬃`,unicName:`SOUTH WEST WHITE ARROW`,name:`arrow.bl.stroked`,shorthand:null,mathClass:`Relation`,latexName:``},"arrow.br":{sym:`↘`,unicName:`SOUTH EAST ARROW`,name:`arrow.br`,shorthand:null,mathClass:`Relation`,latexName:`searrow`},"arrow.br.double":{sym:`⇘`,unicName:`SOUTH EAST DOUBLE ARROW`,name:`arrow.br.double`,shorthand:null,mathClass:`Relation`,latexName:`Searrow`},"arrow.br.filled":{sym:`⬊`,unicName:`SOUTH EAST BLACK ARROW`,name:`arrow.br.filled`,shorthand:null,mathClass:`Relation`,latexName:``},"arrow.br.hook":{sym:`⤥`,unicName:`SOUTH EAST ARROW WITH HOOK`,name:`arrow.br.hook`,shorthand:null,mathClass:`Relation`,latexName:`hksearrow`},"arrow.br.stroked":{sym:`⬂`,unicName:`SOUTH EAST WHITE ARROW`,name:`arrow.br.stroked`,shorthand:null,mathClass:`Relation`,latexName:``},"arrow.ccw":{sym:`↺`,unicName:`ANTICLOCKWISE OPEN CIRCLE ARROW`,name:`arrow.ccw`,shorthand:null,mathClass:`Relation`,latexName:`acwopencirclearrow`},"arrow.ccw.half":{sym:`↶`,unicName:`ANTICLOCKWISE TOP SEMICIRCLE ARROW`,name:`arrow.ccw.half`,shorthand:null,mathClass:`Relation`,latexName:`curvearrowleft`},"arrow.cw":{sym:`↻`,unicName:`CLOCKWISE OPEN CIRCLE ARROW`,name:`arrow.cw`,shorthand:null,mathClass:`Relation`,latexName:`cwopencirclearrow`},"arrow.cw.half":{sym:`↷`,unicName:`CLOCKWISE TOP SEMICIRCLE ARROW`,name:`arrow.cw.half`,shorthand:null,mathClass:`Relation`,latexName:`curvearrowright`},"arrow.l":{sym:`←`,unicName:`LEFTWARDS ARROW`,name:`arrow.l`,shorthand:`<-`,mathClass:`Relation`,latexName:`leftarrow`},"arrow.l.bar":{sym:`↤`,unicName:`LEFTWARDS ARROW FROM BAR`,name:`arrow.l.bar`,shorthand:null,mathClass:`Relation`,latexName:`mapsfrom`},"arrow.l.curve":{sym:`⤶`,unicName:`ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS`,name:`arrow.l.curve`,shorthand:null,mathClass:`Relation`,latexName:`leftdowncurvedarrow`},"arrow.l.dashed":{sym:`⇠`,unicName:`LEFTWARDS DASHED ARROW`,name:`arrow.l.dashed`,shorthand:null,mathClass:`Relation`,latexName:`leftdasharrow`},"arrow.l.dotted":{sym:`⬸`,unicName:`LEFTWARDS ARROW WITH DOTTED STEM`,name:`arrow.l.dotted`,shorthand:null,mathClass:`Relation`,latexName:`leftdotarrow`},"arrow.l.double":{sym:`⇐`,unicName:`LEFTWARDS DOUBLE ARROW`,name:`arrow.l.double`,shorthand:null,mathClass:`Relation`,latexName:`Leftarrow`},"arrow.l.double.bar":{sym:`⤆`,unicName:`LEFTWARDS DOUBLE ARROW FROM BAR`,name:`arrow.l.double.bar`,shorthand:null,mathClass:`Relation`,latexName:`Mapsfrom`},"arrow.l.double.long":{sym:`⟸`,unicName:`LONG LEFTWARDS DOUBLE ARROW`,name:`arrow.l.double.long`,shorthand:`<==`,mathClass:`Relation`,latexName:`Longleftarrow`},"arrow.l.double.long.bar":{sym:`⟽`,unicName:`LONG LEFTWARDS DOUBLE ARROW FROM BAR`,name:`arrow.l.double.long.bar`,shorthand:null,mathClass:`Relation`,latexName:`Longmapsfrom`},"arrow.l.double.not":{sym:`⇍`,unicName:`LEFTWARDS DOUBLE ARROW WITH STROKE`,name:`arrow.l.double.not`,shorthand:null,mathClass:`Relation`,latexName:`nLeftarrow`},"arrow.l.double.struck":{sym:`⤂`,unicName:`LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE`,name:`arrow.l.double.struck`,shorthand:null,mathClass:`Relation`,latexName:`nvLeftarrow`},"arrow.l.dstruck":{sym:`⇺`,unicName:`LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE`,name:`arrow.l.dstruck`,shorthand:null,mathClass:`Relation`,latexName:`nVleftarrow`},"arrow.l.filled":{sym:`⬅`,unicName:`LEFTWARDS BLACK ARROW`,name:`arrow.l.filled`,shorthand:null,mathClass:`Relation`,latexName:``},"arrow.l.hook":{sym:`↩`,unicName:`LEFTWARDS ARROW WITH HOOK`,name:`arrow.l.hook`,shorthand:null,mathClass:`Relation`,latexName:`hookleftarrow`},"arrow.l.long":{sym:`⟵`,unicName:`LONG LEFTWARDS ARROW`,name:`arrow.l.long`,shorthand:`<--`,mathClass:`Relation`,latexName:`longleftarrow`},"arrow.l.long.bar":{sym:`⟻`,unicName:`LONG LEFTWARDS ARROW FROM BAR`,name:`arrow.l.long.bar`,shorthand:null,mathClass:`Relation`,latexName:`longmapsfrom`},"arrow.l.long.squiggly":{sym:`⬳`,unicName:`LONG LEFTWARDS SQUIGGLE ARROW`,name:`arrow.l.long.squiggly`,shorthand:`<~~`,mathClass:`Relation`,latexName:`longleftsquigarrow`},"arrow.l.loop":{sym:`↫`,unicName:`LEFTWARDS ARROW WITH LOOP`,name:`arrow.l.loop`,shorthand:null,mathClass:`Relation`,latexName:`looparrowleft`},"arrow.l.not":{sym:`↚`,unicName:`LEFTWARDS ARROW WITH STROKE`,name:`arrow.l.not`,shorthand:null,mathClass:`Relation`,latexName:`nleftarrow`},"arrow.l.open":{sym:`⇽`,unicName:`LEFTWARDS OPEN-HEADED ARROW`,name:`arrow.l.open`,shorthand:null,mathClass:`Relation`,latexName:`leftarrowtriangle`},"arrow.l.quad":{sym:`⭅`,unicName:`LEFTWARDS QUADRUPLE ARROW`,name:`arrow.l.quad`,shorthand:null,mathClass:`Relation`,latexName:`LLeftarrow`},"arrow.l.r":{sym:`↔`,unicName:`LEFT RIGHT ARROW`,name:`arrow.l.r`,shorthand:null,mathClass:`Relation`,latexName:`leftrightarrow`},"arrow.l.r.double":{sym:`⇔`,unicName:`LEFT RIGHT DOUBLE ARROW`,name:`arrow.l.r.double`,shorthand:`<=>`,mathClass:`Relation`,latexName:`Leftrightarrow`},"arrow.l.r.double.long":{sym:`⟺`,unicName:`LONG LEFT RIGHT DOUBLE ARROW`,name:`arrow.l.r.double.long`,shorthand:`<==>`,mathClass:`Relation`,latexName:`Longleftrightarrow`},"arrow.l.r.double.not":{sym:`⇎`,unicName:`LEFT RIGHT DOUBLE ARROW WITH STROKE`,name:`arrow.l.r.double.not`,shorthand:null,mathClass:`Relation`,latexName:`nLeftrightarrow`},"arrow.l.r.double.struck":{sym:`⤄`,unicName:`LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE`,name:`arrow.l.r.double.struck`,shorthand:null,mathClass:`Relation`,latexName:`nvLeftrightarrow`},"arrow.l.r.dstruck":{sym:`⇼`,unicName:`LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE`,name:`arrow.l.r.dstruck`,shorthand:null,mathClass:`Relation`,latexName:`nVleftrightarrow`},"arrow.l.r.filled":{sym:`⬌`,unicName:`LEFT RIGHT BLACK ARROW`,name:`arrow.l.r.filled`,shorthand:null,mathClass:`Relation`,latexName:``},"arrow.l.r.long":{sym:`⟷`,unicName:`LONG LEFT RIGHT ARROW`,name:`arrow.l.r.long`,shorthand:`<-->`,mathClass:`Relation`,latexName:`longleftrightarrow`},"arrow.l.r.not":{sym:`↮`,unicName:`LEFT RIGHT ARROW WITH STROKE`,name:`arrow.l.r.not`,shorthand:null,mathClass:`Relation`,latexName:`nleftrightarrow`},"arrow.l.r.open":{sym:`⇿`,unicName:`LEFT RIGHT OPEN-HEADED ARROW`,name:`arrow.l.r.open`,shorthand:null,mathClass:`Relation`,latexName:`leftrightarrowtriangle`},"arrow.l.r.stroked":{sym:`⬄`,unicName:`LEFT RIGHT WHITE ARROW`,name:`arrow.l.r.stroked`,shorthand:null,mathClass:`Relation`,latexName:``},"arrow.l.r.struck":{sym:`⇹`,unicName:`LEFT RIGHT ARROW WITH VERTICAL STROKE`,name:`arrow.l.r.struck`,shorthand:null,mathClass:`Relation`,latexName:`nvleftrightarrow`},"arrow.l.r.wave":{sym:`↭`,unicName:`LEFT RIGHT WAVE ARROW`,name:`arrow.l.r.wave`,shorthand:null,mathClass:`Relation`,latexName:`leftrightsquigarrow`},"arrow.l.squiggly":{sym:`⇜`,unicName:`LEFTWARDS SQUIGGLE ARROW`,name:`arrow.l.squiggly`,shorthand:`<~`,mathClass:`Relation`,latexName:`leftsquigarrow`},"arrow.l.stop":{sym:`⇤`,unicName:`LEFTWARDS ARROW TO BAR`,name:`arrow.l.stop`,shorthand:null,mathClass:`Relation`,latexName:`barleftarrow`},"arrow.l.stroked":{sym:`⇦`,unicName:`LEFTWARDS WHITE ARROW`,name:`arrow.l.stroked`,shorthand:null,mathClass:`Relation`,latexName:`leftwhitearrow`},"arrow.l.struck":{sym:`⇷`,unicName:`LEFTWARDS ARROW WITH VERTICAL STROKE`,name:`arrow.l.struck`,shorthand:null,mathClass:`Relation`,latexName:`nvleftarrow`},"arrow.l.tail":{sym:`↢`,unicName:`LEFTWARDS ARROW WITH TAIL`,name:`arrow.l.tail`,shorthand:`<-<`,mathClass:`Relation`,latexName:`leftarrowtail`},"arrow.l.tail.dstruck":{sym:`⬺`,unicName:`LEFTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE`,name:`arrow.l.tail.dstruck`,shorthand:null,mathClass:`Relation`,latexName:`nVleftarrowtail`},"arrow.l.tail.struck":{sym:`⬹`,unicName:`LEFTWARDS ARROW WITH TAIL WITH VERTICAL STROKE`,name:`arrow.l.tail.struck`,shorthand:null,mathClass:`Relation`,latexName:`nvleftarrowtail`},"arrow.l.tilde":{sym:`⭉`,unicName:`TILDE OPERATOR ABOVE LEFTWARDS ARROW`,name:`arrow.l.tilde`,shorthand:null,mathClass:`Relation`,latexName:`similarleftarrow`},"arrow.l.triple":{sym:`⇚`,unicName:`LEFTWARDS TRIPLE ARROW`,name:`arrow.l.triple`,shorthand:null,mathClass:`Relation`,latexName:`Lleftarrow`},"arrow.l.turn":{sym:`⮌`,unicName:`ANTICLOCKWISE TRIANGLE-HEADED RIGHT U-SHAPED ARROW`,name:`arrow.l.turn`,shorthand:null,mathClass:``,latexName:``},"arrow.l.twohead":{sym:`↞`,unicName:`LEFTWARDS TWO HEADED ARROW`,name:`arrow.l.twohead`,shorthand:`<<-`,mathClass:`Relation`,latexName:`twoheadleftarrow`},"arrow.l.twohead.bar":{sym:`⬶`,unicName:`LEFTWARDS TWO-HEADED ARROW FROM BAR`,name:`arrow.l.twohead.bar`,shorthand:null,mathClass:`Relation`,latexName:`twoheadmapsfrom`},"arrow.l.twohead.dstruck":{sym:`⬵`,unicName:`LEFTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE`,name:`arrow.l.twohead.dstruck`,shorthand:null,mathClass:`Relation`,latexName:`nVtwoheadleftarrow`},"arrow.l.twohead.struck":{sym:`⬴`,unicName:`LEFTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE`,name:`arrow.l.twohead.struck`,shorthand:null,mathClass:`Relation`,latexName:`nvtwoheadleftarrow`},"arrow.l.twohead.tail":{sym:`⬻`,unicName:`LEFTWARDS TWO-HEADED ARROW WITH TAIL`,name:`arrow.l.twohead.tail`,shorthand:null,mathClass:`Relation`,latexName:`twoheadleftarrowtail`},"arrow.l.twohead.tail.dstruck":{sym:`⬽`,unicName:`LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE`,name:`arrow.l.twohead.tail.dstruck`,shorthand:null,mathClass:`Relation`,latexName:`nVtwoheadleftarrowtail`},"arrow.l.twohead.tail.struck":{sym:`⬼`,unicName:`LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE`,name:`arrow.l.twohead.tail.struck`,shorthand:null,mathClass:`Relation`,latexName:`nvtwoheadleftarrowtail`},"arrow.l.wave":{sym:`↜`,unicName:`LEFTWARDS WAVE ARROW`,name:`arrow.l.wave`,shorthand:null,mathClass:`Relation`,latexName:`leftwavearrow`},"arrow.r":{sym:`→`,unicName:`RIGHTWARDS ARROW`,name:`arrow.r`,shorthand:`->`,mathClass:`Relation`,latexName:`rightarrow`},"arrow.r.bar":{sym:`↦`,unicName:`RIGHTWARDS ARROW FROM BAR`,name:`arrow.r.bar`,shorthand:`|->`,mathClass:`Relation`,latexName:`mapsto`},"arrow.r.curve":{sym:`⤷`,unicName:`ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS`,name:`arrow.r.curve`,shorthand:null,mathClass:`Relation`,latexName:`rightdowncurvedarrow`},"arrow.r.dashed":{sym:`⇢`,unicName:`RIGHTWARDS DASHED ARROW`,name:`arrow.r.dashed`,shorthand:null,mathClass:`Relation`,latexName:`rightdasharrow`},"arrow.r.dotted":{sym:`⤑`,unicName:`RIGHTWARDS ARROW WITH DOTTED STEM`,name:`arrow.r.dotted`,shorthand:null,mathClass:`Relation`,latexName:`rightdotarrow`},"arrow.r.double":{sym:`⇒`,unicName:`RIGHTWARDS DOUBLE ARROW`,name:`arrow.r.double`,shorthand:`=>`,mathClass:`Relation`,latexName:`Rightarrow`},"arrow.r.double.bar":{sym:`⤇`,unicName:`RIGHTWARDS DOUBLE ARROW FROM BAR`,name:`arrow.r.double.bar`,shorthand:`|=>`,mathClass:`Relation`,latexName:`Mapsto`},"arrow.r.double.long":{sym:`⟹`,unicName:`LONG RIGHTWARDS DOUBLE ARROW`,name:`arrow.r.double.long`,shorthand:`==>`,mathClass:`Relation`,latexName:`Longrightarrow`},"arrow.r.double.long.bar":{sym:`⟾`,unicName:`LONG RIGHTWARDS DOUBLE ARROW FROM BAR`,name:`arrow.r.double.long.bar`,shorthand:null,mathClass:`Relation`,latexName:`Longmapsto`},"arrow.r.double.not":{sym:`⇏`,unicName:`RIGHTWARDS DOUBLE ARROW WITH STROKE`,name:`arrow.r.double.not`,shorthand:null,mathClass:`Relation`,latexName:`nRightarrow`},"arrow.r.double.struck":{sym:`⤃`,unicName:`RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE`,name:`arrow.r.double.struck`,shorthand:null,mathClass:`Relation`,latexName:`nvRightarrow`},"arrow.r.dstruck":{sym:`⇻`,unicName:`RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE`,name:`arrow.r.dstruck`,shorthand:null,mathClass:`Relation`,latexName:`nVrightarrow`},"arrow.r.filled":{sym:`➡`,unicName:`BLACK RIGHTWARDS ARROW`,name:`arrow.r.filled`,shorthand:null,mathClass:``,latexName:``},"arrow.r.hook":{sym:`↪`,unicName:`RIGHTWARDS ARROW WITH HOOK`,name:`arrow.r.hook`,shorthand:null,mathClass:`Relation`,latexName:`hookrightarrow`},"arrow.r.long":{sym:`⟶`,unicName:`LONG RIGHTWARDS ARROW`,name:`arrow.r.long`,shorthand:`-->`,mathClass:`Relation`,latexName:`longrightarrow`},"arrow.r.long.bar":{sym:`⟼`,unicName:`LONG RIGHTWARDS ARROW FROM BAR`,name:`arrow.r.long.bar`,shorthand:null,mathClass:`Relation`,latexName:`longmapsto`},"arrow.r.long.squiggly":{sym:`⟿`,unicName:`LONG RIGHTWARDS SQUIGGLE ARROW`,name:`arrow.r.long.squiggly`,shorthand:`~~>`,mathClass:`Relation`,latexName:`longrightsquigarrow`},"arrow.r.loop":{sym:`↬`,unicName:`RIGHTWARDS ARROW WITH LOOP`,name:`arrow.r.loop`,shorthand:null,mathClass:`Relation`,latexName:`looparrowright`},"arrow.r.not":{sym:`↛`,unicName:`RIGHTWARDS ARROW WITH STROKE`,name:`arrow.r.not`,shorthand:null,mathClass:`Relation`,latexName:`nrightarrow`},"arrow.r.open":{sym:`⇾`,unicName:`RIGHTWARDS OPEN-HEADED ARROW`,name:`arrow.r.open`,shorthand:null,mathClass:`Relation`,latexName:`rightarrowtriangle`},"arrow.r.quad":{sym:`⭆`,unicName:`RIGHTWARDS QUADRUPLE ARROW`,name:`arrow.r.quad`,shorthand:null,mathClass:`Relation`,latexName:`RRightarrow`},"arrow.r.squiggly":{sym:`⇝`,unicName:`RIGHTWARDS SQUIGGLE ARROW`,name:`arrow.r.squiggly`,shorthand:`~>`,mathClass:`Relation`,latexName:`rightsquigarrow`},"arrow.r.stop":{sym:`⇥`,unicName:`RIGHTWARDS ARROW TO BAR`,name:`arrow.r.stop`,shorthand:null,mathClass:`Relation`,latexName:`rightarrowbar`},"arrow.r.stroked":{sym:`⇨`,unicName:`RIGHTWARDS WHITE ARROW`,name:`arrow.r.stroked`,shorthand:null,mathClass:`Relation`,latexName:`rightwhitearrow`},"arrow.r.struck":{sym:`⇸`,unicName:`RIGHTWARDS ARROW WITH VERTICAL STROKE`,name:`arrow.r.struck`,shorthand:null,mathClass:`Relation`,latexName:`nvrightarrow`},"arrow.r.tail":{sym:`↣`,unicName:`RIGHTWARDS ARROW WITH TAIL`,name:`arrow.r.tail`,shorthand:`>->`,mathClass:`Relation`,latexName:`rightarrowtail`},"arrow.r.tail.dstruck":{sym:`⤕`,unicName:`RIGHTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE`,name:`arrow.r.tail.dstruck`,shorthand:null,mathClass:`Relation`,latexName:`nVrightarrowtail`},"arrow.r.tail.struck":{sym:`⤔`,unicName:`RIGHTWARDS ARROW WITH TAIL WITH VERTICAL STROKE`,name:`arrow.r.tail.struck`,shorthand:null,mathClass:`Relation`,latexName:`nvrightarrowtail`},"arrow.r.tilde":{sym:`⥲`,unicName:`TILDE OPERATOR ABOVE RIGHTWARDS ARROW`,name:`arrow.r.tilde`,shorthand:null,mathClass:`Relation`,latexName:`similarrightarrow`},"arrow.r.triple":{sym:`⇛`,unicName:`RIGHTWARDS TRIPLE ARROW`,name:`arrow.r.triple`,shorthand:null,mathClass:`Relation`,latexName:`Rrightarrow`},"arrow.r.turn":{sym:`⮎`,unicName:`ANTICLOCKWISE TRIANGLE-HEADED LEFT U-SHAPED ARROW`,name:`arrow.r.turn`,shorthand:null,mathClass:``,latexName:``},"arrow.r.twohead":{sym:`↠`,unicName:`RIGHTWARDS TWO HEADED ARROW`,name:`arrow.r.twohead`,shorthand:`->>`,mathClass:`Relation`,latexName:`twoheadrightarrow`},"arrow.r.twohead.bar":{sym:`⤅`,unicName:`RIGHTWARDS TWO-HEADED ARROW FROM BAR`,name:`arrow.r.twohead.bar`,shorthand:null,mathClass:`Relation`,latexName:`twoheadmapsto`},"arrow.r.twohead.dstruck":{sym:`⤁`,unicName:`RIGHTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE`,name:`arrow.r.twohead.dstruck`,shorthand:null,mathClass:`Relation`,latexName:`nVtwoheadrightarrow`},"arrow.r.twohead.struck":{sym:`⤀`,unicName:`RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE`,name:`arrow.r.twohead.struck`,shorthand:null,mathClass:`Relation`,latexName:`nvtwoheadrightarrow`},"arrow.r.twohead.tail":{sym:`⤖`,unicName:`RIGHTWARDS TWO-HEADED ARROW WITH TAIL`,name:`arrow.r.twohead.tail`,shorthand:null,mathClass:`Relation`,latexName:`twoheadrightarrowtail`},"arrow.r.twohead.tail.dstruck":{sym:`⤘`,unicName:`RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE`,name:`arrow.r.twohead.tail.dstruck`,shorthand:null,mathClass:`Relation`,latexName:`nVtwoheadrightarrowtail`},"arrow.r.twohead.tail.struck":{sym:`⤗`,unicName:`RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE`,name:`arrow.r.twohead.tail.struck`,shorthand:null,mathClass:`Relation`,latexName:`nvtwoheadrightarrowtail`},"arrow.r.wave":{sym:`↝`,unicName:`RIGHTWARDS WAVE ARROW`,name:`arrow.r.wave`,shorthand:null,mathClass:`Relation`,latexName:`rightwavearrow`},"arrow.t":{sym:`↑`,unicName:`UPWARDS ARROW`,name:`arrow.t`,shorthand:null,mathClass:`Relation`,latexName:`uparrow`},"arrow.t.b":{sym:`↕`,unicName:`UP DOWN ARROW`,name:`arrow.t.b`,shorthand:null,mathClass:`Relation`,latexName:`updownarrow`},"arrow.t.b.double":{sym:`⇕`,unicName:`UP DOWN DOUBLE ARROW`,name:`arrow.t.b.double`,shorthand:null,mathClass:`Relation`,latexName:`Updownarrow`},"arrow.t.b.filled":{sym:`⬍`,unicName:`UP DOWN BLACK ARROW`,name:`arrow.t.b.filled`,shorthand:null,mathClass:`Relation`,latexName:``},"arrow.t.b.stroked":{sym:`⇳`,unicName:`UP DOWN WHITE ARROW`,name:`arrow.t.b.stroked`,shorthand:null,mathClass:`Relation`,latexName:``},"arrow.t.bar":{sym:`↥`,unicName:`UPWARDS ARROW FROM BAR`,name:`arrow.t.bar`,shorthand:null,mathClass:`Relation`,latexName:`mapsup`},"arrow.t.curve":{sym:`⤴`,unicName:`ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS`,name:`arrow.t.curve`,shorthand:null,mathClass:`Relation`,latexName:`uprightcurvearrow`},"arrow.t.dashed":{sym:`⇡`,unicName:`UPWARDS DASHED ARROW`,name:`arrow.t.dashed`,shorthand:null,mathClass:`Relation`,latexName:`updasharrow`},"arrow.t.double":{sym:`⇑`,unicName:`UPWARDS DOUBLE ARROW`,name:`arrow.t.double`,shorthand:null,mathClass:`Relation`,latexName:`Uparrow`},"arrow.t.dstruck":{sym:`⇞`,unicName:`UPWARDS ARROW WITH DOUBLE STROKE`,name:`arrow.t.dstruck`,shorthand:null,mathClass:`Relation`,latexName:`nHuparrow`},"arrow.t.filled":{sym:`⬆`,unicName:`UPWARDS BLACK ARROW`,name:`arrow.t.filled`,shorthand:null,mathClass:`Relation`,latexName:``},"arrow.t.quad":{sym:`⟰`,unicName:`UPWARDS QUADRUPLE ARROW`,name:`arrow.t.quad`,shorthand:null,mathClass:`Relation`,latexName:`UUparrow`},"arrow.t.stop":{sym:`⤒`,unicName:`UPWARDS ARROW TO BAR`,name:`arrow.t.stop`,shorthand:null,mathClass:`Relation`,latexName:`baruparrow`},"arrow.t.stroked":{sym:`⇧`,unicName:`UPWARDS WHITE ARROW`,name:`arrow.t.stroked`,shorthand:null,mathClass:`Relation`,latexName:`upwhitearrow`},"arrow.t.struck":{sym:`⤉`,unicName:`UPWARDS ARROW WITH HORIZONTAL STROKE`,name:`arrow.t.struck`,shorthand:null,mathClass:`Relation`,latexName:`uparrowbarred`},"arrow.t.triple":{sym:`⤊`,unicName:`UPWARDS TRIPLE ARROW`,name:`arrow.t.triple`,shorthand:null,mathClass:`Relation`,latexName:`Uuparrow`},"arrow.t.turn":{sym:`⮍`,unicName:`ANTICLOCKWISE TRIANGLE-HEADED BOTTOM U-SHAPED ARROW`,name:`arrow.t.turn`,shorthand:null,mathClass:``,latexName:``},"arrow.t.twohead":{sym:`↟`,unicName:`UPWARDS TWO HEADED ARROW`,name:`arrow.t.twohead`,shorthand:null,mathClass:`Relation`,latexName:`twoheaduparrow`},"arrow.tl":{sym:`↖`,unicName:`NORTH WEST ARROW`,name:`arrow.tl`,shorthand:null,mathClass:`Relation`,latexName:`nwarrow`},"arrow.tl.br":{sym:`⤡`,unicName:`NORTH WEST AND SOUTH EAST ARROW`,name:`arrow.tl.br`,shorthand:null,mathClass:`Relation`,latexName:`nwsearrow`},"arrow.tl.double":{sym:`⇖`,unicName:`NORTH WEST DOUBLE ARROW`,name:`arrow.tl.double`,shorthand:null,mathClass:`Relation`,latexName:`Nwarrow`},"arrow.tl.filled":{sym:`⬉`,unicName:`NORTH WEST BLACK ARROW`,name:`arrow.tl.filled`,shorthand:null,mathClass:`Relation`,latexName:``},"arrow.tl.hook":{sym:`⤣`,unicName:`NORTH WEST ARROW WITH HOOK`,name:`arrow.tl.hook`,shorthand:null,mathClass:`Relation`,latexName:`hknwarrow`},"arrow.tl.stroked":{sym:`⬁`,unicName:`NORTH WEST WHITE ARROW`,name:`arrow.tl.stroked`,shorthand:null,mathClass:`Relation`,latexName:``},"arrow.tr":{sym:`↗`,unicName:`NORTH EAST ARROW`,name:`arrow.tr`,shorthand:null,mathClass:`Relation`,latexName:`nearrow`},"arrow.tr.bl":{sym:`⤢`,unicName:`NORTH EAST AND SOUTH WEST ARROW`,name:`arrow.tr.bl`,shorthand:null,mathClass:`Relation`,latexName:`neswarrow`},"arrow.tr.double":{sym:`⇗`,unicName:`NORTH EAST DOUBLE ARROW`,name:`arrow.tr.double`,shorthand:null,mathClass:`Relation`,latexName:`Nearrow`},"arrow.tr.filled":{sym:`⬈`,unicName:`NORTH EAST BLACK ARROW`,name:`arrow.tr.filled`,shorthand:null,mathClass:`Relation`,latexName:``},"arrow.tr.hook":{sym:`⤤`,unicName:`NORTH EAST ARROW WITH HOOK`,name:`arrow.tr.hook`,shorthand:null,mathClass:`Relation`,latexName:`hknearrow`},"arrow.tr.stroked":{sym:`⬀`,unicName:`NORTH EAST WHITE ARROW`,name:`arrow.tr.stroked`,shorthand:null,mathClass:`Relation`,latexName:``},"arrow.zigzag":{sym:`↯`,unicName:`DOWNWARDS ZIGZAG ARROW`,name:`arrow.zigzag`,shorthand:null,mathClass:`Relation`,latexName:`downzigzagarrow`},"arrowhead.b":{sym:`⌄`,unicName:`DOWN ARROWHEAD`,name:`arrowhead.b`,shorthand:null,mathClass:``,latexName:``},"arrowhead.t":{sym:`⌃`,unicName:`UP ARROWHEAD`,name:`arrowhead.t`,shorthand:null,mathClass:``,latexName:``},"arrows.bb":{sym:`⇊`,unicName:`DOWNWARDS PAIRED ARROWS`,name:`arrows.bb`,shorthand:null,mathClass:`Relation`,latexName:`downdownarrows`},"arrows.bt":{sym:`⇵`,unicName:`DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW`,name:`arrows.bt`,shorthand:null,mathClass:`Relation`,latexName:`downuparrows`},"arrows.ll":{sym:`⇇`,unicName:`LEFTWARDS PAIRED ARROWS`,name:`arrows.ll`,shorthand:null,mathClass:`Relation`,latexName:`leftleftarrows`},"arrows.lll":{sym:`⬱`,unicName:`THREE LEFTWARDS ARROWS`,name:`arrows.lll`,shorthand:null,mathClass:`Relation`,latexName:`leftthreearrows`},"arrows.lr":{sym:`⇆`,unicName:`LEFTWARDS ARROW OVER RIGHTWARDS ARROW`,name:`arrows.lr`,shorthand:null,mathClass:`Relation`,latexName:`leftrightarrows`},"arrows.lr.stop":{sym:`↹`,unicName:`LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR`,name:`arrows.lr.stop`,shorthand:null,mathClass:``,latexName:`barleftarrowrightarrowbar`},"arrows.rl":{sym:`⇄`,unicName:`RIGHTWARDS ARROW OVER LEFTWARDS ARROW`,name:`arrows.rl`,shorthand:null,mathClass:`Relation`,latexName:`rightleftarrows`},"arrows.rr":{sym:`⇉`,unicName:`RIGHTWARDS PAIRED ARROWS`,name:`arrows.rr`,shorthand:null,mathClass:`Relation`,latexName:`rightrightarrows`},"arrows.rrr":{sym:`⇶`,unicName:`THREE RIGHTWARDS ARROWS`,name:`arrows.rrr`,shorthand:null,mathClass:`Relation`,latexName:`rightthreearrows`},"arrows.tb":{sym:`⇅`,unicName:`UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW`,name:`arrows.tb`,shorthand:null,mathClass:`Relation`,latexName:`updownarrows`},"arrows.tt":{sym:`⇈`,unicName:`UPWARDS PAIRED ARROWS`,name:`arrows.tt`,shorthand:null,mathClass:`Relation`,latexName:`upuparrows`},"ast.basic":{sym:`*`,unicName:`ASTERISK`,name:`ast.basic`,shorthand:null,mathClass:`Normal`,latexName:``},"ast.circle":{sym:`⊛`,unicName:`CIRCLED ASTERISK OPERATOR`,name:`ast.circle`,shorthand:null,mathClass:`Binary`,latexName:`circledast`},"ast.double":{sym:`⁑`,unicName:`TWO ASTERISKS ALIGNED VERTICALLY`,name:`ast.double`,shorthand:null,mathClass:`Normal`,latexName:``},"ast.low":{sym:``,unicName:`LOW ASTERISK`,name:`ast.low`,shorthand:null,mathClass:`Binary`,latexName:``},"ast.op":{sym:``,unicName:`ASTERISK OPERATOR`,name:`ast.op`,shorthand:`*`,mathClass:`Binary`,latexName:`ast`},"ast.op.o":{sym:`⊛`,unicName:`CIRCLED ASTERISK OPERATOR`,name:`ast.op.o`,shorthand:null,mathClass:`Binary`,latexName:`circledast`},"ast.small":{sym:`﹡`,unicName:`SMALL ASTERISK`,name:`ast.small`,shorthand:null,mathClass:`Special`,latexName:``},"ast.square":{sym:`⧆`,unicName:`SQUARED ASTERISK`,name:`ast.square`,shorthand:null,mathClass:`Binary`,latexName:`boxast`},"ast.triple":{sym:`⁂`,unicName:`ASTERISM`,name:`ast.triple`,shorthand:null,mathClass:``,latexName:``},asymp:sa,"asymp.not":{sym:`≭`,unicName:`NOT EQUIVALENT TO`,name:`asymp.not`,shorthand:null,mathClass:`Relation`,latexName:`nasymp`},at:ca,backslash:la,"backslash.circle":{sym:`⦸`,unicName:`CIRCLED REVERSE SOLIDUS`,name:`backslash.circle`,shorthand:null,mathClass:`Binary`,latexName:`obslash`},"backslash.not":{sym:`⧷`,unicName:`REVERSE SOLIDUS WITH HORIZONTAL STROKE`,name:`backslash.not`,shorthand:null,mathClass:`Binary`,latexName:`rsolbar`},"backslash.o":{sym:`⦸`,unicName:`CIRCLED REVERSE SOLIDUS`,name:`backslash.o`,shorthand:null,mathClass:`Binary`,latexName:`obslash`},"bag.l":{sym:`⟅`,unicName:`LEFT S-SHAPED BAG DELIMITER`,name:`bag.l`,shorthand:null,mathClass:`Opening`,latexName:`lbag`},"bag.r":{sym:`⟆`,unicName:`RIGHT S-SHAPED BAG DELIMITER`,name:`bag.r`,shorthand:null,mathClass:`Closing`,latexName:`rbag`},baht:ua,ballot:da,"ballot.check":{sym:`☑`,unicName:`BALLOT BOX WITH CHECK`,name:`ballot.check`,shorthand:null,mathClass:``,latexName:``},"ballot.check.heavy":{sym:`🗹`,unicName:`BALLOT BOX WITH BOLD CHECK`,name:`ballot.check.heavy`,shorthand:null,mathClass:``,latexName:``},"ballot.cross":{sym:`☒`,unicName:`BALLOT BOX WITH X`,name:`ballot.cross`,shorthand:null,mathClass:``,latexName:``},"bar.h":{sym:`―`,unicName:`HORIZONTAL BAR`,name:`bar.h`,shorthand:null,mathClass:``,latexName:`horizbar`},"bar.v":{sym:`|`,unicName:`VERTICAL LINE`,name:`bar.v`,shorthand:null,mathClass:`Fence`,latexName:`vert`},"bar.v.broken":{sym:`¦`,unicName:`BROKEN BAR`,name:`bar.v.broken`,shorthand:null,mathClass:`Normal`,latexName:``},"bar.v.circle":{sym:`⦶`,unicName:`CIRCLED VERTICAL BAR`,name:`bar.v.circle`,shorthand:null,mathClass:`Binary`,latexName:`circledvert`},"bar.v.double":{sym:`‖`,unicName:`DOUBLE VERTICAL LINE`,name:`bar.v.double`,shorthand:`||`,mathClass:`Fence`,latexName:`Vert`},"bar.v.o":{sym:`⦶`,unicName:`CIRCLED VERTICAL BAR`,name:`bar.v.o`,shorthand:null,mathClass:`Binary`,latexName:`circledvert`},"bar.v.triple":{sym:`⦀`,unicName:`TRIPLE VERTICAL BAR DELIMITER`,name:`bar.v.triple`,shorthand:null,mathClass:`Fence`,latexName:`Vvert`},because:fa,bet:pa,beta:ma,"beta.alt":{sym:`ϐ`,unicName:`GREEK BETA SYMBOL`,name:`beta.alt`,shorthand:null,mathClass:`Alphabetic`,latexName:``},beth:ha,bitcoin:ga,bot:_a,"brace.b":{sym:`⏟`,unicName:`BOTTOM CURLY BRACKET`,name:`brace.b`,shorthand:null,mathClass:`Normal`,latexName:`underbrace`},"brace.l":{sym:`{`,unicName:`LEFT CURLY BRACKET`,name:`brace.l`,shorthand:null,mathClass:`Opening`,latexName:`lbrace`},"brace.l.double":{sym:`⦃`,unicName:`LEFT WHITE CURLY BRACKET`,name:`brace.l.double`,shorthand:null,mathClass:`Opening`,latexName:`lBrace`},"brace.l.stroked":{sym:`⦃`,unicName:`LEFT WHITE CURLY BRACKET`,name:`brace.l.stroked`,shorthand:null,mathClass:`Opening`,latexName:`lBrace`},"brace.r":{sym:`}`,unicName:`RIGHT CURLY BRACKET`,name:`brace.r`,shorthand:null,mathClass:`Closing`,latexName:`rbrace`},"brace.r.double":{sym:`⦄`,unicName:`RIGHT WHITE CURLY BRACKET`,name:`brace.r.double`,shorthand:null,mathClass:`Closing`,latexName:`rBrace`},"brace.r.stroked":{sym:`⦄`,unicName:`RIGHT WHITE CURLY BRACKET`,name:`brace.r.stroked`,shorthand:null,mathClass:`Closing`,latexName:`rBrace`},"brace.t":{sym:`⏞`,unicName:`TOP CURLY BRACKET`,name:`brace.t`,shorthand:null,mathClass:`Normal`,latexName:`overbrace`},"bracket.b":{sym:`⎵`,unicName:`BOTTOM SQUARE BRACKET`,name:`bracket.b`,shorthand:null,mathClass:`Normal`,latexName:`underbracket`},"bracket.l":{sym:`[`,unicName:`LEFT SQUARE BRACKET`,name:`bracket.l`,shorthand:null,mathClass:`Opening`,latexName:`lbrack`},"bracket.l.double":{sym:`⟦`,unicName:`MATHEMATICAL LEFT WHITE SQUARE BRACKET`,name:`bracket.l.double`,shorthand:`[|`,mathClass:`Opening`,latexName:`lBrack`},"bracket.l.stroked":{sym:`⟦`,unicName:`MATHEMATICAL LEFT WHITE SQUARE BRACKET`,name:`bracket.l.stroked`,shorthand:`[|`,mathClass:`Opening`,latexName:`lBrack`},"bracket.l.tick.b":{sym:`⦏`,unicName:`LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER`,name:`bracket.l.tick.b`,shorthand:null,mathClass:`Opening`,latexName:`lbracklltick`},"bracket.l.tick.t":{sym:`⦍`,unicName:`LEFT SQUARE BRACKET WITH TICK IN TOP CORNER`,name:`bracket.l.tick.t`,shorthand:null,mathClass:`Opening`,latexName:`lbrackultick`},"bracket.r":{sym:`]`,unicName:`RIGHT SQUARE BRACKET`,name:`bracket.r`,shorthand:null,mathClass:`Closing`,latexName:`rbrack`},"bracket.r.double":{sym:`⟧`,unicName:`MATHEMATICAL RIGHT WHITE SQUARE BRACKET`,name:`bracket.r.double`,shorthand:`|]`,mathClass:`Closing`,latexName:`rBrack`},"bracket.r.stroked":{sym:`⟧`,unicName:`MATHEMATICAL RIGHT WHITE SQUARE BRACKET`,name:`bracket.r.stroked`,shorthand:`|]`,mathClass:`Closing`,latexName:`rBrack`},"bracket.r.tick.b":{sym:`⦎`,unicName:`RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER`,name:`bracket.r.tick.b`,shorthand:null,mathClass:`Closing`,latexName:`rbracklrtick`},"bracket.r.tick.t":{sym:`⦐`,unicName:`RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER`,name:`bracket.r.tick.t`,shorthand:null,mathClass:`Closing`,latexName:`rbrackurtick`},"bracket.t":{sym:`⎴`,unicName:`TOP SQUARE BRACKET`,name:`bracket.t`,shorthand:null,mathClass:`Normal`,latexName:`overbracket`},breve:va,bullet:ya,"bullet.hole":{sym:`◘`,unicName:`INVERSE BULLET`,name:`bullet.hole`,shorthand:null,mathClass:``,latexName:`inversebullet`},"bullet.hyph":{sym:``,unicName:`HYPHEN BULLET`,name:`bullet.hyph`,shorthand:null,mathClass:``,latexName:`hyphenbullet`},"bullet.l":{sym:`⁌`,unicName:`BLACK LEFTWARDS BULLET`,name:`bullet.l`,shorthand:null,mathClass:``,latexName:``},"bullet.o":{sym:`⦿`,unicName:`CIRCLED BULLET`,name:`bullet.o`,shorthand:null,mathClass:`Normal`,latexName:`circledbullet`},"bullet.op":{sym:`∙`,unicName:`BULLET OPERATOR`,name:`bullet.op`,shorthand:null,mathClass:`Binary`,latexName:`vysmblkcircle`},"bullet.r":{sym:`⁍`,unicName:`BLACK RIGHTWARDS BULLET`,name:`bullet.r`,shorthand:null,mathClass:``,latexName:``},"bullet.stroked":{sym:`◦`,unicName:`WHITE BULLET`,name:`bullet.stroked`,shorthand:null,mathClass:`Binary`,latexName:`smwhtcircle`},"bullet.stroked.o":{sym:`⦾`,unicName:`CIRCLED WHITE BULLET`,name:`bullet.stroked.o`,shorthand:null,mathClass:`Normal`,latexName:`circledwhitebullet`},"bullet.tri":{sym:`‣`,unicName:`TRIANGULAR BULLET`,name:`bullet.tri`,shorthand:null,mathClass:``,latexName:``},caret:ba,caron:xa,cc:Sa,"cc.by":{sym:`🅯`,unicName:`CIRCLED HUMAN FIGURE`,name:`cc.by`,shorthand:null,mathClass:``,latexName:``},"cc.nc":{sym:`🄏`,unicName:`CIRCLED DOLLAR SIGN WITH OVERLAID BACKSLASH`,name:`cc.nc`,shorthand:null,mathClass:``,latexName:``},"cc.nd":{sym:`⊜`,unicName:`CIRCLED EQUALS`,name:`cc.nd`,shorthand:null,mathClass:`Binary`,latexName:`circledequal`},"cc.public":{sym:`🅮`,unicName:`CIRCLED C WITH OVERLAID BACKSLASH`,name:`cc.public`,shorthand:null,mathClass:``,latexName:``},"cc.sa":{sym:`🄎`,unicName:`CIRCLED ANTICLOCKWISE ARROW`,name:`cc.sa`,shorthand:null,mathClass:``,latexName:``},"cc.zero":{sym:`🄍`,unicName:`CIRCLED ZERO WITH SLASH`,name:`cc.zero`,shorthand:null,mathClass:``,latexName:``},cedi:Ca,"ceil.l":{sym:`⌈`,unicName:`LEFT CEILING`,name:`ceil.l`,shorthand:null,mathClass:`Opening`,latexName:`lceil`},"ceil.r":{sym:`⌉`,unicName:`RIGHT CEILING`,name:`ceil.r`,shorthand:null,mathClass:`Closing`,latexName:`rceil`},cent:wa,checkmark:Ta,"checkmark.heavy":{sym:`✔`,unicName:`HEAVY CHECK MARK`,name:`checkmark.heavy`,shorthand:null,mathClass:``,latexName:``},"checkmark.light":{sym:`🗸`,unicName:`LIGHT CHECK MARK`,name:`checkmark.light`,shorthand:null,mathClass:``,latexName:``},"chevron.l":{sym:`⟨`,unicName:`MATHEMATICAL LEFT ANGLE BRACKET`,name:`chevron.l`,shorthand:null,mathClass:`Opening`,latexName:`langle`},"chevron.l.closed":{sym:`⦉`,unicName:`Z NOTATION LEFT BINDING BRACKET`,name:`chevron.l.closed`,shorthand:null,mathClass:`Opening`,latexName:`llangle`},"chevron.l.curly":{sym:`⧼`,unicName:`LEFT-POINTING CURVED ANGLE BRACKET`,name:`chevron.l.curly`,shorthand:null,mathClass:`Opening`,latexName:`lcurvyangle`},"chevron.l.dot":{sym:`⦑`,unicName:`LEFT ANGLE BRACKET WITH DOT`,name:`chevron.l.dot`,shorthand:null,mathClass:`Opening`,latexName:`langledot`},"chevron.l.double":{sym:`⟪`,unicName:`MATHEMATICAL LEFT DOUBLE ANGLE BRACKET`,name:`chevron.l.double`,shorthand:null,mathClass:`Opening`,latexName:`lAngle`},"chevron.r":{sym:`⟩`,unicName:`MATHEMATICAL RIGHT ANGLE BRACKET`,name:`chevron.r`,shorthand:null,mathClass:`Closing`,latexName:`rangle`},"chevron.r.closed":{sym:`⦊`,unicName:`Z NOTATION RIGHT BINDING BRACKET`,name:`chevron.r.closed`,shorthand:null,mathClass:`Closing`,latexName:`rrangle`},"chevron.r.curly":{sym:`⧽`,unicName:`RIGHT-POINTING CURVED ANGLE BRACKET`,name:`chevron.r.curly`,shorthand:null,mathClass:`Closing`,latexName:`rcurvyangle`},"chevron.r.dot":{sym:`⦒`,unicName:`RIGHT ANGLE BRACKET WITH DOT`,name:`chevron.r.dot`,shorthand:null,mathClass:`Closing`,latexName:`rangledot`},"chevron.r.double":{sym:`⟫`,unicName:`MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET`,name:`chevron.r.double`,shorthand:null,mathClass:`Closing`,latexName:`rAngle`},chi:Ea,"circle.dotted":{sym:`◌`,unicName:`DOTTED CIRCLE`,name:`circle.dotted`,shorthand:null,mathClass:``,latexName:`dottedcircle`},"circle.filled":{sym:`●`,unicName:`BLACK CIRCLE`,name:`circle.filled`,shorthand:null,mathClass:`Normal`,latexName:`mdlgblkcircle`},"circle.filled.big":{sym:`⬤`,unicName:`BLACK LARGE CIRCLE`,name:`circle.filled.big`,shorthand:null,mathClass:`Normal`,latexName:`lgblkcircle`},"circle.filled.small":{sym:`∙`,unicName:`BULLET OPERATOR`,name:`circle.filled.small`,shorthand:null,mathClass:`Binary`,latexName:`vysmblkcircle`},"circle.filled.tiny":{sym:`⦁`,unicName:`Z NOTATION SPOT`,name:`circle.filled.tiny`,shorthand:null,mathClass:`Normal`,latexName:`mdsmblkcircle`},"circle.nested":{sym:`⊚`,unicName:`CIRCLED RING OPERATOR`,name:`circle.nested`,shorthand:null,mathClass:`Binary`,latexName:`circledcirc`},"circle.stroked":{sym:`○`,unicName:`WHITE CIRCLE`,name:`circle.stroked`,shorthand:null,mathClass:`Binary`,latexName:`mdlgwhtcircle`},"circle.stroked.big":{sym:`◯`,unicName:`LARGE CIRCLE`,name:`circle.stroked.big`,shorthand:null,mathClass:`Normal`,latexName:`lgwhtcircle`},"circle.stroked.small":{sym:`⚬`,unicName:`MEDIUM SMALL WHITE CIRCLE`,name:`circle.stroked.small`,shorthand:null,mathClass:`Normal`,latexName:`mdsmwhtcircle`},"circle.stroked.tiny":{sym:`∘`,unicName:`RING OPERATOR`,name:`circle.stroked.tiny`,shorthand:null,mathClass:`Binary`,latexName:`vysmwhtcircle`},co:Da,colon:Oa,"colon.currency":{sym:`₡`,unicName:`COLON SIGN`,name:`colon.currency`,shorthand:null,mathClass:``,latexName:``},"colon.double":{sym:`∷`,unicName:`PROPORTION`,name:`colon.double`,shorthand:null,mathClass:`Relation`,latexName:`Colon`},"colon.double.eq":{sym:`⩴`,unicName:`DOUBLE COLON EQUAL`,name:`colon.double.eq`,shorthand:`::=`,mathClass:`Relation`,latexName:`Coloneq`},"colon.eq":{sym:`≔`,unicName:`COLON EQUALS`,name:`colon.eq`,shorthand:`:=`,mathClass:`Relation`,latexName:`coloneq`},"colon.tri":{sym:`⁝`,unicName:`TRICOLON`,name:`colon.tri`,shorthand:null,mathClass:``,latexName:``},"colon.tri.op":{sym:`⫶`,unicName:`TRIPLE COLON OPERATOR`,name:`colon.tri.op`,shorthand:null,mathClass:`Binary`,latexName:`threedotcolon`},comma:ka,"comma.inv":{sym:`⸲`,unicName:`TURNED COMMA`,name:`comma.inv`,shorthand:null,mathClass:``,latexName:``},"comma.rev":{sym:`⹁`,unicName:`REVERSED COMMA`,name:`comma.rev`,shorthand:null,mathClass:``,latexName:``},complement:Aa,compose:ja,"compose.o":{sym:`⊚`,unicName:`CIRCLED RING OPERATOR`,name:`compose.o`,shorthand:null,mathClass:`Binary`,latexName:`circledcirc`},convolve:Ma,"convolve.o":{sym:`⊛`,unicName:`CIRCLED ASTERISK OPERATOR`,name:`convolve.o`,shorthand:null,mathClass:`Binary`,latexName:`circledast`},copyleft:Na,copyright:Pa,"copyright.sound":{sym:`℗`,unicName:`SOUND RECORDING COPYRIGHT`,name:`copyright.sound`,shorthand:null,mathClass:``,latexName:``},"corner.l.b":{sym:`⌞`,unicName:`BOTTOM LEFT CORNER`,name:`corner.l.b`,shorthand:null,mathClass:`Opening`,latexName:`llcorner`},"corner.l.t":{sym:`⌜`,unicName:`TOP LEFT CORNER`,name:`corner.l.t`,shorthand:null,mathClass:`Opening`,latexName:`ulcorner`},"corner.r.b":{sym:`⌟`,unicName:`BOTTOM RIGHT CORNER`,name:`corner.r.b`,shorthand:null,mathClass:`Closing`,latexName:`lrcorner`},"corner.r.t":{sym:`⌝`,unicName:`TOP RIGHT CORNER`,name:`corner.r.t`,shorthand:null,mathClass:`Closing`,latexName:`urcorner`},cos:Fa,cosh:Ia,cot:La,coth:Ra,crossmark:za,"crossmark.heavy":{sym:`✘`,unicName:`HEAVY BALLOT X`,name:`crossmark.heavy`,shorthand:null,mathClass:``,latexName:``},csc:Ba,csch:Va,ctg:Ha,currency:Ua,dagger:Wa,"dagger.double":{sym:`‡`,unicName:`DOUBLE DAGGER`,name:`dagger.double`,shorthand:null,mathClass:`Relation`,latexName:`ddagger`},"dagger.inv":{sym:`⸸`,unicName:`TURNED DAGGER`,name:`dagger.inv`,shorthand:null,mathClass:``,latexName:``},"dagger.l":{sym:`⸶`,unicName:`DAGGER WITH LEFT GUARD`,name:`dagger.l`,shorthand:null,mathClass:``,latexName:``},"dagger.r":{sym:`⸷`,unicName:`DAGGER WITH RIGHT GUARD`,name:`dagger.r`,shorthand:null,mathClass:``,latexName:``},"dagger.triple":{sym:`⹋`,unicName:`TRIPLE DAGGER`,name:`dagger.triple`,shorthand:null,mathClass:``,latexName:``},dalet:Ga,daleth:Ka,"dash.circle":{sym:`⊝`,unicName:`CIRCLED DASH`,name:`dash.circle`,shorthand:null,mathClass:`Binary`,latexName:`circleddash`},"dash.colon":{sym:`∹`,unicName:`EXCESS`,name:`dash.colon`,shorthand:null,mathClass:`Relation`,latexName:`dashcolon`},"dash.em":{sym:`—`,unicName:`EM DASH`,name:`dash.em`,shorthand:`---`,mathClass:`Punctuation`,latexName:``},"dash.em.three":{sym:`⸻`,unicName:`THREE-EM DASH`,name:`dash.em.three`,shorthand:null,mathClass:``,latexName:``},"dash.em.two":{sym:`⸺`,unicName:`TWO-EM DASH`,name:`dash.em.two`,shorthand:null,mathClass:``,latexName:``},"dash.en":{sym:``,unicName:`EN DASH`,name:`dash.en`,shorthand:`--`,mathClass:`Punctuation`,latexName:``},"dash.fig":{sym:``,unicName:`FIGURE DASH`,name:`dash.fig`,shorthand:null,mathClass:`Punctuation`,latexName:``},"dash.o":{sym:`⊝`,unicName:`CIRCLED DASH`,name:`dash.o`,shorthand:null,mathClass:`Binary`,latexName:`circleddash`},"dash.wave":{sym:`〜`,unicName:`WAVE DASH`,name:`dash.wave`,shorthand:null,mathClass:``,latexName:``},"dash.wave.double":{sym:`〰`,unicName:`WAVY DASH`,name:`dash.wave.double`,shorthand:null,mathClass:``,latexName:`hzigzag`},deg:qa,degree:Ja,delta:Ya,det:Xa,diaer:Za,diameter:Qa,"diamond.filled":{sym:`◆`,unicName:`BLACK DIAMOND`,name:`diamond.filled`,shorthand:null,mathClass:`Normal`,latexName:`mdlgblkdiamond`},"diamond.filled.medium":{sym:`⬥`,unicName:`BLACK MEDIUM DIAMOND`,name:`diamond.filled.medium`,shorthand:null,mathClass:`Normal`,latexName:`mdblkdiamond`},"diamond.filled.small":{sym:`⬩`,unicName:`BLACK SMALL DIAMOND`,name:`diamond.filled.small`,shorthand:null,mathClass:`Normal`,latexName:`smblkdiamond`},"diamond.stroked":{sym:`◇`,unicName:`WHITE DIAMOND`,name:`diamond.stroked`,shorthand:null,mathClass:`Normal`,latexName:`mdlgwhtdiamond`},"diamond.stroked.dot":{sym:`⟐`,unicName:`WHITE DIAMOND WITH CENTRED DOT`,name:`diamond.stroked.dot`,shorthand:null,mathClass:`Normal`,latexName:`diamondcdot`},"diamond.stroked.medium":{sym:`⬦`,unicName:`WHITE MEDIUM DIAMOND`,name:`diamond.stroked.medium`,shorthand:null,mathClass:`Normal`,latexName:`mdwhtdiamond`},"diamond.stroked.small":{sym:`⋄`,unicName:`DIAMOND OPERATOR`,name:`diamond.stroked.small`,shorthand:null,mathClass:`Binary`,latexName:`smwhtdiamond`},"die.five":{sym:`⚄`,unicName:`DIE FACE-5`,name:`die.five`,shorthand:null,mathClass:`Normal`,latexName:`dicev`},"die.four":{sym:`⚃`,unicName:`DIE FACE-4`,name:`die.four`,shorthand:null,mathClass:`Normal`,latexName:`diceiv`},"die.one":{sym:`⚀`,unicName:`DIE FACE-1`,name:`die.one`,shorthand:null,mathClass:`Normal`,latexName:`dicei`},"die.six":{sym:`⚅`,unicName:`DIE FACE-6`,name:`die.six`,shorthand:null,mathClass:`Normal`,latexName:`dicevi`},"die.three":{sym:`⚂`,unicName:`DIE FACE-3`,name:`die.three`,shorthand:null,mathClass:`Normal`,latexName:`diceiii`},"die.two":{sym:`⚁`,unicName:`DIE FACE-2`,name:`die.two`,shorthand:null,mathClass:`Normal`,latexName:`diceii`},dif:$a,diff:eo,digamma:to,dim:no,div:ro,"div.circle":{sym:`⨸`,unicName:`CIRCLED DIVISION SIGN`,name:`div.circle`,shorthand:null,mathClass:`Binary`,latexName:`odiv`},"div.o":{sym:`⨸`,unicName:`CIRCLED DIVISION SIGN`,name:`div.o`,shorthand:null,mathClass:`Binary`,latexName:`odiv`},"div.slanted.o":{sym:`⦼`,unicName:`CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN`,name:`div.slanted.o`,shorthand:null,mathClass:`Normal`,latexName:`odotslashdot`},divides:io,"divides.not":{sym:`∤`,unicName:`DOES NOT DIVIDE`,name:`divides.not`,shorthand:null,mathClass:`Relation`,latexName:`nmid`},"divides.not.rev":{sym:`⫮`,unicName:`DOES NOT DIVIDE WITH REVERSED NEGATION SLASH`,name:`divides.not.rev`,shorthand:null,mathClass:`Relation`,latexName:`revnmid`},"divides.struck":{sym:`⟊`,unicName:`VERTICAL BAR WITH HORIZONTAL STROKE`,name:`divides.struck`,shorthand:null,mathClass:`Relation`,latexName:``},dollar:ao,dong:oo,dorome:so,"dot.basic":{sym:`.`,unicName:`FULL STOP`,name:`dot.basic`,shorthand:null,mathClass:`Normal`,latexName:`mathperiod`},"dot.c":{sym:`·`,unicName:`MIDDLE DOT`,name:`dot.c`,shorthand:null,mathClass:`Binary`,latexName:`cdotp`},"dot.circle":{sym:`⊙`,unicName:`CIRCLED DOT OPERATOR`,name:`dot.circle`,shorthand:null,mathClass:`Binary`,latexName:`odot`},"dot.circle.big":{sym:`⨀`,unicName:`N-ARY CIRCLED DOT OPERATOR`,name:`dot.circle.big`,shorthand:null,mathClass:`Large`,latexName:`bigodot`},"dot.double":{sym:`¨`,unicName:`DIAERESIS`,name:`dot.double`,shorthand:null,mathClass:`Diacritic`,latexName:``},"dot.o":{sym:`⊙`,unicName:`CIRCLED DOT OPERATOR`,name:`dot.o`,shorthand:null,mathClass:`Binary`,latexName:`odot`},"dot.o.big":{sym:`⨀`,unicName:`N-ARY CIRCLED DOT OPERATOR`,name:`dot.o.big`,shorthand:null,mathClass:`Large`,latexName:`bigodot`},"dot.op":{sym:`⋅`,unicName:`DOT OPERATOR`,name:`dot.op`,shorthand:null,mathClass:`Binary`,latexName:`cdot`},"dot.quad":{sym:`⃜`,unicName:`COMBINING FOUR DOTS ABOVE`,name:`dot.quad`,shorthand:null,mathClass:`Diacritic`,latexName:`ddddot`},"dot.square":{sym:`⊡`,unicName:`SQUARED DOT OPERATOR`,name:`dot.square`,shorthand:null,mathClass:`Binary`,latexName:`boxdot`},"dot.triple":{sym:`⃛`,unicName:`COMBINING THREE DOTS ABOVE`,name:`dot.triple`,shorthand:null,mathClass:`Diacritic`,latexName:`dddot`},"dotless.i":{sym:`ı`,unicName:`LATIN SMALL LETTER DOTLESS I`,name:`dotless.i`,shorthand:null,mathClass:`Alphabetic`,latexName:``},"dotless.j":{sym:`ȷ`,unicName:`LATIN SMALL LETTER DOTLESS J`,name:`dotless.j`,shorthand:null,mathClass:`Alphabetic`,latexName:``},"dots.down":{sym:`⋱`,unicName:`DOWN RIGHT DIAGONAL ELLIPSIS`,name:`dots.down`,shorthand:null,mathClass:`Normal`,latexName:`ddots`},"dots.h":{sym:`…`,unicName:`HORIZONTAL ELLIPSIS`,name:`dots.h`,shorthand:`...`,mathClass:`Normal`,latexName:`unicodeellipsis`},"dots.h.c":{sym:`⋯`,unicName:`MIDLINE HORIZONTAL ELLIPSIS`,name:`dots.h.c`,shorthand:null,mathClass:`Normal`,latexName:`unicodecdots`},"dots.up":{sym:`⋰`,unicName:`UP RIGHT DIAGONAL ELLIPSIS`,name:`dots.up`,shorthand:null,mathClass:`Normal`,latexName:`adots`},"dots.v":{sym:`⋮`,unicName:`VERTICAL ELLIPSIS`,name:`dots.v`,shorthand:null,mathClass:`Normal`,latexName:`vdots`},dram:co,earth:lo,"earth.alt":{sym:`♁`,unicName:`EARTH`,name:`earth.alt`,shorthand:null,mathClass:`Normal`,latexName:``},ell:uo,"ellipse.filled.h":{sym:`⬬`,unicName:`BLACK HORIZONTAL ELLIPSE`,name:`ellipse.filled.h`,shorthand:null,mathClass:`Normal`,latexName:`blkhorzoval`},"ellipse.filled.v":{sym:`⬮`,unicName:`BLACK VERTICAL ELLIPSE`,name:`ellipse.filled.v`,shorthand:null,mathClass:`Normal`,latexName:`blkvertoval`},"ellipse.stroked.h":{sym:`⬭`,unicName:`WHITE HORIZONTAL ELLIPSE`,name:`ellipse.stroked.h`,shorthand:null,mathClass:`Normal`,latexName:`whthorzoval`},"ellipse.stroked.v":{sym:`⬯`,unicName:`WHITE VERTICAL ELLIPSE`,name:`ellipse.stroked.v`,shorthand:null,mathClass:`Normal`,latexName:`whtvertoval`},emptyset:fo,"emptyset.arrow.l":{sym:`⦴`,unicName:`EMPTY SET WITH LEFT ARROW ABOVE`,name:`emptyset.arrow.l`,shorthand:null,mathClass:`Normal`,latexName:`emptysetoarrl`},"emptyset.arrow.r":{sym:`⦳`,unicName:`EMPTY SET WITH RIGHT ARROW ABOVE`,name:`emptyset.arrow.r`,shorthand:null,mathClass:`Normal`,latexName:`emptysetoarr`},"emptyset.bar":{sym:`⦱`,unicName:`EMPTY SET WITH OVERBAR`,name:`emptyset.bar`,shorthand:null,mathClass:`Normal`,latexName:`emptysetobar`},"emptyset.circle":{sym:`⦲`,unicName:`EMPTY SET WITH SMALL CIRCLE ABOVE`,name:`emptyset.circle`,shorthand:null,mathClass:`Normal`,latexName:`emptysetocirc`},"emptyset.rev":{sym:`⦰`,unicName:`REVERSED EMPTY SET`,name:`emptyset.rev`,shorthand:null,mathClass:`Normal`,latexName:`revemptyset`},epsilon:po,"epsilon.alt":{sym:`ϵ`,unicName:`GREEK LUNATE EPSILON SYMBOL`,name:`epsilon.alt`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupepsilon`},"epsilon.alt.rev":{sym:`϶`,unicName:`GREEK REVERSED LUNATE EPSILON SYMBOL`,name:`epsilon.alt.rev`,shorthand:null,mathClass:`Normal`,latexName:`upbackepsilon`},eq:mo,"eq.circle":{sym:`⊜`,unicName:`CIRCLED EQUALS`,name:`eq.circle`,shorthand:null,mathClass:`Binary`,latexName:`circledequal`},"eq.colon":{sym:`≕`,unicName:`EQUALS COLON`,name:`eq.colon`,shorthand:`=:`,mathClass:`Relation`,latexName:`eqcolon`},"eq.def":{sym:`≝`,unicName:`EQUAL TO BY DEFINITION`,name:`eq.def`,shorthand:null,mathClass:`Relation`,latexName:`eqdef`},"eq.delta":{sym:`≜`,unicName:`DELTA EQUAL TO`,name:`eq.delta`,shorthand:null,mathClass:`Relation`,latexName:`triangleq`},"eq.dots":{sym:`≑`,unicName:`GEOMETRICALLY EQUAL TO`,name:`eq.dots`,shorthand:null,mathClass:`Relation`,latexName:`Doteq`},"eq.dots.down":{sym:`≒`,unicName:`APPROXIMATELY EQUAL TO OR THE IMAGE OF`,name:`eq.dots.down`,shorthand:null,mathClass:`Relation`,latexName:`fallingdotseq`},"eq.dots.up":{sym:`≓`,unicName:`IMAGE OF OR APPROXIMATELY EQUAL TO`,name:`eq.dots.up`,shorthand:null,mathClass:`Relation`,latexName:`risingdotseq`},"eq.equi":{sym:`≚`,unicName:`EQUIANGULAR TO`,name:`eq.equi`,shorthand:null,mathClass:`Relation`,latexName:`veeeq`},"eq.est":{sym:`≙`,unicName:`ESTIMATES`,name:`eq.est`,shorthand:null,mathClass:`Relation`,latexName:`wedgeq`},"eq.gt":{sym:`⋝`,unicName:`EQUAL TO OR GREATER-THAN`,name:`eq.gt`,shorthand:null,mathClass:`Relation`,latexName:`eqgtr`},"eq.lt":{sym:`⋜`,unicName:`EQUAL TO OR LESS-THAN`,name:`eq.lt`,shorthand:null,mathClass:`Relation`,latexName:`eqless`},"eq.m":{sym:`≞`,unicName:`MEASURED BY`,name:`eq.m`,shorthand:null,mathClass:`Relation`,latexName:`measeq`},"eq.not":{sym:`≠`,unicName:`NOT EQUAL TO`,name:`eq.not`,shorthand:`!=`,mathClass:`Relation`,latexName:`ne`},"eq.o":{sym:`⊜`,unicName:`CIRCLED EQUALS`,name:`eq.o`,shorthand:null,mathClass:`Binary`,latexName:`circledequal`},"eq.prec":{sym:`⋞`,unicName:`EQUAL TO OR PRECEDES`,name:`eq.prec`,shorthand:null,mathClass:`Relation`,latexName:`curlyeqprec`},"eq.quad":{sym:`≣`,unicName:`STRICTLY EQUIVALENT TO`,name:`eq.quad`,shorthand:null,mathClass:`Relation`,latexName:`Equiv`},"eq.quest":{sym:`≟`,unicName:`QUESTIONED EQUAL TO`,name:`eq.quest`,shorthand:null,mathClass:`Relation`,latexName:`questeq`},"eq.small":{sym:`﹦`,unicName:`SMALL EQUALS SIGN`,name:`eq.small`,shorthand:null,mathClass:`Special`,latexName:``},"eq.star":{sym:`≛`,unicName:`STAR EQUALS`,name:`eq.star`,shorthand:null,mathClass:`Relation`,latexName:`stareq`},"eq.succ":{sym:`⋟`,unicName:`EQUAL TO OR SUCCEEDS`,name:`eq.succ`,shorthand:null,mathClass:`Relation`,latexName:`curlyeqsucc`},"eq.triple":{sym:`≡`,unicName:`IDENTICAL TO`,name:`eq.triple`,shorthand:null,mathClass:`Relation`,latexName:`equiv`},"eq.triple.not":{sym:`≢`,unicName:`NOT IDENTICAL TO`,name:`eq.triple.not`,shorthand:null,mathClass:`Relation`,latexName:`nequiv`},equiv:ho,"equiv.not":{sym:`≢`,unicName:`NOT IDENTICAL TO`,name:`equiv.not`,shorthand:null,mathClass:`Relation`,latexName:`nequiv`},"errorbar.circle.filled":{sym:`⧳`,unicName:`ERROR-BARRED BLACK CIRCLE`,name:`errorbar.circle.filled`,shorthand:null,mathClass:`Normal`,latexName:`errbarblackcircle`},"errorbar.circle.stroked":{sym:`⧲`,unicName:`ERROR-BARRED WHITE CIRCLE`,name:`errorbar.circle.stroked`,shorthand:null,mathClass:`Normal`,latexName:`errbarcircle`},"errorbar.diamond.filled":{sym:`⧱`,unicName:`ERROR-BARRED BLACK DIAMOND`,name:`errorbar.diamond.filled`,shorthand:null,mathClass:`Normal`,latexName:`errbarblackdiamond`},"errorbar.diamond.stroked":{sym:`⧰`,unicName:`ERROR-BARRED WHITE DIAMOND`,name:`errorbar.diamond.stroked`,shorthand:null,mathClass:`Normal`,latexName:`errbardiamond`},"errorbar.square.filled":{sym:`⧯`,unicName:`ERROR-BARRED BLACK SQUARE`,name:`errorbar.square.filled`,shorthand:null,mathClass:`Normal`,latexName:`errbarblacksquare`},"errorbar.square.stroked":{sym:`⧮`,unicName:`ERROR-BARRED WHITE SQUARE`,name:`errorbar.square.stroked`,shorthand:null,mathClass:`Normal`,latexName:`errbarsquare`},eta:go,euro:_o,excl:vo,"excl.double":{sym:`‼`,unicName:`DOUBLE EXCLAMATION MARK`,name:`excl.double`,shorthand:null,mathClass:`Normal`,latexName:`Exclam`},"excl.inv":{sym:`¡`,unicName:`INVERTED EXCLAMATION MARK`,name:`excl.inv`,shorthand:null,mathClass:`Punctuation`,latexName:``},"excl.quest":{sym:`⁉`,unicName:`EXCLAMATION QUESTION MARK`,name:`excl.quest`,shorthand:null,mathClass:``,latexName:``},exists:yo,"exists.not":{sym:`∄`,unicName:`THERE DOES NOT EXIST`,name:`exists.not`,shorthand:null,mathClass:`Unary`,latexName:`nexists`},exp:bo,"fence.dotted":{sym:`⦙`,unicName:`DOTTED FENCE`,name:`fence.dotted`,shorthand:null,mathClass:`Fence`,latexName:`fourvdots`},"fence.l":{sym:`⧘`,unicName:`LEFT WIGGLY FENCE`,name:`fence.l`,shorthand:null,mathClass:`Opening`,latexName:`lvzigzag`},"fence.l.double":{sym:`⧚`,unicName:`LEFT DOUBLE WIGGLY FENCE`,name:`fence.l.double`,shorthand:null,mathClass:`Opening`,latexName:`Lvzigzag`},"fence.r":{sym:`⧙`,unicName:`RIGHT WIGGLY FENCE`,name:`fence.r`,shorthand:null,mathClass:`Closing`,latexName:`rvzigzag`},"fence.r.double":{sym:`⧛`,unicName:`RIGHT DOUBLE WIGGLY FENCE`,name:`fence.r.double`,shorthand:null,mathClass:`Closing`,latexName:`Rvzigzag`},flat:xo,"flat.b":{sym:`𝄭`,unicName:`MUSICAL SYMBOL FLAT DOWN`,name:`flat.b`,shorthand:null,mathClass:``,latexName:``},"flat.double":{sym:`𝄫`,unicName:`MUSICAL SYMBOL DOUBLE FLAT`,name:`flat.double`,shorthand:null,mathClass:``,latexName:``},"flat.quarter":{sym:`𝄳`,unicName:`MUSICAL SYMBOL QUARTER TONE FLAT`,name:`flat.quarter`,shorthand:null,mathClass:``,latexName:``},"flat.t":{sym:`𝄬`,unicName:`MUSICAL SYMBOL FLAT UP`,name:`flat.t`,shorthand:null,mathClass:``,latexName:``},"floor.l":{sym:`⌊`,unicName:`LEFT FLOOR`,name:`floor.l`,shorthand:null,mathClass:`Opening`,latexName:`lfloor`},"floor.r":{sym:`⌋`,unicName:`RIGHT FLOOR`,name:`floor.r`,shorthand:null,mathClass:`Closing`,latexName:`rfloor`},floral:So,"floral.l":{sym:`☙`,unicName:`REVERSED ROTATED FLORAL HEART BULLET`,name:`floral.l`,shorthand:null,mathClass:``,latexName:``},"floral.r":{sym:`❧`,unicName:`ROTATED FLORAL HEART BULLET`,name:`floral.r`,shorthand:null,mathClass:``,latexName:``},forall:Co,forces:wo,"forces.not":{sym:`⊮`,unicName:`DOES NOT FORCE`,name:`forces.not`,shorthand:null,mathClass:`Relation`,latexName:`nVdash`},franc:To,frown:Eo,gamma:Do,gcd:Oo,gimel:ko,gimmel:Ao,gradient:jo,grave:Mo,gt:No,"gt.approx":{sym:`⪆`,unicName:`GREATER-THAN OR APPROXIMATE`,name:`gt.approx`,shorthand:null,mathClass:`Relation`,latexName:`gtrapprox`},"gt.circle":{sym:`⧁`,unicName:`CIRCLED GREATER-THAN`,name:`gt.circle`,shorthand:null,mathClass:`Binary`,latexName:`ogreaterthan`},"gt.dot":{sym:`⋗`,unicName:`GREATER-THAN WITH DOT`,name:`gt.dot`,shorthand:null,mathClass:`Relation`,latexName:`gtrdot`},"gt.double":{sym:`≫`,unicName:`MUCH GREATER-THAN`,name:`gt.double`,shorthand:`>>`,mathClass:`Relation`,latexName:`gg`},"gt.eq":{sym:`≥`,unicName:`GREATER-THAN OR EQUAL TO`,name:`gt.eq`,shorthand:`>=`,mathClass:`Relation`,latexName:`geq`},"gt.eq.lt":{sym:`⋛`,unicName:`GREATER-THAN EQUAL TO OR LESS-THAN`,name:`gt.eq.lt`,shorthand:null,mathClass:`Relation`,latexName:`gtreqless`},"gt.eq.not":{sym:`≱`,unicName:`NEITHER GREATER-THAN NOR EQUAL TO`,name:`gt.eq.not`,shorthand:null,mathClass:`Relation`,latexName:`ngeq`},"gt.eq.slant":{sym:`⩾`,unicName:`GREATER-THAN OR SLANTED EQUAL TO`,name:`gt.eq.slant`,shorthand:null,mathClass:`Relation`,latexName:`geqslant`},"gt.equiv":{sym:`≧`,unicName:`GREATER-THAN OVER EQUAL TO`,name:`gt.equiv`,shorthand:null,mathClass:`Relation`,latexName:`geqq`},"gt.lt":{sym:`≷`,unicName:`GREATER-THAN OR LESS-THAN`,name:`gt.lt`,shorthand:null,mathClass:`Relation`,latexName:`gtrless`},"gt.lt.not":{sym:`≹`,unicName:`NEITHER GREATER-THAN NOR LESS-THAN`,name:`gt.lt.not`,shorthand:null,mathClass:`Relation`,latexName:`ngtrless`},"gt.napprox":{sym:`⪊`,unicName:`GREATER-THAN AND NOT APPROXIMATE`,name:`gt.napprox`,shorthand:null,mathClass:`Relation`,latexName:`gnapprox`},"gt.neq":{sym:`⪈`,unicName:`GREATER-THAN AND SINGLE-LINE NOT EQUAL TO`,name:`gt.neq`,shorthand:null,mathClass:`Relation`,latexName:`gneq`},"gt.nequiv":{sym:`≩`,unicName:`GREATER-THAN BUT NOT EQUAL TO`,name:`gt.nequiv`,shorthand:null,mathClass:`Relation`,latexName:`gneqq`},"gt.not":{sym:`≯`,unicName:`NOT GREATER-THAN`,name:`gt.not`,shorthand:null,mathClass:`Relation`,latexName:`ngtr`},"gt.ntilde":{sym:`⋧`,unicName:`GREATER-THAN BUT NOT EQUIVALENT TO`,name:`gt.ntilde`,shorthand:null,mathClass:`Relation`,latexName:`gnsim`},"gt.o":{sym:`⧁`,unicName:`CIRCLED GREATER-THAN`,name:`gt.o`,shorthand:null,mathClass:`Binary`,latexName:`ogreaterthan`},"gt.small":{sym:`﹥`,unicName:`SMALL GREATER-THAN SIGN`,name:`gt.small`,shorthand:null,mathClass:`Special`,latexName:``},"gt.tilde":{sym:`≳`,unicName:`GREATER-THAN OR EQUIVALENT TO`,name:`gt.tilde`,shorthand:null,mathClass:`Relation`,latexName:`gtrsim`},"gt.tilde.not":{sym:`≵`,unicName:`NEITHER GREATER-THAN NOR EQUIVALENT TO`,name:`gt.tilde.not`,shorthand:null,mathClass:`Relation`,latexName:`ngtrsim`},"gt.tri":{sym:`⊳`,unicName:`CONTAINS AS NORMAL SUBGROUP`,name:`gt.tri`,shorthand:null,mathClass:`Relation`,latexName:`vartriangleright`},"gt.tri.eq":{sym:`⊵`,unicName:`CONTAINS AS NORMAL SUBGROUP OR EQUAL TO`,name:`gt.tri.eq`,shorthand:null,mathClass:`Relation`,latexName:`trianglerighteq`},"gt.tri.eq.not":{sym:`⋭`,unicName:`DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL`,name:`gt.tri.eq.not`,shorthand:null,mathClass:`Relation`,latexName:`ntrianglerighteq`},"gt.tri.not":{sym:`⋫`,unicName:`DOES NOT CONTAIN AS NORMAL SUBGROUP`,name:`gt.tri.not`,shorthand:null,mathClass:`Relation`,latexName:`nvartriangleright`},"gt.triple":{sym:`⋙`,unicName:`VERY MUCH GREATER-THAN`,name:`gt.triple`,shorthand:`>>>`,mathClass:`Relation`,latexName:`ggg`},"gt.triple.nested":{sym:`⫸`,unicName:`TRIPLE NESTED GREATER-THAN`,name:`gt.triple.nested`,shorthand:null,mathClass:`Relation`,latexName:`gggnest`},guarani:Po,"harpoon.bl":{sym:`⇃`,unicName:`DOWNWARDS HARPOON WITH BARB LEFTWARDS`,name:`harpoon.bl`,shorthand:null,mathClass:`Relation`,latexName:`downharpoonleft`},"harpoon.bl.bar":{sym:`⥡`,unicName:`DOWNWARDS HARPOON WITH BARB LEFT FROM BAR`,name:`harpoon.bl.bar`,shorthand:null,mathClass:`Relation`,latexName:`bardownharpoonleft`},"harpoon.bl.stop":{sym:`⥙`,unicName:`DOWNWARDS HARPOON WITH BARB LEFT TO BAR`,name:`harpoon.bl.stop`,shorthand:null,mathClass:`Relation`,latexName:`downharpoonleftbar`},"harpoon.br":{sym:`⇂`,unicName:`DOWNWARDS HARPOON WITH BARB RIGHTWARDS`,name:`harpoon.br`,shorthand:null,mathClass:`Relation`,latexName:`downharpoonright`},"harpoon.br.bar":{sym:`⥝`,unicName:`DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR`,name:`harpoon.br.bar`,shorthand:null,mathClass:`Relation`,latexName:`bardownharpoonright`},"harpoon.br.stop":{sym:`⥕`,unicName:`DOWNWARDS HARPOON WITH BARB RIGHT TO BAR`,name:`harpoon.br.stop`,shorthand:null,mathClass:`Relation`,latexName:`downharpoonrightbar`},"harpoon.lb":{sym:`↽`,unicName:`LEFTWARDS HARPOON WITH BARB DOWNWARDS`,name:`harpoon.lb`,shorthand:null,mathClass:`Relation`,latexName:`leftharpoondown`},"harpoon.lb.bar":{sym:`⥞`,unicName:`LEFTWARDS HARPOON WITH BARB DOWN FROM BAR`,name:`harpoon.lb.bar`,shorthand:null,mathClass:`Relation`,latexName:`leftharpoondownbar`},"harpoon.lb.rb":{sym:`⥐`,unicName:`LEFT BARB DOWN RIGHT BARB DOWN HARPOON`,name:`harpoon.lb.rb`,shorthand:null,mathClass:`Relation`,latexName:`leftrightharpoondowndown`},"harpoon.lb.rt":{sym:`⥋`,unicName:`LEFT BARB DOWN RIGHT BARB UP HARPOON`,name:`harpoon.lb.rt`,shorthand:null,mathClass:`Relation`,latexName:`leftrightharpoondownup`},"harpoon.lb.stop":{sym:`⥖`,unicName:`LEFTWARDS HARPOON WITH BARB DOWN TO BAR`,name:`harpoon.lb.stop`,shorthand:null,mathClass:`Relation`,latexName:`barleftharpoondown`},"harpoon.lt":{sym:`↼`,unicName:`LEFTWARDS HARPOON WITH BARB UPWARDS`,name:`harpoon.lt`,shorthand:null,mathClass:`Relation`,latexName:`leftharpoonup`},"harpoon.lt.bar":{sym:`⥚`,unicName:`LEFTWARDS HARPOON WITH BARB UP FROM BAR`,name:`harpoon.lt.bar`,shorthand:null,mathClass:`Relation`,latexName:`leftharpoonupbar`},"harpoon.lt.rb":{sym:`⥊`,unicName:`LEFT BARB UP RIGHT BARB DOWN HARPOON`,name:`harpoon.lt.rb`,shorthand:null,mathClass:`Relation`,latexName:`leftrightharpoonupdown`},"harpoon.lt.rt":{sym:`⥎`,unicName:`LEFT BARB UP RIGHT BARB UP HARPOON`,name:`harpoon.lt.rt`,shorthand:null,mathClass:`Relation`,latexName:`leftrightharpoonupup`},"harpoon.lt.stop":{sym:`⥒`,unicName:`LEFTWARDS HARPOON WITH BARB UP TO BAR`,name:`harpoon.lt.stop`,shorthand:null,mathClass:`Relation`,latexName:`barleftharpoonup`},"harpoon.rb":{sym:`⇁`,unicName:`RIGHTWARDS HARPOON WITH BARB DOWNWARDS`,name:`harpoon.rb`,shorthand:null,mathClass:`Relation`,latexName:`rightharpoondown`},"harpoon.rb.bar":{sym:`⥟`,unicName:`RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR`,name:`harpoon.rb.bar`,shorthand:null,mathClass:`Relation`,latexName:`barrightharpoondown`},"harpoon.rb.stop":{sym:`⥗`,unicName:`RIGHTWARDS HARPOON WITH BARB DOWN TO BAR`,name:`harpoon.rb.stop`,shorthand:null,mathClass:`Relation`,latexName:`rightharpoondownbar`},"harpoon.rt":{sym:`⇀`,unicName:`RIGHTWARDS HARPOON WITH BARB UPWARDS`,name:`harpoon.rt`,shorthand:null,mathClass:`Relation`,latexName:`rightharpoonup`},"harpoon.rt.bar":{sym:`⥛`,unicName:`RIGHTWARDS HARPOON WITH BARB UP FROM BAR`,name:`harpoon.rt.bar`,shorthand:null,mathClass:`Relation`,latexName:`barrightharpoonup`},"harpoon.rt.stop":{sym:`⥓`,unicName:`RIGHTWARDS HARPOON WITH BARB UP TO BAR`,name:`harpoon.rt.stop`,shorthand:null,mathClass:`Relation`,latexName:`rightharpoonupbar`},"harpoon.tl":{sym:`↿`,unicName:`UPWARDS HARPOON WITH BARB LEFTWARDS`,name:`harpoon.tl`,shorthand:null,mathClass:`Relation`,latexName:`upharpoonleft`},"harpoon.tl.bar":{sym:`⥠`,unicName:`UPWARDS HARPOON WITH BARB LEFT FROM BAR`,name:`harpoon.tl.bar`,shorthand:null,mathClass:`Relation`,latexName:`upharpoonleftbar`},"harpoon.tl.bl":{sym:`⥑`,unicName:`UP BARB LEFT DOWN BARB LEFT HARPOON`,name:`harpoon.tl.bl`,shorthand:null,mathClass:`Relation`,latexName:`updownharpoonleftleft`},"harpoon.tl.br":{sym:`⥍`,unicName:`UP BARB LEFT DOWN BARB RIGHT HARPOON`,name:`harpoon.tl.br`,shorthand:null,mathClass:`Relation`,latexName:`updownharpoonleftright`},"harpoon.tl.stop":{sym:`⥘`,unicName:`UPWARDS HARPOON WITH BARB LEFT TO BAR`,name:`harpoon.tl.stop`,shorthand:null,mathClass:`Relation`,latexName:`barupharpoonleft`},"harpoon.tr":{sym:`↾`,unicName:`UPWARDS HARPOON WITH BARB RIGHTWARDS`,name:`harpoon.tr`,shorthand:null,mathClass:`Relation`,latexName:`upharpoonright`},"harpoon.tr.bar":{sym:`⥜`,unicName:`UPWARDS HARPOON WITH BARB RIGHT FROM BAR`,name:`harpoon.tr.bar`,shorthand:null,mathClass:`Relation`,latexName:`upharpoonrightbar`},"harpoon.tr.bl":{sym:`⥌`,unicName:`UP BARB RIGHT DOWN BARB LEFT HARPOON`,name:`harpoon.tr.bl`,shorthand:null,mathClass:`Relation`,latexName:`updownharpoonrightleft`},"harpoon.tr.br":{sym:`⥏`,unicName:`UP BARB RIGHT DOWN BARB RIGHT HARPOON`,name:`harpoon.tr.br`,shorthand:null,mathClass:`Relation`,latexName:`updownharpoonrightright`},"harpoon.tr.stop":{sym:`⥔`,unicName:`UPWARDS HARPOON WITH BARB RIGHT TO BAR`,name:`harpoon.tr.stop`,shorthand:null,mathClass:`Relation`,latexName:`barupharpoonright`},"harpoons.blbr":{sym:`⥥`,unicName:`DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT`,name:`harpoons.blbr`,shorthand:null,mathClass:`Relation`,latexName:`downharpoonsleftright`},"harpoons.bltr":{sym:`⥯`,unicName:`DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT`,name:`harpoons.bltr`,shorthand:null,mathClass:`Relation`,latexName:`downupharpoonsleftright`},"harpoons.lbrb":{sym:`⥧`,unicName:`LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN`,name:`harpoons.lbrb`,shorthand:null,mathClass:`Relation`,latexName:`leftrightharpoonsdown`},"harpoons.ltlb":{sym:`⥢`,unicName:`LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN`,name:`harpoons.ltlb`,shorthand:null,mathClass:`Relation`,latexName:`leftharpoonsupdown`},"harpoons.ltrb":{sym:`⇋`,unicName:`LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON`,name:`harpoons.ltrb`,shorthand:null,mathClass:`Relation`,latexName:`leftrightharpoons`},"harpoons.ltrt":{sym:`⥦`,unicName:`LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP`,name:`harpoons.ltrt`,shorthand:null,mathClass:`Relation`,latexName:`leftrightharpoonsup`},"harpoons.rblb":{sym:`⥩`,unicName:`RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN`,name:`harpoons.rblb`,shorthand:null,mathClass:`Relation`,latexName:`rightleftharpoonsdown`},"harpoons.rtlb":{sym:`⇌`,unicName:`RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON`,name:`harpoons.rtlb`,shorthand:null,mathClass:`Relation`,latexName:`rightleftharpoons`},"harpoons.rtlt":{sym:`⥨`,unicName:`RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP`,name:`harpoons.rtlt`,shorthand:null,mathClass:`Relation`,latexName:`rightleftharpoonsup`},"harpoons.rtrb":{sym:`⥤`,unicName:`RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN`,name:`harpoons.rtrb`,shorthand:null,mathClass:`Relation`,latexName:`rightharpoonsupdown`},"harpoons.tlbr":{sym:`⥮`,unicName:`UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT`,name:`harpoons.tlbr`,shorthand:null,mathClass:`Relation`,latexName:`updownharpoonsleftright`},"harpoons.tltr":{sym:`⥣`,unicName:`UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT`,name:`harpoons.tltr`,shorthand:null,mathClass:`Relation`,latexName:`upharpoonsleftright`},hash:Fo,hat:Io,"hexa.filled":{sym:`⬢`,unicName:`BLACK HEXAGON`,name:`hexa.filled`,shorthand:null,mathClass:`Normal`,latexName:`varhexagonblack`},"hexa.stroked":{sym:`⬡`,unicName:`WHITE HEXAGON`,name:`hexa.stroked`,shorthand:null,mathClass:`Normal`,latexName:`varhexagon`},hom:Lo,"hourglass.filled":{sym:`⧗`,unicName:`BLACK HOURGLASS`,name:`hourglass.filled`,shorthand:null,mathClass:`Binary`,latexName:`blackhourglass`},"hourglass.stroked":{sym:`⧖`,unicName:`WHITE HOURGLASS`,name:`hourglass.stroked`,shorthand:null,mathClass:`Binary`,latexName:`hourglass`},hryvnia:Ro,hyph:zo,"hyph.minus":{sym:`-`,unicName:`HYPHEN-MINUS`,name:`hyph.minus`,shorthand:null,mathClass:`Normal`,latexName:``},"hyph.nobreak":{sym:``,unicName:`NON-BREAKING HYPHEN`,name:`hyph.nobreak`,shorthand:null,mathClass:``,latexName:``},"hyph.point":{sym:`‧`,unicName:`HYPHENATION POINT`,name:`hyph.point`,shorthand:null,mathClass:``,latexName:``},"hyph.soft":{sym:`­`,unicName:`SOFT HYPHEN`,name:`hyph.soft`,shorthand:`-?`,mathClass:``,latexName:``},id:Bo,im:Vo,image:Ho,in:{sym:`∈`,unicName:`ELEMENT OF`,name:`in`,shorthand:null,mathClass:`Relation`,latexName:`in`},"in.not":{sym:`∉`,unicName:`NOT AN ELEMENT OF`,name:`in.not`,shorthand:null,mathClass:`Relation`,latexName:`notin`},"in.rev":{sym:`∋`,unicName:`CONTAINS AS MEMBER`,name:`in.rev`,shorthand:null,mathClass:`Relation`,latexName:`ni`},"in.rev.not":{sym:`∌`,unicName:`DOES NOT CONTAIN AS MEMBER`,name:`in.rev.not`,shorthand:null,mathClass:`Relation`,latexName:`nni`},"in.rev.small":{sym:`∍`,unicName:`SMALL CONTAINS AS MEMBER`,name:`in.rev.small`,shorthand:null,mathClass:`Relation`,latexName:`smallni`},"in.small":{sym:`∊`,unicName:`SMALL ELEMENT OF`,name:`in.small`,shorthand:null,mathClass:`Relation`,latexName:`smallin`},inf:Uo,infinity:Wo,"infinity.bar":{sym:`⧞`,unicName:`INFINITY NEGATED WITH VERTICAL BAR`,name:`infinity.bar`,shorthand:null,mathClass:`Normal`,latexName:`nvinfty`},"infinity.incomplete":{sym:`⧜`,unicName:`INCOMPLETE INFINITY`,name:`infinity.incomplete`,shorthand:null,mathClass:`Normal`,latexName:`iinfin`},"infinity.tie":{sym:`⧝`,unicName:`TIE OVER INFINITY`,name:`infinity.tie`,shorthand:null,mathClass:`Normal`,latexName:`tieinfty`},integral:Go,"integral.arrow.hook":{sym:`⨗`,unicName:`INTEGRAL WITH LEFTWARDS ARROW WITH HOOK`,name:`integral.arrow.hook`,shorthand:null,mathClass:`Large`,latexName:`intlarhk`},"integral.ccw":{sym:`⨑`,unicName:`ANTICLOCKWISE INTEGRATION`,name:`integral.ccw`,shorthand:null,mathClass:`Large`,latexName:`awint`},"integral.cont":{sym:`∮`,unicName:`CONTOUR INTEGRAL`,name:`integral.cont`,shorthand:null,mathClass:`Large`,latexName:`oint`},"integral.cont.ccw":{sym:`∳`,unicName:`ANTICLOCKWISE CONTOUR INTEGRAL`,name:`integral.cont.ccw`,shorthand:null,mathClass:`Large`,latexName:`ointctrclockwise`},"integral.cont.cw":{sym:`∲`,unicName:`CLOCKWISE CONTOUR INTEGRAL`,name:`integral.cont.cw`,shorthand:null,mathClass:`Large`,latexName:`varointclockwise`},"integral.cw":{sym:`∱`,unicName:`CLOCKWISE INTEGRAL`,name:`integral.cw`,shorthand:null,mathClass:`Large`,latexName:`intclockwise`},"integral.dash":{sym:`⨍`,unicName:`FINITE PART INTEGRAL`,name:`integral.dash`,shorthand:null,mathClass:`Large`,latexName:`intbar`},"integral.dash.double":{sym:`⨎`,unicName:`INTEGRAL WITH DOUBLE STROKE`,name:`integral.dash.double`,shorthand:null,mathClass:`Large`,latexName:`intBar`},"integral.double":{sym:`∬`,unicName:`DOUBLE INTEGRAL`,name:`integral.double`,shorthand:null,mathClass:`Large`,latexName:`iint`},"integral.inter":{sym:`⨙`,unicName:`INTEGRAL WITH INTERSECTION`,name:`integral.inter`,shorthand:null,mathClass:`Large`,latexName:`intcap`},"integral.quad":{sym:`⨌`,unicName:`QUADRUPLE INTEGRAL OPERATOR`,name:`integral.quad`,shorthand:null,mathClass:`Large`,latexName:`iiiint`},"integral.sect":{sym:`⨙`,unicName:`INTEGRAL WITH INTERSECTION`,name:`integral.sect`,shorthand:null,mathClass:`Large`,latexName:`intcap`},"integral.slash":{sym:`⨏`,unicName:`INTEGRAL AVERAGE WITH SLASH`,name:`integral.slash`,shorthand:null,mathClass:`Large`,latexName:`fint`},"integral.square":{sym:`⨖`,unicName:`QUATERNION INTEGRAL OPERATOR`,name:`integral.square`,shorthand:null,mathClass:`Large`,latexName:`sqint`},"integral.surf":{sym:`∯`,unicName:`SURFACE INTEGRAL`,name:`integral.surf`,shorthand:null,mathClass:`Large`,latexName:`oiint`},"integral.times":{sym:`⨘`,unicName:`INTEGRAL WITH TIMES SIGN`,name:`integral.times`,shorthand:null,mathClass:`Large`,latexName:`intx`},"integral.triple":{sym:`∭`,unicName:`TRIPLE INTEGRAL`,name:`integral.triple`,shorthand:null,mathClass:`Large`,latexName:`iiint`},"integral.union":{sym:`⨚`,unicName:`INTEGRAL WITH UNION`,name:`integral.union`,shorthand:null,mathClass:`Large`,latexName:`intcup`},"integral.vol":{sym:`∰`,unicName:`VOLUME INTEGRAL`,name:`integral.vol`,shorthand:null,mathClass:`Large`,latexName:`oiiint`},inter:Ko,"inter.and":{sym:`⩄`,unicName:`INTERSECTION WITH LOGICAL AND`,name:`inter.and`,shorthand:null,mathClass:`Binary`,latexName:`capwedge`},"inter.big":{sym:`⋂`,unicName:`N-ARY INTERSECTION`,name:`inter.big`,shorthand:null,mathClass:`Large`,latexName:`bigcap`},"inter.dot":{sym:`⩀`,unicName:`INTERSECTION WITH DOT`,name:`inter.dot`,shorthand:null,mathClass:`Binary`,latexName:`capdot`},"inter.double":{sym:`⋒`,unicName:`DOUBLE INTERSECTION`,name:`inter.double`,shorthand:null,mathClass:`Binary`,latexName:`Cap`},"inter.sq":{sym:`⊓`,unicName:`SQUARE CAP`,name:`inter.sq`,shorthand:null,mathClass:`Binary`,latexName:`sqcap`},"inter.sq.big":{sym:`⨅`,unicName:`N-ARY SQUARE INTERSECTION OPERATOR`,name:`inter.sq.big`,shorthand:null,mathClass:`Large`,latexName:`bigsqcap`},"inter.sq.double":{sym:`⩎`,unicName:`DOUBLE SQUARE INTERSECTION`,name:`inter.sq.double`,shorthand:null,mathClass:`Binary`,latexName:`Sqcap`},interleave:qo,"interleave.big":{sym:`⫼`,unicName:`LARGE TRIPLE VERTICAL BAR OPERATOR`,name:`interleave.big`,shorthand:null,mathClass:`Large`,latexName:`biginterleave`},"interleave.struck":{sym:`⫵`,unicName:`TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE`,name:`interleave.struck`,shorthand:null,mathClass:`Binary`,latexName:`nhVvert`},interrobang:Jo,"interrobang.inv":{sym:`⸘`,unicName:`INVERTED INTERROBANG`,name:`interrobang.inv`,shorthand:null,mathClass:``,latexName:``},iota:Yo,"iota.inv":{sym:`℩`,unicName:`TURNED GREEK SMALL LETTER IOTA`,name:`iota.inv`,shorthand:null,mathClass:`Normal`,latexName:`turnediota`},join:Xo,"join.l":{sym:`⟕`,unicName:`LEFT OUTER JOIN`,name:`join.l`,shorthand:null,mathClass:`Large`,latexName:`leftouterjoin`},"join.l.r":{sym:`⟗`,unicName:`FULL OUTER JOIN`,name:`join.l.r`,shorthand:null,mathClass:`Large`,latexName:`fullouterjoin`},"join.r":{sym:`⟖`,unicName:`RIGHT OUTER JOIN`,name:`join.r`,shorthand:null,mathClass:`Large`,latexName:`rightouterjoin`},jupiter:Zo,kai:Qo,kappa:$o,"kappa.alt":{sym:`ϰ`,unicName:`GREEK KAPPA SYMBOL`,name:`kappa.alt`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupvarkappa`},ker:es,kip:ts,lambda:ns,laplace:rs,lari:is,lat:as,"lat.eq":{sym:`⪭`,unicName:`LARGER THAN OR EQUAL TO`,name:`lat.eq`,shorthand:null,mathClass:`Relation`,latexName:`late`},lcm:os,lg:ss,lim:cs,liminf:ls,limsup:us,lira:ds,ln:fs,log:ps,"lozenge.filled":{sym:`⧫`,unicName:`BLACK LOZENGE`,name:`lozenge.filled`,shorthand:null,mathClass:`Binary`,latexName:`mdlgblklozenge`},"lozenge.filled.medium":{sym:`⬧`,unicName:`BLACK MEDIUM LOZENGE`,name:`lozenge.filled.medium`,shorthand:null,mathClass:`Normal`,latexName:`mdblklozenge`},"lozenge.filled.small":{sym:`⬪`,unicName:`BLACK SMALL LOZENGE`,name:`lozenge.filled.small`,shorthand:null,mathClass:`Normal`,latexName:`smblklozenge`},"lozenge.stroked":{sym:`◊`,unicName:`LOZENGE`,name:`lozenge.stroked`,shorthand:null,mathClass:`Binary`,latexName:`mdlgwhtlozenge`},"lozenge.stroked.medium":{sym:`⬨`,unicName:`WHITE MEDIUM LOZENGE`,name:`lozenge.stroked.medium`,shorthand:null,mathClass:`Normal`,latexName:`mdwhtlozenge`},"lozenge.stroked.small":{sym:`⬫`,unicName:`WHITE SMALL LOZENGE`,name:`lozenge.stroked.small`,shorthand:null,mathClass:`Normal`,latexName:`smwhtlozenge`},lrm:ms,lt:hs,"lt.approx":{sym:`⪅`,unicName:`LESS-THAN OR APPROXIMATE`,name:`lt.approx`,shorthand:null,mathClass:`Relation`,latexName:`lessapprox`},"lt.circle":{sym:`⧀`,unicName:`CIRCLED LESS-THAN`,name:`lt.circle`,shorthand:null,mathClass:`Binary`,latexName:`olessthan`},"lt.dot":{sym:`⋖`,unicName:`LESS-THAN WITH DOT`,name:`lt.dot`,shorthand:null,mathClass:`Relation`,latexName:`lessdot`},"lt.double":{sym:`≪`,unicName:`MUCH LESS-THAN`,name:`lt.double`,shorthand:`<<`,mathClass:`Relation`,latexName:`ll`},"lt.eq":{sym:`≤`,unicName:`LESS-THAN OR EQUAL TO`,name:`lt.eq`,shorthand:`<=`,mathClass:`Relation`,latexName:`leq`},"lt.eq.gt":{sym:`⋚`,unicName:`LESS-THAN EQUAL TO OR GREATER-THAN`,name:`lt.eq.gt`,shorthand:null,mathClass:`Relation`,latexName:`lesseqgtr`},"lt.eq.not":{sym:`≰`,unicName:`NEITHER LESS-THAN NOR EQUAL TO`,name:`lt.eq.not`,shorthand:null,mathClass:`Relation`,latexName:`nleq`},"lt.eq.slant":{sym:`⩽`,unicName:`LESS-THAN OR SLANTED EQUAL TO`,name:`lt.eq.slant`,shorthand:null,mathClass:`Relation`,latexName:`leqslant`},"lt.equiv":{sym:`≦`,unicName:`LESS-THAN OVER EQUAL TO`,name:`lt.equiv`,shorthand:null,mathClass:`Relation`,latexName:`leqq`},"lt.gt":{sym:`≶`,unicName:`LESS-THAN OR GREATER-THAN`,name:`lt.gt`,shorthand:null,mathClass:`Relation`,latexName:`lessgtr`},"lt.gt.not":{sym:`≸`,unicName:`NEITHER LESS-THAN NOR GREATER-THAN`,name:`lt.gt.not`,shorthand:null,mathClass:`Relation`,latexName:`nlessgtr`},"lt.napprox":{sym:`⪉`,unicName:`LESS-THAN AND NOT APPROXIMATE`,name:`lt.napprox`,shorthand:null,mathClass:`Relation`,latexName:`lnapprox`},"lt.neq":{sym:`⪇`,unicName:`LESS-THAN AND SINGLE-LINE NOT EQUAL TO`,name:`lt.neq`,shorthand:null,mathClass:`Relation`,latexName:`lneq`},"lt.nequiv":{sym:`≨`,unicName:`LESS-THAN BUT NOT EQUAL TO`,name:`lt.nequiv`,shorthand:null,mathClass:`Relation`,latexName:`lneqq`},"lt.not":{sym:`≮`,unicName:`NOT LESS-THAN`,name:`lt.not`,shorthand:null,mathClass:`Relation`,latexName:`nless`},"lt.ntilde":{sym:`⋦`,unicName:`LESS-THAN BUT NOT EQUIVALENT TO`,name:`lt.ntilde`,shorthand:null,mathClass:`Relation`,latexName:`lnsim`},"lt.o":{sym:`⧀`,unicName:`CIRCLED LESS-THAN`,name:`lt.o`,shorthand:null,mathClass:`Binary`,latexName:`olessthan`},"lt.small":{sym:`﹤`,unicName:`SMALL LESS-THAN SIGN`,name:`lt.small`,shorthand:null,mathClass:`Special`,latexName:``},"lt.tilde":{sym:`≲`,unicName:`LESS-THAN OR EQUIVALENT TO`,name:`lt.tilde`,shorthand:null,mathClass:`Relation`,latexName:`lesssim`},"lt.tilde.not":{sym:`≴`,unicName:`NEITHER LESS-THAN NOR EQUIVALENT TO`,name:`lt.tilde.not`,shorthand:null,mathClass:`Relation`,latexName:`nlesssim`},"lt.tri":{sym:`⊲`,unicName:`NORMAL SUBGROUP OF`,name:`lt.tri`,shorthand:null,mathClass:`Relation`,latexName:`vartriangleleft`},"lt.tri.eq":{sym:`⊴`,unicName:`NORMAL SUBGROUP OF OR EQUAL TO`,name:`lt.tri.eq`,shorthand:null,mathClass:`Relation`,latexName:`trianglelefteq`},"lt.tri.eq.not":{sym:`⋬`,unicName:`NOT NORMAL SUBGROUP OF OR EQUAL TO`,name:`lt.tri.eq.not`,shorthand:null,mathClass:`Relation`,latexName:`ntrianglelefteq`},"lt.tri.not":{sym:`⋪`,unicName:`NOT NORMAL SUBGROUP OF`,name:`lt.tri.not`,shorthand:null,mathClass:`Relation`,latexName:`nvartriangleleft`},"lt.triple":{sym:`⋘`,unicName:`VERY MUCH LESS-THAN`,name:`lt.triple`,shorthand:`<<<`,mathClass:`Relation`,latexName:`lll`},"lt.triple.nested":{sym:`⫷`,unicName:`TRIPLE NESTED LESS-THAN`,name:`lt.triple.nested`,shorthand:null,mathClass:`Relation`,latexName:`lllnest`},macron:gs,maltese:_s,manat:vs,mapsto:ys,"mapsto.long":{sym:`⟼`,unicName:`LONG RIGHTWARDS ARROW FROM BAR`,name:`mapsto.long`,shorthand:null,mathClass:`Relation`,latexName:`longmapsto`},mars:bs,max:xs,"medium (2/9 em)":{sym:`med`,unicName:``,name:`medium (2/9 em)`,shorthand:null,mathClass:`spacing`,latexName:``},mercury:Ss,min:Cs,minus:ws,"minus.circle":{sym:`⊖`,unicName:`CIRCLED MINUS`,name:`minus.circle`,shorthand:null,mathClass:`Binary`,latexName:`ominus`},"minus.dot":{sym:`∸`,unicName:`DOT MINUS`,name:`minus.dot`,shorthand:null,mathClass:`Binary`,latexName:`dotminus`},"minus.o":{sym:`⊖`,unicName:`CIRCLED MINUS`,name:`minus.o`,shorthand:null,mathClass:`Binary`,latexName:`ominus`},"minus.plus":{sym:`∓`,unicName:`MINUS-OR-PLUS SIGN`,name:`minus.plus`,shorthand:null,mathClass:`Vary`,latexName:`mp`},"minus.square":{sym:`⊟`,unicName:`SQUARED MINUS`,name:`minus.square`,shorthand:null,mathClass:`Binary`,latexName:`boxminus`},"minus.tilde":{sym:`≂`,unicName:`MINUS TILDE`,name:`minus.tilde`,shorthand:null,mathClass:`Relation`,latexName:`eqsim`},"minus.triangle":{sym:`⨺`,unicName:`MINUS SIGN IN TRIANGLE`,name:`minus.triangle`,shorthand:null,mathClass:`Binary`,latexName:`triangleminus`},miny:Ts,mod:Es,models:Ds,mu:Os,multimap:ks,"multimap.double":{sym:`⧟`,unicName:`DOUBLE-ENDED MULTIMAP`,name:`multimap.double`,shorthand:null,mathClass:`Relation`,latexName:`dualmap`},"mustache.l":{sym:`⎰`,unicName:`UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION`,name:`mustache.l`,shorthand:null,mathClass:`Opening`,latexName:`lmoustache`},"mustache.r":{sym:`⎱`,unicName:`UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION`,name:`mustache.r`,shorthand:null,mathClass:`Closing`,latexName:`rmoustache`},nabla:As,naira:js,natural:Ms,"natural.b":{sym:`𝄯`,unicName:`MUSICAL SYMBOL NATURAL DOWN`,name:`natural.b`,shorthand:null,mathClass:``,latexName:``},"natural.t":{sym:`𝄮`,unicName:`MUSICAL SYMBOL NATURAL UP`,name:`natural.t`,shorthand:null,mathClass:``,latexName:``},neptune:Ns,"neptune.alt":{sym:`⯉`,unicName:`NEPTUNE FORM TWO`,name:`neptune.alt`,shorthand:null,mathClass:``,latexName:``},not:Ps,"note.down":{sym:`🎝`,unicName:`BEAMED DESCENDING MUSICAL NOTES`,name:`note.down`,shorthand:null,mathClass:``,latexName:``},"note.eighth":{sym:`𝅘𝅥𝅮`,unicName:`MUSICAL SYMBOL EIGHTH NOTE`,name:`note.eighth`,shorthand:null,mathClass:``,latexName:``},"note.eighth.alt":{sym:`♪`,unicName:`EIGHTH NOTE`,name:`note.eighth.alt`,shorthand:null,mathClass:``,latexName:`eighthnote`},"note.eighth.beamed":{sym:`♫`,unicName:`BEAMED EIGHTH NOTES`,name:`note.eighth.beamed`,shorthand:null,mathClass:``,latexName:`twonotes`},"note.grace":{sym:`𝆕`,unicName:`MUSICAL SYMBOL GRACE NOTE NO SLASH`,name:`note.grace`,shorthand:null,mathClass:``,latexName:``},"note.grace.slash":{sym:`𝆔`,unicName:`MUSICAL SYMBOL GRACE NOTE SLASH`,name:`note.grace.slash`,shorthand:null,mathClass:``,latexName:``},"note.half":{sym:`𝅗𝅥`,unicName:`MUSICAL SYMBOL HALF NOTE`,name:`note.half`,shorthand:null,mathClass:``,latexName:``},"note.quarter":{sym:`𝅘𝅥`,unicName:`MUSICAL SYMBOL QUARTER NOTE`,name:`note.quarter`,shorthand:null,mathClass:``,latexName:``},"note.quarter.alt":{sym:`♩`,unicName:`QUARTER NOTE`,name:`note.quarter.alt`,shorthand:null,mathClass:`Normal`,latexName:`quarternote`},"note.sixteenth":{sym:`𝅘𝅥𝅯`,unicName:`MUSICAL SYMBOL SIXTEENTH NOTE`,name:`note.sixteenth`,shorthand:null,mathClass:``,latexName:``},"note.sixteenth.beamed":{sym:`♬`,unicName:`BEAMED SIXTEENTH NOTES`,name:`note.sixteenth.beamed`,shorthand:null,mathClass:``,latexName:``},"note.up":{sym:`🎜`,unicName:`BEAMED ASCENDING MUSICAL NOTES`,name:`note.up`,shorthand:null,mathClass:``,latexName:``},"note.whole":{sym:`𝅝`,unicName:`MUSICAL SYMBOL WHOLE NOTE`,name:`note.whole`,shorthand:null,mathClass:``,latexName:``},nothing:Fs,"nothing.arrow.l":{sym:`⦴`,unicName:`EMPTY SET WITH LEFT ARROW ABOVE`,name:`nothing.arrow.l`,shorthand:null,mathClass:`Normal`,latexName:`emptysetoarrl`},"nothing.arrow.r":{sym:`⦳`,unicName:`EMPTY SET WITH RIGHT ARROW ABOVE`,name:`nothing.arrow.r`,shorthand:null,mathClass:`Normal`,latexName:`emptysetoarr`},"nothing.bar":{sym:`⦱`,unicName:`EMPTY SET WITH OVERBAR`,name:`nothing.bar`,shorthand:null,mathClass:`Normal`,latexName:`emptysetobar`},"nothing.circle":{sym:`⦲`,unicName:`EMPTY SET WITH SMALL CIRCLE ABOVE`,name:`nothing.circle`,shorthand:null,mathClass:`Normal`,latexName:`emptysetocirc`},"nothing.rev":{sym:`⦰`,unicName:`REVERSED EMPTY SET`,name:`nothing.rev`,shorthand:null,mathClass:`Normal`,latexName:`revemptyset`},nu:Is,numero:Ls,omega:Rs,omicron:zs,oo:Bs,or:Vs,"or.big":{sym:``,unicName:`N-ARY LOGICAL OR`,name:`or.big`,shorthand:null,mathClass:`Large`,latexName:`bigvee`},"or.curly":{sym:`⋎`,unicName:`CURLY LOGICAL OR`,name:`or.curly`,shorthand:null,mathClass:`Binary`,latexName:`curlyvee`},"or.dot":{sym:`⟇`,unicName:`OR WITH DOT INSIDE`,name:`or.dot`,shorthand:null,mathClass:`Binary`,latexName:`veedot`},"or.double":{sym:`⩔`,unicName:`DOUBLE LOGICAL OR`,name:`or.double`,shorthand:null,mathClass:`Binary`,latexName:`Vee`},original:Hs,parallel:Us,"parallel.circle":{sym:`⦷`,unicName:`CIRCLED PARALLEL`,name:`parallel.circle`,shorthand:null,mathClass:`Binary`,latexName:`circledparallel`},"parallel.eq":{sym:`⋕`,unicName:`EQUAL AND PARALLEL TO`,name:`parallel.eq`,shorthand:null,mathClass:`Relation`,latexName:`equalparallel`},"parallel.equiv":{sym:`⩨`,unicName:`TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE`,name:`parallel.equiv`,shorthand:null,mathClass:`Relation`,latexName:`equivVert`},"parallel.not":{sym:`∦`,unicName:`NOT PARALLEL TO`,name:`parallel.not`,shorthand:null,mathClass:`Relation`,latexName:`nparallel`},"parallel.o":{sym:`⦷`,unicName:`CIRCLED PARALLEL`,name:`parallel.o`,shorthand:null,mathClass:`Binary`,latexName:`circledparallel`},"parallel.slanted.eq":{sym:`⧣`,unicName:`EQUALS SIGN AND SLANTED PARALLEL`,name:`parallel.slanted.eq`,shorthand:null,mathClass:`Relation`,latexName:`eparsl`},"parallel.slanted.eq.tilde":{sym:`⧤`,unicName:`EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE`,name:`parallel.slanted.eq.tilde`,shorthand:null,mathClass:`Relation`,latexName:`smeparsl`},"parallel.slanted.equiv":{sym:`⧥`,unicName:`IDENTICAL TO AND SLANTED PARALLEL`,name:`parallel.slanted.equiv`,shorthand:null,mathClass:`Relation`,latexName:`eqvparsl`},"parallel.struck":{sym:`⫲`,unicName:`PARALLEL WITH HORIZONTAL STROKE`,name:`parallel.struck`,shorthand:null,mathClass:`Relation`,latexName:`nhpar`},"parallel.tilde":{sym:`⫳`,unicName:`PARALLEL WITH TILDE OPERATOR`,name:`parallel.tilde`,shorthand:null,mathClass:`Relation`,latexName:`parsim`},"parallelogram.filled":{sym:`▰`,unicName:`BLACK PARALLELOGRAM`,name:`parallelogram.filled`,shorthand:null,mathClass:`Normal`,latexName:`parallelogramblack`},"parallelogram.stroked":{sym:`▱`,unicName:`WHITE PARALLELOGRAM`,name:`parallelogram.stroked`,shorthand:null,mathClass:`Normal`,latexName:`parallelogram`},"paren.b":{sym:`⏝`,unicName:`BOTTOM PARENTHESIS`,name:`paren.b`,shorthand:null,mathClass:`Normal`,latexName:`underparen`},"paren.l":{sym:`(`,unicName:`LEFT PARENTHESIS`,name:`paren.l`,shorthand:null,mathClass:`Opening`,latexName:`lparen`},"paren.l.closed":{sym:`⦇`,unicName:`Z NOTATION LEFT IMAGE BRACKET`,name:`paren.l.closed`,shorthand:null,mathClass:`Opening`,latexName:`llparenthesis`},"paren.l.double":{sym:`⦅`,unicName:`LEFT WHITE PARENTHESIS`,name:`paren.l.double`,shorthand:null,mathClass:`Opening`,latexName:`lParen`},"paren.l.flat":{sym:`⟮`,unicName:`MATHEMATICAL LEFT FLATTENED PARENTHESIS`,name:`paren.l.flat`,shorthand:null,mathClass:`Opening`,latexName:`lgroup`},"paren.l.stroked":{sym:`⦅`,unicName:`LEFT WHITE PARENTHESIS`,name:`paren.l.stroked`,shorthand:null,mathClass:`Opening`,latexName:`lParen`},"paren.r":{sym:`)`,unicName:`RIGHT PARENTHESIS`,name:`paren.r`,shorthand:null,mathClass:`Closing`,latexName:`rparen`},"paren.r.closed":{sym:`⦈`,unicName:`Z NOTATION RIGHT IMAGE BRACKET`,name:`paren.r.closed`,shorthand:null,mathClass:`Closing`,latexName:`rrparenthesis`},"paren.r.double":{sym:`⦆`,unicName:`RIGHT WHITE PARENTHESIS`,name:`paren.r.double`,shorthand:null,mathClass:`Closing`,latexName:`rParen`},"paren.r.flat":{sym:`⟯`,unicName:`MATHEMATICAL RIGHT FLATTENED PARENTHESIS`,name:`paren.r.flat`,shorthand:null,mathClass:`Closing`,latexName:`rgroup`},"paren.r.stroked":{sym:`⦆`,unicName:`RIGHT WHITE PARENTHESIS`,name:`paren.r.stroked`,shorthand:null,mathClass:`Closing`,latexName:`rParen`},"paren.t":{sym:`⏜`,unicName:`TOP PARENTHESIS`,name:`paren.t`,shorthand:null,mathClass:`Normal`,latexName:`overparen`},partial:Ws,pataca:Gs,"penta.filled":{sym:`⬟`,unicName:`BLACK PENTAGON`,name:`penta.filled`,shorthand:null,mathClass:`Normal`,latexName:`pentagonblack`},"penta.stroked":{sym:`⬠`,unicName:`WHITE PENTAGON`,name:`penta.stroked`,shorthand:null,mathClass:`Normal`,latexName:`pentagon`},percent:Ks,permille:qs,permyriad:Js,perp:Ys,"perp.circle":{sym:`⦹`,unicName:`CIRCLED PERPENDICULAR`,name:`perp.circle`,shorthand:null,mathClass:`Binary`,latexName:`operp`},"perp.o":{sym:`⦹`,unicName:`CIRCLED PERPENDICULAR`,name:`perp.o`,shorthand:null,mathClass:`Binary`,latexName:`operp`},peso:Xs,"peso.philippine":{sym:`₱`,unicName:`PESO SIGN`,name:`peso.philippine`,shorthand:null,mathClass:``,latexName:``},phi:Zs,"phi.alt":{sym:`ϕ`,unicName:`GREEK PHI SYMBOL`,name:`phi.alt`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupphi`},pi:Qs,"pi.alt":{sym:`ϖ`,unicName:`GREEK PI SYMBOL`,name:`pi.alt`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupvarpi`},pilcrow:$s,"pilcrow.rev":{sym:`⁋`,unicName:`REVERSED PILCROW SIGN`,name:`pilcrow.rev`,shorthand:null,mathClass:``,latexName:``},planck:ec,"planck.reduce":{sym:`ħ`,unicName:`LATIN SMALL LETTER H WITH STROKE`,name:`planck.reduce`,shorthand:null,mathClass:``,latexName:``},plus:tc,"plus.circle":{sym:`⊕`,unicName:`CIRCLED PLUS`,name:`plus.circle`,shorthand:null,mathClass:`Binary`,latexName:`oplus`},"plus.circle.arrow":{sym:`⟴`,unicName:`RIGHT ARROW WITH CIRCLED PLUS`,name:`plus.circle.arrow`,shorthand:null,mathClass:`Relation`,latexName:`rightarrowonoplus`},"plus.circle.big":{sym:`⨁`,unicName:`N-ARY CIRCLED PLUS OPERATOR`,name:`plus.circle.big`,shorthand:null,mathClass:`Large`,latexName:`bigoplus`},"plus.dot":{sym:`∔`,unicName:`DOT PLUS`,name:`plus.dot`,shorthand:null,mathClass:`Binary`,latexName:`dotplus`},"plus.double":{sym:`⧺`,unicName:`DOUBLE PLUS`,name:`plus.double`,shorthand:null,mathClass:`Binary`,latexName:`doubleplus`},"plus.minus":{sym:`±`,unicName:`PLUS-MINUS SIGN`,name:`plus.minus`,shorthand:null,mathClass:`Vary`,latexName:`pm`},"plus.o":{sym:`⊕`,unicName:`CIRCLED PLUS`,name:`plus.o`,shorthand:null,mathClass:`Binary`,latexName:`oplus`},"plus.o.arrow":{sym:`⟴`,unicName:`RIGHT ARROW WITH CIRCLED PLUS`,name:`plus.o.arrow`,shorthand:null,mathClass:`Relation`,latexName:`rightarrowonoplus`},"plus.o.big":{sym:`⨁`,unicName:`N-ARY CIRCLED PLUS OPERATOR`,name:`plus.o.big`,shorthand:null,mathClass:`Large`,latexName:`bigoplus`},"plus.o.l":{sym:`⨭`,unicName:`PLUS SIGN IN LEFT HALF CIRCLE`,name:`plus.o.l`,shorthand:null,mathClass:`Binary`,latexName:`opluslhrim`},"plus.o.r":{sym:`⨮`,unicName:`PLUS SIGN IN RIGHT HALF CIRCLE`,name:`plus.o.r`,shorthand:null,mathClass:`Binary`,latexName:`oplusrhrim`},"plus.small":{sym:`﹢`,unicName:`SMALL PLUS SIGN`,name:`plus.small`,shorthand:null,mathClass:`Special`,latexName:``},"plus.square":{sym:`⊞`,unicName:`SQUARED PLUS`,name:`plus.square`,shorthand:null,mathClass:`Binary`,latexName:`boxplus`},"plus.triangle":{sym:`⨹`,unicName:`PLUS SIGN IN TRIANGLE`,name:`plus.triangle`,shorthand:null,mathClass:`Binary`,latexName:`triangleplus`},"plus.triple":{sym:`⧻`,unicName:`TRIPLE PLUS`,name:`plus.triple`,shorthand:null,mathClass:`Binary`,latexName:`tripleplus`},pound:nc,"power.off":{sym:`⭘`,unicName:`HEAVY CIRCLE`,name:`power.off`,shorthand:null,mathClass:``,latexName:``},"power.on":{sym:``,unicName:`POWER ON SYMBOL`,name:`power.on`,shorthand:null,mathClass:``,latexName:``},"power.on.off":{sym:`⏼`,unicName:`POWER ON-OFF SYMBOL`,name:`power.on.off`,shorthand:null,mathClass:``,latexName:``},"power.sleep":{sym:`⏾`,unicName:`POWER SLEEP SYMBOL`,name:`power.sleep`,shorthand:null,mathClass:``,latexName:``},"power.standby":{sym:`⏻`,unicName:`POWER SYMBOL`,name:`power.standby`,shorthand:null,mathClass:``,latexName:``},prec:rc,"prec.approx":{sym:`⪷`,unicName:`PRECEDES ABOVE ALMOST EQUAL TO`,name:`prec.approx`,shorthand:null,mathClass:`Relation`,latexName:`precapprox`},"prec.curly.eq":{sym:`≼`,unicName:`PRECEDES OR EQUAL TO`,name:`prec.curly.eq`,shorthand:null,mathClass:`Relation`,latexName:`preccurlyeq`},"prec.curly.eq.not":{sym:`⋠`,unicName:`DOES NOT PRECEDE OR EQUAL`,name:`prec.curly.eq.not`,shorthand:null,mathClass:`Relation`,latexName:`npreccurlyeq`},"prec.double":{sym:`⪻`,unicName:`DOUBLE PRECEDES`,name:`prec.double`,shorthand:null,mathClass:`Relation`,latexName:`Prec`},"prec.eq":{sym:`⪯`,unicName:`PRECEDES ABOVE SINGLE-LINE EQUALS SIGN`,name:`prec.eq`,shorthand:null,mathClass:`Relation`,latexName:`preceq`},"prec.equiv":{sym:`⪳`,unicName:`PRECEDES ABOVE EQUALS SIGN`,name:`prec.equiv`,shorthand:null,mathClass:`Relation`,latexName:`preceqq`},"prec.napprox":{sym:`⪹`,unicName:`PRECEDES ABOVE NOT ALMOST EQUAL TO`,name:`prec.napprox`,shorthand:null,mathClass:`Relation`,latexName:`precnapprox`},"prec.neq":{sym:`⪱`,unicName:`PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO`,name:`prec.neq`,shorthand:null,mathClass:`Relation`,latexName:`precneq`},"prec.nequiv":{sym:`⪵`,unicName:`PRECEDES ABOVE NOT EQUAL TO`,name:`prec.nequiv`,shorthand:null,mathClass:`Relation`,latexName:`precneqq`},"prec.not":{sym:`⊀`,unicName:`DOES NOT PRECEDE`,name:`prec.not`,shorthand:null,mathClass:`Relation`,latexName:`nprec`},"prec.ntilde":{sym:`⋨`,unicName:`PRECEDES BUT NOT EQUIVALENT TO`,name:`prec.ntilde`,shorthand:null,mathClass:`Relation`,latexName:`precnsim`},"prec.tilde":{sym:`≾`,unicName:`PRECEDES OR EQUIVALENT TO`,name:`prec.tilde`,shorthand:null,mathClass:`Relation`,latexName:`precsim`},prime:ic,"prime.double":{sym:`″`,unicName:`DOUBLE PRIME`,name:`prime.double`,shorthand:null,mathClass:`Normal`,latexName:`dprime`},"prime.double.rev":{sym:`‶`,unicName:`REVERSED DOUBLE PRIME`,name:`prime.double.rev`,shorthand:null,mathClass:`Normal`,latexName:`backdprime`},"prime.quad":{sym:`⁗`,unicName:`QUADRUPLE PRIME`,name:`prime.quad`,shorthand:null,mathClass:`Normal`,latexName:`qprime`},"prime.rev":{sym:``,unicName:`REVERSED PRIME`,name:`prime.rev`,shorthand:null,mathClass:`Normal`,latexName:`backprime`},"prime.triple":{sym:`‴`,unicName:`TRIPLE PRIME`,name:`prime.triple`,shorthand:null,mathClass:`Normal`,latexName:`trprime`},"prime.triple.rev":{sym:`‷`,unicName:`REVERSED TRIPLE PRIME`,name:`prime.triple.rev`,shorthand:null,mathClass:`Normal`,latexName:`backtrprime`},product:ac,"product.co":{sym:`∐`,unicName:`N-ARY COPRODUCT`,name:`product.co`,shorthand:null,mathClass:`Large`,latexName:`coprod`},prop:oc,psi:sc,qed:cc,"quad (1 em)":{sym:`quad`,unicName:``,name:`quad (1 em)`,shorthand:null,mathClass:`spacing`,latexName:``},quest:lc,"quest.double":{sym:`⁇`,unicName:`DOUBLE QUESTION MARK`,name:`quest.double`,shorthand:null,mathClass:``,latexName:`Question`},"quest.excl":{sym:`⁈`,unicName:`QUESTION EXCLAMATION MARK`,name:`quest.excl`,shorthand:null,mathClass:``,latexName:``},"quest.inv":{sym:`¿`,unicName:`INVERTED QUESTION MARK`,name:`quest.inv`,shorthand:null,mathClass:`Punctuation`,latexName:``},"quote.angle.l.double":{sym:`«`,unicName:`LEFT-POINTING DOUBLE ANGLE QUOTATION MARK`,name:`quote.angle.l.double`,shorthand:null,mathClass:``,latexName:``},"quote.angle.l.single":{sym:``,unicName:`SINGLE LEFT-POINTING ANGLE QUOTATION MARK`,name:`quote.angle.l.single`,shorthand:null,mathClass:``,latexName:``},"quote.angle.r.double":{sym:`»`,unicName:`RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK`,name:`quote.angle.r.double`,shorthand:null,mathClass:``,latexName:``},"quote.angle.r.single":{sym:``,unicName:`SINGLE RIGHT-POINTING ANGLE QUOTATION MARK`,name:`quote.angle.r.single`,shorthand:null,mathClass:``,latexName:``},"quote.chevron.l.double":{sym:`«`,unicName:`LEFT-POINTING DOUBLE ANGLE QUOTATION MARK`,name:`quote.chevron.l.double`,shorthand:null,mathClass:``,latexName:``},"quote.chevron.l.single":{sym:``,unicName:`SINGLE LEFT-POINTING ANGLE QUOTATION MARK`,name:`quote.chevron.l.single`,shorthand:null,mathClass:``,latexName:``},"quote.chevron.r.double":{sym:`»`,unicName:`RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK`,name:`quote.chevron.r.double`,shorthand:null,mathClass:``,latexName:``},"quote.chevron.r.single":{sym:``,unicName:`SINGLE RIGHT-POINTING ANGLE QUOTATION MARK`,name:`quote.chevron.r.single`,shorthand:null,mathClass:``,latexName:``},"quote.double":{sym:`"`,unicName:`QUOTATION MARK`,name:`quote.double`,shorthand:null,mathClass:``,latexName:``},"quote.high.double":{sym:``,unicName:`DOUBLE HIGH-REVERSED-9 QUOTATION MARK`,name:`quote.high.double`,shorthand:null,mathClass:``,latexName:``},"quote.high.single":{sym:``,unicName:`SINGLE HIGH-REVERSED-9 QUOTATION MARK`,name:`quote.high.single`,shorthand:null,mathClass:``,latexName:``},"quote.l.double":{sym:``,unicName:`LEFT DOUBLE QUOTATION MARK`,name:`quote.l.double`,shorthand:null,mathClass:``,latexName:``},"quote.l.single":{sym:``,unicName:`LEFT SINGLE QUOTATION MARK`,name:`quote.l.single`,shorthand:null,mathClass:``,latexName:``},"quote.low.double":{sym:``,unicName:`DOUBLE LOW-9 QUOTATION MARK`,name:`quote.low.double`,shorthand:null,mathClass:``,latexName:``},"quote.low.single":{sym:``,unicName:`SINGLE LOW-9 QUOTATION MARK`,name:`quote.low.single`,shorthand:null,mathClass:``,latexName:``},"quote.r.double":{sym:``,unicName:`RIGHT DOUBLE QUOTATION MARK`,name:`quote.r.double`,shorthand:null,mathClass:``,latexName:``},"quote.r.single":{sym:``,unicName:`RIGHT SINGLE QUOTATION MARK`,name:`quote.r.single`,shorthand:null,mathClass:``,latexName:``},"quote.single":{sym:`'`,unicName:`APOSTROPHE`,name:`quote.single`,shorthand:null,mathClass:``,latexName:``},ratio:uc,"rect.filled.h":{sym:`▬`,unicName:`BLACK RECTANGLE`,name:`rect.filled.h`,shorthand:null,mathClass:``,latexName:`hrectangleblack`},"rect.filled.v":{sym:`▮`,unicName:`BLACK VERTICAL RECTANGLE`,name:`rect.filled.v`,shorthand:null,mathClass:`Normal`,latexName:`vrectangleblack`},"rect.stroked.h":{sym:`▭`,unicName:`WHITE RECTANGLE`,name:`rect.stroked.h`,shorthand:null,mathClass:`Normal`,latexName:`hrectangle`},"rect.stroked.v":{sym:`▯`,unicName:`WHITE VERTICAL RECTANGLE`,name:`rect.stroked.v`,shorthand:null,mathClass:`Normal`,latexName:`vrectangle`},refmark:dc,"rest.eighth":{sym:`𝄾`,unicName:`MUSICAL SYMBOL EIGHTH REST`,name:`rest.eighth`,shorthand:null,mathClass:``,latexName:``},"rest.half":{sym:`𝄼`,unicName:`MUSICAL SYMBOL HALF REST`,name:`rest.half`,shorthand:null,mathClass:``,latexName:``},"rest.multiple":{sym:`𝄺`,unicName:`MUSICAL SYMBOL MULTI REST`,name:`rest.multiple`,shorthand:null,mathClass:``,latexName:``},"rest.multiple.measure":{sym:`𝄩`,unicName:`MUSICAL SYMBOL MULTIPLE MEASURE REST`,name:`rest.multiple.measure`,shorthand:null,mathClass:``,latexName:``},"rest.quarter":{sym:`𝄽`,unicName:`MUSICAL SYMBOL QUARTER REST`,name:`rest.quarter`,shorthand:null,mathClass:``,latexName:``},"rest.sixteenth":{sym:`𝄿`,unicName:`MUSICAL SYMBOL SIXTEENTH REST`,name:`rest.sixteenth`,shorthand:null,mathClass:``,latexName:``},"rest.whole":{sym:`𝄻`,unicName:`MUSICAL SYMBOL WHOLE REST`,name:`rest.whole`,shorthand:null,mathClass:``,latexName:``},rho:fc,"rho.alt":{sym:`ϱ`,unicName:`GREEK RHO SYMBOL`,name:`rho.alt`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupvarrho`},riel:pc,rlm:mc,ruble:hc,"rupee.generic":{sym:`₨`,unicName:`RUPEE SIGN`,name:`rupee.generic`,shorthand:null,mathClass:``,latexName:``},"rupee.indian":{sym:`₹`,unicName:`INDIAN RUPEE SIGN`,name:`rupee.indian`,shorthand:null,mathClass:``,latexName:``},"rupee.tamil":{sym:`௹`,unicName:`TAMIL RUPEE SIGN`,name:`rupee.tamil`,shorthand:null,mathClass:``,latexName:``},"rupee.wancho":{sym:`𞋿`,unicName:`WANCHO NGUN SIGN`,name:`rupee.wancho`,shorthand:null,mathClass:``,latexName:``},saturn:gc,sec:_c,sech:vc,sect:yc,"sect.and":{sym:`⩄`,unicName:`INTERSECTION WITH LOGICAL AND`,name:`sect.and`,shorthand:null,mathClass:`Binary`,latexName:`capwedge`},"sect.big":{sym:`⋂`,unicName:`N-ARY INTERSECTION`,name:`sect.big`,shorthand:null,mathClass:`Large`,latexName:`bigcap`},"sect.dot":{sym:`⩀`,unicName:`INTERSECTION WITH DOT`,name:`sect.dot`,shorthand:null,mathClass:`Binary`,latexName:`capdot`},"sect.double":{sym:`⋒`,unicName:`DOUBLE INTERSECTION`,name:`sect.double`,shorthand:null,mathClass:`Binary`,latexName:`Cap`},"sect.sq":{sym:`⊓`,unicName:`SQUARE CAP`,name:`sect.sq`,shorthand:null,mathClass:`Binary`,latexName:`sqcap`},"sect.sq.big":{sym:`⨅`,unicName:`N-ARY SQUARE INTERSECTION OPERATOR`,name:`sect.sq.big`,shorthand:null,mathClass:`Large`,latexName:`bigsqcap`},"sect.sq.double":{sym:`⩎`,unicName:`DOUBLE SQUARE INTERSECTION`,name:`sect.sq.double`,shorthand:null,mathClass:`Binary`,latexName:`Sqcap`},section:bc,semi:xc,"semi.inv":{sym:`⸵`,unicName:`TURNED SEMICOLON`,name:`semi.inv`,shorthand:null,mathClass:``,latexName:``},"semi.rev":{sym:`⁏`,unicName:`REVERSED SEMICOLON`,name:`semi.rev`,shorthand:null,mathClass:`Relation`,latexName:``},sha:Sc,sharp:Cc,"sharp.b":{sym:`𝄱`,unicName:`MUSICAL SYMBOL SHARP DOWN`,name:`sharp.b`,shorthand:null,mathClass:``,latexName:``},"sharp.double":{sym:`𝄪`,unicName:`MUSICAL SYMBOL DOUBLE SHARP`,name:`sharp.double`,shorthand:null,mathClass:``,latexName:``},"sharp.quarter":{sym:`𝄲`,unicName:`MUSICAL SYMBOL QUARTER TONE SHARP`,name:`sharp.quarter`,shorthand:null,mathClass:``,latexName:``},"sharp.t":{sym:`𝄰`,unicName:`MUSICAL SYMBOL SHARP UP`,name:`sharp.t`,shorthand:null,mathClass:``,latexName:``},shekel:wc,"shell.b":{sym:`⏡`,unicName:`BOTTOM TORTOISE SHELL BRACKET`,name:`shell.b`,shorthand:null,mathClass:`Normal`,latexName:`ubrbrak`},"shell.l":{sym:``,unicName:`LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT`,name:`shell.l`,shorthand:null,mathClass:`Opening`,latexName:`lbrbrak`},"shell.l.double":{sym:`⟬`,unicName:`MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET`,name:`shell.l.double`,shorthand:null,mathClass:`Opening`,latexName:`Lbrbrak`},"shell.l.filled":{sym:`⦗`,unicName:`LEFT BLACK TORTOISE SHELL BRACKET`,name:`shell.l.filled`,shorthand:null,mathClass:`Opening`,latexName:`lblkbrbrak`},"shell.l.stroked":{sym:`⟬`,unicName:`MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET`,name:`shell.l.stroked`,shorthand:null,mathClass:`Opening`,latexName:`Lbrbrak`},"shell.r":{sym:``,unicName:`LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT`,name:`shell.r`,shorthand:null,mathClass:`Closing`,latexName:`rbrbrak`},"shell.r.double":{sym:`⟭`,unicName:`MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET`,name:`shell.r.double`,shorthand:null,mathClass:`Closing`,latexName:`Rbrbrak`},"shell.r.filled":{sym:`⦘`,unicName:`RIGHT BLACK TORTOISE SHELL BRACKET`,name:`shell.r.filled`,shorthand:null,mathClass:`Closing`,latexName:`rblkbrbrak`},"shell.r.stroked":{sym:`⟭`,unicName:`MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET`,name:`shell.r.stroked`,shorthand:null,mathClass:`Closing`,latexName:`Rbrbrak`},"shell.t":{sym:`⏠`,unicName:`TOP TORTOISE SHELL BRACKET`,name:`shell.t`,shorthand:null,mathClass:`Normal`,latexName:`obrbrak`},shin:Tc,sigma:Ec,"sigma.alt":{sym:`ς`,unicName:`GREEK SMALL LETTER FINAL SIGMA`,name:`sigma.alt`,shorthand:null,mathClass:``,latexName:`mupvarsigma`},sin:Dc,sinc:Oc,sinh:kc,slash:Ac,"slash.big":{sym:``,unicName:`BIG SOLIDUS`,name:`slash.big`,shorthand:null,mathClass:`Large`,latexName:`xsol`},"slash.double":{sym:`⫽`,unicName:`DOUBLE SOLIDUS OPERATOR`,name:`slash.double`,shorthand:null,mathClass:`Binary`,latexName:`sslash`},"slash.o":{sym:`⊘`,unicName:`CIRCLED DIVISION SLASH`,name:`slash.o`,shorthand:null,mathClass:`Binary`,latexName:`oslash`},"slash.triple":{sym:`⫻`,unicName:`TRIPLE SOLIDUS BINARY RELATION`,name:`slash.triple`,shorthand:null,mathClass:`Binary`,latexName:`trslash`},smash:jc,smile:Mc,smt:Nc,"smt.eq":{sym:`⪬`,unicName:`SMALLER THAN OR EQUAL TO`,name:`smt.eq`,shorthand:null,mathClass:`Relation`,latexName:`smte`},som:Pc,space:Fc,"space.en":{sym:``,unicName:`EN SPACE`,name:`space.en`,shorthand:null,mathClass:`Space`,latexName:``},"space.fig":{sym:``,unicName:`FIGURE SPACE`,name:`space.fig`,shorthand:null,mathClass:`Space`,latexName:``},"space.hair":{sym:``,unicName:`HAIR SPACE`,name:`space.hair`,shorthand:null,mathClass:`Space`,latexName:``},"space.med":{sym:``,unicName:`MEDIUM MATHEMATICAL SPACE`,name:`space.med`,shorthand:null,mathClass:`Space`,latexName:``},"space.nobreak":{sym:`\xA0`,unicName:`NO-BREAK SPACE`,name:`space.nobreak`,shorthand:`~`,mathClass:`Space`,latexName:``},"space.nobreak.narrow":{sym:``,unicName:`NARROW NO-BREAK SPACE`,name:`space.nobreak.narrow`,shorthand:null,mathClass:``,latexName:``},"space.punct":{sym:``,unicName:`PUNCTUATION SPACE`,name:`space.punct`,shorthand:null,mathClass:``,latexName:``},"space.quad":{sym:``,unicName:`EM SPACE`,name:`space.quad`,shorthand:null,mathClass:`Space`,latexName:``},"space.quarter":{sym:``,unicName:`FOUR-PER-EM SPACE`,name:`space.quarter`,shorthand:null,mathClass:`Space`,latexName:``},"space.sixth":{sym:``,unicName:`SIX-PER-EM SPACE`,name:`space.sixth`,shorthand:null,mathClass:`Space`,latexName:``},"space.thin":{sym:``,unicName:`THIN SPACE`,name:`space.thin`,shorthand:null,mathClass:`Space`,latexName:``},"space.third":{sym:``,unicName:`THREE-PER-EM SPACE`,name:`space.third`,shorthand:null,mathClass:`Space`,latexName:``},"square.filled":{sym:`■`,unicName:`BLACK SQUARE`,name:`square.filled`,shorthand:null,mathClass:`Normal`,latexName:`mdlgblksquare`},"square.filled.big":{sym:`⬛`,unicName:`BLACK LARGE SQUARE`,name:`square.filled.big`,shorthand:null,mathClass:`Normal`,latexName:`lgblksquare`},"square.filled.medium":{sym:`◼`,unicName:`BLACK MEDIUM SQUARE`,name:`square.filled.medium`,shorthand:null,mathClass:`Binary`,latexName:`mdblksquare`},"square.filled.small":{sym:`◾`,unicName:`BLACK MEDIUM SMALL SQUARE`,name:`square.filled.small`,shorthand:null,mathClass:`Binary`,latexName:`mdsmblksquare`},"square.filled.tiny":{sym:`▪`,unicName:`BLACK SMALL SQUARE`,name:`square.filled.tiny`,shorthand:null,mathClass:`Normal`,latexName:`smblksquare`},"square.stroked":{sym:`□`,unicName:`WHITE SQUARE`,name:`square.stroked`,shorthand:null,mathClass:`Normal`,latexName:`mdlgwhtsquare`},"square.stroked.big":{sym:`⬜`,unicName:`WHITE LARGE SQUARE`,name:`square.stroked.big`,shorthand:null,mathClass:`Normal`,latexName:`lgwhtsquare`},"square.stroked.dotted":{sym:`⬚`,unicName:`DOTTED SQUARE`,name:`square.stroked.dotted`,shorthand:null,mathClass:``,latexName:`dottedsquare`},"square.stroked.medium":{sym:`◻`,unicName:`WHITE MEDIUM SQUARE`,name:`square.stroked.medium`,shorthand:null,mathClass:`Binary`,latexName:`mdwhtsquare`},"square.stroked.rounded":{sym:`▢`,unicName:`WHITE SQUARE WITH ROUNDED CORNERS`,name:`square.stroked.rounded`,shorthand:null,mathClass:``,latexName:`squoval`},"square.stroked.small":{sym:`◽`,unicName:`WHITE MEDIUM SMALL SQUARE`,name:`square.stroked.small`,shorthand:null,mathClass:`Binary`,latexName:`mdsmwhtsquare`},"square.stroked.tiny":{sym:`▫`,unicName:`WHITE SMALL SQUARE`,name:`square.stroked.tiny`,shorthand:null,mathClass:`Normal`,latexName:`smwhtsquare`},"star.filled":{sym:`★`,unicName:`BLACK STAR`,name:`star.filled`,shorthand:null,mathClass:`Binary`,latexName:`bigstar`},"star.op":{sym:`⋆`,unicName:`STAR OPERATOR`,name:`star.op`,shorthand:null,mathClass:`Binary`,latexName:`star`},"star.stroked":{sym:`☆`,unicName:`WHITE STAR`,name:`star.stroked`,shorthand:null,mathClass:`Binary`,latexName:`bigwhitestar`},subset:Ic,"subset.dot":{sym:`⪽`,unicName:`SUBSET WITH DOT`,name:`subset.dot`,shorthand:null,mathClass:`Relation`,latexName:`subsetdot`},"subset.double":{sym:`⋐`,unicName:`DOUBLE SUBSET`,name:`subset.double`,shorthand:null,mathClass:`Relation`,latexName:`Subset`},"subset.eq":{sym:`⊆`,unicName:`SUBSET OF OR EQUAL TO`,name:`subset.eq`,shorthand:null,mathClass:`Relation`,latexName:`subseteq`},"subset.eq.not":{sym:`⊈`,unicName:`NEITHER A SUBSET OF NOR EQUAL TO`,name:`subset.eq.not`,shorthand:null,mathClass:`Relation`,latexName:`nsubseteq`},"subset.eq.sq":{sym:`⊑`,unicName:`SQUARE IMAGE OF OR EQUAL TO`,name:`subset.eq.sq`,shorthand:null,mathClass:`Relation`,latexName:`sqsubseteq`},"subset.eq.sq.not":{sym:`⋢`,unicName:`NOT SQUARE IMAGE OF OR EQUAL TO`,name:`subset.eq.sq.not`,shorthand:null,mathClass:`Relation`,latexName:`nsqsubseteq`},"subset.neq":{sym:`⊊`,unicName:`SUBSET OF WITH NOT EQUAL TO`,name:`subset.neq`,shorthand:null,mathClass:`Relation`,latexName:`subsetneq`},"subset.not":{sym:`⊄`,unicName:`NOT A SUBSET OF`,name:`subset.not`,shorthand:null,mathClass:`Relation`,latexName:`nsubset`},"subset.sq":{sym:`⊏`,unicName:`SQUARE IMAGE OF`,name:`subset.sq`,shorthand:null,mathClass:`Relation`,latexName:`sqsubset`},"subset.sq.neq":{sym:`⋤`,unicName:`SQUARE IMAGE OF OR NOT EQUAL TO`,name:`subset.sq.neq`,shorthand:null,mathClass:`Relation`,latexName:`sqsubsetneq`},succ:Lc,"succ.approx":{sym:`⪸`,unicName:`SUCCEEDS ABOVE ALMOST EQUAL TO`,name:`succ.approx`,shorthand:null,mathClass:`Relation`,latexName:`succapprox`},"succ.curly.eq":{sym:`≽`,unicName:`SUCCEEDS OR EQUAL TO`,name:`succ.curly.eq`,shorthand:null,mathClass:`Relation`,latexName:`succcurlyeq`},"succ.curly.eq.not":{sym:`⋡`,unicName:`DOES NOT SUCCEED OR EQUAL`,name:`succ.curly.eq.not`,shorthand:null,mathClass:`Relation`,latexName:`nsucccurlyeq`},"succ.double":{sym:`⪼`,unicName:`DOUBLE SUCCEEDS`,name:`succ.double`,shorthand:null,mathClass:`Relation`,latexName:`Succ`},"succ.eq":{sym:`⪰`,unicName:`SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN`,name:`succ.eq`,shorthand:null,mathClass:`Relation`,latexName:`succeq`},"succ.equiv":{sym:`⪴`,unicName:`SUCCEEDS ABOVE EQUALS SIGN`,name:`succ.equiv`,shorthand:null,mathClass:`Relation`,latexName:`succeqq`},"succ.napprox":{sym:`⪺`,unicName:`SUCCEEDS ABOVE NOT ALMOST EQUAL TO`,name:`succ.napprox`,shorthand:null,mathClass:`Relation`,latexName:`succnapprox`},"succ.neq":{sym:`⪲`,unicName:`SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO`,name:`succ.neq`,shorthand:null,mathClass:`Relation`,latexName:`succneq`},"succ.nequiv":{sym:`⪶`,unicName:`SUCCEEDS ABOVE NOT EQUAL TO`,name:`succ.nequiv`,shorthand:null,mathClass:`Relation`,latexName:`succneqq`},"succ.not":{sym:`⊁`,unicName:`DOES NOT SUCCEED`,name:`succ.not`,shorthand:null,mathClass:`Relation`,latexName:`nsucc`},"succ.ntilde":{sym:`⋩`,unicName:`SUCCEEDS BUT NOT EQUIVALENT TO`,name:`succ.ntilde`,shorthand:null,mathClass:`Relation`,latexName:`succnsim`},"succ.tilde":{sym:`≿`,unicName:`SUCCEEDS OR EQUIVALENT TO`,name:`succ.tilde`,shorthand:null,mathClass:`Relation`,latexName:`succsim`},"suit.club.filled":{sym:`♣`,unicName:`BLACK CLUB SUIT`,name:`suit.club.filled`,shorthand:null,mathClass:`Normal`,latexName:`clubsuit`},"suit.club.stroked":{sym:`♧`,unicName:`WHITE CLUB SUIT`,name:`suit.club.stroked`,shorthand:null,mathClass:`Normal`,latexName:`varclubsuit`},"suit.diamond.filled":{sym:`♦`,unicName:`BLACK DIAMOND SUIT`,name:`suit.diamond.filled`,shorthand:null,mathClass:`Normal`,latexName:`vardiamondsuit`},"suit.diamond.stroked":{sym:`♢`,unicName:`WHITE DIAMOND SUIT`,name:`suit.diamond.stroked`,shorthand:null,mathClass:`Normal`,latexName:`diamondsuit`},"suit.heart.filled":{sym:`♥`,unicName:`BLACK HEART SUIT`,name:`suit.heart.filled`,shorthand:null,mathClass:`Normal`,latexName:`varheartsuit`},"suit.heart.stroked":{sym:`♡`,unicName:`WHITE HEART SUIT`,name:`suit.heart.stroked`,shorthand:null,mathClass:`Normal`,latexName:`heartsuit`},"suit.spade.filled":{sym:`♠`,unicName:`BLACK SPADE SUIT`,name:`suit.spade.filled`,shorthand:null,mathClass:`Normal`,latexName:`spadesuit`},"suit.spade.stroked":{sym:`♤`,unicName:`WHITE SPADE SUIT`,name:`suit.spade.stroked`,shorthand:null,mathClass:`Normal`,latexName:`varspadesuit`},sum:Rc,"sum.integral":{sym:`⨋`,unicName:`SUMMATION WITH INTEGRAL`,name:`sum.integral`,shorthand:null,mathClass:`Large`,latexName:`sumint`},sun:zc,sup:Bc,supset:Vc,"supset.dot":{sym:`⪾`,unicName:`SUPERSET WITH DOT`,name:`supset.dot`,shorthand:null,mathClass:`Relation`,latexName:`supsetdot`},"supset.double":{sym:`⋑`,unicName:`DOUBLE SUPERSET`,name:`supset.double`,shorthand:null,mathClass:`Relation`,latexName:`Supset`},"supset.eq":{sym:`⊇`,unicName:`SUPERSET OF OR EQUAL TO`,name:`supset.eq`,shorthand:null,mathClass:`Relation`,latexName:`supseteq`},"supset.eq.not":{sym:`⊉`,unicName:`NEITHER A SUPERSET OF NOR EQUAL TO`,name:`supset.eq.not`,shorthand:null,mathClass:`Relation`,latexName:`nsupseteq`},"supset.eq.sq":{sym:`⊒`,unicName:`SQUARE ORIGINAL OF OR EQUAL TO`,name:`supset.eq.sq`,shorthand:null,mathClass:`Relation`,latexName:`sqsupseteq`},"supset.eq.sq.not":{sym:`⋣`,unicName:`NOT SQUARE ORIGINAL OF OR EQUAL TO`,name:`supset.eq.sq.not`,shorthand:null,mathClass:`Relation`,latexName:`nsqsupseteq`},"supset.neq":{sym:`⊋`,unicName:`SUPERSET OF WITH NOT EQUAL TO`,name:`supset.neq`,shorthand:null,mathClass:`Relation`,latexName:`supsetneq`},"supset.not":{sym:`⊅`,unicName:`NOT A SUPERSET OF`,name:`supset.not`,shorthand:null,mathClass:`Relation`,latexName:`nsupset`},"supset.sq":{sym:`⊐`,unicName:`SQUARE ORIGINAL OF`,name:`supset.sq`,shorthand:null,mathClass:`Relation`,latexName:`sqsupset`},"supset.sq.neq":{sym:`⋥`,unicName:`SQUARE ORIGINAL OF OR NOT EQUAL TO`,name:`supset.sq.neq`,shorthand:null,mathClass:`Relation`,latexName:`sqsupsetneq`},"tack.b":{sym:``,unicName:`DOWN TACK`,name:`tack.b`,shorthand:null,mathClass:`Normal`,latexName:`top`},"tack.b.big":{sym:``,unicName:`LARGE DOWN TACK`,name:`tack.b.big`,shorthand:null,mathClass:`Large`,latexName:`bigtop`},"tack.b.double":{sym:`⫪`,unicName:`DOUBLE DOWN TACK`,name:`tack.b.double`,shorthand:null,mathClass:`Relation`,latexName:`barV`},"tack.b.short":{sym:`⫟`,unicName:`SHORT DOWN TACK`,name:`tack.b.short`,shorthand:null,mathClass:`Relation`,latexName:`shortdowntack`},"tack.l":{sym:`⊣`,unicName:`LEFT TACK`,name:`tack.l`,shorthand:null,mathClass:`Relation`,latexName:`dashv`},"tack.l.double":{sym:`⫤`,unicName:`VERTICAL BAR DOUBLE LEFT TURNSTILE`,name:`tack.l.double`,shorthand:null,mathClass:`Relation`,latexName:`Dashv`},"tack.l.long":{sym:`⟞`,unicName:`LONG LEFT TACK`,name:`tack.l.long`,shorthand:null,mathClass:`Relation`,latexName:`longdashv`},"tack.l.r":{sym:`⟛`,unicName:`LEFT AND RIGHT TACK`,name:`tack.l.r`,shorthand:null,mathClass:`Relation`,latexName:`dashVdash`},"tack.l.short":{sym:`⫞`,unicName:`SHORT LEFT TACK`,name:`tack.l.short`,shorthand:null,mathClass:`Relation`,latexName:`shortlefttack`},"tack.r":{sym:`⊢`,unicName:`RIGHT TACK`,name:`tack.r`,shorthand:null,mathClass:`Relation`,latexName:`vdash`},"tack.r.double":{sym:`⊨`,unicName:`TRUE`,name:`tack.r.double`,shorthand:null,mathClass:`Relation`,latexName:`vDash`},"tack.r.double.not":{sym:`⊭`,unicName:`NOT TRUE`,name:`tack.r.double.not`,shorthand:null,mathClass:`Relation`,latexName:`nvDash`},"tack.r.long":{sym:`⟝`,unicName:`LONG RIGHT TACK`,name:`tack.r.long`,shorthand:null,mathClass:`Relation`,latexName:`vlongdash`},"tack.r.not":{sym:`⊬`,unicName:`DOES NOT PROVE`,name:`tack.r.not`,shorthand:null,mathClass:`Relation`,latexName:`nvdash`},"tack.r.short":{sym:`⊦`,unicName:`ASSERTION`,name:`tack.r.short`,shorthand:null,mathClass:`Relation`,latexName:`assert`},"tack.t":{sym:`⊥`,unicName:`UP TACK`,name:`tack.t`,shorthand:null,mathClass:`Normal`,latexName:`bot`},"tack.t.big":{sym:`⟘`,unicName:`LARGE UP TACK`,name:`tack.t.big`,shorthand:null,mathClass:`Large`,latexName:`bigbot`},"tack.t.double":{sym:`⫫`,unicName:`DOUBLE UP TACK`,name:`tack.t.double`,shorthand:null,mathClass:`Relation`,latexName:`Vbar`},"tack.t.short":{sym:`⫠`,unicName:`SHORT UP TACK`,name:`tack.t.short`,shorthand:null,mathClass:`Relation`,latexName:`shortuptack`},taka:Hc,taman:Uc,tan:Wc,tanh:Gc,tau:Kc,tenge:qc,tg:Jc,therefore:Yc,theta:Xc,"theta.alt":{sym:`ϑ`,unicName:`GREEK THETA SYMBOL`,name:`theta.alt`,shorthand:null,mathClass:`Alphabetic`,latexName:`mupvartheta`},"thick (5/18 em)":{sym:`thick`,unicName:``,name:`thick (5/18 em)`,shorthand:null,mathClass:`spacing`,latexName:``},"thin (1/6 em)":{sym:`thin`,unicName:``,name:`thin (1/6 em)`,shorthand:null,mathClass:`spacing`,latexName:``},"tilde.basic":{sym:`~`,unicName:`TILDE`,name:`tilde.basic`,shorthand:null,mathClass:`Normal`,latexName:``},"tilde.dot":{sym:`⩪`,unicName:`TILDE OPERATOR WITH DOT ABOVE`,name:`tilde.dot`,shorthand:null,mathClass:`Relation`,latexName:`dotsim`},"tilde.eq":{sym:`≃`,unicName:`ASYMPTOTICALLY EQUAL TO`,name:`tilde.eq`,shorthand:null,mathClass:`Relation`,latexName:`simeq`},"tilde.eq.not":{sym:`≄`,unicName:`NOT ASYMPTOTICALLY EQUAL TO`,name:`tilde.eq.not`,shorthand:null,mathClass:`Relation`,latexName:`nsime`},"tilde.eq.rev":{sym:`⋍`,unicName:`REVERSED TILDE EQUALS`,name:`tilde.eq.rev`,shorthand:null,mathClass:`Relation`,latexName:`backsimeq`},"tilde.equiv":{sym:`≅`,unicName:`APPROXIMATELY EQUAL TO`,name:`tilde.equiv`,shorthand:null,mathClass:`Relation`,latexName:`cong`},"tilde.equiv.not":{sym:`≇`,unicName:`NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO`,name:`tilde.equiv.not`,shorthand:null,mathClass:`Relation`,latexName:`ncong`},"tilde.nequiv":{sym:`≆`,unicName:`APPROXIMATELY BUT NOT ACTUALLY EQUAL TO`,name:`tilde.nequiv`,shorthand:null,mathClass:`Relation`,latexName:`simneqq`},"tilde.not":{sym:`≁`,unicName:`NOT TILDE`,name:`tilde.not`,shorthand:null,mathClass:`Relation`,latexName:`nsim`},"tilde.op":{sym:``,unicName:`TILDE OPERATOR`,name:`tilde.op`,shorthand:`~`,mathClass:`Relation`,latexName:`sim`},"tilde.rev":{sym:`∽`,unicName:`REVERSED TILDE`,name:`tilde.rev`,shorthand:null,mathClass:`Relation`,latexName:`backsim`},"tilde.rev.equiv":{sym:`≌`,unicName:`ALL EQUAL TO`,name:`tilde.rev.equiv`,shorthand:null,mathClass:`Relation`,latexName:`backcong`},"tilde.triple":{sym:`≋`,unicName:`TRIPLE TILDE`,name:`tilde.triple`,shorthand:null,mathClass:`Relation`,latexName:`approxident`},times:Zc,"times.big":{sym:`⨉`,unicName:`N-ARY TIMES OPERATOR`,name:`times.big`,shorthand:null,mathClass:`Large`,latexName:`bigtimes`},"times.circle":{sym:`⊗`,unicName:`CIRCLED TIMES`,name:`times.circle`,shorthand:null,mathClass:`Binary`,latexName:`otimes`},"times.circle.big":{sym:`⨂`,unicName:`N-ARY CIRCLED TIMES OPERATOR`,name:`times.circle.big`,shorthand:null,mathClass:`Large`,latexName:`bigotimes`},"times.div":{sym:`⋇`,unicName:`DIVISION TIMES`,name:`times.div`,shorthand:null,mathClass:`Binary`,latexName:`divideontimes`},"times.l":{sym:`⋉`,unicName:`LEFT NORMAL FACTOR SEMIDIRECT PRODUCT`,name:`times.l`,shorthand:null,mathClass:`Binary`,latexName:`ltimes`},"times.o":{sym:`⊗`,unicName:`CIRCLED TIMES`,name:`times.o`,shorthand:null,mathClass:`Binary`,latexName:`otimes`},"times.o.big":{sym:`⨂`,unicName:`N-ARY CIRCLED TIMES OPERATOR`,name:`times.o.big`,shorthand:null,mathClass:`Large`,latexName:`bigotimes`},"times.o.hat":{sym:`⨶`,unicName:`CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT`,name:`times.o.hat`,shorthand:null,mathClass:`Binary`,latexName:`otimeshat`},"times.o.l":{sym:`⨴`,unicName:`MULTIPLICATION SIGN IN LEFT HALF CIRCLE`,name:`times.o.l`,shorthand:null,mathClass:`Binary`,latexName:`otimeslhrim`},"times.o.r":{sym:`⨵`,unicName:`MULTIPLICATION SIGN IN RIGHT HALF CIRCLE`,name:`times.o.r`,shorthand:null,mathClass:`Binary`,latexName:`otimesrhrim`},"times.r":{sym:`⋊`,unicName:`RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT`,name:`times.r`,shorthand:null,mathClass:`Binary`,latexName:`rtimes`},"times.square":{sym:`⊠`,unicName:`SQUARED TIMES`,name:`times.square`,shorthand:null,mathClass:`Binary`,latexName:`boxtimes`},"times.three.l":{sym:`⋋`,unicName:`LEFT SEMIDIRECT PRODUCT`,name:`times.three.l`,shorthand:null,mathClass:`Binary`,latexName:`leftthreetimes`},"times.three.r":{sym:`⋌`,unicName:`RIGHT SEMIDIRECT PRODUCT`,name:`times.three.r`,shorthand:null,mathClass:`Binary`,latexName:`rightthreetimes`},"times.triangle":{sym:`⨻`,unicName:`MULTIPLICATION SIGN IN TRIANGLE`,name:`times.triangle`,shorthand:null,mathClass:`Binary`,latexName:`triangletimes`},tiny:Qc,togrog:$c,top:el,tr:tl,trademark:nl,"trademark.registered":{sym:`®`,unicName:`REGISTERED SIGN`,name:`trademark.registered`,shorthand:null,mathClass:``,latexName:``},"trademark.service":{sym:`℠`,unicName:`SERVICE MARK`,name:`trademark.service`,shorthand:null,mathClass:``,latexName:``},"triangle.filled.b":{sym:`▼`,unicName:`BLACK DOWN-POINTING TRIANGLE`,name:`triangle.filled.b`,shorthand:null,mathClass:`Binary`,latexName:`bigblacktriangledown`},"triangle.filled.bl":{sym:`◣`,unicName:`BLACK LOWER LEFT TRIANGLE`,name:`triangle.filled.bl`,shorthand:null,mathClass:`Normal`,latexName:`llblacktriangle`},"triangle.filled.br":{sym:`◢`,unicName:`BLACK LOWER RIGHT TRIANGLE`,name:`triangle.filled.br`,shorthand:null,mathClass:`Normal`,latexName:`lrblacktriangle`},"triangle.filled.l":{sym:`◀`,unicName:`BLACK LEFT-POINTING TRIANGLE`,name:`triangle.filled.l`,shorthand:null,mathClass:`Binary`,latexName:`blacktriangleleft`},"triangle.filled.r":{sym:`▶`,unicName:`BLACK RIGHT-POINTING TRIANGLE`,name:`triangle.filled.r`,shorthand:null,mathClass:`Binary`,latexName:`blacktriangleright`},"triangle.filled.small.b":{sym:`▾`,unicName:`BLACK DOWN-POINTING SMALL TRIANGLE`,name:`triangle.filled.small.b`,shorthand:null,mathClass:`Binary`,latexName:`blacktriangledown`},"triangle.filled.small.l":{sym:`◂`,unicName:`BLACK LEFT-POINTING SMALL TRIANGLE`,name:`triangle.filled.small.l`,shorthand:null,mathClass:`Binary`,latexName:`smallblacktriangleleft`},"triangle.filled.small.r":{sym:`▸`,unicName:`BLACK RIGHT-POINTING SMALL TRIANGLE`,name:`triangle.filled.small.r`,shorthand:null,mathClass:`Binary`,latexName:`smallblacktriangleright`},"triangle.filled.small.t":{sym:`▴`,unicName:`BLACK UP-POINTING SMALL TRIANGLE`,name:`triangle.filled.small.t`,shorthand:null,mathClass:`Binary`,latexName:`blacktriangle`},"triangle.filled.t":{sym:`▲`,unicName:`BLACK UP-POINTING TRIANGLE`,name:`triangle.filled.t`,shorthand:null,mathClass:`Binary`,latexName:`bigblacktriangleup`},"triangle.filled.tl":{sym:`◤`,unicName:`BLACK UPPER LEFT TRIANGLE`,name:`triangle.filled.tl`,shorthand:null,mathClass:`Normal`,latexName:`ulblacktriangle`},"triangle.filled.tr":{sym:`◥`,unicName:`BLACK UPPER RIGHT TRIANGLE`,name:`triangle.filled.tr`,shorthand:null,mathClass:`Normal`,latexName:`urblacktriangle`},"triangle.stroked.b":{sym:`▽`,unicName:`WHITE DOWN-POINTING TRIANGLE`,name:`triangle.stroked.b`,shorthand:null,mathClass:`Binary`,latexName:`bigtriangledown`},"triangle.stroked.bl":{sym:`◺`,unicName:`LOWER LEFT TRIANGLE`,name:`triangle.stroked.bl`,shorthand:null,mathClass:`Binary`,latexName:`lltriangle`},"triangle.stroked.br":{sym:`◿`,unicName:`LOWER RIGHT TRIANGLE`,name:`triangle.stroked.br`,shorthand:null,mathClass:`Binary`,latexName:`lrtriangle`},"triangle.stroked.dot":{sym:`◬`,unicName:`WHITE UP-POINTING TRIANGLE WITH DOT`,name:`triangle.stroked.dot`,shorthand:null,mathClass:`Binary`,latexName:`trianglecdot`},"triangle.stroked.l":{sym:`◁`,unicName:`WHITE LEFT-POINTING TRIANGLE`,name:`triangle.stroked.l`,shorthand:null,mathClass:`Binary`,latexName:`triangleleft`},"triangle.stroked.nested":{sym:`⟁`,unicName:`WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE`,name:`triangle.stroked.nested`,shorthand:null,mathClass:`Normal`,latexName:`whiteinwhitetriangle`},"triangle.stroked.r":{sym:`▷`,unicName:`WHITE RIGHT-POINTING TRIANGLE`,name:`triangle.stroked.r`,shorthand:null,mathClass:`Binary`,latexName:`triangleright`},"triangle.stroked.rounded":{sym:`🛆`,unicName:`TRIANGLE WITH ROUNDED CORNERS`,name:`triangle.stroked.rounded`,shorthand:null,mathClass:``,latexName:``},"triangle.stroked.small.b":{sym:`▿`,unicName:`WHITE DOWN-POINTING SMALL TRIANGLE`,name:`triangle.stroked.small.b`,shorthand:null,mathClass:`Binary`,latexName:`triangledown`},"triangle.stroked.small.l":{sym:`◃`,unicName:`WHITE LEFT-POINTING SMALL TRIANGLE`,name:`triangle.stroked.small.l`,shorthand:null,mathClass:`Binary`,latexName:`smalltriangleleft`},"triangle.stroked.small.r":{sym:`▹`,unicName:`WHITE RIGHT-POINTING SMALL TRIANGLE`,name:`triangle.stroked.small.r`,shorthand:null,mathClass:`Binary`,latexName:`smalltriangleright`},"triangle.stroked.small.t":{sym:`▵`,unicName:`WHITE UP-POINTING SMALL TRIANGLE`,name:`triangle.stroked.small.t`,shorthand:null,mathClass:`Binary`,latexName:`vartriangle`},"triangle.stroked.t":{sym:`△`,unicName:`WHITE UP-POINTING TRIANGLE`,name:`triangle.stroked.t`,shorthand:null,mathClass:`Binary`,latexName:`bigtriangleup`},"triangle.stroked.tl":{sym:`◸`,unicName:`UPPER LEFT TRIANGLE`,name:`triangle.stroked.tl`,shorthand:null,mathClass:`Binary`,latexName:`ultriangle`},"triangle.stroked.tr":{sym:`◹`,unicName:`UPPER RIGHT TRIANGLE`,name:`triangle.stroked.tr`,shorthand:null,mathClass:`Binary`,latexName:`urtriangle`},union:rl,"union.arrow":{sym:`⊌`,unicName:`MULTISET`,name:`union.arrow`,shorthand:null,mathClass:`Binary`,latexName:`cupleftarrow`},"union.big":{sym:``,unicName:`N-ARY UNION`,name:`union.big`,shorthand:null,mathClass:`Large`,latexName:`bigcup`},"union.dot":{sym:`⊍`,unicName:`MULTISET MULTIPLICATION`,name:`union.dot`,shorthand:null,mathClass:`Binary`,latexName:`cupdot`},"union.dot.big":{sym:`⨃`,unicName:`N-ARY UNION OPERATOR WITH DOT`,name:`union.dot.big`,shorthand:null,mathClass:`Large`,latexName:`bigcupdot`},"union.double":{sym:`⋓`,unicName:`DOUBLE UNION`,name:`union.double`,shorthand:null,mathClass:`Binary`,latexName:`Cup`},"union.minus":{sym:`⩁`,unicName:`UNION WITH MINUS SIGN`,name:`union.minus`,shorthand:null,mathClass:`Binary`,latexName:`uminus`},"union.or":{sym:`⩅`,unicName:`UNION WITH LOGICAL OR`,name:`union.or`,shorthand:null,mathClass:`Binary`,latexName:`cupvee`},"union.plus":{sym:`⊎`,unicName:`MULTISET UNION`,name:`union.plus`,shorthand:null,mathClass:`Binary`,latexName:`uplus`},"union.plus.big":{sym:`⨄`,unicName:`N-ARY UNION OPERATOR WITH PLUS`,name:`union.plus.big`,shorthand:null,mathClass:`Large`,latexName:`biguplus`},"union.sq":{sym:`⊔`,unicName:`SQUARE CUP`,name:`union.sq`,shorthand:null,mathClass:`Binary`,latexName:`sqcup`},"union.sq.big":{sym:`⨆`,unicName:`N-ARY SQUARE UNION OPERATOR`,name:`union.sq.big`,shorthand:null,mathClass:`Large`,latexName:`bigsqcup`},"union.sq.double":{sym:`⩏`,unicName:`DOUBLE SQUARE UNION`,name:`union.sq.double`,shorthand:null,mathClass:`Binary`,latexName:`Sqcup`},upsilon:il,uranus:al,"uranus.alt":{sym:`♅`,unicName:`URANUS`,name:`uranus.alt`,shorthand:null,mathClass:``,latexName:``},venus:ol,"wide (2 em)":{sym:`wide`,unicName:``,name:`wide (2 em)`,shorthand:null,mathClass:`spacing`,latexName:``},without:sl,wj:cl,won:ll,wreath:ul,xi:dl,xor:fl,"xor.big":{sym:`⨁`,unicName:`N-ARY CIRCLED PLUS OPERATOR`,name:`xor.big`,shorthand:null,mathClass:`Large`,latexName:`bigoplus`},yen:pl,yuan:ml,zeta:hl,zwj:gl,zwnj:_l,zws:vl,"|->":{sym:`↦`,unicName:`RIGHTWARDS ARROW FROM BAR`,name:`mapsto`,shorthand:`|->`,mathClass:`Relation`,latexName:`mapsto`},"|=>":{sym:`⤇`,unicName:`RIGHTWARDS DOUBLE ARROW FROM BAR`,name:`arrow.r.double.bar`,shorthand:`|=>`,mathClass:`Relation`,latexName:`Mapsto`},"|]":{sym:`⟧`,unicName:`MATHEMATICAL RIGHT WHITE SQUARE BRACKET`,name:`bracket.r.double`,shorthand:`|]`,mathClass:`Closing`,latexName:`rBrack`},"||":{sym:`‖`,unicName:`DOUBLE VERTICAL LINE`,name:`bar.v.double`,shorthand:`||`,mathClass:`Fence`,latexName:`Vert`},"~":{sym:``,unicName:`TILDE OPERATOR`,name:`tilde.op`,shorthand:`~`,mathClass:`Relation`,latexName:`sim`},"~>":{sym:`⇝`,unicName:`RIGHTWARDS SQUIGGLE ARROW`,name:`arrow.r.squiggly`,shorthand:`~>`,mathClass:`Relation`,latexName:`rightsquigarrow`},"~~>":{sym:`⟿`,unicName:`LONG RIGHTWARDS SQUIGGLE ARROW`,name:`arrow.r.long.squiggly`,shorthand:`~~>`,mathClass:`Relation`,latexName:`longrightsquigarrow`}};const bl=new Map;for(let[e,t]of Object.entries(yl))t.sym&&bl.set(e,t.sym);var xl=new Map,Sl=class extends d.WidgetType{constructor(e){super(),this.text=e}eq(e){return this.text===e.text}toDOM(){let e=document.createElement(`span`);return e.className=`typ-pol`,e.textContent=this.text,e}};function Cl(e){let t=xl.get(e);return t||(t=new Sl(e),xl.set(e,t)),t}var wl=u.StateEffect.define(),Tl=class{decorations=d.Decoration.none;forceRevealPos=-1;hoveredSymbolPos=-1;revealTimer;constructor(e){this.view=e,this.updateDecorations(e,!1,!1)}update(e){e.docChanged&&(this.forceRevealPos!==-1&&(this.forceRevealPos=e.changes.mapPos(this.forceRevealPos)),this.hoveredSymbolPos!==-1&&(this.hoveredSymbolPos=e.changes.mapPos(this.hoveredSymbolPos)));let t=e.transactions.some(e=>e.effects.some(e=>e.is(wl)));(e.docChanged||e.selectionSet||e.viewportChanged||t)&&this.updateDecorations(e.view,e.docChanged,e.selectionSet)}destroy(){this.clearTimer()}clearTimer(){this.revealTimer!==void 0&&(window.clearTimeout(this.revealTimer),this.revealTimer=void 0)}updateDecorations(e,t,n){let r=z(e),i=e.state.facet(O),a=i.plugin.settings.concealMathSymbols;if(!r||!r.tree||!a){this.decorations=d.Decoration.none,this.clearTimer(),this.hoveredSymbolPos=-1,this.forceRevealPos=-1;return}if(r.processor&&r.processor.renderingEngine===L.MathJax){this.decorations=d.Decoration.none,this.clearTimer(),this.hoveredSymbolPos=-1,this.forceRevealPos=-1;return}let o=e.state.selection.main.head,s=r.kind===`codeblock`?r.from:r.from+r.skip,c=[],l=-1,u=!1,f=e=>{let t=e.kind();if(t===k.MathIdent||t===k.FieldAccess||t===k.MathText){let t=e.node.intoText(),n=t.trim(),r=bl.get(n);if(r){let i=t.length-t.trimStart().length,a=s+e.offset+i,f=a+n.length,p=a<=o&&o<=f,m=!0;if(p){let e=!1;this.decorations!==d.Decoration.none&&this.decorations.between(a,f,(t,n)=>{t===a&&n===f&&(e=!0)}),this.forceRevealPos===a?m=!1:e?(m=!0,l=a):(m=!1,l=a,u=!0)}if(m){let e=d.Decoration.replace({widget:Cl(r)});c.push(e.range(a,f))}return}}for(let t of e.children())f(t)};f(Ue.new(r.tree)),this.decorations=d.Decoration.set(c,!0);let p=Number(i.plugin.settings.mathSymbolRevealDelay)||1e3;l===-1?(this.clearTimer(),this.hoveredSymbolPos=-1,this.forceRevealPos=-1):u?(this.forceRevealPos=l,this.clearTimer()):(this.hoveredSymbolPos!==l||n||t)&&(this.clearTimer(),this.hoveredSymbolPos=l,this.revealTimer=window.setTimeout(()=>{this.forceRevealPos=l,e.dispatch({effects:wl.of()})},p))}};const El=d.ViewPlugin.fromClass(Tl,{decorations:e=>e.decorations}),Dl=[El,d.EditorView.atomicRanges.of(e=>e.plugin(El)?.decorations??u.RangeSet.empty)];var Ol=new Map;function kl(e){let t=Ol.get(e);return t||(t=d.Decoration.mark({class:e}),Ol.set(e,t)),t}var Al=new Set([k.Parenthesized,k.Array,k.Dict,k.CodeBlock,k.ContentBlock,k.MathDelimited,k.Equation,k.Args,k.Params,k.Destructuring]),jl=new Set([k.LeftParen,k.LeftBracket,k.LeftBrace]),Ml=new Set([k.RightParen,k.RightBracket,k.RightBrace]),Nl=new Set([k.Dollar]);const Pl=()=>d.ViewPlugin.fromClass(class{decorations=d.Decoration.none;lastCursor=-1;constructor(e){this.decorations=this.buildDecorations(e)}update(e){let t=e.state.selection.main.head;(e.docChanged||e.selectionSet||e.viewportChanged||t!==this.lastCursor)&&(this.decorations=this.buildDecorations(e.view),this.lastCursor=t)}buildDecorations(e){if(e.state.facet(O).plugin.settings.disableBracketHighlight)return d.Decoration.none;let t=z(e);if(!t||!t.tree)return d.Decoration.none;let n=e.state.selection.main.head,r=t.kind===`codeblock`?t.from:t.from+t.skip,i=n-r,a=Ue.new(t.tree),o=a.leafAt(i,Ge.After),s=a.leafAt(i,Ge.Before),c=null,l=e=>{if(!e)return null;let t=e;if(e.kind()===k.BlockComment){let t=e.node.intoText();if(t.startsWith(`/*`)&&t.endsWith(`*/`)&&t.length>=4)return{open:e.offset,openLen:2,close:e.offset+e.len()-2,closeLen:2}}for(;t;){if(Al.has(t.kind())){let e=t.children(),n,r;for(let t of e){let e=t.kind();jl.has(e)&&!n&&(n=t),Ml.has(e)&&(r=t),Nl.has(e)&&(n?r=t:n=t)}if(n&&r)return{open:n.offset,openLen:n.len(),close:r.offset,closeLen:r.len()}}t=t.parent}return null};if(c=o&&(jl.has(o.kind())||Ml.has(o.kind())||Nl.has(o.kind())||o.kind()===k.BlockComment)?l(o):s&&(jl.has(s.kind())||Ml.has(s.kind())||Nl.has(s.kind())||s.kind()===k.BlockComment)?l(s):l(o||s),!c)return d.Decoration.none;let u=c.openLen||1,f=c.closeLen||1,p=kl(`typstmate-bracket-pair typstmate-bracket-pair-open`),m=kl(`typstmate-bracket-pair typstmate-bracket-pair-close`),h=r+c.open,g=h+u,_=r+c.close,v=_+f;return d.Decoration.set([p.range(h,g),m.range(_,v)],!0)}},{decorations:e=>e.decorations}),Fl=d.EditorView.theme({[`.${A.Comment}`]:{color:`var(--typstmate-c-comment) !important`},[`.${A.Escape}`]:{color:`var(--typstmate-c-escape) !important`},[`.${A.Strong}`]:{fontWeight:`700 !important`},[`.${A.Emph}`]:{fontStyle:`italic !important`},[`.${A.Link}`]:{textDecoration:`underline !important`},[`.${A.Raw}`]:{color:`var(--typstmate-c-monospace) !important`},[`.${A.Label}`]:{color:`var(--typstmate-c-escape) !important`},[`.${A.Ref}`]:{color:`var(--typstmate-c-escape) !important`},[`.${A.Heading}`]:{fontWeight:`700 !important`,textDecoration:`underline !important`},[`.${A.ListMarker}`]:{color:`var(--typstmate-c-list-marker) !important`},[`.${A.ListTerm}`]:{fontWeight:`700 !important`},[`.${A.MathDelimiter}`]:{color:`var(--typstmate-c-math-delim) !important`},[`.${A.MathOperator}`]:{color:`var(--typstmate-c-math-op) !important`},[`.${A.Keyword}`]:{color:`var(--typstmate-c-keyword) !important`},[`.${A.Number}`]:{color:`var(--typstmate-c-number) !important`},[`.${A.String}`]:{color:`var(--typstmate-c-string) !important`},[`.${A.Function}`]:{color:`var(--typstmate-c-func) !important`},[`.${A.Interpolated}`]:{color:`var(--typstmate-c-interpolated) !important`},[`.${A.Text}`]:{color:`var(--text-normal)`},".typstmate-bracket-pair":{backgroundColor:`var(--text-highlight-bg) !important`}}),Il=d.EditorView.theme({[`.${A.Comment}`]:{color:`var(--code-comment) !important`},[`.${A.Escape}`]:{color:`var(--code-important) !important`},[`.${A.Strong}`]:{fontWeight:`700 !important`},[`.${A.Emph}`]:{fontStyle:`italic !important`},[`.${A.Link}`]:{textDecoration:`underline !important`,color:`var(--link-color)`},[`.${A.Raw}`]:{color:`var(--code-comment) !important`},[`.${A.Label}`]:{color:`var(--code-tag) !important`},[`.${A.Ref}`]:{color:`var(--code-tag) !important`},[`.${A.Heading}`]:{fontWeight:`700 !important`,textDecoration:`underline !important`},[`.${A.ListMarker}`]:{color:`var(--code-punctuation) !important`},[`.${A.ListTerm}`]:{fontWeight:`700 !important`},[`.${A.MathDelimiter}`]:{color:`var(--code-punctuation) !important`},[`.${A.MathOperator}`]:{color:`var(--code-operator) !important`},[`.${A.Keyword}`]:{color:`var(--code-keyword) !important`},[`.${A.Number}`]:{color:`var(--code-value) !important`},[`.${A.String}`]:{color:`var(--code-string) !important`},[`.${A.Function}`]:{color:`var(--code-function) !important`},[`.${A.Interpolated}`]:{color:`var(--code-tag) !important`},[`.${A.Text}`]:{color:`var(--text-normal)`},".typstmate-bracket-pair":{backgroundColor:`var(--text-highlight-bg) !important`}}),Ll=/(?:^| |\$|\(|\)|\[|\]|\{|\}|<|>|\+|-|\/|\*|=|!|\?|#|%|&|'|:|;|,|\d)(?<query>[^\W_]+)(?<arg>\(.*\))?@$/;var Rl=u.StateField.define({create(){return d.Decoration.none},update(e,t){if(e=e.map(t.changes),t.docChanged||t.selection){let n=t.state.selection.main.head,r=t.state.doc.lineAt(n);if(t.state.sliceDoc(r.from,n).match(Ll)?.groups?.query){let t=n-1,r=d.Decoration.mark({class:`typstmate-atmode`}).range(t,n);e=d.Decoration.set([r])}else e=d.Decoration.none}return e},provide:e=>d.EditorView.decorations.from(e)}),zl=class{container;items;candidates=[];selectedIndex=-1;query;argument;queryFrom;queryTo;isActive=!1;mouseMoveListener=e=>this.onMouseMove(e);mouseDownListener=e=>this.onMouseDown(e);constructor(e){this.view=e,this.container=document.createElement(`div`),this.container.classList.add(`typstmate-snippets`,`typstmate-temporary`),this.container.style.display=`none`,this.items=document.createElement(`div`),this.items.className=`items`,this.container.appendChild(this.items),document.body.appendChild(this.container)}update(e){if(!e.view.hasFocus||!e.state.selection.main.empty){this.hide();return}if(!e.docChanged&&!e.selectionSet)return;if(!z(e.view)){this.hide();return}let t=e.state.facet(O),n=e.state.selection.main.head,r=e.state.doc.lineAt(n),i=e.state.sliceDoc(r.from,n).match(Ll);if(!i||!i.groups?.query){this.hide();return}let a=i.groups.query,o=i.groups.arg;this.suggest(a,n,o,e.view,t)}suggest(e,t,n,r,i){if(this.candidates=i.plugin.settings.snippets?.filter(t=>t.name.includes(e))??[],!this.candidates.length){this.hide();return}this.query=e,this.argument=n,this.queryFrom=t-(e.length+(n?.length??0)+1),this.queryTo=t,r.requestMeasure({read:()=>{try{return rr(r,this.queryFrom,this.queryTo)}catch{return null}},write:e=>{e?this.render(e,i):this.hide()}})}render(e,t){this.container.style.setProperty(`--preview-left`,`${e.x}px`),this.container.style.setProperty(`--preview-top`,`${e.y}px`),this.isActive||this.show(),this.items.replaceChildren(),this.selectedIndex=-1,this.candidates.forEach((e,n)=>{let r=document.createElement(`div`);r.className=`item`,r.dataset.index=n.toString();let i=e.content;if(e.script)r.append(`📦${e.name} (${e.category})`);else{switch(e.kind){case`inline`:i=`${e.id}${e.id===``?``:`:`}${i}`;break;case`display`:i=`${e.id}\n${i}\n`;break;case`codeblock`:i=`${e.id}\n${i}\n`;break}let n=document.createElement(`div`);t.plugin.typstManager.render(i,n,e.kind),r.appendChild(document.createTextNode(`${e.name} (${e.category})`)),r.appendChild(n)}this.items.appendChild(r)}),this.candidates.length>0&&this.updateSelection(0)}show(){this.isActive=!0,this.container.style.display=`block`,document.body.classList.add(`typstmate-snippet-suggesting`),document.addEventListener(`mousemove`,this.mouseMoveListener,!0),document.addEventListener(`mousedown`,this.mouseDownListener,!0)}hide(){this.isActive&&(this.isActive=!1,this.container.style.display=`none`,document.body.classList.remove(`typstmate-snippet-suggesting`),document.removeEventListener(`mousemove`,this.mouseMoveListener,!0),document.removeEventListener(`mousedown`,this.mouseDownListener,!0))}onMouseMove(e){if(!this.isActive)return;let t=e.target.closest(`.item`);if(!t)return;let n=Number(t.dataset.index);Number.isNaN(n)||this.updateSelection(n)}onMouseDown(e){if(!this.isActive)return;let t=e.target.closest(`.item`);if(t){e.preventDefault(),e.stopPropagation();let n=Number(t.dataset.index);!Number.isNaN(n)&&this.candidates[n]&&(this.execute(this.candidates[n]),this.hide(),this.view.focus())}}handleKeyAction(e){if(!this.isActive||this.candidates.length===0)return!1;switch(e){case`ArrowUp`:case`ArrowDown`:{let t=this.candidates.length;return e===`ArrowUp`?this.updateSelection(this.selectedIndex<=0?t-1:this.selectedIndex-1):this.updateSelection(this.selectedIndex===-1||this.selectedIndex===t-1?0:this.selectedIndex+1),this.scrollSelectedIntoView(),!0}case`Tab`:{let e=this.selectedIndex>=0?this.candidates[this.selectedIndex]:this.candidates[0];return e&&this.complete(e),!0}case`Enter`:{let e=this.selectedIndex>=0?this.candidates[this.selectedIndex]:this.candidates[0];if(e){if(e.script&&this.argument===void 0)return this.complete(e),!0;this.execute(e)}return this.hide(),this.view.focus(),!0}case`Escape`:return this.hide(),this.view.focus(),!0}return!1}handleTyping(e){if(e.ctrlKey||e.metaKey||e.altKey||[`ArrowUp`,`ArrowDown`,`Enter`,`Tab`,`Escape`,`Shift`].includes(e.key))return!1;let t=this.view.state.selection.main.head;if(e.key===`(`)return e.preventDefault(),this.view.dispatch({changes:{from:t-(this.argument?2:1),insert:`()`}}),!0;if(e.key===`Backspace`){if(!this.query)return!1;e.preventDefault();let n,r;return this.argument?this.argument===`()`?(n=t-3,r=t-1):(n=t-3,r=t-2):(n=t-2,r=t-1),n>=0&&this.view.dispatch({changes:{from:n,to:r}}),!0}return e.key.length===1?e.key===` `&&!this.argument?(this.hide(),!1):(e.preventDefault(),this.view.dispatch({changes:{from:t-(this.argument?2:1),insert:e.key}}),!0):!1}complete(e){if(!(e.script&&!this.argument)&&e.name===this.query)return this.execute(e);if(this.queryFrom===void 0||this.queryTo===void 0)return;let t=e.script?this.argument?this.argument:`()`:``,n=`${e.name}${t}@`;this.view.dispatch({changes:{from:this.queryFrom,to:this.queryTo,insert:n}})}execute(e){if(this.queryFrom===void 0||this.queryTo===void 0)return;let t=e.content;if(e.script)try{let e=this.argument?this.argument.slice(1,-1):void 0;t=Function(`input`,`window`,t)(e,window)}catch(e){new l.Notice(`Snippet execution failed: ${String(e)}`);return}let n=t.indexOf(`#CURSOR`);t=t.replace(`#CURSOR`,``),n===-1&&(t=`${t} `);let r=this.queryFrom+(n===-1?t.length:n);this.view.dispatch({changes:{from:this.queryFrom,to:this.queryTo,insert:t},selection:{anchor:r},userEvent:`input.complete`})}updateSelection(e){let t=this.items.children;this.selectedIndex>=0&&t[this.selectedIndex]&&t[this.selectedIndex].classList.remove(`selected`),e>=0&&t[e]&&(t[e].classList.add(`selected`),this.selectedIndex=e)}scrollSelectedIntoView(){let e=this.items.children[this.selectedIndex];e&&e.scrollIntoView({block:`nearest`,behavior:`smooth`})}destroy(){this.hide(),this.container.remove()}};const Bl=d.ViewPlugin.fromClass(zl),Vl=[Rl,Bl,u.Prec.highest(d.keymap.of([{key:`ArrowUp`,run:e=>e.plugin(Bl)?.handleKeyAction(`ArrowUp`)??!1},{key:`ArrowDown`,run:e=>e.plugin(Bl)?.handleKeyAction(`ArrowDown`)??!1},{key:`Enter`,run:e=>e.plugin(Bl)?.handleKeyAction(`Enter`)??!1},{key:`Tab`,run:e=>e.plugin(Bl)?.handleKeyAction(`Tab`)??!1},{key:`Escape`,run:e=>e.plugin(Bl)?.handleKeyAction(`Escape`)??!1}])),d.EditorView.domEventHandlers({keydown(e,t){let n=t.plugin(Bl);return n?.isActive?n.handleTyping(e):!1}})];var Hl=Object.fromEntries(Object.entries(yl).filter(([e,t])=>t.latexName!==``).map(([e,t])=>[t.latexName.replace(/\\/g,``),t])),Ul=Object.keys(yl).sort((e,t)=>e.length-t.length),Wl=Object.keys(Hl).sort((e,t)=>e.length-t.length);function Gl(e){switch(e.at(0)){case`\\`:return Kl(e.replace(/\\/g,``),Wl,Hl);default:return Kl(e,Ul,yl)}}function Kl(e,t,n){let r=t.filter(t=>t.includes(e)),i=r.filter(t=>t.startsWith(e)),a=i.filter(e=>!e.includes(`.`)).map(e=>({...n[e],kind:`base`})),o=i.filter(e=>e.includes(`.`)).map(e=>({...n[e],kind:a.length===0?`base`:`variant`})),s=r.filter(e=>!i.includes(e)).map(e=>({...n[e],kind:`substring`}));return[...a,...o,...s]}const ql=/(?:^| |\$|\(|\)|\[|\]|\{|\}|<|>|\+|-|\/|\*|=|!|\?|#|%|&|'|:|;|,|\d)(?<symbol>\\?([a-zA-Z.][a-zA-Z.]+|[-<>|=[\]~:-][-<>|=[\]~:-]+))$/;var Jl=class{container;items;candidates=[];selectedIndex=-1;query;queryFrom;queryTo;isActive=!1;isApplyingCompletion=!1;mouseMoveListener=e=>this.onMouseMove(e);mouseDownListener=e=>this.onMouseDown(e);constructor(e){this.view=e,this.container=document.createElement(`div`),this.container.classList.add(`typstmate-symbols`,`typstmate-temporary`),this.container.style.display=`none`,this.items=document.createElement(`div`),this.items.className=`items`,this.container.appendChild(this.items),document.body.appendChild(this.container)}update(e){if(this.isApplyingCompletion)return;if(!e.view.hasFocus||!e.state.selection.main.empty){this.hide();return}if(!e.docChanged){e.selectionSet&&this.hide();return}let t=z(e.view);if(!t||t.processor?.disableSuggest||t.syntaxMode!==I.Math){this.hide();return}let n=e.state.selection.main.head,r=e.state.doc.lineAt(n),i=e.state.sliceDoc(r.from,n).match(ql);if(!i||!i.groups?.symbol){this.hide();return}let a=i.groups.symbol;this.suggest(a,n,e.view)}suggest(e,t,n){if(this.candidates=Gl(e),!this.candidates.length){this.hide();return}this.query=e,this.queryFrom=t-e.length,this.queryTo=t;let r=e.startsWith(`\\`);n.requestMeasure({read:()=>{try{return rr(n,this.queryFrom,this.queryTo)}catch{return null}},write:e=>{e?this.render(e,r):this.hide()}})}render(e,t){this.container.style.setProperty(`--preview-left`,`${e.x}px`),this.container.style.setProperty(`--preview-top`,`${e.y}px`),this.isActive||this.show(),this.items.replaceChildren(),this.selectedIndex=-1,this.candidates.forEach((e,n)=>{let r=document.createElement(`div`);r.className=`item typstmate-symbol`,r.dataset.index=n.toString(),e.kind&&r.classList.add(e.kind),t?(r.classList.add(`latex`),r.textContent=`${e.sym}: \\${e.latexName} (${e.mathClass})`):(r.classList.add(`typst`),r.textContent=`${e.sym}: ${e.name} (${e.mathClass})`),this.items.appendChild(r)}),this.candidates.length>0&&this.updateSelection(0)}show(){this.isActive=!0,this.container.style.display=`block`,document.body.classList.add(`typstmate-symbol-suggesting`),document.addEventListener(`mousemove`,this.mouseMoveListener,!0),document.addEventListener(`mousedown`,this.mouseDownListener,!0)}hide(){this.isActive&&(this.isActive=!1,this.container.style.display=`none`,document.body.classList.remove(`typstmate-symbol-suggesting`),document.removeEventListener(`mousemove`,this.mouseMoveListener,!0),document.removeEventListener(`mousedown`,this.mouseDownListener,!0))}onMouseMove(e){if(!this.isActive)return;let t=e.target.closest(`.item`);if(!t)return;let n=Number(t.dataset.index);Number.isNaN(n)||this.updateSelection(n)}onMouseDown(e){if(!this.isActive)return;let t=e.target.closest(`.item`);if(t){e.preventDefault(),e.stopPropagation();let n=Number(t.dataset.index);!Number.isNaN(n)&&this.candidates[n]&&(this.execute(this.candidates[n]),this.hide())}}handleKeyAction(e){if(!this.isActive||this.candidates.length===0)return!1;switch(e){case`ArrowUp`:case`ArrowDown`:{let t=this.candidates.length;return e===`ArrowUp`?this.updateSelection(this.selectedIndex<=0?t-1:this.selectedIndex-1):this.updateSelection(this.selectedIndex===-1||this.selectedIndex===t-1?0:this.selectedIndex+1),this.scrollSelectedIntoView(),!0}case`Tab`:{let e=this.selectedIndex>=0?this.candidates[this.selectedIndex]:this.candidates[0];return e&&this.complete(e),!0}case`Enter`:{let e=this.selectedIndex>=0?this.candidates[this.selectedIndex]:this.candidates[0];return e&&this.execute(e),this.hide(),this.view.focus(),!0}case`Escape`:return this.hide(),this.view.focus(),!0}return!1}complete(e){if(e.name===this.query)return this.execute(e);this.queryFrom===void 0||this.queryTo===void 0||(this.isApplyingCompletion=!0,this.view.dispatch({changes:{from:this.queryFrom,to:this.queryTo,insert:e.name}}),this.isApplyingCompletion=!1,this.query=e.name,this.queryTo=this.queryFrom+e.name.length,this.suggest(this.query,this.queryTo,this.view))}execute(e){if(this.queryFrom===void 0||this.queryTo===void 0)return;let t=this.view.state.facet(O),n=z(this.view);if(!n)return;let r=e.name;n.processor?.renderingEngine===`mathjax`?r=`\\${e.latexName}`:t.plugin.settings.complementSymbolWithUnicode&&(r=e.sym||e.name),[`op`,`Large`].includes(e.mathClass)||(r+=` `),this.isApplyingCompletion=!0,this.view.dispatch({changes:{from:this.queryFrom,to:this.queryTo,insert:r},selection:{anchor:this.queryFrom+r.length},userEvent:`input.complete`}),this.isApplyingCompletion=!1}updateSelection(e){let t=this.items.children;this.selectedIndex>=0&&t[this.selectedIndex]&&t[this.selectedIndex].classList.remove(`selected`),e>=0&&t[e]&&(t[e].classList.add(`selected`),this.selectedIndex=e)}scrollSelectedIntoView(){let e=this.items.children[this.selectedIndex];e&&e.scrollIntoView({block:`nearest`,behavior:`smooth`})}destroy(){this.hide(),this.container.remove()}};const Yl=d.ViewPlugin.fromClass(Jl),Xl=[Yl,u.Prec.highest(d.keymap.of([{key:`ArrowUp`,run:e=>e.plugin(Yl)?.handleKeyAction(`ArrowUp`)??!1},{key:`ArrowDown`,run:e=>e.plugin(Yl)?.handleKeyAction(`ArrowDown`)??!1},{key:`Enter`,run:e=>e.plugin(Yl)?.handleKeyAction(`Enter`)??!1},{key:`Tab`,run:e=>e.plugin(Yl)?.handleKeyAction(`Tab`)??!1},{key:`Escape`,run:e=>e.plugin(Yl)?.handleKeyAction(`Escape`)??!1}]))];function Zl(e){return[O.of(e),Wn,fn,Pl(),Dl,Xl,Vl,ln,ur,Mr,Pr,nr,ar,Jn(),e.plugin.settings.useObsidianTheme?Il:Fl,Hr].filter(e=>!Array.isArray(e)||Array.isArray(e)&&e.length!==0)}var Ql=class{plugin;supportedCodeBlockLangs;constructor(e){this.plugin=e,this.supportedCodeBlockLangs=new Set((this.plugin.settings.processor.codeblock?.processors??[]).map(e=>e.id)),this.plugin.registerEditorExtension([u.Prec.high([...Zl(this)])])}hideAllPopup(){}triggerRippleEffect(e,t){let n=e.coordsAtPos(t);if(!n)return;let r=document.createElement(`div`);r.className=`typstmate-jump-ripple`,r.style.left=`${n.left}px`,r.style.top=`${n.top}px`,document.body.appendChild(r),setTimeout(()=>{r.remove()},900)}boxCurrentEquation(e){let t=z(e);if(!t)return new l.Notice(`There is no active region`);let n=e.state.sliceDoc(t.from+t.skip,t.to);e.dispatch({changes:{from:t.from+t.skip,to:t.to,insert:`${t.kind===`display`?` `:``}boxed(${n})`},selection:{anchor:t.from+t.skip+`boxed(${n})`.length}})}selectCurrentEquation(e){let t=z(e);if(!t)return new l.Notice(`There is no active region`);e.dispatch({selection:{anchor:t.from+t.skip,head:t.to}})}},$l=4,eu=0,tu=1,nu=2;function ru(e){let t=e.length;for(;--t>=0;)e[t]=0}var iu=0,au=1,ou=2,su=3,cu=258,lu=29,uu=256,du=uu+1+lu,fu=30,pu=19,mu=2*du+1,hu=15,gu=16,_u=7,vu=256,yu=16,bu=17,xu=18,Su=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),Cu=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),wu=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),Tu=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Eu=512,Du=Array((du+2)*2);ru(Du);var Ou=Array(fu*2);ru(Ou);var ku=Array(Eu);ru(ku);var Au=Array(cu-su+1);ru(Au);var ju=Array(lu);ru(ju);var Mu=Array(fu);ru(Mu);function Nu(e,t,n,r,i){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=e&&e.length}var Pu,Fu,Iu;function Lu(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}var Ru=e=>e<256?ku[e]:ku[256+(e>>>7)],zu=(e,t)=>{e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255},B=(e,t,n)=>{e.bi_valid>gu-n?(e.bi_buf|=t<<e.bi_valid&65535,zu(e,e.bi_buf),e.bi_buf=t>>gu-e.bi_valid,e.bi_valid+=n-gu):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)},Bu=(e,t,n)=>{B(e,n[t*2],n[t*2+1])},Vu=(e,t)=>{let n=0;do n|=e&1,e>>>=1,n<<=1;while(--t>0);return n>>>1},Hu=e=>{e.bi_valid===16?(zu(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)},Uu=(e,t)=>{let n=t.dyn_tree,r=t.max_code,i=t.stat_desc.static_tree,a=t.stat_desc.has_stree,o=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,c=t.stat_desc.max_length,l,u,d,f,p,m,h=0;for(f=0;f<=hu;f++)e.bl_count[f]=0;for(n[e.heap[e.heap_max]*2+1]=0,l=e.heap_max+1;l<mu;l++)u=e.heap[l],f=n[n[u*2+1]*2+1]+1,f>c&&(f=c,h++),n[u*2+1]=f,!(u>r)&&(e.bl_count[f]++,p=0,u>=s&&(p=o[u-s]),m=n[u*2],e.opt_len+=m*(f+p),a&&(e.static_len+=m*(i[u*2+1]+p)));if(h!==0){do{for(f=c-1;e.bl_count[f]===0;)f--;e.bl_count[f]--,e.bl_count[f+1]+=2,e.bl_count[c]--,h-=2}while(h>0);for(f=c;f!==0;f--)for(u=e.bl_count[f];u!==0;)d=e.heap[--l],!(d>r)&&(n[d*2+1]!==f&&(e.opt_len+=(f-n[d*2+1])*n[d*2],n[d*2+1]=f),u--)}},Wu=(e,t,n)=>{let r=Array(hu+1),i=0,a,o;for(a=1;a<=hu;a++)i=i+n[a-1]<<1,r[a]=i;for(o=0;o<=t;o++){let t=e[o*2+1];t!==0&&(e[o*2]=Vu(r[t]++,t))}},Gu=()=>{let e,t,n,r,i,a=Array(hu+1);for(n=0,r=0;r<lu-1;r++)for(ju[r]=n,e=0;e<1<<Su[r];e++)Au[n++]=r;for(Au[n-1]=r,i=0,r=0;r<16;r++)for(Mu[r]=i,e=0;e<1<<Cu[r];e++)ku[i++]=r;for(i>>=7;r<fu;r++)for(Mu[r]=i<<7,e=0;e<1<<Cu[r]-7;e++)ku[256+ i++]=r;for(t=0;t<=hu;t++)a[t]=0;for(e=0;e<=143;)Du[e*2+1]=8,e++,a[8]++;for(;e<=255;)Du[e*2+1]=9,e++,a[9]++;for(;e<=279;)Du[e*2+1]=7,e++,a[7]++;for(;e<=287;)Du[e*2+1]=8,e++,a[8]++;for(Wu(Du,du+1,a),e=0;e<fu;e++)Ou[e*2+1]=5,Ou[e*2]=Vu(e,5);Pu=new Nu(Du,Su,uu+1,du,hu),Fu=new Nu(Ou,Cu,0,fu,hu),Iu=new Nu([],wu,0,pu,_u)},Ku=e=>{let t;for(t=0;t<du;t++)e.dyn_ltree[t*2]=0;for(t=0;t<fu;t++)e.dyn_dtree[t*2]=0;for(t=0;t<pu;t++)e.bl_tree[t*2]=0;e.dyn_ltree[vu*2]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},qu=e=>{e.bi_valid>8?zu(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},Ju=(e,t,n,r)=>{let i=t*2,a=n*2;return e[i]<e[a]||e[i]===e[a]&&r[t]<=r[n]},Yu=(e,t,n)=>{let r=e.heap[n],i=n<<1;for(;i<=e.heap_len&&(i<e.heap_len&&Ju(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!Ju(t,r,e.heap[i],e.depth));)e.heap[n]=e.heap[i],n=i,i<<=1;e.heap[n]=r},Xu=(e,t,n)=>{let r,i,a=0,o,s;if(e.sym_next!==0)do r=e.pending_buf[e.sym_buf+ a++]&255,r+=(e.pending_buf[e.sym_buf+ a++]&255)<<8,i=e.pending_buf[e.sym_buf+ a++],r===0?Bu(e,i,t):(o=Au[i],Bu(e,o+uu+1,t),s=Su[o],s!==0&&(i-=ju[o],B(e,i,s)),r--,o=Ru(r),Bu(e,o,n),s=Cu[o],s!==0&&(r-=Mu[o],B(e,r,s)));while(a<e.sym_next);Bu(e,vu,t)},Zu=(e,t)=>{let n=t.dyn_tree,r=t.stat_desc.static_tree,i=t.stat_desc.has_stree,a=t.stat_desc.elems,o,s,c=-1,l;for(e.heap_len=0,e.heap_max=mu,o=0;o<a;o++)n[o*2]===0?n[o*2+1]=0:(e.heap[++e.heap_len]=c=o,e.depth[o]=0);for(;e.heap_len<2;)l=e.heap[++e.heap_len]=c<2?++c:0,n[l*2]=1,e.depth[l]=0,e.opt_len--,i&&(e.static_len-=r[l*2+1]);for(t.max_code=c,o=e.heap_len>>1;o>=1;o--)Yu(e,n,o);l=a;do o=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Yu(e,n,1),s=e.heap[1],e.heap[--e.heap_max]=o,e.heap[--e.heap_max]=s,n[l*2]=n[o*2]+n[s*2],e.depth[l]=(e.depth[o]>=e.depth[s]?e.depth[o]:e.depth[s])+1,n[o*2+1]=n[s*2+1]=l,e.heap[1]=l++,Yu(e,n,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],Uu(e,t),Wu(n,c,e.bl_count)},Qu=(e,t,n)=>{let r,i=-1,a,o=t[1],s=0,c=7,l=4;for(o===0&&(c=138,l=3),t[(n+1)*2+1]=65535,r=0;r<=n;r++)a=o,o=t[(r+1)*2+1],!(++s<c&&a===o)&&(s<l?e.bl_tree[a*2]+=s:a===0?s<=10?e.bl_tree[bu*2]++:e.bl_tree[xu*2]++:(a!==i&&e.bl_tree[a*2]++,e.bl_tree[yu*2]++),s=0,i=a,o===0?(c=138,l=3):a===o?(c=6,l=3):(c=7,l=4))},$u=(e,t,n)=>{let r,i=-1,a,o=t[1],s=0,c=7,l=4;for(o===0&&(c=138,l=3),r=0;r<=n;r++)if(a=o,o=t[(r+1)*2+1],!(++s<c&&a===o)){if(s<l)do Bu(e,a,e.bl_tree);while(--s!==0);else a===0?s<=10?(Bu(e,bu,e.bl_tree),B(e,s-3,3)):(Bu(e,xu,e.bl_tree),B(e,s-11,7)):(a!==i&&(Bu(e,a,e.bl_tree),s--),Bu(e,yu,e.bl_tree),B(e,s-3,2));s=0,i=a,o===0?(c=138,l=3):a===o?(c=6,l=3):(c=7,l=4)}},ed=e=>{let t;for(Qu(e,e.dyn_ltree,e.l_desc.max_code),Qu(e,e.dyn_dtree,e.d_desc.max_code),Zu(e,e.bl_desc),t=pu-1;t>=3&&e.bl_tree[Tu[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t},td=(e,t,n,r)=>{let i;for(B(e,t-257,5),B(e,n-1,5),B(e,r-4,4),i=0;i<r;i++)B(e,e.bl_tree[Tu[i]*2+1],3);$u(e,e.dyn_ltree,t-1),$u(e,e.dyn_dtree,n-1)},nd=e=>{let t=4093624447,n;for(n=0;n<=31;n++,t>>>=1)if(t&1&&e.dyn_ltree[n*2]!==0)return eu;if(e.dyn_ltree[18]!==0||e.dyn_ltree[20]!==0||e.dyn_ltree[26]!==0)return tu;for(n=32;n<uu;n++)if(e.dyn_ltree[n*2]!==0)return tu;return eu},rd=!1,id=e=>{rd||=(Gu(),!0),e.l_desc=new Lu(e.dyn_ltree,Pu),e.d_desc=new Lu(e.dyn_dtree,Fu),e.bl_desc=new Lu(e.bl_tree,Iu),e.bi_buf=0,e.bi_valid=0,Ku(e)},ad=(e,t,n,r)=>{B(e,(iu<<1)+(r?1:0),3),qu(e),zu(e,n),zu(e,~n),n&&e.pending_buf.set(e.window.subarray(t,t+n),e.pending),e.pending+=n},od=e=>{B(e,au<<1,3),Bu(e,vu,Du),Hu(e)},sd=(e,t,n,r)=>{let i,a,o=0;e.level>0?(e.strm.data_type===nu&&(e.strm.data_type=nd(e)),Zu(e,e.l_desc),Zu(e,e.d_desc),o=ed(e),i=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=i&&(i=a)):i=a=n+5,n+4<=i&&t!==-1?ad(e,t,n,r):e.strategy===$l||a===i?(B(e,(au<<1)+(r?1:0),3),Xu(e,Du,Ou)):(B(e,(ou<<1)+(r?1:0),3),td(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),Xu(e,e.dyn_ltree,e.dyn_dtree)),Ku(e),r&&qu(e)},cd=(e,t,n)=>(e.pending_buf[e.sym_buf+ e.sym_next++]=t,e.pending_buf[e.sym_buf+ e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+ e.sym_next++]=n,t===0?e.dyn_ltree[n*2]++:(e.matches++,t--,e.dyn_ltree[(Au[n]+uu+1)*2]++,e.dyn_dtree[Ru(t)*2]++),e.sym_next===e.sym_end),ld={_tr_init:id,_tr_stored_block:ad,_tr_flush_block:sd,_tr_tally:cd,_tr_align:od},ud=(e,t,n,r)=>{let i=e&65535|0,a=e>>>16&65535|0,o=0;for(;n!==0;){o=n>2e3?2e3:n,n-=o;do i=i+t[r++]|0,a=a+i|0;while(--o);i%=65521,a%=65521}return i|a<<16|0},dd=ud,fd=()=>{let e,t=[];for(var n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=e&1?3988292384^e>>>1:e>>>1;t[n]=e}return t},pd=new Uint32Array(fd()),md=(e,t,n,r)=>{let i=pd,a=r+n;e^=-1;for(let n=r;n<a;n++)e=e>>>8^i[(e^t[n])&255];return e^-1},V=md,hd={2:`need dictionary`,1:`stream end`,0:``,"-1":`file error`,"-2":`stream error`,"-3":`data error`,"-4":`insufficient memory`,"-5":`buffer error`,"-6":`incompatible version`},gd={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},{_tr_init:_d,_tr_stored_block:vd,_tr_flush_block:yd,_tr_tally:bd,_tr_align:xd}=ld,{Z_NO_FLUSH:Sd,Z_PARTIAL_FLUSH:Cd,Z_FULL_FLUSH:wd,Z_FINISH:H,Z_BLOCK:Td,Z_OK:U,Z_STREAM_END:Ed,Z_STREAM_ERROR:Dd,Z_DATA_ERROR:Od,Z_BUF_ERROR:kd,Z_DEFAULT_COMPRESSION:Ad,Z_FILTERED:jd,Z_HUFFMAN_ONLY:Md,Z_RLE:Nd,Z_FIXED:Pd,Z_DEFAULT_STRATEGY:Fd,Z_UNKNOWN:Id,Z_DEFLATED:Ld}=gd,Rd=9,zd=15,Bd=8,Vd=286,Hd=30,Ud=19,Wd=2*Vd+1,Gd=15,W=3,Kd=258,qd=Kd+W+1,Jd=32,Yd=42,Xd=57,Zd=69,Qd=73,$d=91,ef=103,tf=113,nf=666,G=1,rf=2,af=3,of=4,sf=3,cf=(e,t)=>(e.msg=hd[t],t),lf=e=>e*2-(e>4?9:0),uf=e=>{let t=e.length;for(;--t>=0;)e[t]=0},df=e=>{let t,n,r,i=e.w_size;t=e.hash_size,r=t;do n=e.head[--r],e.head[r]=n>=i?n-i:0;while(--t);t=i,r=t;do n=e.prev[--r],e.prev[r]=n>=i?n-i:0;while(--t)},ff=(e,t,n)=>(t<<e.hash_shift^n)&e.hash_mask,pf=ff,K=e=>{let t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),n!==0&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+n),e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,t.pending===0&&(t.pending_out=0))},q=(e,t)=>{yd(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,K(e.strm)},J=(e,t)=>{e.pending_buf[e.pending++]=t},mf=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255},hf=(e,t,n,r)=>{let i=e.avail_in;return i>r&&(i=r),i===0?0:(e.avail_in-=i,t.set(e.input.subarray(e.next_in,e.next_in+i),n),e.state.wrap===1?e.adler=dd(e.adler,t,i,n):e.state.wrap===2&&(e.adler=V(e.adler,t,i,n)),e.next_in+=i,e.total_in+=i,i)},gf=(e,t)=>{let n=e.max_chain_length,r=e.strstart,i,a,o=e.prev_length,s=e.nice_match,c=e.strstart>e.w_size-qd?e.strstart-(e.w_size-qd):0,l=e.window,u=e.w_mask,d=e.prev,f=e.strstart+Kd,p=l[r+o-1],m=l[r+o];e.prev_length>=e.good_match&&(n>>=2),s>e.lookahead&&(s=e.lookahead);do{if(i=t,l[i+o]!==m||l[i+o-1]!==p||l[i]!==l[r]||l[++i]!==l[r+1])continue;r+=2,i++;do;while(l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&r<f);if(a=Kd-(f-r),r=f-Kd,a>o){if(e.match_start=t,o=a,a>=s)break;p=l[r+o-1],m=l[r+o]}}while((t=d[t&u])>c&&--n!==0);return o<=e.lookahead?o:e.lookahead},_f=e=>{let t=e.w_size,n,r,i;do{if(r=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-qd)&&(e.window.set(e.window.subarray(t,t+t-r),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),df(e),r+=t),e.strm.avail_in===0)break;if(n=hf(e.strm,e.window,e.strstart+e.lookahead,r),e.lookahead+=n,e.lookahead+e.insert>=W)for(i=e.strstart-e.insert,e.ins_h=e.window[i],e.ins_h=pf(e,e.ins_h,e.window[i+1]);e.insert&&(e.ins_h=pf(e,e.ins_h,e.window[i+W-1]),e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++,e.insert--,!(e.lookahead+e.insert<W)););}while(e.lookahead<qd&&e.strm.avail_in!==0)},vf=(e,t)=>{let n=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,r,i,a,o=0,s=e.strm.avail_in;do{if(r=65535,a=e.bi_valid+42>>3,e.strm.avail_out<a||(a=e.strm.avail_out-a,i=e.strstart-e.block_start,r>i+e.strm.avail_in&&(r=i+e.strm.avail_in),r>a&&(r=a),r<n&&(r===0&&t!==H||t===Sd||r!==i+e.strm.avail_in)))break;o=t===H&&r===i+e.strm.avail_in?1:0,vd(e,0,0,o),e.pending_buf[e.pending-4]=r,e.pending_buf[e.pending-3]=r>>8,e.pending_buf[e.pending-2]=~r,e.pending_buf[e.pending-1]=~r>>8,K(e.strm),i&&(i>r&&(i=r),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+i),e.strm.next_out),e.strm.next_out+=i,e.strm.avail_out-=i,e.strm.total_out+=i,e.block_start+=i,r-=i),r&&(hf(e.strm,e.strm.output,e.strm.next_out,r),e.strm.next_out+=r,e.strm.avail_out-=r,e.strm.total_out+=r)}while(o===0);return s-=e.strm.avail_in,s&&(s>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=s&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-s,e.strm.next_in),e.strstart),e.strstart+=s,e.insert+=s>e.w_size-e.insert?e.w_size-e.insert:s),e.block_start=e.strstart),e.high_water<e.strstart&&(e.high_water=e.strstart),o?of:t!==Sd&&t!==H&&e.strm.avail_in===0&&e.strstart===e.block_start?rf:(a=e.window_size-e.strstart,e.strm.avail_in>a&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,a+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),a>e.strm.avail_in&&(a=e.strm.avail_in),a&&(hf(e.strm,e.window,e.strstart,a),e.strstart+=a,e.insert+=a>e.w_size-e.insert?e.w_size-e.insert:a),e.high_water<e.strstart&&(e.high_water=e.strstart),a=e.bi_valid+42>>3,a=e.pending_buf_size-a>65535?65535:e.pending_buf_size-a,n=a>e.w_size?e.w_size:a,i=e.strstart-e.block_start,(i>=n||(i||t===H)&&t!==Sd&&e.strm.avail_in===0&&i<=a)&&(r=i>a?a:i,o=t===H&&e.strm.avail_in===0&&r===i?1:0,vd(e,e.block_start,r,o),e.block_start+=r,K(e.strm)),o?af:G)},yf=(e,t)=>{let n,r;for(;;){if(e.lookahead<qd){if(_f(e),e.lookahead<qd&&t===Sd)return G;if(e.lookahead===0)break}if(n=0,e.lookahead>=W&&(e.ins_h=pf(e,e.ins_h,e.window[e.strstart+W-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),n!==0&&e.strstart-n<=e.w_size-qd&&(e.match_length=gf(e,n)),e.match_length>=W)if(r=bd(e,e.strstart-e.match_start,e.match_length-W),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=W){e.match_length--;do e.strstart++,e.ins_h=pf(e,e.ins_h,e.window[e.strstart+W-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=pf(e,e.ins_h,e.window[e.strstart+1]);else r=bd(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(q(e,!1),e.strm.avail_out===0))return G}return e.insert=e.strstart<W-1?e.strstart:W-1,t===H?(q(e,!0),e.strm.avail_out===0?af:of):e.sym_next&&(q(e,!1),e.strm.avail_out===0)?G:rf},bf=(e,t)=>{let n,r,i;for(;;){if(e.lookahead<qd){if(_f(e),e.lookahead<qd&&t===Sd)return G;if(e.lookahead===0)break}if(n=0,e.lookahead>=W&&(e.ins_h=pf(e,e.ins_h,e.window[e.strstart+W-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=W-1,n!==0&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-qd&&(e.match_length=gf(e,n),e.match_length<=5&&(e.strategy===jd||e.match_length===W&&e.strstart-e.match_start>4096)&&(e.match_length=W-1)),e.prev_length>=W&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-W,r=bd(e,e.strstart-1-e.prev_match,e.prev_length-W),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=i&&(e.ins_h=pf(e,e.ins_h,e.window[e.strstart+W-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=W-1,e.strstart++,r&&(q(e,!1),e.strm.avail_out===0))return G}else if(e.match_available){if(r=bd(e,0,e.window[e.strstart-1]),r&&q(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return G}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&=(r=bd(e,0,e.window[e.strstart-1]),0),e.insert=e.strstart<W-1?e.strstart:W-1,t===H?(q(e,!0),e.strm.avail_out===0?af:of):e.sym_next&&(q(e,!1),e.strm.avail_out===0)?G:rf},xf=(e,t)=>{let n,r,i,a,o=e.window;for(;;){if(e.lookahead<=Kd){if(_f(e),e.lookahead<=Kd&&t===Sd)return G;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=W&&e.strstart>0&&(i=e.strstart-1,r=o[i],r===o[++i]&&r===o[++i]&&r===o[++i])){a=e.strstart+Kd;do;while(r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&i<a);e.match_length=Kd-(a-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=W?(n=bd(e,1,e.match_length-W),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=bd(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(q(e,!1),e.strm.avail_out===0))return G}return e.insert=0,t===H?(q(e,!0),e.strm.avail_out===0?af:of):e.sym_next&&(q(e,!1),e.strm.avail_out===0)?G:rf},Sf=(e,t)=>{let n;for(;;){if(e.lookahead===0&&(_f(e),e.lookahead===0)){if(t===Sd)return G;break}if(e.match_length=0,n=bd(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(q(e,!1),e.strm.avail_out===0))return G}return e.insert=0,t===H?(q(e,!0),e.strm.avail_out===0?af:of):e.sym_next&&(q(e,!1),e.strm.avail_out===0)?G:rf};function Cf(e,t,n,r,i){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=i}var wf=[new Cf(0,0,0,0,vf),new Cf(4,4,8,4,yf),new Cf(4,5,16,8,yf),new Cf(4,6,32,32,yf),new Cf(4,4,16,16,bf),new Cf(8,16,32,32,bf),new Cf(8,16,128,128,bf),new Cf(8,32,128,256,bf),new Cf(32,128,258,1024,bf),new Cf(32,258,258,4096,bf)],Tf=e=>{e.window_size=2*e.w_size,uf(e.head),e.max_lazy_match=wf[e.level].max_lazy,e.good_match=wf[e.level].good_length,e.nice_match=wf[e.level].nice_length,e.max_chain_length=wf[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=W-1,e.match_available=0,e.ins_h=0};function Ef(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Ld,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(Wd*2),this.dyn_dtree=new Uint16Array((2*Hd+1)*2),this.bl_tree=new Uint16Array((2*Ud+1)*2),uf(this.dyn_ltree),uf(this.dyn_dtree),uf(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(Gd+1),this.heap=new Uint16Array(2*Vd+1),uf(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(2*Vd+1),uf(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var Df=e=>{if(!e)return 1;let t=e.state;return!t||t.strm!==e||t.status!==Yd&&t.status!==Xd&&t.status!==Zd&&t.status!==Qd&&t.status!==$d&&t.status!==ef&&t.status!==tf&&t.status!==nf?1:0},Of=e=>{if(Df(e))return cf(e,Dd);e.total_in=e.total_out=0,e.data_type=Id;let t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?Xd:t.wrap?Yd:tf,e.adler=t.wrap===2?0:1,t.last_flush=-2,_d(t),U},kf=e=>{let t=Of(e);return t===U&&Tf(e.state),t},Af=(e,t)=>Df(e)||e.state.wrap!==2?Dd:(e.state.gzhead=t,U),jf=(e,t,n,r,i,a)=>{if(!e)return Dd;let o=1;if(t===Ad&&(t=6),r<0?(o=0,r=-r):r>15&&(o=2,r-=16),i<1||i>Rd||n!==Ld||r<8||r>15||t<0||t>9||a<0||a>Pd||r===8&&o!==1)return cf(e,Dd);r===8&&(r=9);let s=new Ef;return e.state=s,s.strm=e,s.status=Yd,s.wrap=o,s.gzhead=null,s.w_bits=r,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=i+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+W-1)/W),s.window=new Uint8Array(s.w_size*2),s.head=new Uint16Array(s.hash_size),s.prev=new Uint16Array(s.w_size),s.lit_bufsize=1<<i+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new Uint8Array(s.pending_buf_size),s.sym_buf=s.lit_bufsize,s.sym_end=(s.lit_bufsize-1)*3,s.level=t,s.strategy=a,s.method=n,kf(e)},Mf=(e,t)=>jf(e,t,Ld,zd,Bd,Fd),Nf=(e,t)=>{if(Df(e)||t>Td||t<0)return e?cf(e,Dd):Dd;let n=e.state;if(!e.output||e.avail_in!==0&&!e.input||n.status===nf&&t!==H)return cf(e,e.avail_out===0?kd:Dd);let r=n.last_flush;if(n.last_flush=t,n.pending!==0){if(K(e),e.avail_out===0)return n.last_flush=-1,U}else if(e.avail_in===0&&lf(t)<=lf(r)&&t!==H)return cf(e,kd);if(n.status===nf&&e.avail_in!==0)return cf(e,kd);if(n.status===Yd&&n.wrap===0&&(n.status=tf),n.status===Yd){let t=Ld+(n.w_bits-8<<4)<<8,r=-1;if(r=n.strategy>=Md||n.level<2?0:n.level<6?1:n.level===6?2:3,t|=r<<6,n.strstart!==0&&(t|=Jd),t+=31-t%31,mf(n,t),n.strstart!==0&&(mf(n,e.adler>>>16),mf(n,e.adler&65535)),e.adler=1,n.status=tf,K(e),n.pending!==0)return n.last_flush=-1,U}if(n.status===Xd){if(e.adler=0,J(n,31),J(n,139),J(n,8),n.gzhead)J(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),J(n,n.gzhead.time&255),J(n,n.gzhead.time>>8&255),J(n,n.gzhead.time>>16&255),J(n,n.gzhead.time>>24&255),J(n,n.level===9?2:n.strategy>=Md||n.level<2?4:0),J(n,n.gzhead.os&255),n.gzhead.extra&&n.gzhead.extra.length&&(J(n,n.gzhead.extra.length&255),J(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=V(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=Zd;else if(J(n,0),J(n,0),J(n,0),J(n,0),J(n,0),J(n,n.level===9?2:n.strategy>=Md||n.level<2?4:0),J(n,sf),n.status=tf,K(e),n.pending!==0)return n.last_flush=-1,U}if(n.status===Zd){if(n.gzhead.extra){let t=n.pending,r=(n.gzhead.extra.length&65535)-n.gzindex;for(;n.pending+r>n.pending_buf_size;){let i=n.pending_buf_size-n.pending;if(n.pending_buf.set(n.gzhead.extra.subarray(n.gzindex,n.gzindex+i),n.pending),n.pending=n.pending_buf_size,n.gzhead.hcrc&&n.pending>t&&(e.adler=V(e.adler,n.pending_buf,n.pending-t,t)),n.gzindex+=i,K(e),n.pending!==0)return n.last_flush=-1,U;t=0,r-=i}let i=new Uint8Array(n.gzhead.extra);n.pending_buf.set(i.subarray(n.gzindex,n.gzindex+r),n.pending),n.pending+=r,n.gzhead.hcrc&&n.pending>t&&(e.adler=V(e.adler,n.pending_buf,n.pending-t,t)),n.gzindex=0}n.status=Qd}if(n.status===Qd){if(n.gzhead.name){let t=n.pending,r;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>t&&(e.adler=V(e.adler,n.pending_buf,n.pending-t,t)),K(e),n.pending!==0)return n.last_flush=-1,U;t=0}r=n.gzindex<n.gzhead.name.length?n.gzhead.name.charCodeAt(n.gzindex++)&255:0,J(n,r)}while(r!==0);n.gzhead.hcrc&&n.pending>t&&(e.adler=V(e.adler,n.pending_buf,n.pending-t,t)),n.gzindex=0}n.status=$d}if(n.status===$d){if(n.gzhead.comment){let t=n.pending,r;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>t&&(e.adler=V(e.adler,n.pending_buf,n.pending-t,t)),K(e),n.pending!==0)return n.last_flush=-1,U;t=0}r=n.gzindex<n.gzhead.comment.length?n.gzhead.comment.charCodeAt(n.gzindex++)&255:0,J(n,r)}while(r!==0);n.gzhead.hcrc&&n.pending>t&&(e.adler=V(e.adler,n.pending_buf,n.pending-t,t))}n.status=ef}if(n.status===ef){if(n.gzhead.hcrc){if(n.pending+2>n.pending_buf_size&&(K(e),n.pending!==0))return n.last_flush=-1,U;J(n,e.adler&255),J(n,e.adler>>8&255),e.adler=0}if(n.status=tf,K(e),n.pending!==0)return n.last_flush=-1,U}if(e.avail_in!==0||n.lookahead!==0||t!==Sd&&n.status!==nf){let r=n.level===0?vf(n,t):n.strategy===Md?Sf(n,t):n.strategy===Nd?xf(n,t):wf[n.level].func(n,t);if((r===af||r===of)&&(n.status=nf),r===G||r===af)return e.avail_out===0&&(n.last_flush=-1),U;if(r===rf&&(t===Cd?xd(n):t!==Td&&(vd(n,0,0,!1),t===wd&&(uf(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),K(e),e.avail_out===0))return n.last_flush=-1,U}return t===H?n.wrap<=0?Ed:(n.wrap===2?(J(n,e.adler&255),J(n,e.adler>>8&255),J(n,e.adler>>16&255),J(n,e.adler>>24&255),J(n,e.total_in&255),J(n,e.total_in>>8&255),J(n,e.total_in>>16&255),J(n,e.total_in>>24&255)):(mf(n,e.adler>>>16),mf(n,e.adler&65535)),K(e),n.wrap>0&&(n.wrap=-n.wrap),n.pending===0?Ed:U):U},Pf=e=>{if(Df(e))return Dd;let t=e.state.status;return e.state=null,t===tf?cf(e,Od):U},Ff=(e,t)=>{let n=t.length;if(Df(e))return Dd;let r=e.state,i=r.wrap;if(i===2||i===1&&r.status!==Yd||r.lookahead)return Dd;if(i===1&&(e.adler=dd(e.adler,t,n,0)),r.wrap=0,n>=r.w_size){i===0&&(uf(r.head),r.strstart=0,r.block_start=0,r.insert=0);let e=new Uint8Array(r.w_size);e.set(t.subarray(n-r.w_size,n),0),t=e,n=r.w_size}let a=e.avail_in,o=e.next_in,s=e.input;for(e.avail_in=n,e.next_in=0,e.input=t,_f(r);r.lookahead>=W;){let e=r.strstart,t=r.lookahead-(W-1);do r.ins_h=pf(r,r.ins_h,r.window[e+W-1]),r.prev[e&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=e,e++;while(--t);r.strstart=e,r.lookahead=W-1,_f(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=W-1,r.match_available=0,e.next_in=o,e.input=s,e.avail_in=a,r.wrap=i,U},If={deflateInit:Mf,deflateInit2:jf,deflateReset:kf,deflateResetKeep:Of,deflateSetHeader:Af,deflate:Nf,deflateEnd:Pf,deflateSetDictionary:Ff,deflateInfo:`pako deflate (from Nodeca project)`},Lf=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Rf=function(e){let t=Array.prototype.slice.call(arguments,1);for(;t.length;){let n=t.shift();if(n){if(typeof n!=`object`)throw TypeError(n+`must be non-object`);for(let t in n)Lf(n,t)&&(e[t]=n[t])}}return e},zf=e=>{let t=0;for(let n=0,r=e.length;n<r;n++)t+=e[n].length;let n=new Uint8Array(t);for(let t=0,r=0,i=e.length;t<i;t++){let i=e[t];n.set(i,r),r+=i.length}return n},Bf={assign:Rf,flattenChunks:zf},Vf=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{Vf=!1}var Hf=new Uint8Array(256);for(let e=0;e<256;e++)Hf[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;Hf[254]=Hf[254]=1;var Uf=e=>{if(typeof TextEncoder==`function`&&TextEncoder.prototype.encode)return new TextEncoder().encode(e);let t,n,r,i,a,o=e.length,s=0;for(i=0;i<o;i++)n=e.charCodeAt(i),(n&64512)==55296&&i+1<o&&(r=e.charCodeAt(i+1),(r&64512)==56320&&(n=65536+(n-55296<<10)+(r-56320),i++)),s+=n<128?1:n<2048?2:n<65536?3:4;for(t=new Uint8Array(s),a=0,i=0;a<s;i++)n=e.charCodeAt(i),(n&64512)==55296&&i+1<o&&(r=e.charCodeAt(i+1),(r&64512)==56320&&(n=65536+(n-55296<<10)+(r-56320),i++)),n<128?t[a++]=n:n<2048?(t[a++]=192|n>>>6,t[a++]=128|n&63):n<65536?(t[a++]=224|n>>>12,t[a++]=128|n>>>6&63,t[a++]=128|n&63):(t[a++]=240|n>>>18,t[a++]=128|n>>>12&63,t[a++]=128|n>>>6&63,t[a++]=128|n&63);return t},Wf=(e,t)=>{if(t<65534&&e.subarray&&Vf)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));let n=``;for(let r=0;r<t;r++)n+=String.fromCharCode(e[r]);return n},Gf=(e,t)=>{let n=t||e.length;if(typeof TextDecoder==`function`&&TextDecoder.prototype.decode)return new TextDecoder().decode(e.subarray(0,t));let r,i,a=Array(n*2);for(i=0,r=0;r<n;){let t=e[r++];if(t<128){a[i++]=t;continue}let o=Hf[t];if(o>4){a[i++]=65533,r+=o-1;continue}for(t&=o===2?31:o===3?15:7;o>1&&r<n;)t=t<<6|e[r++]&63,o--;if(o>1){a[i++]=65533;continue}t<65536?a[i++]=t:(t-=65536,a[i++]=55296|t>>10&1023,a[i++]=56320|t&1023)}return Wf(a,i)},Kf=(e,t)=>{t||=e.length,t>e.length&&(t=e.length);let n=t-1;for(;n>=0&&(e[n]&192)==128;)n--;return n<0||n===0?t:n+Hf[e[n]]>t?n:t},qf={string2buf:Uf,buf2string:Gf,utf8border:Kf};function Jf(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=``,this.state=null,this.data_type=2,this.adler=0}var Yf=Jf,Xf=Object.prototype.toString,{Z_NO_FLUSH:Zf,Z_SYNC_FLUSH:Qf,Z_FULL_FLUSH:$f,Z_FINISH:ep,Z_OK:tp,Z_STREAM_END:np,Z_DEFAULT_COMPRESSION:rp,Z_DEFAULT_STRATEGY:ip,Z_DEFLATED:ap}=gd;function op(e){this.options=Bf.assign({level:rp,method:ap,chunkSize:16384,windowBits:15,memLevel:8,strategy:ip},e||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg=``,this.ended=!1,this.chunks=[],this.strm=new Yf,this.strm.avail_out=0;let n=If.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==tp)throw Error(hd[n]);if(t.header&&If.deflateSetHeader(this.strm,t.header),t.dictionary){let e;if(e=typeof t.dictionary==`string`?qf.string2buf(t.dictionary):Xf.call(t.dictionary)===`[object ArrayBuffer]`?new Uint8Array(t.dictionary):t.dictionary,n=If.deflateSetDictionary(this.strm,e),n!==tp)throw Error(hd[n]);this._dict_set=!0}}op.prototype.push=function(e,t){let n=this.strm,r=this.options.chunkSize,i,a;if(this.ended)return!1;for(a=t===~~t?t:t===!0?ep:Zf,typeof e==`string`?n.input=qf.string2buf(e):Xf.call(e)===`[object ArrayBuffer]`?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;){if(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),(a===Qf||a===$f)&&n.avail_out<=6){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(i=If.deflate(n,a),i===np)return n.next_out>0&&this.onData(n.output.subarray(0,n.next_out)),i=If.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===tp;if(n.avail_out===0){this.onData(n.output);continue}if(a>0&&n.next_out>0){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(n.avail_in===0)break}return!0},op.prototype.onData=function(e){this.chunks.push(e)},op.prototype.onEnd=function(e){e===tp&&(this.result=Bf.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function sp(e,t){let n=new op(t);if(n.push(e,!0),n.err)throw n.msg||hd[n.err];return n.result}function cp(e,t){return t||={},t.raw=!0,sp(e,t)}function lp(e,t){return t||={},t.gzip=!0,sp(e,t)}var up={Deflate:op,deflate:sp,deflateRaw:cp,gzip:lp,constants:gd},dp=16209,fp=16191,pp=function(e,t){let n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E=e.state;n=e.next_in,w=e.input,r=n+(e.avail_in-5),i=e.next_out,T=e.output,a=i-(t-e.avail_out),o=i+(e.avail_out-257),s=E.dmax,c=E.wsize,l=E.whave,u=E.wnext,d=E.window,f=E.hold,p=E.bits,m=E.lencode,h=E.distcode,g=(1<<E.lenbits)-1,_=(1<<E.distbits)-1;top:do{p<15&&(f+=w[n++]<<p,p+=8,f+=w[n++]<<p,p+=8),v=m[f&g];dolen:for(;;){if(y=v>>>24,f>>>=y,p-=y,y=v>>>16&255,y===0)T[i++]=v&65535;else if(y&16){b=v&65535,y&=15,y&&(p<y&&(f+=w[n++]<<p,p+=8),b+=f&(1<<y)-1,f>>>=y,p-=y),p<15&&(f+=w[n++]<<p,p+=8,f+=w[n++]<<p,p+=8),v=h[f&_];dodist:for(;;){if(y=v>>>24,f>>>=y,p-=y,y=v>>>16&255,y&16){if(x=v&65535,y&=15,p<y&&(f+=w[n++]<<p,p+=8,p<y&&(f+=w[n++]<<p,p+=8)),x+=f&(1<<y)-1,x>s){e.msg=`invalid distance too far back`,E.mode=dp;break top}if(f>>>=y,p-=y,y=i-a,x>y){if(y=x-y,y>l&&E.sane){e.msg=`invalid distance too far back`,E.mode=dp;break top}if(S=0,C=d,u===0){if(S+=c-y,y<b){b-=y;do T[i++]=d[S++];while(--y);S=i-x,C=T}}else if(u<y){if(S+=c+u-y,y-=u,y<b){b-=y;do T[i++]=d[S++];while(--y);if(S=0,u<b){y=u,b-=y;do T[i++]=d[S++];while(--y);S=i-x,C=T}}}else if(S+=u-y,y<b){b-=y;do T[i++]=d[S++];while(--y);S=i-x,C=T}for(;b>2;)T[i++]=C[S++],T[i++]=C[S++],T[i++]=C[S++],b-=3;b&&(T[i++]=C[S++],b>1&&(T[i++]=C[S++]))}else{S=i-x;do T[i++]=T[S++],T[i++]=T[S++],T[i++]=T[S++],b-=3;while(b>2);b&&(T[i++]=T[S++],b>1&&(T[i++]=T[S++]))}}else if(y&64){e.msg=`invalid distance code`,E.mode=dp;break top}else{v=h[(v&65535)+(f&(1<<y)-1)];continue dodist}break}}else if(y&64)if(y&32){E.mode=fp;break top}else{e.msg=`invalid literal/length code`,E.mode=dp;break top}else{v=m[(v&65535)+(f&(1<<y)-1)];continue dolen}break}}while(n<r&&i<o);b=p>>3,n-=b,p-=b<<3,f&=(1<<p)-1,e.next_in=n,e.next_out=i,e.avail_in=n<r?5+(r-n):5-(n-r),e.avail_out=i<o?257+(o-i):257-(i-o),E.hold=f,E.bits=p},mp=15,hp=852,gp=592,_p=0,vp=1,yp=2,bp=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),xp=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),Sp=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),Cp=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),wp=(e,t,n,r,i,a,o,s)=>{let c=s.bits,l=0,u=0,d=0,f=0,p=0,m=0,h=0,g=0,_=0,v=0,y,b,x,S,C,w=null,T,E=new Uint16Array(mp+1),D=new Uint16Array(mp+1),ee=null,te,ne,re;for(l=0;l<=mp;l++)E[l]=0;for(u=0;u<r;u++)E[t[n+u]]++;for(p=c,f=mp;f>=1&&E[f]===0;f--);if(p>f&&(p=f),f===0)return i[a++]=20971520,i[a++]=20971520,s.bits=1,0;for(d=1;d<f&&E[d]===0;d++);for(p<d&&(p=d),g=1,l=1;l<=mp;l++)if(g<<=1,g-=E[l],g<0)return-1;if(g>0&&(e===_p||f!==1))return-1;for(D[1]=0,l=1;l<mp;l++)D[l+1]=D[l]+E[l];for(u=0;u<r;u++)t[n+u]!==0&&(o[D[t[n+u]]++]=u);if(e===_p?(w=ee=o,T=20):e===vp?(w=bp,ee=xp,T=257):(w=Sp,ee=Cp,T=0),v=0,u=0,l=d,C=a,m=p,h=0,x=-1,_=1<<p,S=_-1,e===vp&&_>hp||e===yp&&_>gp)return 1;for(;;){te=l-h,o[u]+1<T?(ne=0,re=o[u]):o[u]>=T?(ne=ee[o[u]-T],re=w[o[u]-T]):(ne=96,re=0),y=1<<l-h,b=1<<m,d=b;do b-=y,i[C+(v>>h)+b]=te<<24|ne<<16|re|0;while(b!==0);for(y=1<<l-1;v&y;)y>>=1;if(y===0?v=0:(v&=y-1,v+=y),u++,--E[l]===0){if(l===f)break;l=t[n+o[u]]}if(l>p&&(v&S)!==x){for(h===0&&(h=p),C+=d,m=l-h,g=1<<m;m+h<f&&(g-=E[m+h],!(g<=0));)m++,g<<=1;if(_+=1<<m,e===vp&&_>hp||e===yp&&_>gp)return 1;x=v&S,i[x]=p<<24|m<<16|C-a|0}}return v!==0&&(i[C+v]=l-h<<24|4194304),s.bits=p,0},Tp=wp,Ep=0,Dp=1,Op=2,{Z_FINISH:kp,Z_BLOCK:Ap,Z_TREES:jp,Z_OK:Mp,Z_STREAM_END:Np,Z_NEED_DICT:Pp,Z_STREAM_ERROR:Y,Z_DATA_ERROR:Fp,Z_MEM_ERROR:Ip,Z_BUF_ERROR:Lp,Z_DEFLATED:Rp}=gd,zp=16180,Bp=16181,Vp=16182,Hp=16183,Up=16184,Wp=16185,Gp=16186,Kp=16187,qp=16188,Jp=16189,Yp=16190,Xp=16191,Zp=16192,Qp=16193,$p=16194,em=16195,tm=16196,nm=16197,rm=16198,im=16199,am=16200,om=16201,sm=16202,cm=16203,lm=16204,um=16205,dm=16206,fm=16207,pm=16208,X=16209,mm=16210,hm=16211,gm=852,_m=592,vm=15,ym=e=>(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24);function bm(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var xm=e=>{if(!e)return 1;let t=e.state;return!t||t.strm!==e||t.mode<zp||t.mode>hm?1:0},Sm=e=>{if(xm(e))return Y;let t=e.state;return e.total_in=e.total_out=t.total=0,e.msg=``,t.wrap&&(e.adler=t.wrap&1),t.mode=zp,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(gm),t.distcode=t.distdyn=new Int32Array(_m),t.sane=1,t.back=-1,Mp},Cm=e=>{if(xm(e))return Y;let t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,Sm(e)},wm=(e,t)=>{let n;if(xm(e))return Y;let r=e.state;return t<0?(n=0,t=-t):(n=(t>>4)+5,t<48&&(t&=15)),t&&(t<8||t>15)?Y:(r.window!==null&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,Cm(e))},Tm=(e,t)=>{if(!e)return Y;let n=new bm;e.state=n,n.strm=e,n.window=null,n.mode=zp;let r=wm(e,t);return r!==Mp&&(e.state=null),r},Em=e=>Tm(e,vm),Dm=!0,Om,km,Am=e=>{if(Dm){Om=new Int32Array(512),km=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(Tp(Dp,e.lens,0,288,Om,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Tp(Op,e.lens,0,32,km,0,e.work,{bits:5}),Dm=!1}e.lencode=Om,e.lenbits=9,e.distcode=km,e.distbits=5},jm=(e,t,n,r)=>{let i,a=e.state;return a.window===null&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new Uint8Array(a.wsize)),r>=a.wsize?(a.window.set(t.subarray(n-a.wsize,n),0),a.wnext=0,a.whave=a.wsize):(i=a.wsize-a.wnext,i>r&&(i=r),a.window.set(t.subarray(n-r,n-r+i),a.wnext),r-=i,r?(a.window.set(t.subarray(n-r,n),0),a.wnext=r,a.whave=a.wsize):(a.wnext+=i,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=i))),0},Mm=(e,t)=>{let n,r,i,a,o,s,c,l,u,d,f,p,m,h,g=0,_,v,y,b,x,S,C,w,T=new Uint8Array(4),E,D,ee=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(xm(e)||!e.output||!e.input&&e.avail_in!==0)return Y;n=e.state,n.mode===Xp&&(n.mode=Zp),o=e.next_out,i=e.output,c=e.avail_out,a=e.next_in,r=e.input,s=e.avail_in,l=n.hold,u=n.bits,d=s,f=c,w=Mp;inf_leave:for(;;)switch(n.mode){case zp:if(n.wrap===0){n.mode=Zp;break}for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.wrap&2&&l===35615){n.wbits===0&&(n.wbits=15),n.check=0,T[0]=l&255,T[1]=l>>>8&255,n.check=V(n.check,T,2,0),l=0,u=0,n.mode=Bp;break}if(n.head&&(n.head.done=!1),!(n.wrap&1)||(((l&255)<<8)+(l>>8))%31){e.msg=`incorrect header check`,n.mode=X;break}if((l&15)!==Rp){e.msg=`unknown compression method`,n.mode=X;break}if(l>>>=4,u-=4,C=(l&15)+8,n.wbits===0&&(n.wbits=C),C>15||C>n.wbits){e.msg=`invalid window size`,n.mode=X;break}n.dmax=1<<n.wbits,n.flags=0,e.adler=n.check=1,n.mode=l&512?Jp:Xp,l=0,u=0;break;case Bp:for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.flags=l,(n.flags&255)!==Rp){e.msg=`unknown compression method`,n.mode=X;break}if(n.flags&57344){e.msg=`unknown header flags set`,n.mode=X;break}n.head&&(n.head.text=l>>8&1),n.flags&512&&n.wrap&4&&(T[0]=l&255,T[1]=l>>>8&255,n.check=V(n.check,T,2,0)),l=0,u=0,n.mode=Vp;case Vp:for(;u<32;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.head&&(n.head.time=l),n.flags&512&&n.wrap&4&&(T[0]=l&255,T[1]=l>>>8&255,T[2]=l>>>16&255,T[3]=l>>>24&255,n.check=V(n.check,T,4,0)),l=0,u=0,n.mode=Hp;case Hp:for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.head&&(n.head.xflags=l&255,n.head.os=l>>8),n.flags&512&&n.wrap&4&&(T[0]=l&255,T[1]=l>>>8&255,n.check=V(n.check,T,2,0)),l=0,u=0,n.mode=Up;case Up:if(n.flags&1024){for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.length=l,n.head&&(n.head.extra_len=l),n.flags&512&&n.wrap&4&&(T[0]=l&255,T[1]=l>>>8&255,n.check=V(n.check,T,2,0)),l=0,u=0}else n.head&&(n.head.extra=null);n.mode=Wp;case Wp:if(n.flags&1024&&(p=n.length,p>s&&(p=s),p&&(n.head&&(C=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(r.subarray(a,a+p),C)),n.flags&512&&n.wrap&4&&(n.check=V(n.check,r,p,a)),s-=p,a+=p,n.length-=p),n.length))break inf_leave;n.length=0,n.mode=Gp;case Gp:if(n.flags&2048){if(s===0)break inf_leave;p=0;do C=r[a+ p++],n.head&&C&&n.length<65536&&(n.head.name+=String.fromCharCode(C));while(C&&p<s);if(n.flags&512&&n.wrap&4&&(n.check=V(n.check,r,p,a)),s-=p,a+=p,C)break inf_leave}else n.head&&(n.head.name=null);n.length=0,n.mode=Kp;case Kp:if(n.flags&4096){if(s===0)break inf_leave;p=0;do C=r[a+ p++],n.head&&C&&n.length<65536&&(n.head.comment+=String.fromCharCode(C));while(C&&p<s);if(n.flags&512&&n.wrap&4&&(n.check=V(n.check,r,p,a)),s-=p,a+=p,C)break inf_leave}else n.head&&(n.head.comment=null);n.mode=qp;case qp:if(n.flags&512){for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.wrap&4&&l!==(n.check&65535)){e.msg=`header crc mismatch`,n.mode=X;break}l=0,u=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=Xp;break;case Jp:for(;u<32;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}e.adler=n.check=ym(l),l=0,u=0,n.mode=Yp;case Yp:if(n.havedict===0)return e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,n.hold=l,n.bits=u,Pp;e.adler=n.check=1,n.mode=Xp;case Xp:if(t===Ap||t===jp)break inf_leave;case Zp:if(n.last){l>>>=u&7,u-=u&7,n.mode=dm;break}for(;u<3;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}switch(n.last=l&1,l>>>=1,--u,l&3){case 0:n.mode=Qp;break;case 1:if(Am(n),n.mode=im,t===jp){l>>>=2,u-=2;break inf_leave}break;case 2:n.mode=tm;break;case 3:e.msg=`invalid block type`,n.mode=X}l>>>=2,u-=2;break;case Qp:for(l>>>=u&7,u-=u&7;u<32;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if((l&65535)!=(l>>>16^65535)){e.msg=`invalid stored block lengths`,n.mode=X;break}if(n.length=l&65535,l=0,u=0,n.mode=$p,t===jp)break inf_leave;case $p:n.mode=em;case em:if(p=n.length,p){if(p>s&&(p=s),p>c&&(p=c),p===0)break inf_leave;i.set(r.subarray(a,a+p),o),s-=p,a+=p,c-=p,o+=p,n.length-=p;break}n.mode=Xp;break;case tm:for(;u<14;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.nlen=(l&31)+257,l>>>=5,u-=5,n.ndist=(l&31)+1,l>>>=5,u-=5,n.ncode=(l&15)+4,l>>>=4,u-=4,n.nlen>286||n.ndist>30){e.msg=`too many length or distance symbols`,n.mode=X;break}n.have=0,n.mode=nm;case nm:for(;n.have<n.ncode;){for(;u<3;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.lens[ee[n.have++]]=l&7,l>>>=3,u-=3}for(;n.have<19;)n.lens[ee[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,E={bits:n.lenbits},w=Tp(Ep,n.lens,0,19,n.lencode,0,n.work,E),n.lenbits=E.bits,w){e.msg=`invalid code lengths set`,n.mode=X;break}n.have=0,n.mode=rm;case rm:for(;n.have<n.nlen+n.ndist;){for(;g=n.lencode[l&(1<<n.lenbits)-1],_=g>>>24,v=g>>>16&255,y=g&65535,!(_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(y<16)l>>>=_,u-=_,n.lens[n.have++]=y;else{if(y===16){for(D=_+2;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(l>>>=_,u-=_,n.have===0){e.msg=`invalid bit length repeat`,n.mode=X;break}C=n.lens[n.have-1],p=3+(l&3),l>>>=2,u-=2}else if(y===17){for(D=_+3;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}l>>>=_,u-=_,C=0,p=3+(l&7),l>>>=3,u-=3}else{for(D=_+7;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}l>>>=_,u-=_,C=0,p=11+(l&127),l>>>=7,u-=7}if(n.have+p>n.nlen+n.ndist){e.msg=`invalid bit length repeat`,n.mode=X;break}for(;p--;)n.lens[n.have++]=C}}if(n.mode===X)break;if(n.lens[256]===0){e.msg=`invalid code -- missing end-of-block`,n.mode=X;break}if(n.lenbits=9,E={bits:n.lenbits},w=Tp(Dp,n.lens,0,n.nlen,n.lencode,0,n.work,E),n.lenbits=E.bits,w){e.msg=`invalid literal/lengths set`,n.mode=X;break}if(n.distbits=6,n.distcode=n.distdyn,E={bits:n.distbits},w=Tp(Op,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,E),n.distbits=E.bits,w){e.msg=`invalid distances set`,n.mode=X;break}if(n.mode=im,t===jp)break inf_leave;case im:n.mode=am;case am:if(s>=6&&c>=258){e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,n.hold=l,n.bits=u,pp(e,f),o=e.next_out,i=e.output,c=e.avail_out,a=e.next_in,r=e.input,s=e.avail_in,l=n.hold,u=n.bits,n.mode===Xp&&(n.back=-1);break}for(n.back=0;g=n.lencode[l&(1<<n.lenbits)-1],_=g>>>24,v=g>>>16&255,y=g&65535,!(_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(v&&!(v&240)){for(b=_,x=v,S=y;g=n.lencode[S+((l&(1<<b+x)-1)>>b)],_=g>>>24,v=g>>>16&255,y=g&65535,!(b+_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}l>>>=b,u-=b,n.back+=b}if(l>>>=_,u-=_,n.back+=_,n.length=y,v===0){n.mode=um;break}if(v&32){n.back=-1,n.mode=Xp;break}if(v&64){e.msg=`invalid literal/length code`,n.mode=X;break}n.extra=v&15,n.mode=om;case om:if(n.extra){for(D=n.extra;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.length+=l&(1<<n.extra)-1,l>>>=n.extra,u-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=sm;case sm:for(;g=n.distcode[l&(1<<n.distbits)-1],_=g>>>24,v=g>>>16&255,y=g&65535,!(_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(!(v&240)){for(b=_,x=v,S=y;g=n.distcode[S+((l&(1<<b+x)-1)>>b)],_=g>>>24,v=g>>>16&255,y=g&65535,!(b+_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}l>>>=b,u-=b,n.back+=b}if(l>>>=_,u-=_,n.back+=_,v&64){e.msg=`invalid distance code`,n.mode=X;break}n.offset=y,n.extra=v&15,n.mode=cm;case cm:if(n.extra){for(D=n.extra;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.offset+=l&(1<<n.extra)-1,l>>>=n.extra,u-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg=`invalid distance too far back`,n.mode=X;break}n.mode=lm;case lm:if(c===0)break inf_leave;if(p=f-c,n.offset>p){if(p=n.offset-p,p>n.whave&&n.sane){e.msg=`invalid distance too far back`,n.mode=X;break}p>n.wnext?(p-=n.wnext,m=n.wsize-p):m=n.wnext-p,p>n.length&&(p=n.length),h=n.window}else h=i,m=o-n.offset,p=n.length;p>c&&(p=c),c-=p,n.length-=p;do i[o++]=h[m++];while(--p);n.length===0&&(n.mode=am);break;case um:if(c===0)break inf_leave;i[o++]=n.length,c--,n.mode=am;break;case dm:if(n.wrap){for(;u<32;){if(s===0)break inf_leave;s--,l|=r[a++]<<u,u+=8}if(f-=c,e.total_out+=f,n.total+=f,n.wrap&4&&f&&(e.adler=n.check=n.flags?V(n.check,i,f,o-f):dd(n.check,i,f,o-f)),f=c,n.wrap&4&&(n.flags?l:ym(l))!==n.check){e.msg=`incorrect data check`,n.mode=X;break}l=0,u=0}n.mode=fm;case fm:if(n.wrap&&n.flags){for(;u<32;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.wrap&4&&l!==(n.total&4294967295)){e.msg=`incorrect length check`,n.mode=X;break}l=0,u=0}n.mode=pm;case pm:w=Np;break inf_leave;case X:w=Fp;break inf_leave;case mm:return Ip;case hm:default:return Y}return e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,n.hold=l,n.bits=u,(n.wsize||f!==e.avail_out&&n.mode<X&&(n.mode<dm||t!==kp))&&jm(e,e.output,e.next_out,f-e.avail_out),d-=e.avail_in,f-=e.avail_out,e.total_in+=d,e.total_out+=f,n.total+=f,n.wrap&4&&f&&(e.adler=n.check=n.flags?V(n.check,i,f,e.next_out-f):dd(n.check,i,f,e.next_out-f)),e.data_type=n.bits+(n.last?64:0)+(n.mode===Xp?128:0)+(n.mode===im||n.mode===$p?256:0),(d===0&&f===0||t===kp)&&w===Mp&&(w=Lp),w},Nm=e=>{if(xm(e))return Y;let t=e.state;return t.window&&=null,e.state=null,Mp},Pm=(e,t)=>{if(xm(e))return Y;let n=e.state;return n.wrap&2?(n.head=t,t.done=!1,Mp):Y},Fm=(e,t)=>{let n=t.length,r,i,a;return xm(e)||(r=e.state,r.wrap!==0&&r.mode!==Yp)?Y:r.mode===Yp&&(i=1,i=dd(i,t,n,0),i!==r.check)?Fp:(a=jm(e,t,n,n),a?(r.mode=mm,Ip):(r.havedict=1,Mp))},Im={inflateReset:Cm,inflateReset2:wm,inflateResetKeep:Sm,inflateInit:Em,inflateInit2:Tm,inflate:Mm,inflateEnd:Nm,inflateGetHeader:Pm,inflateSetDictionary:Fm,inflateInfo:`pako inflate (from Nodeca project)`};function Lm(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name=``,this.comment=``,this.hcrc=0,this.done=!1}var Rm=Lm,zm=Object.prototype.toString,{Z_NO_FLUSH:Bm,Z_FINISH:Vm,Z_OK:Hm,Z_STREAM_END:Um,Z_NEED_DICT:Wm,Z_STREAM_ERROR:Gm,Z_DATA_ERROR:Km,Z_MEM_ERROR:qm}=gd;function Jm(e){this.options=Bf.assign({chunkSize:1024*64,windowBits:15,to:``},e||{});let t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15||(t.windowBits|=15)),this.err=0,this.msg=``,this.ended=!1,this.chunks=[],this.strm=new Yf,this.strm.avail_out=0;let n=Im.inflateInit2(this.strm,t.windowBits);if(n!==Hm||(this.header=new Rm,Im.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary==`string`?t.dictionary=qf.string2buf(t.dictionary):zm.call(t.dictionary)===`[object ArrayBuffer]`&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=Im.inflateSetDictionary(this.strm,t.dictionary),n!==Hm))))throw Error(hd[n])}Jm.prototype.push=function(e,t){let n=this.strm,r=this.options.chunkSize,i=this.options.dictionary,a,o,s;if(this.ended)return!1;for(o=t===~~t?t:t===!0?Vm:Bm,zm.call(e)===`[object ArrayBuffer]`?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;){for(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),a=Im.inflate(n,o),a===Wm&&i&&(a=Im.inflateSetDictionary(n,i),a===Hm?a=Im.inflate(n,o):a===Km&&(a=Wm));n.avail_in>0&&a===Um&&n.state.wrap>0&&e[n.next_in]!==0;)Im.inflateReset(n),a=Im.inflate(n,o);switch(a){case Gm:case Km:case Wm:case qm:return this.onEnd(a),this.ended=!0,!1}if(s=n.avail_out,n.next_out&&(n.avail_out===0||a===Um))if(this.options.to===`string`){let e=qf.utf8border(n.output,n.next_out),t=n.next_out-e,i=qf.buf2string(n.output,e);n.next_out=t,n.avail_out=r-t,t&&n.output.set(n.output.subarray(e,e+t),0),this.onData(i)}else this.onData(n.output.length===n.next_out?n.output:n.output.subarray(0,n.next_out));if(!(a===Hm&&s===0)){if(a===Um)return a=Im.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,!0;if(n.avail_in===0)break}}return!0},Jm.prototype.onData=function(e){this.chunks.push(e)},Jm.prototype.onEnd=function(e){e===Hm&&(this.options.to===`string`?this.result=this.chunks.join(``):this.result=Bf.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Ym(e,t){let n=new Jm(t);if(n.push(e),n.err)throw n.msg||hd[n.err];return n.result}function Xm(e,t){return t||={},t.raw=!0,Ym(e,t)}var Zm={Inflate:Jm,inflate:Ym,inflateRaw:Xm,ungzip:Ym,constants:gd},{Deflate:Qm,deflate:$m,deflateRaw:eh,gzip:th}=up,{Inflate:nh,inflate:rh,inflateRaw:ih,ungzip:ah}=Zm,oh=Qm,sh=$m,ch=eh,lh=th,uh=nh,dh=rh,fh=ih,ph=ah,mh=gd,hh={Deflate:oh,deflate:sh,deflateRaw:ch,gzip:lh,Inflate:uh,inflate:dh,inflateRaw:fh,ungzip:ph,constants:mh},gh=o(((e,t)=>{function n(e){if(!(e instanceof ArrayBuffer))throw TypeError(`arrayBuffer is not an instance of ArrayBuffer.`);for(var t=new s(e),n=[];t.hasNext();){var r=t.next();n.push(r)}return n}t.exports=n;function r(e){for(var t=``,n=0;n<e.length;){var r=e[n++];if(r>127){if(r>191&&r<224){if(n>=e.length)throw`UTF-8 decode: incomplete 2-byte sequence`;r=(r&31)<<6|e[n]&63}else if(r>223&&r<240){if(n+1>=e.length)throw`UTF-8 decode: incomplete 3-byte sequence`;r=(r&15)<<12|(e[n]&63)<<6|e[++n]&63}else if(r>239&&r<248){if(n+2>=e.length)throw`UTF-8 decode: incomplete 4-byte sequence`;r=(r&7)<<18|(e[n]&63)<<12|(e[++n]&63)<<6|e[++n]&63}else throw`UTF-8 decode: unknown multibyte start 0x`+r.toString(16)+` at index `+(n-1);++n}if(r<=65535)t+=String.fromCharCode(r);else if(r<=1114111)r-=65536,t+=String.fromCharCode(r>>10|55296),t+=String.fromCharCode(r&1023|56320);else throw`UTF-8 decode: code point 0x`+r.toString(16)+` exceeds UTF-16 reach`}return t}function i(e){this._fields=e}i.parse=function(e){for(var t=new Uint8Array(e),n=[];t.length>0;){var a=parseInt(r(t.subarray(0,t.indexOf(32)))),o=r(t.subarray(0,a)).match(/^\d+ ([^=]+)=(.*)\n$/);if(o===null)throw Error(`Invalid PAX header data format.`);var s=o[1],c=o[2];c.length===0?c=null:c.match(/^\d+$/)!==null&&(c=parseInt(c));var l={name:s,value:c};n.push(l),t=t.subarray(a)}return new i(n)},i.prototype={applyHeader:function(e){this._fields.forEach(function(t){var n=t.name,r=t.value;n===`path`?(n=`name`,e.prefix!==void 0&&delete e.prefix):n===`linkpath`&&(n=`linkname`),r===null?delete e[n]:e[n]=r})}};function a(){}function o(e){this._bufferView=new DataView(e),this._position=0}o.prototype={readString:function(e){for(var t=1,n=e*t,r=[],i=0;i<e;++i){var a=this._bufferView.getUint8(this.position()+i*t,!0);if(a!==0)r.push(a);else break}return this.seek(n),String.fromCharCode.apply(null,r)},readBuffer:function(e){var t;if(typeof ArrayBuffer.prototype.slice==`function`)t=this._bufferView.buffer.slice(this.position(),this.position()+e);else{t=new ArrayBuffer(e);var n=new Uint8Array(t),r=new Uint8Array(this._bufferView.buffer,this.position(),e);n.set(r)}return this.seek(e),t},seek:function(e){this._position+=e},peekUint32:function(){return this._bufferView.getUint32(this.position(),!0)},position:function(e){if(e===void 0)return this._position;this._position=e},size:function(){return this._bufferView.byteLength}};function s(e){this._stream=new o(e),this._globalPaxHeader=null}s.prototype={hasNext:function(){return this._stream.position()+4<this._stream.size()&&this._stream.peekUint32()!==0},next:function(){return this._readNextFile()},_readNextFile:function(){var e=this._stream,t=new a,n=!1,r=null,o=e.position()+512;switch(t.name=e.readString(100),t.mode=e.readString(8),t.uid=parseInt(e.readString(8)),t.gid=parseInt(e.readString(8)),t.size=parseInt(e.readString(12),8),t.mtime=parseInt(e.readString(12),8),t.checksum=parseInt(e.readString(8)),t.type=e.readString(1),t.linkname=e.readString(100),t.ustarFormat=e.readString(6),t.ustarFormat.indexOf(`ustar`)>-1&&(t.version=e.readString(2),t.uname=e.readString(32),t.gname=e.readString(32),t.devmajor=parseInt(e.readString(8)),t.devminor=parseInt(e.readString(8)),t.namePrefix=e.readString(155),t.namePrefix.length>0&&(t.name=t.namePrefix+`/`+t.name)),e.position(o),t.type){case`0`:case``:t.buffer=e.readBuffer(t.size);break;case`1`:break;case`2`:break;case`3`:break;case`4`:break;case`5`:break;case`6`:break;case`7`:break;case`g`:n=!0,this._globalPaxHeader=i.parse(e.readBuffer(t.size));break;case`x`:n=!0,r=i.parse(e.readBuffer(t.size));break;default:break}t.buffer===void 0&&(t.buffer=new ArrayBuffer(0));var s=o+t.size;return t.size%512!=0&&(s+=512-t.size%512),e.position(s),n&&(t=this._readNextFile()),this._globalPaxHeader!==null&&this._globalPaxHeader.applyHeader(t),r!==null&&r.applyHeader(t),t}}})),_h=c(gh()),vh=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,bh.unregister(this),e}free(){let e=this.__destroy_into_raw();$.__wbg_typst_free(e,0)}cetz_to_tikz(e){let t,n;try{let r=Z(e,$.__wbindgen_malloc,$.__wbindgen_realloc),i=Q,a=$.typst_cetz_to_tikz(this.__wbg_ptr,r,i);return t=a[0],n=a[1],Eh(a[0],a[1])}finally{$.__wbindgen_free(t,n,1)}}get_font_info(e){return $.typst_get_font_info(this.__wbg_ptr,e)}jump_from_click(e,t){return $.typst_jump_from_click(this.__wbg_ptr,e,t)}latex_to_typst(e){let t,n;try{let r=Z(e,$.__wbindgen_malloc,$.__wbindgen_realloc),i=Q,a=$.typst_latex_to_typst(this.__wbg_ptr,r,i);return t=a[0],n=a[1],Eh(a[0],a[1])}finally{$.__wbindgen_free(t,n,1)}}latexeq_to_typm(e){let t,n;try{let r=Z(e,$.__wbindgen_malloc,$.__wbindgen_realloc),i=Q,a=$.typst_latexeq_to_typm(this.__wbg_ptr,r,i);return t=a[0],n=a[1],Eh(a[0],a[1])}finally{$.__wbindgen_free(t,n,1)}}list_fonts(){return $.typst_list_fonts(this.__wbg_ptr)}list_packages(){return $.typst_list_packages(this.__wbg_ptr)}constructor(e,t,n,r){let i=Z(e,$.__wbindgen_malloc,$.__wbindgen_realloc),a=Q;return this.__wbg_ptr=$.typst_new(i,a,t,n,r)>>>0,bh.register(this,this.__wbg_ptr,this),this}pdf(e,t){let n=Z(e,$.__wbindgen_malloc,$.__wbindgen_realloc),r=Q,i=Z(t,$.__wbindgen_malloc,$.__wbindgen_realloc),a=Q,o=$.typst_pdf(this.__wbg_ptr,n,r,i,a);if(o[2])throw Mh(o[1]);return Mh(o[0])}set_offset(e){$.typst_set_offset(this.__wbg_ptr,e)}store(e,t,n){let r=jh(e,$.__wbindgen_malloc),i=Q,a=$.typst_store(this.__wbg_ptr,r,i,t,n);if(a[1])throw Mh(a[0])}svg(e,t,n,r){let i=Z(e,$.__wbindgen_malloc,$.__wbindgen_realloc),a=Q,o=Z(t,$.__wbindgen_malloc,$.__wbindgen_realloc),s=Q,c=Z(n,$.__wbindgen_malloc,$.__wbindgen_realloc),l=Q,u=Z(r,$.__wbindgen_malloc,$.__wbindgen_realloc),d=Q,f=$.typst_svg(this.__wbg_ptr,i,a,o,s,c,l,u,d);if(f[2])throw Mh(f[1]);return Mh(f[0])}tikz_to_cetz(e){let t,n;try{let r=Z(e,$.__wbindgen_malloc,$.__wbindgen_realloc),i=Q,a=$.typst_tikz_to_cetz(this.__wbg_ptr,r,i);return t=a[0],n=a[1],Eh(a[0],a[1])}finally{$.__wbindgen_free(t,n,1)}}typm_to_latexeq(e){let t,n;try{let r=Z(e,$.__wbindgen_malloc,$.__wbindgen_realloc),i=Q,a=$.typst_typm_to_latexeq(this.__wbg_ptr,r,i);return t=a[0],n=a[1],Eh(a[0],a[1])}finally{$.__wbindgen_free(t,n,1)}}typst_to_latex(e){let t,n;try{let r=Z(e,$.__wbindgen_malloc,$.__wbindgen_realloc),i=Q,a=$.typst_typst_to_latex(this.__wbg_ptr,r,i);return t=a[0],n=a[1],Eh(a[0],a[1])}finally{$.__wbindgen_free(t,n,1)}}};Symbol.dispose&&(vh.prototype[Symbol.dispose]=vh.prototype.free);function yh(){let e={__proto__:null,__wbg_Error_4577686b3a6d9b3a:function(e,t){return Error(Eh(e,t))},__wbg_Number_e89e48a2fe1a6355:function(e){return Number(e)},__wbg_String_8564e559799eccda:function(e,t){let n=Z(String(t),$.__wbindgen_malloc,$.__wbindgen_realloc),r=Q;Th().setInt32(e+4,r,!0),Th().setInt32(e+0,n,!0)},__wbg___wbindgen_boolean_get_18c4ed9422296fff:function(e){let t=e,n=typeof t==`boolean`?t:void 0;return Ah(n)?16777215:n?1:0},__wbg___wbindgen_debug_string_ddde1867f49c2442:function(e,t){let n=Z(Sh(t),$.__wbindgen_malloc,$.__wbindgen_realloc),r=Q;Th().setInt32(e+4,r,!0),Th().setInt32(e+0,n,!0)},__wbg___wbindgen_is_function_d633e708baf0d146:function(e){return typeof e==`function`},__wbg___wbindgen_is_object_4b3de556756ee8a8:function(e){let t=e;return typeof t==`object`&&!!t},__wbg___wbindgen_jsval_loose_eq_1562ceb9af84e990:function(e,t){return e==t},__wbg___wbindgen_number_get_5854912275df1894:function(e,t){let n=t,r=typeof n==`number`?n:void 0;Th().setFloat64(e+8,Ah(r)?0:r,!0),Th().setInt32(e+0,!Ah(r),!0)},__wbg___wbindgen_string_get_3e5751597f39a112:function(e,t){let n=t,r=typeof n==`string`?n:void 0;var i=Ah(r)?0:Z(r,$.__wbindgen_malloc,$.__wbindgen_realloc),a=Q;Th().setInt32(e+4,a,!0),Th().setInt32(e+0,i,!0)},__wbg___wbindgen_throw_39bc967c0e5a9b58:function(e,t){throw Error(Eh(e,t))},__wbg_call_08ad0d89caa7cb79:function(){return kh(function(e,t,n){return e.call(t,n)},arguments)},__wbg_call_73af281463ec8b58:function(){return kh(function(e,t){return e.call(t)},arguments)},__wbg_done_5aad55ec6b1954b1:function(e){return e.done},__wbg_entries_28d32ba4cd93f5fc:function(e){return Object.entries(e)},__wbg_getTime_9429d05129287418:function(e){return e.getTime()},__wbg_getTimezoneOffset_eeb05f23347950d1:function(e){return e.getTimezoneOffset()},__wbg_get_4920fefd3451364b:function(){return kh(function(e,t){return Reflect.get(e,t)},arguments)},__wbg_get_f09c3a16f8848381:function(e,t){return e[t>>>0]},__wbg_get_unchecked_3d0f4b91c8eca4f0:function(e,t){return e[t>>>0]},__wbg_instanceof_ArrayBuffer_15859862b80b732d:function(e){let t;try{t=e instanceof ArrayBuffer}catch{t=!1}return t},__wbg_instanceof_Uint8Array_2240b7046ac16f05:function(e){let t;try{t=e instanceof Uint8Array}catch{t=!1}return t},__wbg_isArray_fad08a0d12828686:function(e){return Array.isArray(e)},__wbg_isSafeInteger_10e4151eb694e42a:function(e){return Number.isSafeInteger(e)},__wbg_iterator_fc7ad8d33bab9e26:function(){return Symbol.iterator},__wbg_length_5855c1f289dfffc1:function(e){return e.length},__wbg_length_a31e05262e09b7f8:function(e){return e.length},__wbg_new_09959f7b4c92c246:function(e){return new Uint8Array(e)},__wbg_new_0_a719938e6f92ddf4:function(){return new Date},__wbg_new_223944ca37c18764:function(e){return new Date(e)},__wbg_new_cbee8c0d5c479eac:function(){return[]},__wbg_new_ed69e637b553a997:function(){return{}},__wbg_next_a5fe6f328f7affc2:function(e){return e.next},__wbg_next_e592122bb4ed4c67:function(){return kh(function(e){return e.next()},arguments)},__wbg_prototypesetcall_f034d444741426c3:function(e,t,n){Uint8Array.prototype.set.call(Ch(e,t),n)},__wbg_set_4c81cfb5dc3a333c:function(e,t,n){e[t>>>0]=n},__wbg_set_6be42768c690e380:function(e,t,n){e[t]=n},__wbg_value_667dcb90597486a6:function(e){return e.value},__wbindgen_cast_0000000000000001:function(e){return e},__wbindgen_cast_0000000000000002:function(e,t){return Eh(e,t)},__wbindgen_cast_0000000000000003:function(e){return BigInt.asUintN(64,e)},__wbindgen_init_externref_table:function(){let e=$.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}};return{__proto__:null,"./typst_wasm_bg.js":e}}var bh=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>$.__wbg_typst_free(e>>>0,1));function xh(e){let t=$.__externref_table_alloc();return $.__wbindgen_externrefs.set(t,e),t}function Sh(e){let t=typeof e;if(t==`number`||t==`boolean`||e==null)return`${e}`;if(t==`string`)return`"${e}"`;if(t==`symbol`){let t=e.description;return t==null?`Symbol`:`Symbol(${t})`}if(t==`function`){let t=e.name;return typeof t==`string`&&t.length>0?`Function(${t})`:`Function`}if(Array.isArray(e)){let t=e.length,n=`[`;t>0&&(n+=Sh(e[0]));for(let r=1;r<t;r++)n+=`, `+Sh(e[r]);return n+=`]`,n}let n=/\[object ([^\]]+)\]/.exec(toString.call(e)),r;if(n&&n.length>1)r=n[1];else return toString.call(e);if(r==`Object`)try{return`Object(`+JSON.stringify(e)+`)`}catch{return`Object`}return e instanceof Error?`${e.name}: ${e.message}\n${e.stack}`:r}function Ch(e,t){return e>>>=0,Oh().subarray(e/1,e/1+t)}var wh=null;function Th(){return(wh===null||wh.buffer.detached===!0||wh.buffer.detached===void 0&&wh.buffer!==$.memory.buffer)&&(wh=new DataView($.memory.buffer)),wh}function Eh(e,t){return e>>>=0,Ih(e,t)}var Dh=null;function Oh(){return(Dh===null||Dh.byteLength===0)&&(Dh=new Uint8Array($.memory.buffer)),Dh}function kh(e,t){try{return e.apply(this,t)}catch(e){let t=xh(e);$.__wbindgen_exn_store(t)}}function Ah(e){return e==null}function jh(e,t){let n=t(e.length*4,4)>>>0;for(let t=0;t<e.length;t++){let r=xh(e[t]);Th().setUint32(n+4*t,r,!0)}return Q=e.length,n}function Z(e,t,n){if(n===void 0){let n=Lh.encode(e),r=t(n.length,1)>>>0;return Oh().subarray(r,r+n.length).set(n),Q=n.length,r}let r=e.length,i=t(r,1)>>>0,a=Oh(),o=0;for(;o<r;o++){let t=e.charCodeAt(o);if(t>127)break;a[i+o]=t}if(o!==r){o!==0&&(e=e.slice(o)),i=n(i,r,r=o+e.length*3,1)>>>0;let t=Oh().subarray(i+o,i+r),a=Lh.encodeInto(e,t);o+=a.written,i=n(i,r,o,1)>>>0}return Q=o,i}function Mh(e){let t=$.__wbindgen_externrefs.get(e);return $.__externref_table_dealloc(e),t}var Nh=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0});Nh.decode();var Ph=2146435072,Fh=0;function Ih(e,t){return Fh+=t,Fh>=Ph&&(Nh=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}),Nh.decode(),Fh=t),Nh.decode(Oh().subarray(e,e+t))}var Lh=new TextEncoder;`encodeInto`in Lh||(Lh.encodeInto=function(e,t){let n=Lh.encode(e);return t.set(n),{read:e.length,written:n.length}});var Q=0,$;function Rh(e,t){return $=e.exports,wh=null,Dh=null,$.__wbindgen_start(),$}async function zh(e,t){if(typeof Response==`function`&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming==`function`)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if(e.ok&&n(e.type)&&e.headers.get(`Content-Type`)!==`application/wasm`)console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t);else throw t}let r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}else{let n=await WebAssembly.instantiate(e,t);return n instanceof WebAssembly.Instance?{instance:n,module:e}:n}function n(e){switch(e){case`basic`:case`cors`:case`default`:return!0}return!1}}async function Bh(e){if($!==void 0)return $;e!==void 0&&(Object.getPrototypeOf(e)===Object.prototype?{module_or_path:e}=e:console.warn(`using deprecated parameters for the initialization function; pass a single object instead`)),e===void 0&&(e=new URL(`typst_wasm_bg.wasm`,``+{}.url));let t=yh();(typeof e==`string`||typeof Request==`function`&&e instanceof Request||typeof URL==`function`&&e instanceof URL)&&(e=fetch(e));let{instance:n,module:r}=await zh(await e,t);return Rh(n,r)}var Vh,Hh=new Map,Uh=new XMLHttpRequest;Uh.overrideMimeType(`text/plain; charset=x-user-defined`);var Wh=class{module;typst;localPackagesDirPaths;fs;path;baseDirPath;constructor(e,t,n){if(this.localPackagesDirPaths=e,this.baseDirPath=t,n){let e=(0,eval)(`require`);this.fs=e(`node:fs`),this.path=e(`node:path`)}}async init(e,t,n){this.typst&&this.typst.free(),this.module=await Bh({module_or_path:await WebAssembly.compile(e)}),this.typst=new vh(this.baseDirPath,this.fetch.bind(this),t,n)}setOffset(e){this.typst.set_offset(e)}store(e){this.typst.store(e.fonts??[],e.sources??[],e.files??[])}svg(e,t,n,r){return this.typst.svg(e,t,n,r)}pdf(e,t){return this.typst.pdf(e,t)}listFonts(){return this.typst.list_fonts()}parseFont(e){return this.typst.get_font_info(e)}listPackages(){return this.typst.list_packages()}latex_to_typst(e){return this.typst.latex_to_typst(e)}typst_to_latex(e){return this.typst.typst_to_latex(e)}latexeq_to_typm(e){return this.typst.latexeq_to_typm(e)}typm_to_latexeq(e){return this.typst.typm_to_latexeq(e)}tikz_to_cetz(e){return this.typst.tikz_to_cetz(e)}cetz_to_tikz(e){return this.typst.cetz_to_tikz(e)}jumpFromClick(e,t){return this.typst.jump_from_click(e,t)}fetch(e){if(Hh.has(e)){let t=Hh.get(e);if(t)return t;throw 12}let t=!1,n=(e,t)=>{let n=(this.fs?.readFileSync??Vh.readBinary)(t);if(n instanceof Promise)n.then(t=>{Hh.set(e,new Uint8Array(t))}).catch(()=>{Hh.has(e)||Hh.set(e,void 0)});else return Hh.set(e,n),new Uint8Array(n);throw 0};if(e.startsWith(`@`)){t=!0,e=e.slice(1);let[r,i,a]=e.split(`/`),o=e.split(`/`).slice(3).join(`/`),s=`${r}/${i}/${a}`;if(r===`preview`){if(this.fs)try{return n(`@${e}`,`${this.localPackagesDirPaths[0]}/${s}/${o}`)}catch{}if(o===`typst.toml`&&Vh.notice(`Downloading ${i}...`,500),Uh.open(`GET`,`https://packages.typst.org/preview/${i}-${a}.tar.gz`,!1),Uh.send(null),Uh.status===0)throw 21;if(Uh.status===404)throw 22;if(!Uh.responseText===null)throw 20;try{let e=Uh.responseText,t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n)&255;let n=hh.ungzip(t).buffer,r=(0,_h.default)(n);Vh.writePackage(s,r);for(let e of r.filter(e=>e.type===`0`))Hh.set(`@${s}/${e.name}`,new Uint8Array(e.buffer));for(let e of r.filter(e=>e.type===`2`))Hh.set(`@${s}/${e.name}`,new Uint8Array(Hh.get(e.linkname)?.buffer||new ArrayBuffer(0)));o===`typst.toml`&&Vh.notice(`Downloaded successfully!`,500)}catch(e){throw console.error(e),20}return Hh.get(`@${s}/${o}`)}}if(t)for(let t of this.localPackagesDirPaths)try{return n(`@${e}`,`${t}/${e}`)}catch{}else return n(e,e);throw 0}setMain(e){Vh=e}};T(Wh,self);var Gh='(function(){var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));\n/**\n* @license\n* Copyright 2019 Google LLC\n* SPDX-License-Identifier: Apache-2.0\n*/\nlet l=Symbol(`Comlink.proxy`),u=Symbol(`Comlink.endpoint`),d=Symbol(`Comlink.releaseProxy`),f=Symbol(`Comlink.finalizer`),p=Symbol(`Comlink.thrown`),m=e=>typeof e==`object`&&!!e||typeof e==`function`,h=new Map([[`proxy`,{canHandle:e=>m(e)&&e[l],serialize(e){let{port1:t,port2:n}=new MessageChannel;return _(e,t),[n,[n]]},deserialize(e){return e.start(),b(e)}}],[`throw`,{canHandle:e=>m(e)&&p in e,serialize({value:e}){let t;return t=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[t,[]]},deserialize(e){throw e.isError?Object.assign(Error(e.value.message),e.value):e.value}}]]);function g(e,t){for(let n of e)if(t===n||n===`*`||n instanceof RegExp&&n.test(t))return!0;return!1}function _(e,t=globalThis,n=[`*`]){t.addEventListener(`message`,function r(i){if(!i||!i.data)return;if(!g(n,i.origin)){console.warn(`Invalid origin \'${i.origin}\' for comlink proxy`);return}let{id:a,type:o,path:s}=Object.assign({path:[]},i.data),c=(i.data.argumentList||[]).map(ae),l;try{let t=s.slice(0,-1).reduce((e,t)=>e[t],e),n=s.reduce((e,t)=>e[t],e);switch(o){case`GET`:l=n;break;case`SET`:t[s.slice(-1)[0]]=ae(i.data.value),l=!0;break;case`APPLY`:l=n.apply(t,c);break;case`CONSTRUCT`:l=re(new n(...c));break;case`ENDPOINT`:{let{port1:t,port2:n}=new MessageChannel;_(e,n),l=ne(t,[t])}break;case`RELEASE`:l=void 0;break;default:return}}catch(e){l={value:e,[p]:0}}Promise.resolve(l).catch(e=>({value:e,[p]:0})).then(n=>{let[i,s]=ie(n);t.postMessage(Object.assign(Object.assign({},i),{id:a}),s),o===`RELEASE`&&(t.removeEventListener(`message`,r),y(t),f in e&&typeof e[f]==`function`&&e[f]())}).catch(e=>{let[n,r]=ie({value:TypeError(`Unserializable return value`),[p]:0});t.postMessage(Object.assign(Object.assign({},n),{id:a}),r)})}),t.start&&t.start()}function v(e){return e.constructor.name===`MessagePort`}function y(e){v(e)&&e.close()}function b(e,t){let n=new Map;return e.addEventListener(`message`,function(e){let{data:t}=e;if(!t||!t.id)return;let r=n.get(t.id);if(r)try{r(t)}finally{n.delete(t.id)}}),D(e,n,[],t)}function x(e){if(e)throw Error(`Proxy has been released and is not useable`)}function S(e){return oe(e,new Map,{type:`RELEASE`}).then(()=>{y(e)})}let C=new WeakMap,w=`FinalizationRegistry`in globalThis&&new FinalizationRegistry(e=>{let t=(C.get(e)||0)-1;C.set(e,t),t===0&&S(e)});function T(e,t){let n=(C.get(t)||0)+1;C.set(t,n),w&&w.register(e,t,e)}function E(e){w&&w.unregister(e)}function D(e,t,n=[],r=function(){}){let i=!1,a=new Proxy(r,{get(r,o){if(x(i),o===d)return()=>{E(a),S(e),t.clear(),i=!0};if(o===`then`){if(n.length===0)return{then:()=>a};let r=oe(e,t,{type:`GET`,path:n.map(e=>e.toString())}).then(ae);return r.then.bind(r)}return D(e,t,[...n,o])},set(r,a,o){x(i);let[s,c]=ie(o);return oe(e,t,{type:`SET`,path:[...n,a].map(e=>e.toString()),value:s},c).then(ae)},apply(r,a,o){x(i);let s=n[n.length-1];if(s===u)return oe(e,t,{type:`ENDPOINT`}).then(ae);if(s===`bind`)return D(e,t,n.slice(0,-1));let[c,l]=ee(o);return oe(e,t,{type:`APPLY`,path:n.map(e=>e.toString()),argumentList:c},l).then(ae)},construct(r,a){x(i);let[o,s]=ee(a);return oe(e,t,{type:`CONSTRUCT`,path:n.map(e=>e.toString()),argumentList:o},s).then(ae)}});return T(a,e),a}function O(e){return Array.prototype.concat.apply([],e)}function ee(e){let t=e.map(ie);return[t.map(e=>e[0]),O(t.map(e=>e[1]))]}let te=new WeakMap;function ne(e,t){return te.set(e,t),e}function re(e){return Object.assign(e,{[l]:!0})}function ie(e){for(let[t,n]of h)if(n.canHandle(e)){let[r,i]=n.serialize(e);return[{type:`HANDLER`,name:t,value:r},i]}return[{type:`RAW`,value:e},te.get(e)||[]]}function ae(e){switch(e.type){case`HANDLER`:return h.get(e.name).deserialize(e.value);case`RAW`:return e.value}}function oe(e,t,n,r){return new Promise(i=>{let a=se();t.set(a,i),e.start&&e.start(),e.postMessage(Object.assign({id:a},n),r)})}function se(){return[,,,,].fill(0).map(()=>Math.floor(Math.random()*(2**53-1)).toString(16)).join(`-`)}function ce(e){let t=e.length;for(;--t>=0;)e[t]=0}let le=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),ue=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),de=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),fe=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),k=Array(288*2);ce(k);let pe=Array(60);ce(pe);let me=Array(512);ce(me);let he=Array(256);ce(he);let ge=Array(29);ce(ge);let _e=Array(30);ce(_e);function ve(e,t,n,r,i){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=e&&e.length}let ye,be,xe;function Se(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}let Ce=e=>e<256?me[e]:me[256+(e>>>7)],we=(e,t)=>{e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255},A=(e,t,n)=>{e.bi_valid>16-n?(e.bi_buf|=t<<e.bi_valid&65535,we(e,e.bi_buf),e.bi_buf=t>>16-e.bi_valid,e.bi_valid+=n-16):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)},j=(e,t,n)=>{A(e,n[t*2],n[t*2+1])},Te=(e,t)=>{let n=0;do n|=e&1,e>>>=1,n<<=1;while(--t>0);return n>>>1},Ee=e=>{e.bi_valid===16?(we(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)},De=(e,t)=>{let n=t.dyn_tree,r=t.max_code,i=t.stat_desc.static_tree,a=t.stat_desc.has_stree,o=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,c=t.stat_desc.max_length,l,u,d,f,p,m,h=0;for(f=0;f<=15;f++)e.bl_count[f]=0;for(n[e.heap[e.heap_max]*2+1]=0,l=e.heap_max+1;l<573;l++)u=e.heap[l],f=n[n[u*2+1]*2+1]+1,f>c&&(f=c,h++),n[u*2+1]=f,!(u>r)&&(e.bl_count[f]++,p=0,u>=s&&(p=o[u-s]),m=n[u*2],e.opt_len+=m*(f+p),a&&(e.static_len+=m*(i[u*2+1]+p)));if(h!==0){do{for(f=c-1;e.bl_count[f]===0;)f--;e.bl_count[f]--,e.bl_count[f+1]+=2,e.bl_count[c]--,h-=2}while(h>0);for(f=c;f!==0;f--)for(u=e.bl_count[f];u!==0;)d=e.heap[--l],!(d>r)&&(n[d*2+1]!==f&&(e.opt_len+=(f-n[d*2+1])*n[d*2],n[d*2+1]=f),u--)}},Oe=(e,t,n)=>{let r=Array(16),i=0,a,o;for(a=1;a<=15;a++)i=i+n[a-1]<<1,r[a]=i;for(o=0;o<=t;o++){let t=e[o*2+1];t!==0&&(e[o*2]=Te(r[t]++,t))}},ke=()=>{let e,t,n,r,i,a=Array(16);for(n=0,r=0;r<28;r++)for(ge[r]=n,e=0;e<1<<le[r];e++)he[n++]=r;for(he[n-1]=r,i=0,r=0;r<16;r++)for(_e[r]=i,e=0;e<1<<ue[r];e++)me[i++]=r;for(i>>=7;r<30;r++)for(_e[r]=i<<7,e=0;e<1<<ue[r]-7;e++)me[256+ i++]=r;for(t=0;t<=15;t++)a[t]=0;for(e=0;e<=143;)k[e*2+1]=8,e++,a[8]++;for(;e<=255;)k[e*2+1]=9,e++,a[9]++;for(;e<=279;)k[e*2+1]=7,e++,a[7]++;for(;e<=287;)k[e*2+1]=8,e++,a[8]++;for(Oe(k,287,a),e=0;e<30;e++)pe[e*2+1]=5,pe[e*2]=Te(e,5);ye=new ve(k,le,257,286,15),be=new ve(pe,ue,0,30,15),xe=new ve([],de,0,19,7)},Ae=e=>{let t;for(t=0;t<286;t++)e.dyn_ltree[t*2]=0;for(t=0;t<30;t++)e.dyn_dtree[t*2]=0;for(t=0;t<19;t++)e.bl_tree[t*2]=0;e.dyn_ltree[256*2]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},je=e=>{e.bi_valid>8?we(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},Me=(e,t,n,r)=>{let i=t*2,a=n*2;return e[i]<e[a]||e[i]===e[a]&&r[t]<=r[n]},Ne=(e,t,n)=>{let r=e.heap[n],i=n<<1;for(;i<=e.heap_len&&(i<e.heap_len&&Me(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!Me(t,r,e.heap[i],e.depth));)e.heap[n]=e.heap[i],n=i,i<<=1;e.heap[n]=r},Pe=(e,t,n)=>{let r,i,a=0,o,s;if(e.sym_next!==0)do r=e.pending_buf[e.sym_buf+ a++]&255,r+=(e.pending_buf[e.sym_buf+ a++]&255)<<8,i=e.pending_buf[e.sym_buf+ a++],r===0?j(e,i,t):(o=he[i],j(e,o+256+1,t),s=le[o],s!==0&&(i-=ge[o],A(e,i,s)),r--,o=Ce(r),j(e,o,n),s=ue[o],s!==0&&(r-=_e[o],A(e,r,s)));while(a<e.sym_next);j(e,256,t)},Fe=(e,t)=>{let n=t.dyn_tree,r=t.stat_desc.static_tree,i=t.stat_desc.has_stree,a=t.stat_desc.elems,o,s,c=-1,l;for(e.heap_len=0,e.heap_max=573,o=0;o<a;o++)n[o*2]===0?n[o*2+1]=0:(e.heap[++e.heap_len]=c=o,e.depth[o]=0);for(;e.heap_len<2;)l=e.heap[++e.heap_len]=c<2?++c:0,n[l*2]=1,e.depth[l]=0,e.opt_len--,i&&(e.static_len-=r[l*2+1]);for(t.max_code=c,o=e.heap_len>>1;o>=1;o--)Ne(e,n,o);l=a;do o=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Ne(e,n,1),s=e.heap[1],e.heap[--e.heap_max]=o,e.heap[--e.heap_max]=s,n[l*2]=n[o*2]+n[s*2],e.depth[l]=(e.depth[o]>=e.depth[s]?e.depth[o]:e.depth[s])+1,n[o*2+1]=n[s*2+1]=l,e.heap[1]=l++,Ne(e,n,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],De(e,t),Oe(n,c,e.bl_count)},Ie=(e,t,n)=>{let r,i=-1,a,o=t[1],s=0,c=7,l=4;for(o===0&&(c=138,l=3),t[(n+1)*2+1]=65535,r=0;r<=n;r++)a=o,o=t[(r+1)*2+1],!(++s<c&&a===o)&&(s<l?e.bl_tree[a*2]+=s:a===0?s<=10?e.bl_tree[34]++:e.bl_tree[36]++:(a!==i&&e.bl_tree[a*2]++,e.bl_tree[32]++),s=0,i=a,o===0?(c=138,l=3):a===o?(c=6,l=3):(c=7,l=4))},Le=(e,t,n)=>{let r,i=-1,a,o=t[1],s=0,c=7,l=4;for(o===0&&(c=138,l=3),r=0;r<=n;r++)if(a=o,o=t[(r+1)*2+1],!(++s<c&&a===o)){if(s<l)do j(e,a,e.bl_tree);while(--s!==0);else a===0?s<=10?(j(e,17,e.bl_tree),A(e,s-3,3)):(j(e,18,e.bl_tree),A(e,s-11,7)):(a!==i&&(j(e,a,e.bl_tree),s--),j(e,16,e.bl_tree),A(e,s-3,2));s=0,i=a,o===0?(c=138,l=3):a===o?(c=6,l=3):(c=7,l=4)}},Re=e=>{let t;for(Ie(e,e.dyn_ltree,e.l_desc.max_code),Ie(e,e.dyn_dtree,e.d_desc.max_code),Fe(e,e.bl_desc),t=18;t>=3&&e.bl_tree[fe[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t},ze=(e,t,n,r)=>{let i;for(A(e,t-257,5),A(e,n-1,5),A(e,r-4,4),i=0;i<r;i++)A(e,e.bl_tree[fe[i]*2+1],3);Le(e,e.dyn_ltree,t-1),Le(e,e.dyn_dtree,n-1)},Be=e=>{let t=4093624447,n;for(n=0;n<=31;n++,t>>>=1)if(t&1&&e.dyn_ltree[n*2]!==0)return 0;if(e.dyn_ltree[18]!==0||e.dyn_ltree[20]!==0||e.dyn_ltree[26]!==0)return 1;for(n=32;n<256;n++)if(e.dyn_ltree[n*2]!==0)return 1;return 0},Ve=!1,He=e=>{Ve||=(ke(),!0),e.l_desc=new Se(e.dyn_ltree,ye),e.d_desc=new Se(e.dyn_dtree,be),e.bl_desc=new Se(e.bl_tree,xe),e.bi_buf=0,e.bi_valid=0,Ae(e)},Ue=(e,t,n,r)=>{A(e,0+(r?1:0),3),je(e),we(e,n),we(e,~n),n&&e.pending_buf.set(e.window.subarray(t,t+n),e.pending),e.pending+=n};var We={_tr_init:He,_tr_stored_block:Ue,_tr_flush_block:(e,t,n,r)=>{let i,a,o=0;e.level>0?(e.strm.data_type===2&&(e.strm.data_type=Be(e)),Fe(e,e.l_desc),Fe(e,e.d_desc),o=Re(e),i=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=i&&(i=a)):i=a=n+5,n+4<=i&&t!==-1?Ue(e,t,n,r):e.strategy===4||a===i?(A(e,2+(r?1:0),3),Pe(e,k,pe)):(A(e,4+(r?1:0),3),ze(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),Pe(e,e.dyn_ltree,e.dyn_dtree)),Ae(e),r&&je(e)},_tr_tally:(e,t,n)=>(e.pending_buf[e.sym_buf+ e.sym_next++]=t,e.pending_buf[e.sym_buf+ e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+ e.sym_next++]=n,t===0?e.dyn_ltree[n*2]++:(e.matches++,t--,e.dyn_ltree[(he[n]+256+1)*2]++,e.dyn_dtree[Ce(t)*2]++),e.sym_next===e.sym_end),_tr_align:e=>{A(e,2,3),j(e,256,k),Ee(e)}},Ge=(e,t,n,r)=>{let i=e&65535|0,a=e>>>16&65535|0,o=0;for(;n!==0;){o=n>2e3?2e3:n,n-=o;do i=i+t[r++]|0,a=a+i|0;while(--o);i%=65521,a%=65521}return i|a<<16|0};let Ke=new Uint32Array((()=>{let e,t=[];for(var n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=e&1?3988292384^e>>>1:e>>>1;t[n]=e}return t})());var M=(e,t,n,r)=>{let i=Ke,a=r+n;e^=-1;for(let n=r;n<a;n++)e=e>>>8^i[(e^t[n])&255];return e^-1},qe={2:`need dictionary`,1:`stream end`,0:``,"-1":`file error`,"-2":`stream error`,"-3":`data error`,"-4":`insufficient memory`,"-5":`buffer error`,"-6":`incompatible version`},Je={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};let{_tr_init:Ye,_tr_stored_block:Xe,_tr_flush_block:Ze,_tr_tally:N,_tr_align:Qe}=We,{Z_NO_FLUSH:P,Z_PARTIAL_FLUSH:$e,Z_FULL_FLUSH:et,Z_FINISH:F,Z_BLOCK:tt,Z_OK:I,Z_STREAM_END:nt,Z_STREAM_ERROR:L,Z_DATA_ERROR:rt,Z_BUF_ERROR:it,Z_DEFAULT_COMPRESSION:at,Z_FILTERED:ot,Z_HUFFMAN_ONLY:st,Z_RLE:ct,Z_FIXED:lt,Z_DEFAULT_STRATEGY:ut,Z_UNKNOWN:dt,Z_DEFLATED:ft}=Je,pt=(e,t)=>(e.msg=qe[t],t),mt=e=>e*2-(e>4?9:0),R=e=>{let t=e.length;for(;--t>=0;)e[t]=0},ht=e=>{let t,n,r,i=e.w_size;t=e.hash_size,r=t;do n=e.head[--r],e.head[r]=n>=i?n-i:0;while(--t);t=i,r=t;do n=e.prev[--r],e.prev[r]=n>=i?n-i:0;while(--t)},z=(e,t,n)=>(t<<e.hash_shift^n)&e.hash_mask,B=e=>{let t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),n!==0&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+n),e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,t.pending===0&&(t.pending_out=0))},V=(e,t)=>{Ze(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,B(e.strm)},H=(e,t)=>{e.pending_buf[e.pending++]=t},gt=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255},_t=(e,t,n,r)=>{let i=e.avail_in;return i>r&&(i=r),i===0?0:(e.avail_in-=i,t.set(e.input.subarray(e.next_in,e.next_in+i),n),e.state.wrap===1?e.adler=Ge(e.adler,t,i,n):e.state.wrap===2&&(e.adler=M(e.adler,t,i,n)),e.next_in+=i,e.total_in+=i,i)},vt=(e,t)=>{let n=e.max_chain_length,r=e.strstart,i,a,o=e.prev_length,s=e.nice_match,c=e.strstart>e.w_size-262?e.strstart-(e.w_size-262):0,l=e.window,u=e.w_mask,d=e.prev,f=e.strstart+258,p=l[r+o-1],m=l[r+o];e.prev_length>=e.good_match&&(n>>=2),s>e.lookahead&&(s=e.lookahead);do{if(i=t,l[i+o]!==m||l[i+o-1]!==p||l[i]!==l[r]||l[++i]!==l[r+1])continue;r+=2,i++;do;while(l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&r<f);if(a=258-(f-r),r=f-258,a>o){if(e.match_start=t,o=a,a>=s)break;p=l[r+o-1],m=l[r+o]}}while((t=d[t&u])>c&&--n!==0);return o<=e.lookahead?o:e.lookahead},yt=e=>{let t=e.w_size,n,r,i;do{if(r=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-262)&&(e.window.set(e.window.subarray(t,t+t-r),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),ht(e),r+=t),e.strm.avail_in===0)break;if(n=_t(e.strm,e.window,e.strstart+e.lookahead,r),e.lookahead+=n,e.lookahead+e.insert>=3)for(i=e.strstart-e.insert,e.ins_h=e.window[i],e.ins_h=z(e,e.ins_h,e.window[i+1]);e.insert&&(e.ins_h=z(e,e.ins_h,e.window[i+3-1]),e.prev[i&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=i,i++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead<262&&e.strm.avail_in!==0)},bt=(e,t)=>{let n=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,r,i,a,o=0,s=e.strm.avail_in;do{if(r=65535,a=e.bi_valid+42>>3,e.strm.avail_out<a||(a=e.strm.avail_out-a,i=e.strstart-e.block_start,r>i+e.strm.avail_in&&(r=i+e.strm.avail_in),r>a&&(r=a),r<n&&(r===0&&t!==F||t===P||r!==i+e.strm.avail_in)))break;o=t===F&&r===i+e.strm.avail_in?1:0,Xe(e,0,0,o),e.pending_buf[e.pending-4]=r,e.pending_buf[e.pending-3]=r>>8,e.pending_buf[e.pending-2]=~r,e.pending_buf[e.pending-1]=~r>>8,B(e.strm),i&&(i>r&&(i=r),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+i),e.strm.next_out),e.strm.next_out+=i,e.strm.avail_out-=i,e.strm.total_out+=i,e.block_start+=i,r-=i),r&&(_t(e.strm,e.strm.output,e.strm.next_out,r),e.strm.next_out+=r,e.strm.avail_out-=r,e.strm.total_out+=r)}while(o===0);return s-=e.strm.avail_in,s&&(s>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=s&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-s,e.strm.next_in),e.strstart),e.strstart+=s,e.insert+=s>e.w_size-e.insert?e.w_size-e.insert:s),e.block_start=e.strstart),e.high_water<e.strstart&&(e.high_water=e.strstart),o?4:t!==P&&t!==F&&e.strm.avail_in===0&&e.strstart===e.block_start?2:(a=e.window_size-e.strstart,e.strm.avail_in>a&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,a+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),a>e.strm.avail_in&&(a=e.strm.avail_in),a&&(_t(e.strm,e.window,e.strstart,a),e.strstart+=a,e.insert+=a>e.w_size-e.insert?e.w_size-e.insert:a),e.high_water<e.strstart&&(e.high_water=e.strstart),a=e.bi_valid+42>>3,a=e.pending_buf_size-a>65535?65535:e.pending_buf_size-a,n=a>e.w_size?e.w_size:a,i=e.strstart-e.block_start,(i>=n||(i||t===F)&&t!==P&&e.strm.avail_in===0&&i<=a)&&(r=i>a?a:i,o=t===F&&e.strm.avail_in===0&&r===i?1:0,Xe(e,e.block_start,r,o),e.block_start+=r,B(e.strm)),o?3:1)},xt=(e,t)=>{let n,r;for(;;){if(e.lookahead<262){if(yt(e),e.lookahead<262&&t===P)return 1;if(e.lookahead===0)break}if(n=0,e.lookahead>=3&&(e.ins_h=z(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),n!==0&&e.strstart-n<=e.w_size-262&&(e.match_length=vt(e,n)),e.match_length>=3)if(r=N(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do e.strstart++,e.ins_h=z(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=z(e,e.ins_h,e.window[e.strstart+1]);else r=N(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(V(e,!1),e.strm.avail_out===0))return 1}return e.insert=e.strstart<2?e.strstart:2,t===F?(V(e,!0),e.strm.avail_out===0?3:4):e.sym_next&&(V(e,!1),e.strm.avail_out===0)?1:2},St=(e,t)=>{let n,r,i;for(;;){if(e.lookahead<262){if(yt(e),e.lookahead<262&&t===P)return 1;if(e.lookahead===0)break}if(n=0,e.lookahead>=3&&(e.ins_h=z(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,n!==0&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-262&&(e.match_length=vt(e,n),e.match_length<=5&&(e.strategy===ot||e.match_length===3&&e.strstart-e.match_start>4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-3,r=N(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=i&&(e.ins_h=z(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=2,e.strstart++,r&&(V(e,!1),e.strm.avail_out===0))return 1}else if(e.match_available){if(r=N(e,0,e.window[e.strstart-1]),r&&V(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&=(r=N(e,0,e.window[e.strstart-1]),0),e.insert=e.strstart<2?e.strstart:2,t===F?(V(e,!0),e.strm.avail_out===0?3:4):e.sym_next&&(V(e,!1),e.strm.avail_out===0)?1:2},Ct=(e,t)=>{let n,r,i,a,o=e.window;for(;;){if(e.lookahead<=258){if(yt(e),e.lookahead<=258&&t===P)return 1;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&(i=e.strstart-1,r=o[i],r===o[++i]&&r===o[++i]&&r===o[++i])){a=e.strstart+258;do;while(r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&i<a);e.match_length=258-(a-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(n=N(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=N(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(V(e,!1),e.strm.avail_out===0))return 1}return e.insert=0,t===F?(V(e,!0),e.strm.avail_out===0?3:4):e.sym_next&&(V(e,!1),e.strm.avail_out===0)?1:2},wt=(e,t)=>{let n;for(;;){if(e.lookahead===0&&(yt(e),e.lookahead===0)){if(t===P)return 1;break}if(e.match_length=0,n=N(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(V(e,!1),e.strm.avail_out===0))return 1}return e.insert=0,t===F?(V(e,!0),e.strm.avail_out===0?3:4):e.sym_next&&(V(e,!1),e.strm.avail_out===0)?1:2};function U(e,t,n,r,i){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=i}let Tt=[new U(0,0,0,0,bt),new U(4,4,8,4,xt),new U(4,5,16,8,xt),new U(4,6,32,32,xt),new U(4,4,16,16,St),new U(8,16,32,32,St),new U(8,16,128,128,St),new U(8,32,128,256,St),new U(32,128,258,1024,St),new U(32,258,258,4096,St)],Et=e=>{e.window_size=2*e.w_size,R(e.head),e.max_lazy_match=Tt[e.level].max_lazy,e.good_match=Tt[e.level].good_length,e.nice_match=Tt[e.level].nice_length,e.max_chain_length=Tt[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=2,e.match_available=0,e.ins_h=0};function Dt(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=ft,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(573*2),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),R(this.dyn_ltree),R(this.dyn_dtree),R(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),R(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),R(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}let Ot=e=>{if(!e)return 1;let t=e.state;return!t||t.strm!==e||t.status!==42&&t.status!==57&&t.status!==69&&t.status!==73&&t.status!==91&&t.status!==103&&t.status!==113&&t.status!==666?1:0},kt=e=>{if(Ot(e))return pt(e,L);e.total_in=e.total_out=0,e.data_type=dt;let t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?57:t.wrap?42:113,e.adler=t.wrap===2?0:1,t.last_flush=-2,Ye(t),I},At=e=>{let t=kt(e);return t===I&&Et(e.state),t},jt=(e,t)=>Ot(e)||e.state.wrap!==2?L:(e.state.gzhead=t,I),Mt=(e,t,n,r,i,a)=>{if(!e)return L;let o=1;if(t===at&&(t=6),r<0?(o=0,r=-r):r>15&&(o=2,r-=16),i<1||i>9||n!==ft||r<8||r>15||t<0||t>9||a<0||a>lt||r===8&&o!==1)return pt(e,L);r===8&&(r=9);let s=new Dt;return e.state=s,s.strm=e,s.status=42,s.wrap=o,s.gzhead=null,s.w_bits=r,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=i+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+3-1)/3),s.window=new Uint8Array(s.w_size*2),s.head=new Uint16Array(s.hash_size),s.prev=new Uint16Array(s.w_size),s.lit_bufsize=1<<i+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new Uint8Array(s.pending_buf_size),s.sym_buf=s.lit_bufsize,s.sym_end=(s.lit_bufsize-1)*3,s.level=t,s.strategy=a,s.method=n,At(e)};var Nt={deflateInit:(e,t)=>Mt(e,t,ft,15,8,ut),deflateInit2:Mt,deflateReset:At,deflateResetKeep:kt,deflateSetHeader:jt,deflate:(e,t)=>{if(Ot(e)||t>tt||t<0)return e?pt(e,L):L;let n=e.state;if(!e.output||e.avail_in!==0&&!e.input||n.status===666&&t!==F)return pt(e,e.avail_out===0?it:L);let r=n.last_flush;if(n.last_flush=t,n.pending!==0){if(B(e),e.avail_out===0)return n.last_flush=-1,I}else if(e.avail_in===0&&mt(t)<=mt(r)&&t!==F)return pt(e,it);if(n.status===666&&e.avail_in!==0)return pt(e,it);if(n.status===42&&n.wrap===0&&(n.status=113),n.status===42){let t=ft+(n.w_bits-8<<4)<<8,r=-1;if(r=n.strategy>=st||n.level<2?0:n.level<6?1:n.level===6?2:3,t|=r<<6,n.strstart!==0&&(t|=32),t+=31-t%31,gt(n,t),n.strstart!==0&&(gt(n,e.adler>>>16),gt(n,e.adler&65535)),e.adler=1,n.status=113,B(e),n.pending!==0)return n.last_flush=-1,I}if(n.status===57){if(e.adler=0,H(n,31),H(n,139),H(n,8),n.gzhead)H(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),H(n,n.gzhead.time&255),H(n,n.gzhead.time>>8&255),H(n,n.gzhead.time>>16&255),H(n,n.gzhead.time>>24&255),H(n,n.level===9?2:n.strategy>=st||n.level<2?4:0),H(n,n.gzhead.os&255),n.gzhead.extra&&n.gzhead.extra.length&&(H(n,n.gzhead.extra.length&255),H(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=M(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69;else if(H(n,0),H(n,0),H(n,0),H(n,0),H(n,0),H(n,n.level===9?2:n.strategy>=st||n.level<2?4:0),H(n,3),n.status=113,B(e),n.pending!==0)return n.last_flush=-1,I}if(n.status===69){if(n.gzhead.extra){let t=n.pending,r=(n.gzhead.extra.length&65535)-n.gzindex;for(;n.pending+r>n.pending_buf_size;){let i=n.pending_buf_size-n.pending;if(n.pending_buf.set(n.gzhead.extra.subarray(n.gzindex,n.gzindex+i),n.pending),n.pending=n.pending_buf_size,n.gzhead.hcrc&&n.pending>t&&(e.adler=M(e.adler,n.pending_buf,n.pending-t,t)),n.gzindex+=i,B(e),n.pending!==0)return n.last_flush=-1,I;t=0,r-=i}let i=new Uint8Array(n.gzhead.extra);n.pending_buf.set(i.subarray(n.gzindex,n.gzindex+r),n.pending),n.pending+=r,n.gzhead.hcrc&&n.pending>t&&(e.adler=M(e.adler,n.pending_buf,n.pending-t,t)),n.gzindex=0}n.status=73}if(n.status===73){if(n.gzhead.name){let t=n.pending,r;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>t&&(e.adler=M(e.adler,n.pending_buf,n.pending-t,t)),B(e),n.pending!==0)return n.last_flush=-1,I;t=0}r=n.gzindex<n.gzhead.name.length?n.gzhead.name.charCodeAt(n.gzindex++)&255:0,H(n,r)}while(r!==0);n.gzhead.hcrc&&n.pending>t&&(e.adler=M(e.adler,n.pending_buf,n.pending-t,t)),n.gzindex=0}n.status=91}if(n.status===91){if(n.gzhead.comment){let t=n.pending,r;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>t&&(e.adler=M(e.adler,n.pending_buf,n.pending-t,t)),B(e),n.pending!==0)return n.last_flush=-1,I;t=0}r=n.gzindex<n.gzhead.comment.length?n.gzhead.comment.charCodeAt(n.gzindex++)&255:0,H(n,r)}while(r!==0);n.gzhead.hcrc&&n.pending>t&&(e.adler=M(e.adler,n.pending_buf,n.pending-t,t))}n.status=103}if(n.status===103){if(n.gzhead.hcrc){if(n.pending+2>n.pending_buf_size&&(B(e),n.pending!==0))return n.last_flush=-1,I;H(n,e.adler&255),H(n,e.adler>>8&255),e.adler=0}if(n.status=113,B(e),n.pending!==0)return n.last_flush=-1,I}if(e.avail_in!==0||n.lookahead!==0||t!==P&&n.status!==666){let r=n.level===0?bt(n,t):n.strategy===st?wt(n,t):n.strategy===ct?Ct(n,t):Tt[n.level].func(n,t);if((r===3||r===4)&&(n.status=666),r===1||r===3)return e.avail_out===0&&(n.last_flush=-1),I;if(r===2&&(t===$e?Qe(n):t!==tt&&(Xe(n,0,0,!1),t===et&&(R(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),B(e),e.avail_out===0))return n.last_flush=-1,I}return t===F?n.wrap<=0?nt:(n.wrap===2?(H(n,e.adler&255),H(n,e.adler>>8&255),H(n,e.adler>>16&255),H(n,e.adler>>24&255),H(n,e.total_in&255),H(n,e.total_in>>8&255),H(n,e.total_in>>16&255),H(n,e.total_in>>24&255)):(gt(n,e.adler>>>16),gt(n,e.adler&65535)),B(e),n.wrap>0&&(n.wrap=-n.wrap),n.pending===0?nt:I):I},deflateEnd:e=>{if(Ot(e))return L;let t=e.state.status;return e.state=null,t===113?pt(e,rt):I},deflateSetDictionary:(e,t)=>{let n=t.length;if(Ot(e))return L;let r=e.state,i=r.wrap;if(i===2||i===1&&r.status!==42||r.lookahead)return L;if(i===1&&(e.adler=Ge(e.adler,t,n,0)),r.wrap=0,n>=r.w_size){i===0&&(R(r.head),r.strstart=0,r.block_start=0,r.insert=0);let e=new Uint8Array(r.w_size);e.set(t.subarray(n-r.w_size,n),0),t=e,n=r.w_size}let a=e.avail_in,o=e.next_in,s=e.input;for(e.avail_in=n,e.next_in=0,e.input=t,yt(r);r.lookahead>=3;){let e=r.strstart,t=r.lookahead-2;do r.ins_h=z(r,r.ins_h,r.window[e+3-1]),r.prev[e&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=e,e++;while(--t);r.strstart=e,r.lookahead=2,yt(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=2,r.match_available=0,e.next_in=o,e.input=s,e.avail_in=a,r.wrap=i,I},deflateInfo:`pako deflate (from Nodeca project)`};let Pt=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var Ft={assign:function(e){let t=Array.prototype.slice.call(arguments,1);for(;t.length;){let n=t.shift();if(n){if(typeof n!=`object`)throw TypeError(n+`must be non-object`);for(let t in n)Pt(n,t)&&(e[t]=n[t])}}return e},flattenChunks:e=>{let t=0;for(let n=0,r=e.length;n<r;n++)t+=e[n].length;let n=new Uint8Array(t);for(let t=0,r=0,i=e.length;t<i;t++){let i=e[t];n.set(i,r),r+=i.length}return n}};let It=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{It=!1}let Lt=new Uint8Array(256);for(let e=0;e<256;e++)Lt[e]=e>=252?6:e>=248?5:e>=240?4:e>=224?3:e>=192?2:1;Lt[254]=Lt[254]=1;var Rt=e=>{if(typeof TextEncoder==`function`&&TextEncoder.prototype.encode)return new TextEncoder().encode(e);let t,n,r,i,a,o=e.length,s=0;for(i=0;i<o;i++)n=e.charCodeAt(i),(n&64512)==55296&&i+1<o&&(r=e.charCodeAt(i+1),(r&64512)==56320&&(n=65536+(n-55296<<10)+(r-56320),i++)),s+=n<128?1:n<2048?2:n<65536?3:4;for(t=new Uint8Array(s),a=0,i=0;a<s;i++)n=e.charCodeAt(i),(n&64512)==55296&&i+1<o&&(r=e.charCodeAt(i+1),(r&64512)==56320&&(n=65536+(n-55296<<10)+(r-56320),i++)),n<128?t[a++]=n:n<2048?(t[a++]=192|n>>>6,t[a++]=128|n&63):n<65536?(t[a++]=224|n>>>12,t[a++]=128|n>>>6&63,t[a++]=128|n&63):(t[a++]=240|n>>>18,t[a++]=128|n>>>12&63,t[a++]=128|n>>>6&63,t[a++]=128|n&63);return t};let zt=(e,t)=>{if(t<65534&&e.subarray&&It)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));let n=``;for(let r=0;r<t;r++)n+=String.fromCharCode(e[r]);return n};var Bt={string2buf:Rt,buf2string:(e,t)=>{let n=t||e.length;if(typeof TextDecoder==`function`&&TextDecoder.prototype.decode)return new TextDecoder().decode(e.subarray(0,t));let r,i,a=Array(n*2);for(i=0,r=0;r<n;){let t=e[r++];if(t<128){a[i++]=t;continue}let o=Lt[t];if(o>4){a[i++]=65533,r+=o-1;continue}for(t&=o===2?31:o===3?15:7;o>1&&r<n;)t=t<<6|e[r++]&63,o--;if(o>1){a[i++]=65533;continue}t<65536?a[i++]=t:(t-=65536,a[i++]=55296|t>>10&1023,a[i++]=56320|t&1023)}return zt(a,i)},utf8border:(e,t)=>{t||=e.length,t>e.length&&(t=e.length);let n=t-1;for(;n>=0&&(e[n]&192)==128;)n--;return n<0||n===0?t:n+Lt[e[n]]>t?n:t}};function Vt(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=``,this.state=null,this.data_type=2,this.adler=0}var Ht=Vt;let Ut=Object.prototype.toString,{Z_NO_FLUSH:Wt,Z_SYNC_FLUSH:Gt,Z_FULL_FLUSH:Kt,Z_FINISH:qt,Z_OK:Jt,Z_STREAM_END:Yt,Z_DEFAULT_COMPRESSION:Xt,Z_DEFAULT_STRATEGY:Zt,Z_DEFLATED:Qt}=Je;function $t(e){this.options=Ft.assign({level:Xt,method:Qt,chunkSize:16384,windowBits:15,memLevel:8,strategy:Zt},e||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg=``,this.ended=!1,this.chunks=[],this.strm=new Ht,this.strm.avail_out=0;let n=Nt.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==Jt)throw Error(qe[n]);if(t.header&&Nt.deflateSetHeader(this.strm,t.header),t.dictionary){let e;if(e=typeof t.dictionary==`string`?Bt.string2buf(t.dictionary):Ut.call(t.dictionary)===`[object ArrayBuffer]`?new Uint8Array(t.dictionary):t.dictionary,n=Nt.deflateSetDictionary(this.strm,e),n!==Jt)throw Error(qe[n]);this._dict_set=!0}}$t.prototype.push=function(e,t){let n=this.strm,r=this.options.chunkSize,i,a;if(this.ended)return!1;for(a=t===~~t?t:t===!0?qt:Wt,typeof e==`string`?n.input=Bt.string2buf(e):Ut.call(e)===`[object ArrayBuffer]`?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;){if(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),(a===Gt||a===Kt)&&n.avail_out<=6){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(i=Nt.deflate(n,a),i===Yt)return n.next_out>0&&this.onData(n.output.subarray(0,n.next_out)),i=Nt.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===Jt;if(n.avail_out===0){this.onData(n.output);continue}if(a>0&&n.next_out>0){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(n.avail_in===0)break}return!0},$t.prototype.onData=function(e){this.chunks.push(e)},$t.prototype.onEnd=function(e){e===Jt&&(this.result=Ft.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function en(e,t){let n=new $t(t);if(n.push(e,!0),n.err)throw n.msg||qe[n.err];return n.result}function tn(e,t){return t||={},t.raw=!0,en(e,t)}function nn(e,t){return t||={},t.gzip=!0,en(e,t)}var rn={Deflate:$t,deflate:en,deflateRaw:tn,gzip:nn,constants:Je};let an=16209;var on=function(e,t){let n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E=e.state;n=e.next_in,w=e.input,r=n+(e.avail_in-5),i=e.next_out,T=e.output,a=i-(t-e.avail_out),o=i+(e.avail_out-257),s=E.dmax,c=E.wsize,l=E.whave,u=E.wnext,d=E.window,f=E.hold,p=E.bits,m=E.lencode,h=E.distcode,g=(1<<E.lenbits)-1,_=(1<<E.distbits)-1;top:do{p<15&&(f+=w[n++]<<p,p+=8,f+=w[n++]<<p,p+=8),v=m[f&g];dolen:for(;;){if(y=v>>>24,f>>>=y,p-=y,y=v>>>16&255,y===0)T[i++]=v&65535;else if(y&16){b=v&65535,y&=15,y&&(p<y&&(f+=w[n++]<<p,p+=8),b+=f&(1<<y)-1,f>>>=y,p-=y),p<15&&(f+=w[n++]<<p,p+=8,f+=w[n++]<<p,p+=8),v=h[f&_];dodist:for(;;){if(y=v>>>24,f>>>=y,p-=y,y=v>>>16&255,y&16){if(x=v&65535,y&=15,p<y&&(f+=w[n++]<<p,p+=8,p<y&&(f+=w[n++]<<p,p+=8)),x+=f&(1<<y)-1,x>s){e.msg=`invalid distance too far back`,E.mode=an;break top}if(f>>>=y,p-=y,y=i-a,x>y){if(y=x-y,y>l&&E.sane){e.msg=`invalid distance too far back`,E.mode=an;break top}if(S=0,C=d,u===0){if(S+=c-y,y<b){b-=y;do T[i++]=d[S++];while(--y);S=i-x,C=T}}else if(u<y){if(S+=c+u-y,y-=u,y<b){b-=y;do T[i++]=d[S++];while(--y);if(S=0,u<b){y=u,b-=y;do T[i++]=d[S++];while(--y);S=i-x,C=T}}}else if(S+=u-y,y<b){b-=y;do T[i++]=d[S++];while(--y);S=i-x,C=T}for(;b>2;)T[i++]=C[S++],T[i++]=C[S++],T[i++]=C[S++],b-=3;b&&(T[i++]=C[S++],b>1&&(T[i++]=C[S++]))}else{S=i-x;do T[i++]=T[S++],T[i++]=T[S++],T[i++]=T[S++],b-=3;while(b>2);b&&(T[i++]=T[S++],b>1&&(T[i++]=T[S++]))}}else if(y&64){e.msg=`invalid distance code`,E.mode=an;break top}else{v=h[(v&65535)+(f&(1<<y)-1)];continue dodist}break}}else if(y&64)if(y&32){E.mode=16191;break top}else{e.msg=`invalid literal/length code`,E.mode=an;break top}else{v=m[(v&65535)+(f&(1<<y)-1)];continue dolen}break}}while(n<r&&i<o);b=p>>3,n-=b,p-=b<<3,f&=(1<<p)-1,e.next_in=n,e.next_out=i,e.avail_in=n<r?5+(r-n):5-(n-r),e.avail_out=i<o?257+(o-i):257-(i-o),E.hold=f,E.bits=p};let sn=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),cn=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),ln=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),un=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var dn=(e,t,n,r,i,a,o,s)=>{let c=s.bits,l=0,u=0,d=0,f=0,p=0,m=0,h=0,g=0,_=0,v=0,y,b,x,S,C,w=null,T,E=new Uint16Array(16),D=new Uint16Array(16),O=null,ee,te,ne;for(l=0;l<=15;l++)E[l]=0;for(u=0;u<r;u++)E[t[n+u]]++;for(p=c,f=15;f>=1&&E[f]===0;f--);if(p>f&&(p=f),f===0)return i[a++]=20971520,i[a++]=20971520,s.bits=1,0;for(d=1;d<f&&E[d]===0;d++);for(p<d&&(p=d),g=1,l=1;l<=15;l++)if(g<<=1,g-=E[l],g<0)return-1;if(g>0&&(e===0||f!==1))return-1;for(D[1]=0,l=1;l<15;l++)D[l+1]=D[l]+E[l];for(u=0;u<r;u++)t[n+u]!==0&&(o[D[t[n+u]]++]=u);if(e===0?(w=O=o,T=20):e===1?(w=sn,O=cn,T=257):(w=ln,O=un,T=0),v=0,u=0,l=d,C=a,m=p,h=0,x=-1,_=1<<p,S=_-1,e===1&&_>852||e===2&&_>592)return 1;for(;;){ee=l-h,o[u]+1<T?(te=0,ne=o[u]):o[u]>=T?(te=O[o[u]-T],ne=w[o[u]-T]):(te=96,ne=0),y=1<<l-h,b=1<<m,d=b;do b-=y,i[C+(v>>h)+b]=ee<<24|te<<16|ne|0;while(b!==0);for(y=1<<l-1;v&y;)y>>=1;if(y===0?v=0:(v&=y-1,v+=y),u++,--E[l]===0){if(l===f)break;l=t[n+o[u]]}if(l>p&&(v&S)!==x){for(h===0&&(h=p),C+=d,m=l-h,g=1<<m;m+h<f&&(g-=E[m+h],!(g<=0));)m++,g<<=1;if(_+=1<<m,e===1&&_>852||e===2&&_>592)return 1;x=v&S,i[x]=p<<24|m<<16|C-a|0}}return v!==0&&(i[C+v]=l-h<<24|4194304),s.bits=p,0};let{Z_FINISH:fn,Z_BLOCK:pn,Z_TREES:mn,Z_OK:hn,Z_STREAM_END:gn,Z_NEED_DICT:_n,Z_STREAM_ERROR:W,Z_DATA_ERROR:vn,Z_MEM_ERROR:yn,Z_BUF_ERROR:bn,Z_DEFLATED:xn}=Je,Sn=16180,Cn=16181,wn=16182,Tn=16183,En=16184,Dn=16185,On=16186,kn=16187,An=16188,jn=16189,Mn=16190,G=16191,Nn=16192,Pn=16193,Fn=16194,In=16195,Ln=16196,Rn=16197,zn=16198,Bn=16199,Vn=16200,Hn=16201,Un=16202,Wn=16203,Gn=16204,Kn=16205,qn=16206,Jn=16207,Yn=16208,K=16209,Xn=16210,Zn=16211,Qn=e=>(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24);function $n(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}let er=e=>{if(!e)return 1;let t=e.state;return!t||t.strm!==e||t.mode<Sn||t.mode>Zn?1:0},tr=e=>{if(er(e))return W;let t=e.state;return e.total_in=e.total_out=t.total=0,e.msg=``,t.wrap&&(e.adler=t.wrap&1),t.mode=Sn,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,hn},nr=e=>{if(er(e))return W;let t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,tr(e)},rr=(e,t)=>{let n;if(er(e))return W;let r=e.state;return t<0?(n=0,t=-t):(n=(t>>4)+5,t<48&&(t&=15)),t&&(t<8||t>15)?W:(r.window!==null&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,nr(e))},ir=(e,t)=>{if(!e)return W;let n=new $n;e.state=n,n.strm=e,n.window=null,n.mode=Sn;let r=rr(e,t);return r!==hn&&(e.state=null),r},ar=e=>ir(e,15),or=!0,sr,cr,lr=e=>{if(or){sr=new Int32Array(512),cr=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(dn(1,e.lens,0,288,sr,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;dn(2,e.lens,0,32,cr,0,e.work,{bits:5}),or=!1}e.lencode=sr,e.lenbits=9,e.distcode=cr,e.distbits=5},ur=(e,t,n,r)=>{let i,a=e.state;return a.window===null&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new Uint8Array(a.wsize)),r>=a.wsize?(a.window.set(t.subarray(n-a.wsize,n),0),a.wnext=0,a.whave=a.wsize):(i=a.wsize-a.wnext,i>r&&(i=r),a.window.set(t.subarray(n-r,n-r+i),a.wnext),r-=i,r?(a.window.set(t.subarray(n-r,n),0),a.wnext=r,a.whave=a.wsize):(a.wnext+=i,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=i))),0};var q={inflateReset:nr,inflateReset2:rr,inflateResetKeep:tr,inflateInit:ar,inflateInit2:ir,inflate:(e,t)=>{let n,r,i,a,o,s,c,l,u,d,f,p,m,h,g=0,_,v,y,b,x,S,C,w,T=new Uint8Array(4),E,D,O=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(er(e)||!e.output||!e.input&&e.avail_in!==0)return W;n=e.state,n.mode===G&&(n.mode=Nn),o=e.next_out,i=e.output,c=e.avail_out,a=e.next_in,r=e.input,s=e.avail_in,l=n.hold,u=n.bits,d=s,f=c,w=hn;inf_leave:for(;;)switch(n.mode){case Sn:if(n.wrap===0){n.mode=Nn;break}for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.wrap&2&&l===35615){n.wbits===0&&(n.wbits=15),n.check=0,T[0]=l&255,T[1]=l>>>8&255,n.check=M(n.check,T,2,0),l=0,u=0,n.mode=Cn;break}if(n.head&&(n.head.done=!1),!(n.wrap&1)||(((l&255)<<8)+(l>>8))%31){e.msg=`incorrect header check`,n.mode=K;break}if((l&15)!==xn){e.msg=`unknown compression method`,n.mode=K;break}if(l>>>=4,u-=4,C=(l&15)+8,n.wbits===0&&(n.wbits=C),C>15||C>n.wbits){e.msg=`invalid window size`,n.mode=K;break}n.dmax=1<<n.wbits,n.flags=0,e.adler=n.check=1,n.mode=l&512?jn:G,l=0,u=0;break;case Cn:for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.flags=l,(n.flags&255)!==xn){e.msg=`unknown compression method`,n.mode=K;break}if(n.flags&57344){e.msg=`unknown header flags set`,n.mode=K;break}n.head&&(n.head.text=l>>8&1),n.flags&512&&n.wrap&4&&(T[0]=l&255,T[1]=l>>>8&255,n.check=M(n.check,T,2,0)),l=0,u=0,n.mode=wn;case wn:for(;u<32;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.head&&(n.head.time=l),n.flags&512&&n.wrap&4&&(T[0]=l&255,T[1]=l>>>8&255,T[2]=l>>>16&255,T[3]=l>>>24&255,n.check=M(n.check,T,4,0)),l=0,u=0,n.mode=Tn;case Tn:for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.head&&(n.head.xflags=l&255,n.head.os=l>>8),n.flags&512&&n.wrap&4&&(T[0]=l&255,T[1]=l>>>8&255,n.check=M(n.check,T,2,0)),l=0,u=0,n.mode=En;case En:if(n.flags&1024){for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.length=l,n.head&&(n.head.extra_len=l),n.flags&512&&n.wrap&4&&(T[0]=l&255,T[1]=l>>>8&255,n.check=M(n.check,T,2,0)),l=0,u=0}else n.head&&(n.head.extra=null);n.mode=Dn;case Dn:if(n.flags&1024&&(p=n.length,p>s&&(p=s),p&&(n.head&&(C=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(r.subarray(a,a+p),C)),n.flags&512&&n.wrap&4&&(n.check=M(n.check,r,p,a)),s-=p,a+=p,n.length-=p),n.length))break inf_leave;n.length=0,n.mode=On;case On:if(n.flags&2048){if(s===0)break inf_leave;p=0;do C=r[a+ p++],n.head&&C&&n.length<65536&&(n.head.name+=String.fromCharCode(C));while(C&&p<s);if(n.flags&512&&n.wrap&4&&(n.check=M(n.check,r,p,a)),s-=p,a+=p,C)break inf_leave}else n.head&&(n.head.name=null);n.length=0,n.mode=kn;case kn:if(n.flags&4096){if(s===0)break inf_leave;p=0;do C=r[a+ p++],n.head&&C&&n.length<65536&&(n.head.comment+=String.fromCharCode(C));while(C&&p<s);if(n.flags&512&&n.wrap&4&&(n.check=M(n.check,r,p,a)),s-=p,a+=p,C)break inf_leave}else n.head&&(n.head.comment=null);n.mode=An;case An:if(n.flags&512){for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.wrap&4&&l!==(n.check&65535)){e.msg=`header crc mismatch`,n.mode=K;break}l=0,u=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=G;break;case jn:for(;u<32;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}e.adler=n.check=Qn(l),l=0,u=0,n.mode=Mn;case Mn:if(n.havedict===0)return e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,n.hold=l,n.bits=u,_n;e.adler=n.check=1,n.mode=G;case G:if(t===pn||t===mn)break inf_leave;case Nn:if(n.last){l>>>=u&7,u-=u&7,n.mode=qn;break}for(;u<3;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}switch(n.last=l&1,l>>>=1,--u,l&3){case 0:n.mode=Pn;break;case 1:if(lr(n),n.mode=Bn,t===mn){l>>>=2,u-=2;break inf_leave}break;case 2:n.mode=Ln;break;case 3:e.msg=`invalid block type`,n.mode=K}l>>>=2,u-=2;break;case Pn:for(l>>>=u&7,u-=u&7;u<32;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if((l&65535)!=(l>>>16^65535)){e.msg=`invalid stored block lengths`,n.mode=K;break}if(n.length=l&65535,l=0,u=0,n.mode=Fn,t===mn)break inf_leave;case Fn:n.mode=In;case In:if(p=n.length,p){if(p>s&&(p=s),p>c&&(p=c),p===0)break inf_leave;i.set(r.subarray(a,a+p),o),s-=p,a+=p,c-=p,o+=p,n.length-=p;break}n.mode=G;break;case Ln:for(;u<14;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.nlen=(l&31)+257,l>>>=5,u-=5,n.ndist=(l&31)+1,l>>>=5,u-=5,n.ncode=(l&15)+4,l>>>=4,u-=4,n.nlen>286||n.ndist>30){e.msg=`too many length or distance symbols`,n.mode=K;break}n.have=0,n.mode=Rn;case Rn:for(;n.have<n.ncode;){for(;u<3;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.lens[O[n.have++]]=l&7,l>>>=3,u-=3}for(;n.have<19;)n.lens[O[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,E={bits:n.lenbits},w=dn(0,n.lens,0,19,n.lencode,0,n.work,E),n.lenbits=E.bits,w){e.msg=`invalid code lengths set`,n.mode=K;break}n.have=0,n.mode=zn;case zn:for(;n.have<n.nlen+n.ndist;){for(;g=n.lencode[l&(1<<n.lenbits)-1],_=g>>>24,v=g>>>16&255,y=g&65535,!(_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(y<16)l>>>=_,u-=_,n.lens[n.have++]=y;else{if(y===16){for(D=_+2;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(l>>>=_,u-=_,n.have===0){e.msg=`invalid bit length repeat`,n.mode=K;break}C=n.lens[n.have-1],p=3+(l&3),l>>>=2,u-=2}else if(y===17){for(D=_+3;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}l>>>=_,u-=_,C=0,p=3+(l&7),l>>>=3,u-=3}else{for(D=_+7;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}l>>>=_,u-=_,C=0,p=11+(l&127),l>>>=7,u-=7}if(n.have+p>n.nlen+n.ndist){e.msg=`invalid bit length repeat`,n.mode=K;break}for(;p--;)n.lens[n.have++]=C}}if(n.mode===K)break;if(n.lens[256]===0){e.msg=`invalid code -- missing end-of-block`,n.mode=K;break}if(n.lenbits=9,E={bits:n.lenbits},w=dn(1,n.lens,0,n.nlen,n.lencode,0,n.work,E),n.lenbits=E.bits,w){e.msg=`invalid literal/lengths set`,n.mode=K;break}if(n.distbits=6,n.distcode=n.distdyn,E={bits:n.distbits},w=dn(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,E),n.distbits=E.bits,w){e.msg=`invalid distances set`,n.mode=K;break}if(n.mode=Bn,t===mn)break inf_leave;case Bn:n.mode=Vn;case Vn:if(s>=6&&c>=258){e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,n.hold=l,n.bits=u,on(e,f),o=e.next_out,i=e.output,c=e.avail_out,a=e.next_in,r=e.input,s=e.avail_in,l=n.hold,u=n.bits,n.mode===G&&(n.back=-1);break}for(n.back=0;g=n.lencode[l&(1<<n.lenbits)-1],_=g>>>24,v=g>>>16&255,y=g&65535,!(_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(v&&!(v&240)){for(b=_,x=v,S=y;g=n.lencode[S+((l&(1<<b+x)-1)>>b)],_=g>>>24,v=g>>>16&255,y=g&65535,!(b+_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}l>>>=b,u-=b,n.back+=b}if(l>>>=_,u-=_,n.back+=_,n.length=y,v===0){n.mode=Kn;break}if(v&32){n.back=-1,n.mode=G;break}if(v&64){e.msg=`invalid literal/length code`,n.mode=K;break}n.extra=v&15,n.mode=Hn;case Hn:if(n.extra){for(D=n.extra;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.length+=l&(1<<n.extra)-1,l>>>=n.extra,u-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=Un;case Un:for(;g=n.distcode[l&(1<<n.distbits)-1],_=g>>>24,v=g>>>16&255,y=g&65535,!(_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(!(v&240)){for(b=_,x=v,S=y;g=n.distcode[S+((l&(1<<b+x)-1)>>b)],_=g>>>24,v=g>>>16&255,y=g&65535,!(b+_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}l>>>=b,u-=b,n.back+=b}if(l>>>=_,u-=_,n.back+=_,v&64){e.msg=`invalid distance code`,n.mode=K;break}n.offset=y,n.extra=v&15,n.mode=Wn;case Wn:if(n.extra){for(D=n.extra;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.offset+=l&(1<<n.extra)-1,l>>>=n.extra,u-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg=`invalid distance too far back`,n.mode=K;break}n.mode=Gn;case Gn:if(c===0)break inf_leave;if(p=f-c,n.offset>p){if(p=n.offset-p,p>n.whave&&n.sane){e.msg=`invalid distance too far back`,n.mode=K;break}p>n.wnext?(p-=n.wnext,m=n.wsize-p):m=n.wnext-p,p>n.length&&(p=n.length),h=n.window}else h=i,m=o-n.offset,p=n.length;p>c&&(p=c),c-=p,n.length-=p;do i[o++]=h[m++];while(--p);n.length===0&&(n.mode=Vn);break;case Kn:if(c===0)break inf_leave;i[o++]=n.length,c--,n.mode=Vn;break;case qn:if(n.wrap){for(;u<32;){if(s===0)break inf_leave;s--,l|=r[a++]<<u,u+=8}if(f-=c,e.total_out+=f,n.total+=f,n.wrap&4&&f&&(e.adler=n.check=n.flags?M(n.check,i,f,o-f):Ge(n.check,i,f,o-f)),f=c,n.wrap&4&&(n.flags?l:Qn(l))!==n.check){e.msg=`incorrect data check`,n.mode=K;break}l=0,u=0}n.mode=Jn;case Jn:if(n.wrap&&n.flags){for(;u<32;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.wrap&4&&l!==(n.total&4294967295)){e.msg=`incorrect length check`,n.mode=K;break}l=0,u=0}n.mode=Yn;case Yn:w=gn;break inf_leave;case K:w=vn;break inf_leave;case Xn:return yn;case Zn:default:return W}return e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,n.hold=l,n.bits=u,(n.wsize||f!==e.avail_out&&n.mode<K&&(n.mode<qn||t!==fn))&&ur(e,e.output,e.next_out,f-e.avail_out),d-=e.avail_in,f-=e.avail_out,e.total_in+=d,e.total_out+=f,n.total+=f,n.wrap&4&&f&&(e.adler=n.check=n.flags?M(n.check,i,f,e.next_out-f):Ge(n.check,i,f,e.next_out-f)),e.data_type=n.bits+(n.last?64:0)+(n.mode===G?128:0)+(n.mode===Bn||n.mode===Fn?256:0),(d===0&&f===0||t===fn)&&w===hn&&(w=bn),w},inflateEnd:e=>{if(er(e))return W;let t=e.state;return t.window&&=null,e.state=null,hn},inflateGetHeader:(e,t)=>{if(er(e))return W;let n=e.state;return n.wrap&2?(n.head=t,t.done=!1,hn):W},inflateSetDictionary:(e,t)=>{let n=t.length,r,i,a;return er(e)||(r=e.state,r.wrap!==0&&r.mode!==Mn)?W:r.mode===Mn&&(i=1,i=Ge(i,t,n,0),i!==r.check)?vn:(a=ur(e,t,n,n),a?(r.mode=Xn,yn):(r.havedict=1,hn))},inflateInfo:`pako inflate (from Nodeca project)`};function dr(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name=``,this.comment=``,this.hcrc=0,this.done=!1}var fr=dr;let pr=Object.prototype.toString,{Z_NO_FLUSH:mr,Z_FINISH:hr,Z_OK:gr,Z_STREAM_END:_r,Z_NEED_DICT:vr,Z_STREAM_ERROR:yr,Z_DATA_ERROR:br,Z_MEM_ERROR:xr}=Je;function Sr(e){this.options=Ft.assign({chunkSize:1024*64,windowBits:15,to:``},e||{});let t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!(e&&e.windowBits)&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15||(t.windowBits|=15)),this.err=0,this.msg=``,this.ended=!1,this.chunks=[],this.strm=new Ht,this.strm.avail_out=0;let n=q.inflateInit2(this.strm,t.windowBits);if(n!==gr||(this.header=new fr,q.inflateGetHeader(this.strm,this.header),t.dictionary&&(typeof t.dictionary==`string`?t.dictionary=Bt.string2buf(t.dictionary):pr.call(t.dictionary)===`[object ArrayBuffer]`&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=q.inflateSetDictionary(this.strm,t.dictionary),n!==gr))))throw Error(qe[n])}Sr.prototype.push=function(e,t){let n=this.strm,r=this.options.chunkSize,i=this.options.dictionary,a,o,s;if(this.ended)return!1;for(o=t===~~t?t:t===!0?hr:mr,pr.call(e)===`[object ArrayBuffer]`?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length;;){for(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),a=q.inflate(n,o),a===vr&&i&&(a=q.inflateSetDictionary(n,i),a===gr?a=q.inflate(n,o):a===br&&(a=vr));n.avail_in>0&&a===_r&&n.state.wrap>0&&e[n.next_in]!==0;)q.inflateReset(n),a=q.inflate(n,o);switch(a){case yr:case br:case vr:case xr:return this.onEnd(a),this.ended=!0,!1}if(s=n.avail_out,n.next_out&&(n.avail_out===0||a===_r))if(this.options.to===`string`){let e=Bt.utf8border(n.output,n.next_out),t=n.next_out-e,i=Bt.buf2string(n.output,e);n.next_out=t,n.avail_out=r-t,t&&n.output.set(n.output.subarray(e,e+t),0),this.onData(i)}else this.onData(n.output.length===n.next_out?n.output:n.output.subarray(0,n.next_out));if(!(a===gr&&s===0)){if(a===_r)return a=q.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,!0;if(n.avail_in===0)break}}return!0},Sr.prototype.onData=function(e){this.chunks.push(e)},Sr.prototype.onEnd=function(e){e===gr&&(this.options.to===`string`?this.result=this.chunks.join(``):this.result=Ft.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function Cr(e,t){let n=new Sr(t);if(n.push(e),n.err)throw n.msg||qe[n.err];return n.result}function wr(e,t){return t||={},t.raw=!0,Cr(e,t)}var Tr={Inflate:Sr,inflate:Cr,inflateRaw:wr,ungzip:Cr,constants:Je};let{Deflate:Er,deflate:Dr,deflateRaw:Or,gzip:kr}=rn,{Inflate:Ar,inflate:jr,inflateRaw:Mr,ungzip:Nr}=Tr;var Pr={Deflate:Er,deflate:Dr,deflateRaw:Or,gzip:kr,Inflate:Ar,inflate:jr,inflateRaw:Mr,ungzip:Nr,constants:Je},Fr=c(o(((e,t)=>{function n(e){if(!(e instanceof ArrayBuffer))throw TypeError(`arrayBuffer is not an instance of ArrayBuffer.`);for(var t=new s(e),n=[];t.hasNext();){var r=t.next();n.push(r)}return n}t.exports=n;function r(e){for(var t=``,n=0;n<e.length;){var r=e[n++];if(r>127){if(r>191&&r<224){if(n>=e.length)throw`UTF-8 decode: incomplete 2-byte sequence`;r=(r&31)<<6|e[n]&63}else if(r>223&&r<240){if(n+1>=e.length)throw`UTF-8 decode: incomplete 3-byte sequence`;r=(r&15)<<12|(e[n]&63)<<6|e[++n]&63}else if(r>239&&r<248){if(n+2>=e.length)throw`UTF-8 decode: incomplete 4-byte sequence`;r=(r&7)<<18|(e[n]&63)<<12|(e[++n]&63)<<6|e[++n]&63}else throw`UTF-8 decode: unknown multibyte start 0x`+r.toString(16)+` at index `+(n-1);++n}if(r<=65535)t+=String.fromCharCode(r);else if(r<=1114111)r-=65536,t+=String.fromCharCode(r>>10|55296),t+=String.fromCharCode(r&1023|56320);else throw`UTF-8 decode: code point 0x`+r.toString(16)+` exceeds UTF-16 reach`}return t}function i(e){this._fields=e}i.parse=function(e){for(var t=new Uint8Array(e),n=[];t.length>0;){var a=parseInt(r(t.subarray(0,t.indexOf(32)))),o=r(t.subarray(0,a)).match(/^\\d+ ([^=]+)=(.*)\\n$/);if(o===null)throw Error(`Invalid PAX header data format.`);var s=o[1],c=o[2];c.length===0?c=null:c.match(/^\\d+$/)!==null&&(c=parseInt(c));var l={name:s,value:c};n.push(l),t=t.subarray(a)}return new i(n)},i.prototype={applyHeader:function(e){this._fields.forEach(function(t){var n=t.name,r=t.value;n===`path`?(n=`name`,e.prefix!==void 0&&delete e.prefix):n===`linkpath`&&(n=`linkname`),r===null?delete e[n]:e[n]=r})}};function a(){}function o(e){this._bufferView=new DataView(e),this._position=0}o.prototype={readString:function(e){for(var t=1,n=e*t,r=[],i=0;i<e;++i){var a=this._bufferView.getUint8(this.position()+i*t,!0);if(a!==0)r.push(a);else break}return this.seek(n),String.fromCharCode.apply(null,r)},readBuffer:function(e){var t;if(typeof ArrayBuffer.prototype.slice==`function`)t=this._bufferView.buffer.slice(this.position(),this.position()+e);else{t=new ArrayBuffer(e);var n=new Uint8Array(t),r=new Uint8Array(this._bufferView.buffer,this.position(),e);n.set(r)}return this.seek(e),t},seek:function(e){this._position+=e},peekUint32:function(){return this._bufferView.getUint32(this.position(),!0)},position:function(e){if(e===void 0)return this._position;this._position=e},size:function(){return this._bufferView.byteLength}};function s(e){this._stream=new o(e),this._globalPaxHeader=null}s.prototype={hasNext:function(){return this._stream.position()+4<this._stream.size()&&this._stream.peekUint32()!==0},next:function(){return this._readNextFile()},_readNextFile:function(){var e=this._stream,t=new a,n=!1,r=null,o=e.position()+512;switch(t.name=e.readString(100),t.mode=e.readString(8),t.uid=parseInt(e.readString(8)),t.gid=parseInt(e.readString(8)),t.size=parseInt(e.readString(12),8),t.mtime=parseInt(e.readString(12),8),t.checksum=parseInt(e.readString(8)),t.type=e.readString(1),t.linkname=e.readString(100),t.ustarFormat=e.readString(6),t.ustarFormat.indexOf(`ustar`)>-1&&(t.version=e.readString(2),t.uname=e.readString(32),t.gname=e.readString(32),t.devmajor=parseInt(e.readString(8)),t.devminor=parseInt(e.readString(8)),t.namePrefix=e.readString(155),t.namePrefix.length>0&&(t.name=t.namePrefix+`/`+t.name)),e.position(o),t.type){case`0`:case``:t.buffer=e.readBuffer(t.size);break;case`1`:break;case`2`:break;case`3`:break;case`4`:break;case`5`:break;case`6`:break;case`7`:break;case`g`:n=!0,this._globalPaxHeader=i.parse(e.readBuffer(t.size));break;case`x`:n=!0,r=i.parse(e.readBuffer(t.size));break;default:break}t.buffer===void 0&&(t.buffer=new ArrayBuffer(0));var s=o+t.size;return t.size%512!=0&&(s+=512-t.size%512),e.position(s),n&&(t=this._readNextFile()),this._globalPaxHeader!==null&&this._globalPaxHeader.applyHeader(t),r!==null&&r.applyHeader(t),t}}}))()),Ir=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Rr.unregister(this),e}free(){let e=this.__destroy_into_raw();Q.__wbg_typst_free(e,0)}cetz_to_tikz(e){let t,n;try{let r=X(e,Q.__wbindgen_malloc,Q.__wbindgen_realloc),i=Z,a=Q.typst_cetz_to_tikz(this.__wbg_ptr,r,i);return t=a[0],n=a[1],Y(a[0],a[1])}finally{Q.__wbindgen_free(t,n,1)}}get_font_info(e){return Q.typst_get_font_info(this.__wbg_ptr,e)}jump_from_click(e,t){return Q.typst_jump_from_click(this.__wbg_ptr,e,t)}latex_to_typst(e){let t,n;try{let r=X(e,Q.__wbindgen_malloc,Q.__wbindgen_realloc),i=Z,a=Q.typst_latex_to_typst(this.__wbg_ptr,r,i);return t=a[0],n=a[1],Y(a[0],a[1])}finally{Q.__wbindgen_free(t,n,1)}}latexeq_to_typm(e){let t,n;try{let r=X(e,Q.__wbindgen_malloc,Q.__wbindgen_realloc),i=Z,a=Q.typst_latexeq_to_typm(this.__wbg_ptr,r,i);return t=a[0],n=a[1],Y(a[0],a[1])}finally{Q.__wbindgen_free(t,n,1)}}list_fonts(){return Q.typst_list_fonts(this.__wbg_ptr)}list_packages(){return Q.typst_list_packages(this.__wbg_ptr)}constructor(e,t,n,r){let i=X(e,Q.__wbindgen_malloc,Q.__wbindgen_realloc),a=Z;return this.__wbg_ptr=Q.typst_new(i,a,t,n,r)>>>0,Rr.register(this,this.__wbg_ptr,this),this}pdf(e,t){let n=X(e,Q.__wbindgen_malloc,Q.__wbindgen_realloc),r=Z,i=X(t,Q.__wbindgen_malloc,Q.__wbindgen_realloc),a=Z,o=Q.typst_pdf(this.__wbg_ptr,n,r,i,a);if(o[2])throw Jr(o[1]);return Jr(o[0])}set_offset(e){Q.typst_set_offset(this.__wbg_ptr,e)}store(e,t,n){let r=qr(e,Q.__wbindgen_malloc),i=Z,a=Q.typst_store(this.__wbg_ptr,r,i,t,n);if(a[1])throw Jr(a[0])}svg(e,t,n,r){let i=X(e,Q.__wbindgen_malloc,Q.__wbindgen_realloc),a=Z,o=X(t,Q.__wbindgen_malloc,Q.__wbindgen_realloc),s=Z,c=X(n,Q.__wbindgen_malloc,Q.__wbindgen_realloc),l=Z,u=X(r,Q.__wbindgen_malloc,Q.__wbindgen_realloc),d=Z,f=Q.typst_svg(this.__wbg_ptr,i,a,o,s,c,l,u,d);if(f[2])throw Jr(f[1]);return Jr(f[0])}tikz_to_cetz(e){let t,n;try{let r=X(e,Q.__wbindgen_malloc,Q.__wbindgen_realloc),i=Z,a=Q.typst_tikz_to_cetz(this.__wbg_ptr,r,i);return t=a[0],n=a[1],Y(a[0],a[1])}finally{Q.__wbindgen_free(t,n,1)}}typm_to_latexeq(e){let t,n;try{let r=X(e,Q.__wbindgen_malloc,Q.__wbindgen_realloc),i=Z,a=Q.typst_typm_to_latexeq(this.__wbg_ptr,r,i);return t=a[0],n=a[1],Y(a[0],a[1])}finally{Q.__wbindgen_free(t,n,1)}}typst_to_latex(e){let t,n;try{let r=X(e,Q.__wbindgen_malloc,Q.__wbindgen_realloc),i=Z,a=Q.typst_typst_to_latex(this.__wbg_ptr,r,i);return t=a[0],n=a[1],Y(a[0],a[1])}finally{Q.__wbindgen_free(t,n,1)}}};Symbol.dispose&&(Ir.prototype[Symbol.dispose]=Ir.prototype.free);function Lr(){let e={__proto__:null,__wbg_Error_4577686b3a6d9b3a:function(e,t){return Error(Y(e,t))},__wbg_Number_e89e48a2fe1a6355:function(e){return Number(e)},__wbg_String_8564e559799eccda:function(e,t){let n=X(String(t),Q.__wbindgen_malloc,Q.__wbindgen_realloc),r=Z;J().setInt32(e+4,r,!0),J().setInt32(e+0,n,!0)},__wbg___wbindgen_boolean_get_18c4ed9422296fff:function(e){let t=e,n=typeof t==`boolean`?t:void 0;return Kr(n)?16777215:n?1:0},__wbg___wbindgen_debug_string_ddde1867f49c2442:function(e,t){let n=X(Br(t),Q.__wbindgen_malloc,Q.__wbindgen_realloc),r=Z;J().setInt32(e+4,r,!0),J().setInt32(e+0,n,!0)},__wbg___wbindgen_is_function_d633e708baf0d146:function(e){return typeof e==`function`},__wbg___wbindgen_is_object_4b3de556756ee8a8:function(e){let t=e;return typeof t==`object`&&!!t},__wbg___wbindgen_jsval_loose_eq_1562ceb9af84e990:function(e,t){return e==t},__wbg___wbindgen_number_get_5854912275df1894:function(e,t){let n=t,r=typeof n==`number`?n:void 0;J().setFloat64(e+8,Kr(r)?0:r,!0),J().setInt32(e+0,!Kr(r),!0)},__wbg___wbindgen_string_get_3e5751597f39a112:function(e,t){let n=t,r=typeof n==`string`?n:void 0;var i=Kr(r)?0:X(r,Q.__wbindgen_malloc,Q.__wbindgen_realloc),a=Z;J().setInt32(e+4,a,!0),J().setInt32(e+0,i,!0)},__wbg___wbindgen_throw_39bc967c0e5a9b58:function(e,t){throw Error(Y(e,t))},__wbg_call_08ad0d89caa7cb79:function(){return Gr(function(e,t,n){return e.call(t,n)},arguments)},__wbg_call_73af281463ec8b58:function(){return Gr(function(e,t){return e.call(t)},arguments)},__wbg_done_5aad55ec6b1954b1:function(e){return e.done},__wbg_entries_28d32ba4cd93f5fc:function(e){return Object.entries(e)},__wbg_getTime_9429d05129287418:function(e){return e.getTime()},__wbg_getTimezoneOffset_eeb05f23347950d1:function(e){return e.getTimezoneOffset()},__wbg_get_4920fefd3451364b:function(){return Gr(function(e,t){return Reflect.get(e,t)},arguments)},__wbg_get_f09c3a16f8848381:function(e,t){return e[t>>>0]},__wbg_get_unchecked_3d0f4b91c8eca4f0:function(e,t){return e[t>>>0]},__wbg_instanceof_ArrayBuffer_15859862b80b732d:function(e){let t;try{t=e instanceof ArrayBuffer}catch{t=!1}return t},__wbg_instanceof_Uint8Array_2240b7046ac16f05:function(e){let t;try{t=e instanceof Uint8Array}catch{t=!1}return t},__wbg_isArray_fad08a0d12828686:function(e){return Array.isArray(e)},__wbg_isSafeInteger_10e4151eb694e42a:function(e){return Number.isSafeInteger(e)},__wbg_iterator_fc7ad8d33bab9e26:function(){return Symbol.iterator},__wbg_length_5855c1f289dfffc1:function(e){return e.length},__wbg_length_a31e05262e09b7f8:function(e){return e.length},__wbg_new_09959f7b4c92c246:function(e){return new Uint8Array(e)},__wbg_new_0_a719938e6f92ddf4:function(){return new Date},__wbg_new_223944ca37c18764:function(e){return new Date(e)},__wbg_new_cbee8c0d5c479eac:function(){return[]},__wbg_new_ed69e637b553a997:function(){return{}},__wbg_next_a5fe6f328f7affc2:function(e){return e.next},__wbg_next_e592122bb4ed4c67:function(){return Gr(function(e){return e.next()},arguments)},__wbg_prototypesetcall_f034d444741426c3:function(e,t,n){Uint8Array.prototype.set.call(Vr(e,t),n)},__wbg_set_4c81cfb5dc3a333c:function(e,t,n){e[t>>>0]=n},__wbg_set_6be42768c690e380:function(e,t,n){e[t]=n},__wbg_value_667dcb90597486a6:function(e){return e.value},__wbindgen_cast_0000000000000001:function(e){return e},__wbindgen_cast_0000000000000002:function(e,t){return Y(e,t)},__wbindgen_cast_0000000000000003:function(e){return BigInt.asUintN(64,e)},__wbindgen_init_externref_table:function(){let e=Q.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}};return{__proto__:null,"./typst_wasm_bg.js":e}}let Rr=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>Q.__wbg_typst_free(e>>>0,1));function zr(e){let t=Q.__externref_table_alloc();return Q.__wbindgen_externrefs.set(t,e),t}function Br(e){let t=typeof e;if(t==`number`||t==`boolean`||e==null)return`${e}`;if(t==`string`)return`"${e}"`;if(t==`symbol`){let t=e.description;return t==null?`Symbol`:`Symbol(${t})`}if(t==`function`){let t=e.name;return typeof t==`string`&&t.length>0?`Function(${t})`:`Function`}if(Array.isArray(e)){let t=e.length,n=`[`;t>0&&(n+=Br(e[0]));for(let r=1;r<t;r++)n+=`, `+Br(e[r]);return n+=`]`,n}let n=/\\[object ([^\\]]+)\\]/.exec(toString.call(e)),r;if(n&&n.length>1)r=n[1];else return toString.call(e);if(r==`Object`)try{return`Object(`+JSON.stringify(e)+`)`}catch{return`Object`}return e instanceof Error?`${e.name}: ${e.message}\\n${e.stack}`:r}function Vr(e,t){return e>>>=0,Wr().subarray(e/1,e/1+t)}let Hr=null;function J(){return(Hr===null||Hr.buffer.detached===!0||Hr.buffer.detached===void 0&&Hr.buffer!==Q.memory.buffer)&&(Hr=new DataView(Q.memory.buffer)),Hr}function Y(e,t){return e>>>=0,Zr(e,t)}let Ur=null;function Wr(){return(Ur===null||Ur.byteLength===0)&&(Ur=new Uint8Array(Q.memory.buffer)),Ur}function Gr(e,t){try{return e.apply(this,t)}catch(e){let t=zr(e);Q.__wbindgen_exn_store(t)}}function Kr(e){return e==null}function qr(e,t){let n=t(e.length*4,4)>>>0;for(let t=0;t<e.length;t++){let r=zr(e[t]);J().setUint32(n+4*t,r,!0)}return Z=e.length,n}function X(e,t,n){if(n===void 0){let n=Qr.encode(e),r=t(n.length,1)>>>0;return Wr().subarray(r,r+n.length).set(n),Z=n.length,r}let r=e.length,i=t(r,1)>>>0,a=Wr(),o=0;for(;o<r;o++){let t=e.charCodeAt(o);if(t>127)break;a[i+o]=t}if(o!==r){o!==0&&(e=e.slice(o)),i=n(i,r,r=o+e.length*3,1)>>>0;let t=Wr().subarray(i+o,i+r),a=Qr.encodeInto(e,t);o+=a.written,i=n(i,r,o,1)>>>0}return Z=o,i}function Jr(e){let t=Q.__wbindgen_externrefs.get(e);return Q.__externref_table_dealloc(e),t}let Yr=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0});Yr.decode();let Xr=0;function Zr(e,t){return Xr+=t,Xr>=2146435072&&(Yr=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}),Yr.decode(),Xr=t),Yr.decode(Wr().subarray(e,e+t))}let Qr=new TextEncoder;`encodeInto`in Qr||(Qr.encodeInto=function(e,t){let n=Qr.encode(e);return t.set(n),{read:e.length,written:n.length}});let Z=0,Q;function $r(e,t){return Q=e.exports,Hr=null,Ur=null,Q.__wbindgen_start(),Q}async function ei(e,t){if(typeof Response==`function`&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming==`function`)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if(e.ok&&n(e.type)&&e.headers.get(`Content-Type`)!==`application/wasm`)console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\\n",t);else throw t}let r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}else{let n=await WebAssembly.instantiate(e,t);return n instanceof WebAssembly.Instance?{instance:n,module:e}:n}function n(e){switch(e){case`basic`:case`cors`:case`default`:return!0}return!1}}async function ti(e){if(Q!==void 0)return Q;e!==void 0&&(Object.getPrototypeOf(e)===Object.prototype?{module_or_path:e}=e:console.warn(`using deprecated parameters for the initialization function; pass a single object instead`)),e===void 0&&(e=new URL(`typst_wasm_bg.wasm`,``+self.location.href));let t=Lr();(typeof e==`string`||typeof Request==`function`&&e instanceof Request||typeof URL==`function`&&e instanceof URL)&&(e=fetch(e));let{instance:n,module:r}=await ei(await e,t);return $r(n,r)}let ni,$=new Map,ri=new XMLHttpRequest;ri.overrideMimeType(`text/plain; charset=x-user-defined`),_(class{module;typst;localPackagesDirPaths;fs;path;baseDirPath;constructor(e,t,n){if(this.localPackagesDirPaths=e,this.baseDirPath=t,n){let e=(0,eval)(`require`);this.fs=e(`node:fs`),this.path=e(`node:path`)}}async init(e,t,n){this.typst&&this.typst.free(),this.module=await ti({module_or_path:await WebAssembly.compile(e)}),this.typst=new Ir(this.baseDirPath,this.fetch.bind(this),t,n)}setOffset(e){this.typst.set_offset(e)}store(e){this.typst.store(e.fonts??[],e.sources??[],e.files??[])}svg(e,t,n,r){return this.typst.svg(e,t,n,r)}pdf(e,t){return this.typst.pdf(e,t)}listFonts(){return this.typst.list_fonts()}parseFont(e){return this.typst.get_font_info(e)}listPackages(){return this.typst.list_packages()}latex_to_typst(e){return this.typst.latex_to_typst(e)}typst_to_latex(e){return this.typst.typst_to_latex(e)}latexeq_to_typm(e){return this.typst.latexeq_to_typm(e)}typm_to_latexeq(e){return this.typst.typm_to_latexeq(e)}tikz_to_cetz(e){return this.typst.tikz_to_cetz(e)}cetz_to_tikz(e){return this.typst.cetz_to_tikz(e)}jumpFromClick(e,t){return this.typst.jump_from_click(e,t)}fetch(e){if($.has(e)){let t=$.get(e);if(t)return t;throw 12}let t=!1,n=(e,t)=>{let n=(this.fs?.readFileSync??ni.readBinary)(t);if(n instanceof Promise)n.then(t=>{$.set(e,new Uint8Array(t))}).catch(()=>{$.has(e)||$.set(e,void 0)});else return $.set(e,n),new Uint8Array(n);throw 0};if(e.startsWith(`@`)){t=!0,e=e.slice(1);let[r,i,a]=e.split(`/`),o=e.split(`/`).slice(3).join(`/`),s=`${r}/${i}/${a}`;if(r===`preview`){if(this.fs)try{return n(`@${e}`,`${this.localPackagesDirPaths[0]}/${s}/${o}`)}catch{}if(o===`typst.toml`&&ni.notice(`Downloading ${i}...`,500),ri.open(`GET`,`https://packages.typst.org/preview/${i}-${a}.tar.gz`,!1),ri.send(null),ri.status===0)throw 21;if(ri.status===404)throw 22;if(!ri.responseText===null)throw 20;try{let e=ri.responseText,t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n)&255;let n=Pr.ungzip(t).buffer,r=(0,Fr.default)(n);ni.writePackage(s,r);for(let e of r.filter(e=>e.type===`0`))$.set(`@${s}/${e.name}`,new Uint8Array(e.buffer));for(let e of r.filter(e=>e.type===`2`))$.set(`@${s}/${e.name}`,new Uint8Array($.get(e.linkname)?.buffer||new ArrayBuffer(0)));o===`typst.toml`&&ni.notice(`Downloaded successfully!`,500)}catch(e){throw console.error(e),20}return $.get(`@${s}/${o}`)}}if(t)for(let t of this.localPackagesDirPaths)try{return n(`@${e}`,`${t}/${e}`)}catch{}else return n(e,e);throw 0}setMain(e){ni=e}},self)})();',Kh=typeof self<`u`&&self.Blob&&new Blob([`(self.URL || self.webkitURL).revokeObjectURL(self.location.href);`,Gh],{type:`text/javascript;charset=utf-8`});function qh(e){let t;try{if(t=Kh&&(self.URL||self.webkitURL).createObjectURL(Kh),!t)throw``;let n=new Worker(t,{name:e?.name});return n.addEventListener(`error`,()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),n}catch{return new Worker(`data:text/javascript;charset=utf-8,`+encodeURIComponent(Gh),{name:e?.name})}}const Jh=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;let Yh=(e=21)=>{let t=``,n=crypto.getRandomValues(new Uint8Array(e|=0));for(;e--;)t+=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`[n[e]&63];return t};var Xh=class{ea;plugin;constructor(e,t){this.plugin=e,this.ea=t?.ea}async addTypst(e,t){this.ea||=this.plugin.app.plugins.plugins[`obsidian-excalidraw-plugin`].ea,this.ea.setView(),this.ea.clear();try{e=t.noPreamble?t.format.replace(`{CODE}`,e):`${this.plugin.settings.preamble}\n${t.useReplaceAll?t.format.replaceAll(`{CODE}`,e):t.format.replace(`{CODE}`,e)}`;let n=(await this.plugin.typst.svg(e,`/`,`excalidraw`,t.id)).svg,r=parseFloat(n.match(/width="([\d.]+)pt"/)[1]),i=parseFloat(n.match(/height="([\d.]+)pt"/)[1]),a=Yh(),o=this.ea.getViewLastPointerPosition(),s=await this.ea.convertStringToDataURL(n,`image/svg+xml`);return this.ea.imagesDict[a]={mimeType:`image/svg+xml`,id:a,dataURL:s,created:Date.now(),file:null,hasSVGwithBitmap:!1},this.ea.elementsDict[a]=this.ea.boxedElement(a,`image`,o.x,o.y,r,i),this.ea.elementsDict[a].fileId=a,this.ea.elementsDict[a].scale=[1,1],this.ea.addElementsToView(!1,!0,!0,!0),a}catch(e){throw console.error(`Failed to add Typst to Excalidraw:`,e),e}}},Zh=class extends l.Modal{constructor(e,t){super(e);let n,r;new l.Setting(this.contentEl).setName(`Excalidraw`).setHeading(),new l.Setting(this.contentEl).setName(`processor id`).addDropdown(e=>{let r=t.settings.processor.excalidraw?.processors??[];for(let t of r)e.addOption(t.id,t.id);e.setValue(r.at(-1).id),n=r.at(-1).id,e.onChange(e=>{n=e})}),new l.Setting(this.contentEl).setName(`code`).addText(e=>{e.onChange(e=>{r=e,i.empty(),r&&t.typstManager.render(`${n}\n${r}`,i,`excalidraw`,`/`)})}),new l.Setting(this.contentEl).addButton(e=>{e.setButtonText(`Add`),e.onClick(()=>{this.close();let e=t.settings.processor.excalidraw?.processors.find(e=>e.id===n)??en;t.excalidraw?.addTypst(r,e)})});let i=this.contentEl.createDiv(`typstmate-settings-preview-preview`);i.setText(`Type in the input above to see the preview`)}},Qh=class extends DocumentFragment{appendText(e){let t=document.createTextNode(e);return this.appendChild(t),this}appendBoldText(e){let t=document.createElement(`b`);return t.textContent=e,this.appendChild(t),this}appendCodeText(e){let t=document.createElement(`code`);return t.textContent=e,this.appendChild(t),this}appendLinkText(e,t){let n=document.createElement(`a`);return n.textContent=e,n.setAttribute(`href`,t),this.appendChild(n),this}};function $h(e,t){new l.Setting(t).setName(`Typst file import path`).setDesc(`The directory in your vault in which to look for typst files to be allowed to import, if the path does not exist or is empty the feature is disabled`).addText(t=>{t.setValue(String(e.settings.importPath??R.importPath));let n=(0,l.debounce)(async()=>{let t=await e.typstManager.collectTagFiles();await e.typst.store({files:t}),new l.Notice(`Files updated.`),e.typstManager.refreshView()},500,!0);t.onChange(async t=>{e.settings.importPath=t,e.saveSettings(),n()})}).infoEl.createEl(`a`,{text:`Open Details`,href:`https://github.com/azyarashi/obsidian-typst-mate/releases/tag/2.2.28`}),new l.Setting(t).setName(`Enable Debugger`).addToggle(t=>{t.setValue(e.settings.enableDebugger),t.onChange(t=>{e.settings.enableDebugger=t,e.saveSettings(),t?document.querySelector(`.typstmate-debug-panel`).show():document.querySelector(`.typstmate-debug-panel`).hide()})}),new l.Setting(t).setName(`Open Typst Tools on Startup`).setDesc(`Open Typst tools in side panel when launching Obsidian.`).addToggle(t=>{t.setValue(e.settings.openTypstToolsOnStartup),t.onChange(t=>{e.settings.openTypstToolsOnStartup=t,e.saveSettings()})}),new l.Setting(t).setName(`Enable MathJax Fallback`).setDesc(new Qh().appendText(`Not recommended for performance reasons. When enabled, `).appendBoldText(`Typst errors, warnings, and hints will be unavailable.`)).addToggle(t=>{t.setValue(e.settings.enableMathjaxFallback),t.onChange(t=>{e.settings.enableMathjaxFallback=t,e.saveSettings()})}),new l.Setting(t).setName(`Apply Processor to MathJax`).addToggle(t=>{t.setValue(e.settings.applyProcessorToMathJax),t.onChange(t=>{e.settings.applyProcessorToMathJax=t,e.saveSettings()})}),new l.Setting(t).setName(`Reload Plugin`).addButton(t=>{t.setButtonText(`Reload Plugin`),t.onClick(async()=>{await e.reload(!0),new l.Notice(`Plugin reloaded.`)})});let n=t.createDiv();n.textContent=`Snippets are managed in a separate leaf. `;let r=n.createEl(`a`,{text:`Open Snippet Manager`});r.href=`#`,r.style.cursor=`pointer`,r.addEventListener(`click`,async t=>{t.preventDefault(),await e.activateLeaf(!0,`snippets`),e.app.setting.close()})}var eg=class extends l.Modal{constructor(e,t){super(e);for(let e of t)new l.Setting(this.contentEl).setName(e.family).setHeading().addButton(t=>{t.setIcon(`copy`),t.setTooltip(`Copy Font Family Name`),t.onClick(async()=>{await navigator.clipboard.writeText(e.family),new l.Notice(`Copied!`)})}),new l.Setting(this.contentEl).setName(`style: ${e.variant.style}`),new l.Setting(this.contentEl).setName(`weight: ${ng(e.variant.weight)}`),new l.Setting(this.contentEl).setName(`stretch: ${ig(e.variant.stretch)}`),new l.Setting(this.contentEl).setName(`flags: ${og(e.flags)}`)}};const tg={THIN:100,EXTRALIGHT:200,LIGHT:300,REGULAR:400,MEDIUM:500,SEMIBOLD:600,BOLD:700,EXTRABOLD:800,BLACK:900},ng=e=>e<150?`${tg.THIN}(THIN)`:e<250?`${tg.EXTRALIGHT}(EXTRALIGHT)`:e<350?`${tg.LIGHT}(LIGHT)`:e<450?`${tg.REGULAR}(REGULAR)`:e<550?`${tg.MEDIUM}(MEDIUM)`:e<650?`${tg.SEMIBOLD}(SEMIBOLD)`:e<750?`${tg.BOLD}(BOLD)`:e<850?`${tg.EXTRABOLD}(EXTRABOLD)`:`${tg.BLACK}(BLACK)`,rg={ULTRA_CONDENSED:500,EXTRA_CONDENSED:625,CONDENSED:750,SEMI_CONDENSED:875,NORMAL:1e3,SEMI_EXPANDED:1125,EXPANDED:1250,EXTRA_EXPANDED:1500,ULTRA_EXPANDED:2e3},ig=e=>{let t=Math.round(Math.clamp(e,.5,2)*1e3);if(t<563)return`${rg.ULTRA_CONDENSED}(ULTRA_CONDENSED)`;if(563<=t&&t<688)return`${rg.EXTRA_CONDENSED}(EXTRA_CONDENSED)`;if(688<=t&&t<813)return`${rg.CONDENSED}(CONDENSED)`;if(813<=t&&t<938)return`${rg.SEMI_CONDENSED}(SEMI_CONDENSED)`;if(938<=t&&t<1063)return`${rg.NORMAL}(NORMAL)`;if(1063<=t&&t<1188)return`${rg.SEMI_EXPANDED}(SEMI_EXPANDED)`;if(1188<=t&&t<1375)return`${rg.EXPANDED}(EXPANDED)`;if(1375<=t&&t<1750)return`${rg.EXTRA_EXPANDED}(EXTRA_EXPANDED)`;if(1750<=t)return`${rg.ULTRA_EXPANDED}(ULTRA_EXPANDED)`};let ag=function(e){return e[e.monospace=1]=`monospace`,e[e.serif=2]=`serif`,e[e.math=4]=`math`,e[e.variable=8]=`variable`,e}({});const og=e=>{let t=[];for(let[n,r]of Object.entries(ag))typeof r==`number`&&(e&r)!==0&&t.push(n.toUpperCase());return t.length===0&&t.push(`none`),t};function sg(e,t=6){let n=5381;for(let t=0;t<e.length;t++)n=n*33^e.charCodeAt(t);let r=(n>>>0).toString(36);return r.length>=t?r.slice(-t):r.padStart(t,`0`)}var cg=class{plugin;fontDataTableEl;fontDataCountEl;importedFontTableEl;constructor(e,t){this.plugin=e,l.Platform.isDesktopApp&&(new l.Setting(t).setName(`Import Font`).setDesc(`Desktop App only. Typst supports ttf/otf/ttc/otc.`).addSearch(e=>{e.setPlaceholder(`Filter Font Name`),e.onChange(e=>{this.filterSystemFontList(e.toLowerCase())})}).addButton(e=>{e.setIcon(`list-restart`),e.setTooltip(`Get Font List`),e.onClick(this.displaySystemFontList.bind(this))}),this.fontDataCountEl=t.createDiv(),this.fontDataCountEl.textContent=`Click to get system font list`,this.fontDataTableEl=t.createDiv(`typstmate-settings-table typstmate-hidden`));let n=new l.Setting(t).setName(`Imported Fonts`).setDesc(`The string next to the font name is used to identify fonts that share the same PostScript name.`);l.Platform.isDesktopApp&&n.addButton(e=>{e.setTooltip(`Open Folder`),e.setIcon(`folder`),e.onClick(async()=>{window.open(`file://${this.plugin.baseDirPath}/${this.plugin.fontsDirNPath}`)})}),this.importedFontTableEl=t.createDiv(`typstmate-settings-table typstmate-hidden`),this.displayImportedFontList()}async filterSystemFontList(e){let t=0,n=this.fontDataTableEl.children;for(let r of n)(r.id??``).includes(e)?(r.classList.remove(`typstmate-hidden`),t++):r.classList.add(`typstmate-hidden`);this.fontDataCountEl.textContent=`${t} font(s)`,t===0?this.fontDataTableEl.classList.add(`typstmate-hidden`):this.fontDataTableEl.classList.remove(`typstmate-hidden`)}async displaySystemFontList(){this.fontDataTableEl.empty();let e=await window.queryLocalFonts?.()??[];if(e.length!==0){this.fontDataTableEl.classList.remove(`typstmate-hidden`),this.fontDataCountEl.textContent=`${e.length} font(s)`;for(let t of e){let e=new l.Setting(this.fontDataTableEl);e.settingEl.id=t.postscriptName.toLowerCase();let n=sg(t.fullName);e.setName(`${t.fullName} (${n})`).addButton(e=>{e.setIcon(`info`),e.setTooltip(`Get Info`),e.onClick(async()=>{let e=await this.plugin.typst.parseFont(await(await t.blob()).arrayBuffer());new eg(this.plugin.app,e).open()})}).addButton(e=>{e.setTooltip(`Import Font`),e.setIcon(`plus`),e.onClick(()=>this.importFont(t))})}}}addImportedFontSetting(e){let t=e.split(`/`).pop(),n=t.split(`.`).slice(0,-2).join(`.`),r=t.split(`.`).at(-2),i=new l.Setting(this.importedFontTableEl);i.settingEl.id=t,i.setName(`${n} (${r})`).addButton(t=>{t.setIcon(`info`),t.setTooltip(`Get Info`),t.onClick(async()=>{let t=await this.plugin.typst.parseFont(await this.plugin.app.vault.adapter.readBinary(e));new eg(this.plugin.app,t).open()})}).addButton(e=>{e.setIcon(`trash`),e.setTooltip(`Remove`),e.buttonEl.classList.add(`typstmate-button`,`typstmate-button-danger`),e.onClick(this.removeFont.bind(this,t))})}async displayImportedFontList(){this.importedFontTableEl.empty();let e=(await this.plugin.app.vault.adapter.list(this.plugin.fontsDirNPath)).files.filter(e=>e.endsWith(`.font`));if(e.length===0){this.importedFontTableEl.classList.add(`typstmate-hidden`);return}this.importedFontTableEl.classList.remove(`typstmate-hidden`);for(let t of e)this.addImportedFontSetting(t)}async importFont(e){let t=sg(e.fullName),n=`${e.postscriptName}.${t}.font`;if(this.importedFontTableEl.children.namedItem(n)){new l.Notice(`Font already imported!`);return}let r=await(await e.blob()).arrayBuffer();await this.plugin.app.vault.adapter.writeBinary(`${this.plugin.fontsDirNPath}/${n}`,r),await this.plugin.typst.store({fonts:[r]}),this.addImportedFontSetting(`${this.plugin.fontsDirNPath}/${n}`),new l.Notice(`Imported successfully!`)}async removeFont(e){await this.plugin.app.vault.adapter.remove(`${this.plugin.fontsDirNPath}/${e}`),this.importedFontTableEl.children.namedItem(e)?.remove(),this.importedFontTableEl.children.length===0&&this.importedFontTableEl.classList.add(`typstmate-hidden`),new l.Notice(`Removed successfully!`)}},lg=class{plugin;packageTableEl;localPackageTableEl;constructor(e,t){this.plugin=e,l.Platform.isDesktopApp&&(new l.Setting(t).setName(`Import Local Package`).setDesc(`Desktop App only.`).addButton(e=>{e.setIcon(`list-restart`),e.setTooltip(`Import Local Package`),e.onClick(this.listLocalPackage.bind(this))}),this.localPackageTableEl=t.createDiv(`typstmate-settings-table typstmate-hidden`));let n=new l.Setting(t).setName(`Cached Packages`);l.Platform.isDesktopApp&&n.addButton(e=>{e.setTooltip(`Open Folder`),e.setIcon(`folder`),e.onClick(async()=>{window.open(`file://${this.plugin.baseDirPath}/${this.plugin.packagesDirNPath}`)})}),this.packageTableEl=t.createDiv(`typstmate-settings-table typstmate-hidden`),this.displayPackageList()}async listLocalPackage(){this.localPackageTableEl.empty();let e=[],{fs:t,path:n}=this.plugin;for(let r of this.plugin.localPackagesDirPaths){n.isAbsolute(r)||(r=`${this.plugin.baseDirPath}/${r}`);let i=t.readdirSync(r);for(let a of i)if(t.statSync(`${r}/${a}`).isDirectory()&&!a.endsWith(`preview`))try{let i=t.readdirSync(`${r}/${a}`);for(let o of i){if(!t.statSync(`${r}/${a}/${o}`).isDirectory())continue;let i=t.readdirSync(`${r}/${a}/${o}`);for(let s of i)t.statSync(`${r}/${a}/${o}/${s}`).isDirectory()&&/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/.test(s)&&e.push({namespace:n.basename(a,`.`),name:n.basename(o,`.`),version:n.basename(s,`.`),rPath:r})}}catch{}}if(e.length!==0){this.localPackageTableEl.removeClass(`typstmate-hidden`);for(let t of e){let e=new l.Setting(this.localPackageTableEl);e.settingEl.id=`${t.rPath}/${t.namespace}/${t.name}:${t.version}`,e.setName(`@${t.namespace}/${t.name}:${t.version}`).addButton(e=>{e.setTooltip(`Import Font`),e.setIcon(`plus`),e.onClick(()=>{this.plugin.typstManager.createCache(t,!0,[t.rPath])})})}}}async importLocalPackage(){}async displayPackageList(){this.packageTableEl.empty();let e=(await this.plugin.app.vault.adapter.list(this.plugin.cachesDirNPath)).files.filter(e=>e.endsWith(`.cache`)).map(e=>{let[t,n,r]=e.replace(`.cache`,``).split(`/`).pop().split(`_`);return{namespace:t,name:n,version:r}});if(e.length!==0){this.packageTableEl.removeClass(`typstmate-hidden`);for(let t of e){let e=new l.Setting(this.packageTableEl).setName(`@${t.namespace}/${t.name}:${t.version}`).addButton(e=>{e.setTooltip(`Cache`),e.setIcon(`package`),e.onClick(async()=>{await this.plugin.typstManager.createCache(t,!0).then(()=>{new l.Notice(`Cached successfully!`)}).catch(()=>{new l.Notice(`Failed to cache`)})})}).addButton(e=>{e.buttonEl.addClass(`typstmate-button`,`typstmate-button-danger`),e.setTooltip(`Remove`),e.setIcon(`trash`),e.onClick(async()=>{await this.removePackage(t).then(()=>{new l.Notice(`Removed successfully!`)}).catch(()=>{new l.Notice(`Failed to remove`)})})});e.settingEl.id=`${t.namespace}/${t.name}:${t.version}`}}}async removePackage(e){await this.plugin.app.vault.adapter.remove(`${this.plugin.cachesDirNPath}/${e.namespace}_${e.name}_${e.version}.cache`),this.packageTableEl.children.namedItem(`${e.namespace}/${e.name}:${e.version}`)?.remove(),this.packageTableEl.children.length===0&&this.packageTableEl.addClass(`typstmate-hidden`)}};function ug(e,t,n,r){dg(e,t),fg(e,t,n,r)}function dg(e,t){new l.Setting(t).setName(`Skip Preparation Waiting`).setDesc(`Defers initialization at startup (Unstable on mobile). Reduces startup time but delays first render.`).addToggle(t=>{t.setValue(e.settings.skipPreparationWaiting),t.onChange(t=>{e.settings.skipPreparationWaiting=t,e.saveSettings()})}),new l.Setting(t).setName(`Disable Package Cache`).setDesc(`Disable caching of imported packages. Useful for low memory environments but requires re-downloading packages.`).addToggle(t=>{t.setValue(e.settings.disablePackageCache),t.onChange(t=>{e.settings.disablePackageCache=t,e.saveSettings()})})}function fg(e,t,n,r){let i=t.createDiv(`typstmate-compiler-tabs`);switch([{id:`package`,name:`Package`},{id:`font`,name:`Font`}].forEach(e=>{i.createDiv({cls:`typstmate-compiler-tab ${n===e.id?`active`:``}`,text:e.name}).addEventListener(`click`,()=>{r(e.id)})}),n){case`package`:new l.Setting(t).setName(`Package`).setDesc(`When a package is imported, the cache is used instead of the actual files for faster performance. If you make changes directly, please click the package icon to refresh the cache (plugin reload is required.)`).setHeading(),new lg(e,t);break;case`font`:new l.Setting(t).setName(`Font`).setHeading(),new cg(e,t);break}}function pg(e,t,n,r){let i=t.createDiv(`typstmate-processor-tabs`);for(let e of[{id:`Decoration`,name:`Decoration`},{id:`Popup`,name:`Popup`},{id:`Action`,name:`Action`}])i.createDiv({cls:`typstmate-processor-tab ${n===e.id?`active`:``}`,text:e.name}).addEventListener(`click`,()=>{r(e.id)});switch(n){case`Decoration`:mg(e,t);break;case`Popup`:hg(e,t);break;case`Action`:gg(e,t);break}}function mg(e,t){new l.Setting(t).setName(`Conceal & Complement`).setHeading(),new l.Setting(t).setName(`Conceal Math Symbols`).setDesc(`Conceal math symbols (e.g. integral to ∫) in the editor.`).addToggle(t=>{t.setValue(e.settings.concealMathSymbols??R.concealMathSymbols),t.onChange(t=>{n?.setDisabled(!t),r?.setDisabled(!t||!(n?.getValue()??!1)),e.settings.concealMathSymbols=t,e.saveSettings()})});let n=null;new l.Setting(t).setName(`Enable Math Symbol Reveal Delay`).setDesc(`Enable delay before revealing concealed math symbols when cursor is nearby.`).addToggle(t=>{n=t,t.setValue(e.settings.enableConcealMathSymbolRevealDelay??R.enableConcealMathSymbolRevealDelay),t.onChange(t=>{r?.setDisabled(!t),e.settings.enableConcealMathSymbolRevealDelay=t,e.saveSettings()})});let r=null;new l.Setting(t).setName(`Conceal Math Symbol Reveal Delay Duration (ms)`).setDesc(`Milliseconds to wait before revealing the symbol text.`).addText(t=>{r=t,t.setValue(String(e.settings.mathSymbolRevealDelay??R.mathSymbolRevealDelay)),t.onChange(t=>{let n=Number(t);if(Number.isNaN(n))return new l.Notice(`Invalid number for Reveal Delay`);if(n<=0)return new l.Notice(`Reveal Delay must be greater than 0`);e.settings.mathSymbolRevealDelay=n,e.saveSettings()}),n?.getValue()||t.setDisabled(!0)}),new l.Setting(t).setName(`Complement Symbol with Unicode`).setDesc(`Automatically replaces typed symbols with Unicode equivalents.`).addToggle(t=>{t.setValue(e.settings.complementSymbolWithUnicode??R.complementSymbolWithUnicode),t.onChange(t=>{e.settings.complementSymbolWithUnicode=t,e.saveSettings()})}),new l.Setting(t).setName(`Highlight`).setHeading(),new l.Setting(t).setName(`Disable Bracket Highlight`).setDesc(`Disable highlighting of matching brackets.`).addToggle(t=>{t.setValue(e.settings.disableBracketHighlight??R.disableBracketHighlight),t.onChange(t=>{e.settings.disableBracketHighlight=t,e.saveSettings(),e.reload(!0)})}),new l.Setting(t).setName(`Use Obsidian Theme`).setDesc(`Use Obsidian theme instead of Typst theme. Reload required.`).addToggle(t=>{t.setValue(e.settings.useObsidianTheme??R.useObsidianTheme),t.onChange(t=>{e.settings.useObsidianTheme=t,e.saveSettings()})})}function hg(e,t){new l.Setting(t).setName(`Inline Preview`).setHeading(),new l.Setting(t).setName(`Enable Inline Preview`).setDesc(`Show live preview for inline math.`).addToggle(t=>{t.setValue(e.settings.enableInlinePreview),t.onChange(t=>{e.settings.enableInlinePreview=t,e.saveSettings()})})}function gg(e,t){new l.Setting(t).setName(`Tab Jump`).setHeading(),new l.Setting(t).setName(`Revert Tab to Default`).setDesc(`Reverts the Tab key behavior to the default indentation instead of jumping to the next placeholder.`).addToggle(t=>{t.setValue(e.settings.revertTabToDefault??R.revertTabToDefault),t.onChange(t=>{e.settings.revertTabToDefault=t,e.saveSettings()})}),new l.Setting(t).setName(`Jump Outside Bracket`).setDesc(`Allow the cursor to jump outside the current bracket pair.`).addToggle(t=>{t.setValue(e.settings.jumpOutsideBracket??R.jumpOutsideBracket),t.onChange(t=>{e.settings.jumpOutsideBracket=t,e.saveSettings()})}),new l.Setting(t).setName(`Move to End of Math Block Before Exiting`).setDesc(`When exiting math, first move the cursor to the end of the block.`).addToggle(t=>{t.setValue(e.settings.moveToEndOfMathBlockBeforeExiting??R.moveToEndOfMathBlockBeforeExiting),t.onChange(t=>{e.settings.moveToEndOfMathBlockBeforeExiting=t,e.saveSettings()})}),new l.Setting(t).setName(`Prefer Inline Exit for Single Line Display Math`).setDesc(`If a display math block fits on a single line, exit inline instead of creating a new line.`).addToggle(t=>{t.setValue(e.settings.preferInlineExitForSingleLineDisplayMath??R.preferInlineExitForSingleLineDisplayMath),t.onChange(t=>{e.settings.preferInlineExitForSingleLineDisplayMath=t,e.saveSettings()})}),new l.Setting(t).setName(`Macro`).setHeading(),new l.Setting(t).setName(`Disable Macro`).setDesc(`Disable default macros like mk and dm.`).addToggle(t=>{t.setValue(e.settings.disableMacro??R.disableMacro),t.onChange(t=>{e.settings.disableMacro=t,e.saveSettings()})})}var _g=class extends l.Modal{constructor(e,t,n,r){super(e);let i=t.settings.processor[n]?.processors.find(e=>e.id===r);i&&(new l.Setting(this.contentEl).setName(i.id).setHeading(),new l.Setting(this.contentEl).setName(`Use preamble`).addToggle(e=>{e.setValue(!i.noPreamble),e.onChange(()=>{i.noPreamble=!i.noPreamble,t.saveSettings()})}),new l.Setting(this.contentEl).setName(`Disable symbol suggest`).addToggle(e=>{e.setValue(i.disableSuggest??!1),e.onChange(()=>{i.disableSuggest=!i.disableSuggest,t.saveSettings()})}),n!==`excalidraw`&&new l.Setting(this.contentEl).setName(`Fit to note width`).setDesc(new Qh().appendText(`Adds a line at the beginning of the code declaring length: `).appendCodeText(`WIDTH`)).addToggle(e=>{e.setValue(i.fitToNoteWidth??!1),e.onChange(()=>{i.fitToNoteWidth=!i.fitToNoteWidth,t.saveSettings()})}),new l.Setting(this.contentEl).setName(`Syntax mode`).setDesc(`Specifies the syntax tree parsing mode. Select None to completely bypass AST parsing and syntax highlighting.`).addDropdown(e=>{e.addOption(`null`,`None`).addOption(I.Markup.toString(),`Markup`).addOption(I.Math.toString(),`Math`).addOption(I.Code.toString(),`Code`);let r=`null`;i.syntaxMode!==null&&(r=i.syntaxMode?.toString()??(n===`codeblock`?I.Markup.toString():I.Math.toString())),e.setValue(r),e.onChange(e=>{i.syntaxMode=e===`null`?null:parseInt(e,10),t.saveSettings()})}),new l.Setting(this.contentEl).setName(`Use replace all`).addToggle(e=>{e.setValue(i.useReplaceAll??!1),e.onChange(()=>{i.useReplaceAll=!i.useReplaceAll,t.saveSettings()})}))}},vg={inline:`It expects only inline elements to be placed and no extra line breaks (including ; in Code mode) on the last line. If you use block elements, please convert them to inline elements using the box function. If you want to use the same typesetting as Typst, set the style to inline. If you want to use display math equations, setting $#math.equation($ {CODE} $, block: false)$ is recommended.`,display:``,codeblock:``,excalidraw:``},yg=class{plugin;kind;processorsEl;draggingIndex=null;constructor(e,t,n,r){this.plugin=e,this.kind=t,t===`inline`&&new l.Setting(n).setDesc(vg[t]),new l.Setting(n).setName(r).setHeading().addButton(e=>{e.setButtonText(`New`),e.onClick(this.newProcessor.bind(this))}),this.processorsEl=n.createEl(`div`),this.plugin.settings.processor[this.kind]||(this.plugin.settings.processor[this.kind]={processors:[]}),this.checkProcessorWithEmptyId(),this.plugin.settings.processor[this.kind].processors.forEach(this.addProcessor.bind(this)),this.numbering()}checkProcessorWithEmptyId(){let e=this.plugin.settings.processor[this.kind].processors,t=e.filter(e=>e.id===``),n=e.filter(e=>e.id!==``),r=null,i=!1;if(t.length===1)r=t[0];else if(1<t.length)t.sort((e,t)=>t.format.length-e.format.length),r=t[0],i=!0;else{let e=R.processor[this.kind].processors;if(e){let t=e.find(e=>e.id===``);t&&(r=JSON.parse(JSON.stringify(t)),i=!0)}}if(i||e[e.length-1]!==r&&(i=!0),r){let e=[...n,r];i&&(this.plugin.settings.processor[this.kind].processors=e,this.plugin.saveSettings())}}newProcessor(){this.plugin.settings.processor[this.kind].processors.unshift(tn[this.kind]),this.plugin.saveSettings(),this.addProcessor(tn[this.kind]),this.processorsEl.insertBefore(this.processorsEl.lastChild,this.processorsEl.firstChild),this.numbering()}addProcessor(e){let t=this.processorsEl.createDiv(`typstmate-settings-processor`);t.draggable=e.id!==``,t.addEventListener(`dragstart`,e=>{if(t.draggable===!1){e.preventDefault();return}this.draggingIndex=Number(t.id),e.dataTransfer?.setData(`text/plain`,String(this.draggingIndex)),t.addClass(`dragging`)}),t.addEventListener(`dragend`,()=>{t.removeClass(`dragging`),this.draggingIndex=null,this.updateDraggability()}),t.addEventListener(`dragover`,e=>{e.preventDefault(),t.addClass(`drag-over`)}),t.addEventListener(`dragleave`,()=>{t.removeClass(`drag-over`)}),t.addEventListener(`drop`,e=>{e.preventDefault(),t.removeClass(`drag-over`);let n=Number(t.id);this.draggingIndex!==null&&this.draggingIndex!==n&&this.moveProcessorToIndex(this.draggingIndex,n)});let n=new l.Setting(t),r=createDiv(`typstmate-drag-handle-icon`);e.id===``&&r.hide(),(0,l.setIcon)(r,`grip-vertical`),n.settingEl.prepend(r),n.addButton(t=>{t.setIcon(`pencil`),t.setTooltip(`Open more settings`),t.onClick(()=>{new _g(this.plugin.app,this.plugin,this.kind,e.id).open()})}).addDropdown(n=>{n.addOption(`typst-svg`,`Typst SVG`),n.addOption(`mathjax`,`MathJax`),e.renderingEngine===`typst`&&(this.plugin.settings.processor[this.kind].processors[Number(t.id)].renderingEngine=L.TypstSVG,e.renderingEngine=L.TypstSVG),n.setValue(e.renderingEngine),n.onChange(e=>{this.plugin.settings.processor[this.kind].processors[Number(t.id)].renderingEngine=e,this.plugin.saveSettings()})}).addDropdown(n=>{switch(this.kind){case`inline`:n.addOption(`inline`,`inline`),n.addOption(`middle`,`middle`),n.addOption(`baseline`,`baseline`);break;case`display`:n.addOption(`block`,`block`),n.addOption(`block-center`,`block-center`);break;case`codeblock`:n.addOption(`block`,`block`),n.addOption(`block-center`,`block-center`),n.addOption(`codeblock`,`codeblock`);break}n.setValue(e.styling),n.onChange(e=>{this.plugin.settings.processor[this.kind].processors[Number(t.id)].styling=e,this.plugin.saveSettings()})}),n.addText(n=>{if(n.setValue(e.id),n.setPlaceholder(`id`),e.id===``){n.setDisabled(!0);return}n.inputEl.addEventListener(`input`,()=>{let e=n.inputEl.value,r=e.replace(/[/:\\¥]/g,``);e!==r&&(e=r,n.inputEl.value=e);let i=Number(t.id);this.plugin.settings.processor[this.kind].processors.some((t,n)=>n!==i&&t.id===e&&e!==``)?n.inputEl.addClass(`typstmate-processor-id-error`):n.inputEl.removeClass(`typstmate-processor-id-error`)}),n.onChange((0,l.debounce)(async e=>{let r=e.replace(/[/:\\¥]/g,``);r!==e&&n.setValue(r);let i=Number(t.id),a=this.plugin.settings.processor[this.kind].processors;if(r===``)return n.setValue(a[i].id),new l.Notice(`ID cannot be empty`);if(a.some((e,t)=>t!==i&&e.id===r&&r!==``))return new l.Notice(`ID is duplicate`);this.plugin.settings.processor[this.kind].processors[Number(t.id)].id=r,this.updateDraggability(),this.plugin.saveSettings()},500,!0))});let i=t.createEl(`div`);i.addClass(`typstmate-settings-processor-bottom`);let a=i.createEl(`textarea`);a.value=e.format,a.placeholder=`format`,a.addEventListener(`input`,(0,l.debounce)(async()=>{this.plugin.settings.processor[this.kind].processors[Number(t.id)].format=a.value,this.plugin.saveSettings()},500,!0)),e.id!==``&&new l.ButtonComponent(i).setButtonText(`Remove`).setIcon(`trash`).onClick(()=>this.removeProcessor(Number(t.id))).buttonEl.addClasses([`typstmate-button`,`typstmate-button-danger`])}removeProcessor(e){this.plugin.settings.processor[this.kind].processors.splice(e,1),this.plugin.saveSettings(),this.processorsEl.children.namedItem(e.toString())?.remove(),this.numbering()}moveProcessorToIndex(e,t){if(e===t)return;let n=this.plugin.settings.processor[this.kind].processors,[r]=n.splice(e,1);r&&n.splice(t,0,r);let i=this.processorsEl.children.namedItem(String(e)),a=this.processorsEl.children.namedItem(String(t));i&&(e<t?this.processorsEl.insertBefore(i,a?a.nextSibling:null):this.processorsEl.insertBefore(i,a)),this.enforceEmptyAtBottom(),this.numbering(),this.plugin.saveSettings()}enforceEmptyAtBottom(){let e=this.plugin.settings.processor[this.kind].processors,t=e,n=e.findIndex(e=>e.id===``);if(n!==-1&&n!==e.length-1){let[e]=t.splice(n,1);e&&t.push(e);for(let e=0;e<this.processorsEl.children.length;e++){let t=this.processorsEl.children[e],n=t.querySelector(`input[type="text"]`);if(n&&n.value===``){this.processorsEl.appendChild(t);break}}}this.updateDraggability()}updateDraggability(){let e=this.plugin.settings.processor[this.kind].processors;for(let t=0;t<this.processorsEl.children.length;t++){let n=this.processorsEl.children[t],r=e[t];if(r){let e=r.id!==``;n.draggable=e;let t=n.querySelector(`.typstmate-drag-handle-icon`);if(t)t.style.display=e?`flex`:`none`;else if(e){let e=n.querySelector(`.setting-item`);if(e){let t=createDiv(`typstmate-drag-handle-icon`);(0,l.setIcon)(t,`grip-vertical`),e.prepend(t)}}}}this.numbering()}numbering(){for(let e=0;e<this.processorsEl.children.length;e++){let t=this.processorsEl.children[e];t&&(t.id=e.toString())}}};function bg(e,t,n,r){new l.Setting(t).setName(`Processor`).setDesc(new Qh().appendText(`In each mode, the first matching Processor ID from the top will be used. An empty Processor ID means the default and should be placed at the bottom. In the format, `).appendCodeText(`{CODE}`).appendText(` can be used (only the first occurrence is replaced), and `).appendCodeText(`fontsize`).appendText(` can be used as an internal length value. In inline mode, separate the id and the code with a colon `).appendCodeText(`:`).appendText(` in the format. When adding or removing processors for codeblock mode, reload the plugin to apply changes. `).appendBoldText(`IDs should not contain any special characters!`).appendText(` For more details, see `).appendLinkText(`Processor.md`,`https://github.com/azyarashi/obsidian-typst-mate/blob/main/docs/processor/Processor.md`).appendText(`.`)).setHeading(),new l.Setting(t).setName(`Preamble`).setDesc(`Preamble can be turned on or off by toggling each processor.`);let i=t.createEl(`textarea`);i.addClass(`typstmate-form-control`),i.addClass(`typstmate-preamble`),i.value=e.settings.preamble,i.placeholder=`preamble`,i.addEventListener(`input`,(0,l.debounce)(()=>{e.settings.preamble=i.value,e.saveSettings()},500,!0)),xg(e,t,n===`excalidraw`?`inline`:n);let a=t.createDiv(`typstmate-processor-tabs`),o=[{id:`inline`,name:`Inline`},{id:`display`,name:`Display`},{id:`codeblock`,name:`CodeBlock`}];e.excalidrawPluginInstalled&&o.push({id:`excalidraw`,name:`Excalidraw`});for(let e of o)a.createDiv({cls:`typstmate-processor-tab ${n===e.id?`active`:``}`,text:e.name}).addEventListener(`click`,()=>{r(e.id)});switch(n){case`inline`:new yg(e,`inline`,t,`Inline Math ($id:...$ / $...$)`);break;case`display`:new yg(e,`display`,t,`Display Math ($$id...$$ / $$...$$)`);break;case`codeblock`:new yg(e,`codeblock`,t,"CodeBlock (```id...``` / ~~~id...~~~)");break;case`excalidraw`:e.excalidrawPluginInstalled&&new yg(e,`excalidraw`,t,`Excalidraw`);break}}function xg(e,t,n){let r=t.createDiv(`typstmate-settings-preview`);new l.Setting(r).setName(`Preview`).setHeading().addDropdown(t=>{t.addOption(`inline`,`Inline`),t.addOption(`display`,`Display`),t.addOption(`codeblock`,`CodeBlock`),t.setValue(n),t.onChange(t=>{i.empty(),a.empty(),Sg(t,i,a,e)})});let i=r.createDiv(`typstmate-settings-preview-input`),a=r.createDiv(`typstmate-settings-preview-preview`);a.setText(`Type in the input above to see the preview`),Sg(n,i,a,e)}function Sg(e,t,n,r){t.empty(),n.empty();let i,a,o=()=>{let t=i.value,o=a.value;if(n.empty(),o)switch(e){case`inline`:r.typstManager.render(`${t?`${t}:`:``}${o}`,n,`inline`,`/`);break;case`display`:r.typstManager.render(`${t?`${t}\n`:``}${o}\n`,n,`display`,`/`);break;case`codeblock`:r.typstManager.render(o,n,t||``,`/`);break}};switch(e){case`inline`:t.createEl(`span`,{text:`$`}),i=t.createEl(`input`,{type:`text`,placeholder:`id`,cls:`typstmate-form-control`}),t.createEl(`span`,{text:`:`}),a=t.createEl(`input`,{type:`text`,placeholder:`code`,cls:`typstmate-form-control`}),t.createEl(`span`,{text:`$`});break;case`display`:t.createEl(`span`,{text:`$$`}),i=t.createEl(`input`,{type:`text`,placeholder:`id`,cls:`typstmate-form-control`}),t.createEl(`br`),a=t.createEl(`textarea`,{placeholder:`code`,cls:`typstmate-form-control`}),t.createEl(`br`),t.createEl(`span`,{text:`$$`});break;case`codeblock`:t.createEl(`span`,{text:"```"}),i=t.createEl(`input`,{type:`text`,placeholder:`id`,cls:`typstmate-form-control`}),t.createEl(`br`),a=t.createEl(`textarea`,{placeholder:`code`,cls:`typstmate-form-control`}),t.createEl(`br`),t.createEl(`span`,{text:"```"});break;default:return}i.addEventListener(`input`,o),a.addEventListener(`input`,o)}function Cg(e,t){new l.Setting(t).setName(`Enable Background Rendering`).setDesc(new Qh().appendText(`The UI will no longer freeze, but `).appendText(`it may conflict with plugins related to export or rendering.`).appendText(` (Disabled automatically when exporting to PDF via Markdown menu)`)).addToggle(t=>{t.setValue(e.settings.enableBackgroundRendering),t.onChange(t=>{e.settings.enableBackgroundRendering=t,e.saveSettings(),e.reload(!0)})}),new l.Setting(t).setName(`Patch PDF Export`).setDesc(`Temporarily disable AutoBaseColor and use BaseColor during PDF Export to fix white background issues in dark themes.`).addToggle(t=>{t.setValue(e.settings.patchPDFExport??R.patchPDFExport),t.onChange(t=>{e.settings.patchPDFExport=t,e.saveSettings()})}),new l.Setting(t).setName(`Use Theme Text Color`).setDesc(`Uses Obsidian's text color as the base color automatically.`).addToggle(t=>{t.setValue(e.settings.autoBaseColor),t.onChange(t=>{e.settings.autoBaseColor=t,e.applyBaseColor(),e.saveSettings()})}),new l.Setting(t).setName(`Base Color`).setDesc(new Qh().appendText(`Replace black in SVGs with another color. Useful for dark themes. Disable `).appendCodeText(`Use Theme Text Color`).appendText(` to use this.`)).addColorPicker(t=>{t.setValue(e.settings.baseColor),t.onChange(t=>{e.settings.baseColor=t,e.applyBaseColor(),e.saveSettings()})}),new l.Setting(t).setName(`Offset`).setDesc(`Offset for inline math. The appearance may look unappealing depending on the font used in Obsidian. Please adjust it here if necessary.`).addSlider(t=>{t.setLimits(-.5,.5,.05),t.setValue(e.settings.offset),t.setDynamicTooltip(),t.onChange(async t=>{e.settings.offset=t,e.saveSettings(),await e.typst.setOffset(e.settings.offset)})}),new l.Setting(t).setName(`Fit Note Width Profiles`).setHeading();let n=t.createDiv(),r=()=>{let t=n.clientHeight;t>0&&(n.style.minHeight=`${t}px`),n.empty(),new l.Setting(n).setName(`Fit To Note Width Profile`).setDesc(`Profile to use when calculating "fit to note width". Select a preset or Live to detect editor width.`).addDropdown(t=>{t.addOption(`Live`,`Live`);for(let n of e.settings.fitToNoteWidthProfiles)t.addOption(n.name,n.name);t.setValue(e.settings.fitToNoteWidthProfile).onChange(async t=>{e.settings.fitToNoteWidthProfile=t,await e.saveSettings(),e.typstManager?.updateNoteWidth()})}),new l.Setting(n).setName(`Profiles`).setDesc(`Add or remove custom width profiles.`).addButton(t=>t.setButtonText(`Add Profile`).onClick(async()=>{e.settings.fitToNoteWidthProfiles.push({name:`New Profile`,width:`500pt`}),await e.saveSettings(),e.typstManager?.updateNoteWidth(),r()})),e.settings.fitToNoteWidthProfiles.forEach((t,i)=>{new l.Setting(n).addText(n=>{n.setPlaceholder(`Name`).setValue(t.name).onChange(async t=>{let n=e.settings.fitToNoteWidthProfiles[i];if(!n)return;let r=n.name;n.name=t,e.settings.fitToNoteWidthProfile===r&&(e.settings.fitToNoteWidthProfile=t),await e.saveSettings(),e.typstManager?.updateNoteWidth()})}).addText(n=>{n.setPlaceholder(`Width`).setValue(String(t.width)).onChange(async t=>{let n=e.settings.fitToNoteWidthProfiles[i];n&&(n.width=t,await e.saveSettings(),e.typstManager?.updateNoteWidth())})}).addExtraButton(t=>{t.setIcon(`trash`).setTooltip(`Delete Profile`).onClick(async()=>{let t=e.settings.fitToNoteWidthProfiles[i];t&&(e.settings.fitToNoteWidthProfiles.splice(i,1),e.settings.fitToNoteWidthProfile===t.name&&(e.settings.fitToNoteWidthProfile=`Live`),await e.saveSettings(),e.typstManager?.updateNoteWidth(),r())})})}),requestAnimationFrame(()=>{n.style.minHeight=``})};r()}var wg=class extends l.PluginSettingTab{plugin;constructor(e,t){super(e,t),this.plugin=t}activeTab=`processor`;activeEditorTab=`Decoration`;activeCompilerTab=`package`;activeKindTab=`inline`;display(){let{containerEl:e}=this;e.empty();let t=[{id:`processor`,name:`Processor`},{id:`editor`,name:`Editor`},{id:`compiler`,name:`Compiler`},{id:`renderer`,name:`Renderer`},{id:`advanced`,name:`Advanced`}];if(l.Platform.isMobile){let n=e.createEl(`select`,{cls:`typstmate-settings-tabs-select`});t.forEach(e=>{let t=n.createEl(`option`,{value:e.id,text:e.name});this.activeTab===e.id&&(t.selected=!0)}),n.addEventListener(`change`,()=>{this.activeTab=n.value,this.display()})}else{let n=e.createDiv(`typstmate-settings-tabs`);t.forEach(e=>{n.createDiv({cls:`typstmate-settings-tab ${this.activeTab===e.id?`active`:``}`,text:e.name}).addEventListener(`click`,()=>{this.activeTab=e.id,this.display()})})}let n=e.createDiv(`typstmate-settings-content`);switch(this.activeTab){case`editor`:pg(this.plugin,n,this.activeEditorTab,e=>{this.activeEditorTab=e,this.display()});break;case`compiler`:ug(this.plugin,n,this.activeCompilerTab,e=>{this.activeCompilerTab=e,this.display()});break;case`renderer`:Cg(this.plugin,n);break;case`processor`:bg(this.plugin,n,this.activeKindTab,e=>{this.activeKindTab=e,this.display()});break;case`advanced`:$h(this.plugin,n);break}}},Tg=class e extends l.TextFileView{static viewtype=`typst-pdf`;plugin;parentTextView=null;fileContent;pdfBinary;pdfDocument;viewerState={currentPage:1,scrollTop:0,scale:1};controlsEl;viewerAreaEl;pageContainerEl;pageInfoEl;zoomInfoEl;constructor(e,t){super(e),this.plugin=t}getViewType(){return e.viewtype}onPaneMenu(e,t){e.addItem(e=>{e.setTitle(`Open as text`).onClick(async()=>{try{if(!this.file)return;await this.app.workspace.getLeaf(!1).setViewState({type:`typst-text`,state:{file:this.file.path}})}catch(e){console.error(`Open as Markdown failed:`,e)}})}),super.onPaneMenu(e,t)}async onLoadFile(e){this.contentEl.empty(),this.contentEl.addClass(`typstmate-pdf-viewer-container`),this.clearViewerReferences();try{this.fileContent=await this.app.vault.read(e);let t=await this.plugin.typst.pdf(e.basename,this.fileContent);this.pdfBinary=t.pdf,await this.renderPDF(t.pdf,e.basename),this.addAction(`file-image`,`Export PDF`,async n=>{let r=new ArrayBuffer(t.pdf.length),i=new Uint8Array(r);i.set(t.pdf),this.plugin.app.vault.adapter.writeBinary(`${e.path.slice(0,-3)}pdf`,i.buffer)})}catch{}}async onModify(e){if(this.parentTextView)return;window.pdfjsLib||await(0,l.loadPdfJs)();let t=this.viewerAreaEl?.scrollTop||0,n=this.calculateCurrentPageFromScroll(),r=this.viewerState.scale;try{this.fileContent=await this.app.vault.read(e);let i=await this.plugin.typst.pdf(e.basename,this.fileContent);if(this.pdfBinary=i.pdf,!this.pageContainerEl||!this.viewerAreaEl)return;this.pdfDocument=await window.pdfjsLib.getDocument(new Uint8Array(i.pdf)).promise;let a=document.createElement(`div`);a.className=`typstmate-pdf-page-container`,await this.renderAllPagesToContainer(a),this.pageContainerEl.replaceWith(a),this.pageContainerEl=a,this.viewerState.scale=r,this.viewerState.scrollTop=t,this.viewerState.currentPage=n,this.updateControls(),this.viewerAreaEl.scrollTop=t}catch{}}async onClose(){this.clearViewerReferences(),this.pdfDocument=null}getViewData(){return JSON.stringify(this.viewerState)}setViewData(e,t){if(e)try{let t=JSON.parse(e);this.viewerState={currentPage:t.currentPage||1,scrollTop:t.scrollTop||0,scale:t.scale||1},this.restoreViewerState()}catch(e){console.error(`Failed to parse viewer state:`,e)}}clear(){this.clearViewerReferences()}requestSave=()=>{};async renderPDF(e,t){window.pdfjsLib||await(0,l.loadPdfJs)();try{this.pdfDocument=await window.pdfjsLib.getDocument(new Uint8Array(e)).promise,this.createPDFViewer(),this.restoreViewerState()}catch(n){console.error(`PDF.js rendering failed:`,n),this.fallbackToObjectElement(e,t)}}createPDFViewer(){this.controlsEl=this.contentEl.createDiv(`typstmate-pdf-controls`),this.controlsEl.createEl(`button`,{text:``}).addEventListener(`click`,()=>this.goToPreviousPage()),this.pageInfoEl=this.controlsEl.createEl(`span`),this.pageInfoEl.textContent=`Page ${this.viewerState.currentPage} of ${this.pdfDocument.numPages}`,this.controlsEl.createEl(`button`,{text:``}).addEventListener(`click`,()=>this.goToNextPage()),this.controlsEl.createEl(`button`,{text:`-`}).addEventListener(`click`,()=>this.zoomOut()),this.zoomInfoEl=this.controlsEl.createEl(`span`),this.zoomInfoEl.textContent=`${Math.round(this.viewerState.scale*100)}%`,this.controlsEl.createEl(`button`,{text:`+`}).addEventListener(`click`,()=>this.zoomIn()),this.viewerAreaEl=this.contentEl.createDiv(`typstmate-pdf-viewer-area`),this.pageContainerEl=this.viewerAreaEl.createDiv(`typstmate-pdf-page-container`),this.renderAllPages(),this.viewerAreaEl.addEventListener(`scroll`,()=>{this.viewerState.scrollTop=this.viewerAreaEl.scrollTop,this.updateCurrentPageFromScroll()})}async renderAllPages(){if(this.pageContainerEl)try{this.pageContainerEl.empty();for(let e=1;e<=this.pdfDocument.numPages;e++){let t=this.pageContainerEl.createDiv(`typstmate-pdf-page`);t.id=`pdf-page-${e}`;let n=await this.pdfDocument.getPage(e),r=n.getViewport({scale:this.viewerState.scale}),i=t.createEl(`canvas`),a=i.getContext(`2d`,{alpha:!1});if(!a)continue;let o=window.devicePixelRatio||1;i.width=r.width*o,i.height=r.height*o,i.style.width=`${r.width}px`,i.style.height=`${r.height}px`,a.scale(o,o);let s={canvasContext:a,viewport:r};await n.render(s).promise,await this.renderTextLayer(n,t,r)}this.updateControls()}catch(e){console.error(`Failed to render all PDF pages:`,e)}}async renderTextLayer(e,t,n){try{let r=await e.getTextContent(),i=t.createDiv(`typstmate-pdf-text-layer`);i.style.width=`${n.width}px`,i.style.height=`${n.height}px`,r.items.forEach(e=>{let t=i.createEl(`span`);t.textContent=e.str,t.style.left=`${e.transform[4]*this.viewerState.scale}px`,t.style.top=`${n.height-(e.transform[5]+8)*this.viewerState.scale}px`,t.style.setProperty(`--typst-pdf-text-font-size`,`${e.height*this.viewerState.scale}px`),t.style.setProperty(`--typst-pdf-text-font-family`,e.fontName)})}catch(e){console.error(`Failed to render text layer:`,e)}}async goToPreviousPage(){this.viewerState.currentPage<=1||(this.viewerState.currentPage--,await this.scrollToPage(this.viewerState.currentPage),this.saveViewerState())}async goToNextPage(){this.viewerState.currentPage>=this.pdfDocument.numPages||(this.viewerState.currentPage++,await this.scrollToPage(this.viewerState.currentPage),this.saveViewerState())}async scrollToPage(e){if(!this.viewerAreaEl)return;let t=this.viewerAreaEl.querySelector(`#pdf-page-${e}`);t&&t.scrollIntoView({behavior:`smooth`}),this.updateControls()}async zoomOut(){this.viewerState.scale=Math.max(.25,this.viewerState.scale-.25),await this.renderAllPages(),this.saveViewerState()}async zoomIn(){this.viewerState.scale=Math.min(3,this.viewerState.scale+.25),await this.renderAllPages(),this.saveViewerState()}updateControls(){this.pageInfoEl&&(this.pageInfoEl.textContent=`Page ${this.viewerState.currentPage} of ${this.pdfDocument.numPages}`),this.zoomInfoEl&&(this.zoomInfoEl.textContent=`${Math.round(this.viewerState.scale*100)}%`)}saveViewerState(){this.viewerAreaEl&&(this.viewerState.scrollTop=this.viewerAreaEl.scrollTop)}restoreViewerState(){this.viewerAreaEl&&(this.viewerAreaEl.scrollTop=this.viewerState.scrollTop),this.updateControls()}updateCurrentPageFromScroll(){if(!this.viewerAreaEl||!this.pageInfoEl)return;let e=this.viewerAreaEl.scrollTop,t=this.viewerAreaEl.querySelectorAll(`.typstmate-pdf-page`),n=1,r=1/0;t.forEach((t,i)=>{let a=t.getBoundingClientRect(),o=a.top+e-this.viewerAreaEl.offsetTop,s=e+this.viewerAreaEl.clientHeight/2,c=Math.abs(s-(o+a.height/2));c<r&&(r=c,n=i+1)}),this.viewerState.currentPage!==n&&(this.viewerState.currentPage=n,this.updateControls(),this.saveViewerState())}fallbackToObjectElement(e,t){let n=Buffer.from(e).toString(`base64`);this.contentEl.createEl(`object`,{attr:{data:`data:application/pdf;base64,${n}`,name:t,type:`application/pdf`,width:`100%`,height:`100%`}})}calculateCurrentPageFromScroll(){if(!this.viewerAreaEl)return 1;let e=this.viewerAreaEl.scrollTop,t=this.viewerAreaEl.querySelectorAll(`.typstmate-pdf-page`),n=1,r=1/0;return t.forEach((t,i)=>{let a=t.getBoundingClientRect(),o=a.top+e-this.viewerAreaEl.offsetTop,s=e+this.viewerAreaEl.clientHeight/2,c=Math.abs(s-(o+a.height/2));c<r&&(r=c,n=i+1)}),n}async renderAllPagesToContainer(e){try{e.empty();for(let t=1;t<=this.pdfDocument.numPages;t++){let n=e.createDiv(`typstmate-pdf-page`);n.id=`pdf-page-${t}`;let r=await this.pdfDocument.getPage(t),i=r.getViewport({scale:this.viewerState.scale}),a=n.createEl(`canvas`),o=a.getContext(`2d`,{alpha:!1});if(!o)continue;let s=window.devicePixelRatio||1;a.width=i.width*s,a.height=i.height*s,a.style.width=`${i.width}px`,a.style.height=`${i.height}px`,o.scale(s,s);let c={canvasContext:o,viewport:i};await r.render(c).promise,await this.renderTextLayer(r,n,i)}}catch(e){console.error(`Failed to render all PDF pages:`,e)}}async updatePDF(e,t){window.pdfjsLib||await(0,l.loadPdfJs)();let n=this.viewerAreaEl?.scrollTop||0,r=this.calculateCurrentPageFromScroll(),i=this.viewerState.scale;try{if(this.pdfBinary=e,!this.pageContainerEl||!this.viewerAreaEl){await this.renderPDF(e,`preview`);return}this.pdfDocument=await window.pdfjsLib.getDocument(new Uint8Array(e)).promise;let t=document.createElement(`div`);t.className=`typstmate-pdf-page-container`,await this.renderAllPagesToContainer(t),this.pageContainerEl.replaceWith(t),this.pageContainerEl=t,this.viewerState.scale=i,this.viewerState.scrollTop=n,this.viewerState.currentPage=r,this.updateControls(),this.viewerAreaEl.scrollTop=n}catch(e){console.error(`[TypstMate] PDF updatePDF failed:`,e)}}clearViewerReferences(){this.controlsEl=void 0,this.viewerAreaEl=void 0,this.pageContainerEl=void 0,this.pageInfoEl=void 0,this.zoomInfoEl=void 0}},Eg=class extends d.WidgetType{constructor(e){super(),this.diag=e}eq(e){return this.diag.message===e.diag.message&&this.diag.severity===e.diag.severity}toDOM(){let e=document.createElement(`span`);e.className=`cm-error-lens-widget cm-error-lens-widget-${this.diag.severity}`,e.textContent=this.diag.message;let t=this.diag.message;return this.diag.hints?.length&&(t+=`\n\nHints:\n${this.diag.hints.join(`
`)}`),e.title=t,e}};function Dg(e){let t=e.state.field(fn,!1);if(!t||t.noDiag||!t.diagnostics||t.diagnostics.length===0)return d.Decoration.none;let n=z(e);if(!n)return d.Decoration.none;let r=e.state.doc.length,i=new Map;for(let a of t.diagnostics)try{let t=Math.max(n.from,Math.min(a.from,r)),o=e.state.doc.lineAt(t);if(o.text.trim()===``)continue;let s=i.get(o.number);s?s.severity!==`error`&&a.severity===`error`&&i.set(o.number,{...s,message:a.message,severity:a.severity}):i.set(o.number,{message:a.message,severity:a.severity,hints:a.hints||[],from:o.from,to:o.to})}catch{}let a=[];for(let e of i.values())a.push(d.Decoration.line({class:`cm-error-lens-line cm-error-lens-line-${e.severity}`}).range(e.from)),a.push(d.Decoration.widget({widget:new Eg(e),side:1}).range(e.to));return d.Decoration.set(a,!0)}const Og=d.ViewPlugin.fromClass(class{decorations;constructor(e){this.decorations=Dg(e)}update(e){e.startState.field(fn,!1)===e.state.field(fn,!1)?e.docChanged?this.decorations=this.decorations.map(e.changes):(e.viewportChanged||e.selectionSet)&&(this.decorations=Dg(e.view)):this.decorations=Dg(e.view)}},{decorations:e=>e.decorations});var kg=class{dom;modeEl;kindEl;posEl;currentSyntaxKind=null;constructor(e){this.view=e,this.dom=document.createElement(`div`),this.dom.className=`cm-typstmate-status-bar`,this.kindEl=document.createElement(`span`),this.kindEl.className=`cm-typstmate-status-bar-item`,this.modeEl=document.createElement(`span`),this.modeEl.className=`cm-typstmate-status-bar-item`,this.posEl=document.createElement(`span`),this.posEl.className=`cm-typstmate-status-bar-item`;let t=document.createElement(`div`);t.className=`cm-typstmate-status-bar-divider`;let n=document.createElement(`div`);n.className=`cm-typstmate-status-bar-divider`,this.dom.appendChild(this.kindEl),this.dom.appendChild(t),this.dom.appendChild(this.modeEl),this.dom.appendChild(n),this.dom.appendChild(this.posEl),e.dom.appendChild(this.dom),this.render()}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&this.render()}destroy(){this.dom.remove()}render(){let e=this.view.state.selection.main.head,t=this.view.state.doc.lineAt(e),n=e-t.from+1,r=z(this.view);if(!r)return;let{syntaxKind:i,syntaxMode:a}=r;this.currentSyntaxKind=i,this.kindEl.textContent=i===null?`End`:k[i],this.modeEl.textContent=a===null?`Opaque`:I[a],this.posEl.textContent=`${t.number}:${n}`}};const Ag=d.ViewPlugin.fromClass(kg),jg=d.EditorView.theme({".cm-activeLine":{backgroundColor:`var(--background-primary-alt) !important`},".cm-activeLineGutter":{backgroundColor:`var(--background-primary-alt) !important`},".cm-selectionMatch":{backgroundColor:`var(--text-highlight-bg) !important`},".cm-gutters":{backgroundColor:`transparent`,borderRight:`none !important`,marginInlineEnd:`3pt`,fontSize:`var(--font-ui-smaller)`,fontVariant:`tabular-nums`},".cm-lineNumbers .cm-gutterElement":{color:`var(--text-faint) !important`},".cm-content":{caretColor:`var(--text-normal) !important`}});function Mg(e){return[O.of(e),Kn,u.EditorState.tabSize.of(2),d.EditorView.lineWrapping,Xl,Vl,Mr,Fr,ln,(0,h.history)(),(0,g.search)(),(0,m.closeBrackets)(),(0,g.highlightSelectionMatches)({minSelectionLength:2}),d.keymap.of([...m.closeBracketsKeymap,...g.searchKeymap,...h.historyKeymap,{key:`Tab`,run:h.indentMore},{key:`Shift-Tab`,run:h.indentLess},...h.standardKeymap]),fn,(0,p.lintGutter)(),Og,Dl,Pl(),Jn(),(0,d.lineNumbers)(),(0,d.highlightActiveLineGutter)(),(0,d.highlightActiveLine)(),e.plugin.settings.useObsidianTheme?Il:Fl,jg,Ag].filter(e=>!Array.isArray(e)||Array.isArray(e)&&e.length!==0)}var Ng=class e extends l.TextFileView{static viewtype=`typst-text`;plugin;view;linkedPDFLeaf=null;requestSave=(0,l.debounce)(this.save.bind(this),1e3);constructor(e,t){super(e),this.plugin=t}getIcon(){return`typst-fill`}getViewType(){return e.viewtype}async onload(){await super.onload(),this.addAction(`eye`,`Open as PDF`,async()=>{if(this.linkedPDFLeaf&&this.linkedPDFLeaf.view instanceof Tg){this.app.workspace.revealLeaf(this.linkedPDFLeaf);return}let e=this.app.workspace.getLeaf(`split`,`vertical`);await e.setViewState({type:Tg.viewtype,state:{file:this.file?.path}}),this.linkedPDFLeaf=e;let t=e.view;t instanceof Tg&&(t.parentTextView=this);let n=this.app.workspace.on(`layout-change`,()=>{if(this.linkedPDFLeaf&&!this.app.workspace.getLeavesOfType(Tg.viewtype).includes(this.linkedPDFLeaf)){let e=this.linkedPDFLeaf.view;e instanceof Tg&&(e.parentTextView=null),this.linkedPDFLeaf=null,this.app.workspace.offref(n)}});this.register(()=>this.app.workspace.offref(n))})}onPaneMenu(e,t){e.addItem(e=>{e.setTitle(`Open with default app`).onClick(async()=>{try{if(!this.file)return;this.app.openWithDefaultApp(this.file.path)}catch(e){console.error(`Open with default app failed:`,e)}})}),super.onPaneMenu(e,t)}async save(e){if(await super.save(e),!this.file)return;let t=this.view.state.doc.toString();await this.plugin.app.vault.adapter.write(this.file.path,t),await this.compileAndUpdate(t);let n=this.plugin.settings.importPath;if(!this.file.path.startsWith(`${n}/tags/`))return;let r=this.file.path.slice(n.length);this.plugin.typst.store({files:new Map([[r,t]])});let i=r.slice(n.length+1).slice(5).slice(0,-4).replaceAll(`.`,`/`);this.plugin.typstManager.tagFiles.add(i)}async compileAndUpdate(e){if(this.file)try{let t=await this.plugin.typst.pdf(this.file.basename,e);if(mn(this.view,{diagnostics:t.diags,noDiag:!1,offset:0}),this.linkedPDFLeaf){let e=this.linkedPDFLeaf.view;e instanceof Tg&&await e.updatePDF(t.pdf)}}catch(e){let t=Array.isArray(e)?e:[];mn(this.view,{diagnostics:t,noDiag:!1,offset:0})}}getDisplayText(){return this.file?.name??`Typst Text`}getViewData(){return this.view?.state.doc.toString()??``}setViewData(){}debouncedCompile=(0,l.debounce)(()=>{let e=this.view.state.doc.toString();this.compileAndUpdate(e)},100,!0);async onLoadFile(e){this.contentEl.empty();let t=await this.app.vault.read(e),n=u.EditorState.create({doc:t,extensions:[...Mg(this.plugin.editorHelper),d.EditorView.updateListener.of(e=>{e.docChanged&&this.debouncedCompile()})]});this.view=new d.EditorView({parent:this.contentEl,state:n}),this.view.dom.style.height=`100%`,this.view.dom.style.stroke=`none`,this.compileAndUpdate(t)}async onClose(){this.view?.destroy(),this.contentEl.empty(),this.save()}clear(){this.view?.destroy()}};const Pg={category:`Uncategorized`,name:`new`,description:``,kind:`display`,id:``,content:`#CURSOR`,script:!1};var Fg=class extends l.Modal{snippetView;oldCategory;newCategory;plugin;constructor(e,t,n,r){super(e),this.snippetView=r,this.oldCategory=n,this.plugin=t,new l.Setting(this.contentEl).setName(`Rename Category`).addText(e=>{e.setValue(n),e.onChange(e=>{this.newCategory=e})})}onClose(){this.newCategory&&(this.plugin.settings.snippets?.forEach(e=>{e.category===this.oldCategory&&(e.category=this.newCategory)}),this.plugin.saveSettings(),this.snippetView.menuEl.empty(),this.snippetView.dropdown.setValue(this.newCategory),this.snippetView.currentCategory=this.newCategory,this.snippetView.buildMenu(),this.snippetView.buildSnippets())}},Ig=class extends l.Modal{kind;id;name;content;script;previewEl;previewContentEl;plugin;render;constructor(e,t,n,r){super(e);let i=t.settings.snippets[n];if(this.kind=i.kind,this.id=i.id,this.name=i.name,this.content=i.content,this.script=i.script,this.plugin=t,this.render=r,new l.Setting(this.contentEl).setName(this.name).setHeading(),new l.Setting(this.contentEl).setName(`Processor Kind`).addDropdown(e=>{e.addOption(`inline`,`Inline`).addOption(`display`,`Display`).addOption(`codeblock`,`CodeBlock`),e.setValue(this.kind),e.onChange(e=>{t.settings.snippets[n].kind=e,this.kind=e,t.saveSettings(),this.renderPreview()})}),new l.Setting(this.contentEl).setName(`ID`).addDropdown(e=>{let r=t.settings.processor[this.kind]?.processors.map(e=>e.id)??[];e.addOptions(Object.fromEntries(r.map(e=>[e,e]))),e.setValue(this.id),e.onChange(e=>{t.settings.snippets[n].id=e,this.id=e,t.saveSettings(),this.renderPreview()})}),new l.Setting(this.contentEl).addTextArea(e=>{e.setValue(this.content),e.inputEl.addClass(`typstmate-snippet-code`),e.onChange(e=>{t.settings.snippets[n].content=e,this.content=e,t.saveSettings(),this.renderPreview()})}),new l.Setting(this.contentEl).setName(`Script Mode`).addToggle(e=>{e.setValue(this.script),e.onChange(e=>{if(t.settings.snippets[n].script=e,this.script=e,t.saveSettings(),this.previewEl.empty(),!e)return this.previewContentEl=this.previewEl.createEl(`div`),this.renderPreview();let r=new l.Setting(this.previewEl),i=``;r.addText(e=>{e.setValue(``),e.onChange(e=>{i=e})}),r.addButton(e=>{e.setButtonText(`Preview`).setTooltip(`Preview`).onClick(()=>{try{let e=Function(`input`,`window`,this.content)(i,window);this.renderPreview(e)}catch(e){new l.Notice(String(e))}})}),this.previewContentEl=this.previewEl.createEl(`div`)})}),this.previewEl=this.contentEl.createEl(`div`),this.previewEl.className=`typstmate-leaf-snippetext-preview`,this.script){let e=new l.Setting(this.previewEl),t=``;e.addText(e=>{e.setValue(``),e.onChange(e=>{t=e})}),e.addButton(e=>{e.setButtonText(`Preview`).setTooltip(`Preview`).onClick(()=>{try{let e=Function(`input`,`window`,this.content)(t,window);this.renderPreview(e)}catch(e){new l.Notice(String(e))}})})}this.previewContentEl=this.previewEl.createEl(`div`),this.renderPreview()}renderPreview(e){if(e??!this.script){switch(this.kind){case`inline`:e=`${this.id}${this.id===``?``:`:`}${e??this.content}`;break;case`display`:e=`${this.id}\n${e??this.content}\n`;break;default:e??=this.content}this.previewContentEl.empty(),this.plugin.typstManager.render(e,this.previewContentEl,this.kind,`/`)}}onClose(){this.render(this.id,this.kind,this.content,this.script)}},Lg=class extends l.Modal{snippetView;category;constructor(e,t,n,r){super(e),this.snippetView=r,this.category=t.settings.snippets[n].category,new l.Setting(this.contentEl).setName(`New Category`).addText(e=>{e.setValue(this.category),e.onChange(e=>{this.category=e,t.settings.snippets[n].category=e,t.saveSettings()})})}onClose(){this.snippetView.currentCategory=this.category,this.snippetView.menuEl.empty(),this.snippetView.buildMenu(),this.snippetView.buildSnippets(),this.snippetView.dropdown.setValue(this.category)}},Rg=class extends l.Modal{constructor(e,t,n,r){super(e);let i=t.settings.snippets?.map(e=>e.category)??[];new l.Setting(this.contentEl).setName(`Category`).addDropdown(e=>{e.addOptions(Object.fromEntries(i.map(e=>[e,e]))),e.addOption(`New`,`New`),e.setValue(t.settings.snippets[n].category),e.onChange(e=>{if(e===`New`){new Lg(this.app,t,n,r).open(),this.close();return}t.settings.snippets[n].category=e,t.saveSettings(),r.currentCategory=e,r.dropdown.setValue(e),r.buildSnippets(),this.close()})})}},zg=class{containerEl;currentCategory;menuEl;dropdown;snippetsEl;plugin;constructor(e,t){this.containerEl=e,this.menuEl=e.createEl(`div`),this.menuEl.className=`typstmate-menu`,this.plugin=t,this.buildMenu(),this.snippetsEl=e.createEl(`div`),this.buildSnippets()}buildMenu(){this.dropdown=new l.DropdownComponent(this.menuEl);let e=(this.plugin.settings.snippets?.map(e=>e.category)??[]).filter(e=>e!==`Uncategorized`);this.dropdown.addOption(`Uncategorized`,`Uncategorized`),this.dropdown.addOptions(Object.fromEntries(e.map(e=>[e,e]))),this.dropdown.setValue(this.currentCategory??`Uncategorized`),this.dropdown.onChange(e=>{this.currentCategory=e,this.buildSnippets()}),new l.ButtonComponent(this.menuEl).setIcon(`pencil`).setTooltip(`Rename`).onClick(()=>{new Fg(this.plugin.app,this.plugin,this.currentCategory,this).open()})}buildSnippets(){this.snippetsEl.empty();let e=this.dropdown.getValue();new l.Setting(this.snippetsEl).addButton(e=>{e.setButtonText(`New`).setTooltip(`New`).onClick(()=>{let e=Object.assign({},Pg);e.category=this.currentCategory??`Uncategorized`,this.plugin.settings.snippets?.push(e),this.plugin.saveSettings(),this.buildSnippets()})}),this.plugin.settings.snippets?.forEach((t,n)=>{if(t.category!==e)return;let r=this.snippetsEl.createEl(`div`);r.className=`typstmate-leaf-snippet`,new l.Setting(r).addText(e=>{e.setPlaceholder(`name`),e.setValue(t.name),e.onChange(e=>{this.plugin.settings.snippets[n].name=e,this.plugin.saveSettings()})}).addButton(e=>{e.setButtonText(`Detail`).setIcon(`pencil`).onClick(()=>{new Rg(this.plugin.app,this.plugin,n,this).open()})}).addButton(e=>{e.setButtonText(`Remove`).setIcon(`trash`).onClick(()=>{this.plugin.settings.snippets?.splice(n,1),this.plugin.saveSettings(),this.buildSnippets()}).buttonEl.addClasses([`typstmate-button`,`typstmate-button-danger`])});let i=r.createEl(`div`);i.className=`typstmate-leaf-snippet-preview`;let a=(e,t,n,r)=>{if(i.empty(),r)i.textContent=`${n.slice(0,50)}...`;else{switch(t){case`inline`:n=`${e}${e===``?``:`:`}${n}`;break;case`display`:n=`${e}\n${n}\n`;break}this.plugin.typstManager.render(n,i,t,`/`)}};a(t.id,t.kind,t.content,t.script),i.onClickEvent(()=>{new Ig(this.plugin.app,this.plugin,n,a).open()})})}},Bg=class e extends l.ItemView{static viewtype=`typst-tools`;plugin;dropdown;onChangeHandler;constructor(e,t){super(e),this.plugin=t}getViewType(){return e.viewtype}getDisplayText(){return`Typst Tools`}getIcon(){return`typst-stroke`}async onOpen(){let e=this.contentEl;e.empty(),e.className=`typstmate-leaf`;let t=e.createEl(`div`);t.className=`typstmate-menu`,this.dropdown=new l.DropdownComponent(t),l.Platform.isDesktop&&this.dropdown.addOption(`symbols`,`Symbols`).addOption(`detypify`,`Detypify`).addOption(`packages`,`Packages`).addOption(`quiver`,`Quiver`),this.dropdown.addOption(`snippets`,`Snippets`).addOption(`converter`,`Converter`),this.onChangeHandler=e=>{switch(n.empty(),e){case`symbols`:n.createEl(`iframe`).src=`https://typst.app/docs/reference/symbols/sym/`;break;case`detypify`:n.createEl(`iframe`).src=`https://detypify.quarticcat.com/`;break;case`packages`:n.createEl(`iframe`).src=`https://typst.app/universe/search/`;break;case`quiver`:n.createEl(`iframe`).src=`https://q.uiver.app/`;break;case`snippets`:new zg(n,this.plugin);break;case`converter`:{let e=new l.DropdownComponent(n);e.addOption(`math-eq`,`Math Equation`).addOption(`markup-doc`,`Markup Document`).addOption(`cetz-tikz`,`CeTZ/TikZ`);let t=()=>{switch(a.empty(),e.getValue()){case`math-eq`:this.plugin.typstManager.render(i.value,a,`display`,`/`);break;case`markup-doc`:case`cetz-tikz`:this.plugin.typstManager.render(i.value,a,`typst`,`/`);break}},r=n.createEl(`textarea`);r.placeholder=`LaTex`,r.addClass(`typstmate-form-control`),r.addEventListener(`input`,async()=>{try{switch(e.getValue()){case`math-eq`:i.value=await this.plugin.typst.latexeq_to_typm(r.value);break;case`markup-doc`:i.value=await this.plugin.typst.latex_to_typst(r.value);break;case`cetz-tikz`:i.value=await this.plugin.typst.tikz_to_cetz(r.value);break}t()}catch(e){i.value=String(e)}});let i=n.createEl(`textarea`);i.placeholder=`Typst`,i.addClass(`typstmate-form-control`),i.addEventListener(`input`,async()=>{try{switch(e.getValue()){case`math-eq`:r.value=await this.plugin.typst.typm_to_latexeq(i.value);break;case`markup-doc`:r.value=await this.plugin.typst.typst_to_latex(i.value);break;case`cetz-tikz`:r.value=await this.plugin.typst.cetz_to_tikz(i.value);break}t()}catch(e){r.value=String(e)}});let a=n.createEl(`div`);a.addClass(`typstmate-settings-preview-preview`);let o=n.createEl(`button`);o.setText(`Copy`),o.addClass(`typstmate-button`),o.onClickEvent(async()=>{switch(e.getValue()){case`math-eq`:navigator.clipboard.writeText(`$ ${i.value} $`);break;case`markup-doc`:case`cetz-tikz`:navigator.clipboard.writeText(i.value);break}});break}}},this.dropdown.onChange(this.onChangeHandler),new l.ButtonComponent(t).setIcon(`refresh-ccw`).setTooltip(`再読み込み`).onClick(()=>{switch(this.dropdown.getValue()){case`symbols`:n.createEl(`iframe`).src=`https://typst.app/docs/reference/symbols/sym/`;break;case`packages`:n.createEl(`iframe`).src=`https://typst.app/universe/search/`;break}});let n=e.createEl(`div`);n.className=`typstmate-content`,this.dropdown.setValue(`converter`),this.onChangeHandler(`converter`)}openContent(e){this.dropdown.setValue(e),this.onChangeHandler(e)}},Vg=class extends l.Plugin{pluginId=`typst-mate`;settings;wasmPath;baseDirPath;fontsDirNPath;cachesDirNPath;pluginDirNPath;packagesDirNPath;localPackagesDirPaths;originalTex2chtml;typst;worker;typstManager;listeners=[];excalidraw;excalidrawPluginInstalled=!1;editorHelper;fs;os;path;async onload(){if(await this.loadSettings(),(this.settings.crashCount??0)===3){new l.Notice(`[Typst Mate] The plugin has been automatically turned off due to three consecutive crashes`),this.settings.crashCount=0,await this.saveSettings(),await this.app.plugins.disablePlugin(this.pluginId);return}let{app:e}=this,t=e.vault.adapter;l.Platform.isDesktopApp&&(this.fs=require(`node:fs`),this.os=require(`node:os`),this.path=require(`node:path`)),this.setPaths(),this.applyBaseColor(),(0,l.addIcon)(`typst-fill`,an),(0,l.addIcon)(`typst-stroke`,on);let n=`${this.pluginDirNPath}/manifest.json`,r=JSON.parse(await t.read(n)).version;this.wasmPath=`${this.pluginDirNPath}/typst-${r}.wasm`,await this.tryCreateDirs(),await t.exists(this.wasmPath)||await this.downloadWasm(r),await this.prepareMathJax(),await this.prepareTypst(),this.registerView(Bg.viewtype,e=>new Bg(e,this)),this.registerView(Ng.viewtype,e=>new Ng(e,this)),this.registerView(Tg.viewtype,e=>new Tg(e,this)),this.app.workspace.onLayoutReady(()=>{this.connectOtherPlugins(),this.addSettingTab(new wg(this.app,this)),this.editorHelper=new Ql(this),this.registerExtensions([`typ`],Ng.viewtype),this.settings.openTypstToolsOnStartup&&this.app.workspace.getLeavesOfType(Bg.viewtype).length===0&&this.activateLeaf(),this.addCommands(),this.registerListeners(),e.workspace.trigger(`parse-style-settings`)}),super.onload()}setPaths(){if(this.baseDirPath=l.Platform.isDesktopApp?this.app.vault.adapter.basePath:``,this.pluginDirNPath=`${this.app.vault.configDir}/plugins/${this.pluginId}`,this.fontsDirNPath=`${this.pluginDirNPath}/fonts`,this.cachesDirNPath=`${this.pluginDirNPath}/caches`,this.packagesDirNPath=`${this.pluginDirNPath}/packages`,this.localPackagesDirPaths=[this.packagesDirNPath],l.Platform.isDesktopApp)switch(!0){case l.Platform.isWin:{let e=process.env.LOCALAPPDATA??this.path.join(this.os.homedir(),`AppData`,`Local`),t=this.path.join(e,`typst`,`packages`);this.localPackagesDirPaths.push(t);break}case l.Platform.isMacOS:{let e=this.path.join(this.os.homedir(),`Library`,`Caches`),t=this.path.join(e,`typst`,`packages`);this.localPackagesDirPaths.push(t);break}case l.Platform.isLinux:{let e=process.env.XDG_CACHE_HOME??this.path.join(this.os.homedir(),`.local`,`share`),t=this.path.join(e,`typst`,`packages`);this.localPackagesDirPaths.push(t);break}}}async tryCreateDirs(){let e=[this.fontsDirNPath,this.cachesDirNPath,this.packagesDirNPath];await Promise.allSettled(e.map(e=>this.app.vault.adapter.mkdir(e))).catch(()=>{})}async prepareMathJax(){if(await(0,l.loadMathJax)(),window.MathJax===void 0)throw Error(`Failed to load MathJax.`);(0,l.renderMath)(``,!1),this.originalTex2chtml=window.MathJax.tex2chtml}async prepareTypst(){this.typstManager=new jn(this),this.typstManager.registerOnce(),await this.init().catch(e=>{console.error(e),new l.Notice(`Failed to initialize Typst. Please check that the processor ID does not contain any symbols, try clearing the package cache, and ensure that there are no invalid fonts installed.`)})}async downloadWasm(e){new l.Notice(`Downloading latest wasm...`),(await this.app.vault.adapter.list(this.pluginDirNPath)).files.filter(e=>e.endsWith(`.wasm`)).forEach(this.app.vault.adapter.remove.bind(this.app.vault.adapter));let t=(await(await(0,l.requestUrl)(`https://api.github.com/repos/azyarashi/obsidian-typst-mate/releases/tags/${e}`)).json).assets.find(t=>t.name===`typst-${e}.wasm`);if(!t)throw Error(`Could not find ${this.wasmPath} in release assets`);let n=t.size,r=5*1024*1024,i=Math.ceil(n/r),a=[];for(let e=0;e<i;e++){let t=e*r,i=Math.min(t+r-1,n-1);a.push([t,i])}let o=a.map(async([e,n])=>{let r=await(0,l.requestUrl)({url:t.url,headers:{Accept:`application/octet-stream`,Range:`bytes=${e}-${n}`}});return{start:e,data:new Uint8Array(r.arrayBuffer)}}),s=await Promise.all(o),c=new Uint8Array(n);s.sort((e,t)=>e.start-t.start);for(let e of s)c.set(e.data,e.start);await this.app.vault.adapter.writeBinary(this.wasmPath,c.buffer),new l.Notice(`Wasm downloaded!`)}async activateLeaf(e=!1,t){let n;[n]=this.app.workspace.getLeavesOfType(Bg.viewtype),n||(n=this.app.workspace.getLeftLeaf(!1),n&&this.app.workspace.revealLeaf(n)),await n?.setViewState({type:Bg.viewtype,active:e}),t&&(n?.view).openContent(t)}connectOtherPlugins(){if(`obsidian-excalidraw-plugin`in this.app.plugins.plugins){let e=this.app.plugins.plugins[`obsidian-excalidraw-plugin`];this.excalidraw=new Xh(this,e),this.excalidrawPluginInstalled=!0}}addCommands(){this.addCommand({id:`tools-open`,name:`Open Typst Tools`,callback:async()=>{await this.activateLeaf(!0)}}),this.addCommand({id:`toggle-background-rendering`,name:`Toggle Background Rendering`,callback:async()=>{this.settings.enableBackgroundRendering=!this.settings.enableBackgroundRendering,await this.saveSettings(),await this.reload(!1)}}),this.addCommand({id:`tex2typ`,name:`Replace tex in markdown content or selection to typst`,editorCallback:async e=>{let t=e.cm;if(!t){new l.Notice(`Active view is not found.`);return}let n=t.state.selection.main,r=Bn(t,n.empty?void 0:n.from,n.empty?void 0:n.to).filter(e=>e.kind!==`codeblock`);if(n.empty&&r.length===0){e.replaceSelection(await this.typst.latexeq_to_typm(e.getSelection()));return}for(let n of r){let r=t.state.sliceDoc(n.from,n.to),i=await this.typst.latexeq_to_typm(r),a=e.offsetToPos(n.from),o=e.offsetToPos(n.to);e.replaceRange(i,a,o)}}}),this.addCommand({id:`box-current-equation`,name:`Box current equation`,editorCallback:e=>this.editorHelper.boxCurrentEquation(e.cm)}),this.addCommand({id:`select-current-equation`,name:`Select current equation`,editorCallback:e=>this.editorHelper.selectCurrentEquation(e.cm)}),this.addCommand({id:`reload tag files`,name:`Reload tag files`,editorCallback:async()=>{let e=await this.typstManager.collectTagFiles();await this.typst.store({files:e}),this.typstManager.refreshView()}}),this.excalidrawPluginInstalled&&this.addCommand({id:`render-to-excalidraw`,name:`Render to Excalidraw`,callback:()=>{new Zh(this.app,this).open()}})}registerListeners(){let e=this.applyBaseColor.bind(this),t=this.app.vault.config.theme;Object.defineProperty(this.app.vault.config,`theme`,{configurable:!0,enumerable:!0,get(){return t},set(n){t=n,setTimeout(e)}}),this.listeners.push(this.app.workspace.on(`css-change`,()=>this.applyBaseColor.bind(this)),this.app.workspace.on(`leaf-menu`,(e,t)=>{t.view.getViewType()===`markdown`&&e.items.filter(e=>e instanceof l.MenuItem).filter(e=>e.titleEl?.innerText.toLowerCase().includes(`pdf`)).forEach(e=>{let t=e.callback??(()=>{}),n=this.settings.enableBackgroundRendering,r=!1,i=new MutationObserver(async e=>{for(let t of e){if(!t.removedNodes.length||document.querySelector(`div.modal`)||document.querySelector(`div.progress-bar-container`))return;i.disconnect(),clearTimeout(a),r=!0,this.applyBaseColor(),n&&(this.settings.enableBackgroundRendering=!0,await this.init())}}),a;e.callback=async()=>{this.settings.patchPDFExport&&this.applyBaseColor(!0),this.settings.enableBackgroundRendering&&(this.settings.enableBackgroundRendering=!1,await this.init()),t(),i.observe(document.body,{childList:!0,subtree:!0}),a=setTimeout(async()=>{r||(i.disconnect(),this.applyBaseColor(),n&&(this.settings.enableBackgroundRendering=!0,await this.init()))},6e4)}}),t.view.getViewType()===Ng.viewtype&&e.addItem(async e=>{e.setTitle(`Open as PDF`).onClick(async()=>{await t.setViewState({type:Tg.viewtype,state:{file:t.view.file}})})})}),this.app.workspace.on(`file-menu`,(e,t)=>{t instanceof l.TFolder&&e.addItem(e=>{e.setTitle(`New typst file`).onClick(async()=>{let e=0,n;for(;;){let r=`Untitled${e===0?``:` ${e}`}.typ`;if(!await this.app.vault.exists(`${t.path}/${r}`)){n=await this.app.vault.create(`${t.path}/${r}`,``);break}e++}n&&this.app.workspace.getLeaf(!0).openFile(n)})})}),this.app.metadataCache.on(`changed`,e=>{let t=this.app.metadataCache.getCache(e.path);t&&this.typstManager.syncFileCache(t)&&this.typstManager.refreshView()}),this.app.workspace.on(`active-leaf-change`,e=>{if(e?.view.getViewType()!==`markdown`)return;let t=(e?.view).file?.path;if(!t)return;let n=this.app.metadataCache.getCache(t);n&&this.typstManager.syncFileCache(n)}))}async init(){this.worker?.terminate();let{fs:e,path:t,baseDirPath:n,packagesDirNPath:r,cachesDirNPath:i}=this,a=this.app.vault.adapter,o={notice(e,t){new l.Notice(e,t)},readBinary(r){return e?t.isAbsolute(r)?e.readFileSync(r):e.readFileSync(`${n}/${r}`):a.readBinary(r)},async writePackage(e,t){let n=new Map;for(let n of t.filter(e=>e.type===`5`))await a.mkdir(`${r}/${e}/${n.name}`);for(let i of t.filter(e=>e.type===`0`))await a.writeBinary(`${r}/${e}/${i.name}`,i.buffer),n.set(`${e}/${i.name}`,new Uint8Array(i.buffer));for(let i of t.filter(e=>e.type===`2`))await a.copy(`${r}/${e}/${i.name}`,`${r}/${e}/${i.linkname}`),n.set(`${e}/${i.linkname}`,n.get(`${e}/${i.name}`));let[o,s,c]=e.split(`/`);await a.writeBinary(`${i}/${o}_${s}_${c}.cache`,Dn(n).slice().buffer).catch(()=>{})}};this.settings.enableBackgroundRendering?(this.worker=new qh,this.typst=await new(ee(this.worker))(this.localPackagesDirPaths,this.baseDirPath,l.Platform.isDesktopApp),await this.typst.setMain(fe(o))):(this.typst=new Wh(this.localPackagesDirPaths,this.baseDirPath,l.Platform.isDesktopApp),this.typst.setMain(o)),await this.typstManager.init()}applyBaseColor(e=!1){if(!this.settings.autoBaseColor||e)return document.body.style.setProperty(rn,this.settings.baseColor);let t=getComputedStyle(document.body).getPropertyValue(`--text-normal`).trim();document.body.style.setProperty(rn,t)}async onunload(){if(3<=(this.settings.crashCount??0))return;let e=document.querySelectorAll(`.typstmate-temporary`);for(let t of e)t.remove();this.listeners.forEach(this.app.workspace.offref.bind(this.app.workspace)),this.worker?.terminate(),window.MathJax!==void 0&&(window.MathJax.tex2chtml=this.originalTex2chtml),await this.saveSettings(),super.onunload()}async reload(e){await this.app.plugins.disablePlugin(this.pluginId),await this.app.plugins.enablePlugin(this.pluginId),e&&this.app.setting.openTabById(this.pluginId)}async loadSettings(){this.settings=Object.assign({},R,await this.loadData())}async saveSettings(){await this.saveData(this.settings)}onConfigFileChange=(0,l.debounce)(this.loadSettings.bind(this),500,!0);onExternalSettingsChange=(0,l.debounce)(this.loadSettings.bind(this),500,!0);updateCrashStatus(e){if(!e){this.settings.crashCount=0,this.saveSettings();return}this.settings.crashCount===void 0?this.settings.crashCount=1:this.settings.crashCount+=1,this.saveSettings()}};module.exports=Vg;
/* nosourcemap */