cc-viewer 1.6.183 → 1.6.192

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/dist/assets/App-DuGHwadX.js +31 -0
  2. package/dist/assets/{AppHeader-Dc7WvorH.css → AppHeader-D8MCV07q.css} +3 -3
  3. package/dist/assets/AppHeader.module-CozRDKfP.js +573 -0
  4. package/dist/assets/Mobile-Bab634xx.js +10 -0
  5. package/dist/assets/_baseUniq-DJPPdHyT.js +1 -0
  6. package/dist/assets/arc-DZ3Bjq-l.js +1 -0
  7. package/dist/assets/architectureDiagram-Q4EWVU46-xy0J2lr0.js +36 -0
  8. package/dist/assets/blockDiagram-DXYQGD6D-CoUm8UC5.js +132 -0
  9. package/dist/assets/c4Diagram-AHTNJAMY-CFHX4Dfx.js +10 -0
  10. package/dist/assets/channel-G3S1FOvm.js +1 -0
  11. package/dist/assets/chunk-4BX2VUAB-CiktxOyY.js +1 -0
  12. package/dist/assets/chunk-4TB4RGXK-DHl7ZlQV.js +206 -0
  13. package/dist/assets/chunk-55IACEB6-DcgWxDD5.js +1 -0
  14. package/dist/assets/chunk-EDXVE4YY-DeUzWpQx.js +1 -0
  15. package/dist/assets/{chunk-FMBD7UC4-Bb0LARSp.js → chunk-FMBD7UC4-BCaKpugk.js} +2 -2
  16. package/dist/assets/chunk-OYMX7WX6-DKMEMbG9.js +231 -0
  17. package/dist/assets/chunk-QZHKN3VN-BREApeQ-.js +1 -0
  18. package/dist/assets/chunk-YZCP3GAM-BYW1PNda.js +1 -0
  19. package/dist/assets/classDiagram-6PBFFD2Q-B0-7EUsz.js +1 -0
  20. package/dist/assets/classDiagram-v2-HSJHXN6E-B0-7EUsz.js +1 -0
  21. package/dist/assets/clone-CX_D5SrR.js +1 -0
  22. package/dist/assets/cose-bilkent-S5V4N54A-DpwiMCiq.js +1 -0
  23. package/dist/assets/cytoscape.esm-BMgRe88L.js +331 -0
  24. package/dist/assets/dagre-KV5264BT-Dc7qbya2.js +4 -0
  25. package/dist/assets/defaultLocale-CcTwRAjA.js +1 -0
  26. package/dist/assets/diagram-5BDNPKRD-v7FsHeLQ.js +10 -0
  27. package/dist/assets/diagram-G4DWMVQ6-BhKNBlcE.js +24 -0
  28. package/dist/assets/diagram-MMDJMWI5-C-3cRdzG.js +43 -0
  29. package/dist/assets/diagram-TYMM5635-HfNcJIfT.js +24 -0
  30. package/dist/assets/erDiagram-SMLLAGMA-Ckj0dkk7.js +85 -0
  31. package/dist/assets/flowDiagram-DWJPFMVM-yf315tJr.js +162 -0
  32. package/dist/assets/ganttDiagram-T4ZO3ILL-Ch2bINVC.js +292 -0
  33. package/dist/assets/gitGraphDiagram-UUTBAWPF-CesdgsJi.js +106 -0
  34. package/dist/assets/graph-CRpmapJV.js +1 -0
  35. package/dist/assets/html2canvas.esm-B8c0f9Wq.js +22 -0
  36. package/dist/assets/index-DJ0iGKLy.js +2 -0
  37. package/dist/assets/infoDiagram-42DDH7IO-CuD16P9Y.js +2 -0
  38. package/dist/assets/init-C7FSzFHJ.js +1 -0
  39. package/dist/assets/ishikawaDiagram-UXIWVN3A-4y8aG54G.js +70 -0
  40. package/dist/assets/journeyDiagram-VCZTEJTY-B6TtR2Zk.js +139 -0
  41. package/dist/assets/kanban-definition-6JOO6SKY-DTcNHYUS.js +89 -0
  42. package/dist/assets/katex-CJRKSY_b.js +257 -0
  43. package/dist/assets/layout-CX5hpkD2.js +1 -0
  44. package/dist/assets/linear-tWlC-NXc.js +1 -0
  45. package/dist/assets/mermaid.core-DNvsWVDx.js +308 -0
  46. package/dist/assets/min-CDExe3RN.js +1 -0
  47. package/dist/assets/mindmap-definition-QFDTVHPH-CW0yNQcb.js +96 -0
  48. package/dist/assets/ordinal-aRyHI6gl.js +1 -0
  49. package/dist/assets/pieDiagram-DEJITSTG-DNrnOqmz.js +30 -0
  50. package/dist/assets/quadrantDiagram-34T5L4WZ-Cl176vnh.js +7 -0
  51. package/dist/assets/requirementDiagram-MS252O5E-DKp3A5f_.js +84 -0
  52. package/dist/assets/sankeyDiagram-XADWPNL6-BMV0lAz8.js +10 -0
  53. package/dist/assets/sequenceDiagram-FGHM5R23-CQ4preep.js +157 -0
  54. package/dist/assets/stateDiagram-FHFEXIEX-BKqYYN8H.js +1 -0
  55. package/dist/assets/stateDiagram-v2-QKLJ7IA2-C1W1ECmZ.js +1 -0
  56. package/dist/assets/timeline-definition-GMOUNBTQ-4kgeuumv.js +120 -0
  57. package/dist/assets/vendor-antd-Dk5s46Ag.js +406 -0
  58. package/dist/assets/vendor-codemirror-DxvDOrio.js +46 -0
  59. package/dist/assets/vendor-highlight-DVwgAdJY.js +3 -0
  60. package/dist/assets/vendor-markdown-DO-Ppp4f.js +60 -0
  61. package/dist/assets/vendor-qrcode-hI5wlAgK.js +9 -0
  62. package/dist/assets/vendor-virtuoso-HW77kTCh.js +1 -0
  63. package/dist/assets/vendor-xterm-D2cUrYEx.js +140 -0
  64. package/dist/assets/vennDiagram-DHZGUBPP-CqBcUIdK.js +34 -0
  65. package/dist/assets/wardley-RL74JXVD-CbEnkKx8.js +162 -0
  66. package/dist/assets/wardleyDiagram-NUSXRM2D-BJrjkZMg.js +20 -0
  67. package/dist/assets/xychartDiagram-5P7HB3ND-D8aBEz8e.js +7 -0
  68. package/dist/index.html +3 -3
  69. package/package.json +1 -1
  70. package/server.js +13 -4
  71. package/dist/assets/App-BHfyP8-J.js +0 -31
  72. package/dist/assets/AppHeader.module-W_78JZt9.js +0 -573
  73. package/dist/assets/Mobile-ca5EOMpN.js +0 -10
  74. package/dist/assets/_baseUniq-DYSZB4Xx.js +0 -1
  75. package/dist/assets/arc-BChSP8hM.js +0 -1
  76. package/dist/assets/architectureDiagram-Q4EWVU46-vlr5Q6DQ.js +0 -36
  77. package/dist/assets/blockDiagram-DXYQGD6D-4C3Amh2i.js +0 -132
  78. package/dist/assets/c4Diagram-AHTNJAMY-wI0efLSs.js +0 -10
  79. package/dist/assets/channel-d8DITadq.js +0 -1
  80. package/dist/assets/chunk-4BX2VUAB-BX9brpDB.js +0 -1
  81. package/dist/assets/chunk-4TB4RGXK-DvFQ-X9V.js +0 -206
  82. package/dist/assets/chunk-55IACEB6-BNmYjPNf.js +0 -1
  83. package/dist/assets/chunk-EDXVE4YY-BNvDPqBE.js +0 -1
  84. package/dist/assets/chunk-OYMX7WX6-BwlvIpeD.js +0 -231
  85. package/dist/assets/chunk-QZHKN3VN-BS6RK8_X.js +0 -1
  86. package/dist/assets/chunk-YZCP3GAM-oOqmydQz.js +0 -1
  87. package/dist/assets/classDiagram-6PBFFD2Q-B1oRrMCc.js +0 -1
  88. package/dist/assets/classDiagram-v2-HSJHXN6E-B1oRrMCc.js +0 -1
  89. package/dist/assets/clone-BrNOd7Lq.js +0 -1
  90. package/dist/assets/cose-bilkent-S5V4N54A-CamsIqkY.js +0 -1
  91. package/dist/assets/cytoscape.esm-DxGcaOPV.js +0 -331
  92. package/dist/assets/dagre-KV5264BT-CPAWWiBh.js +0 -4
  93. package/dist/assets/defaultLocale-DX6XiGOO.js +0 -1
  94. package/dist/assets/diagram-5BDNPKRD-D6TmzGhl.js +0 -10
  95. package/dist/assets/diagram-G4DWMVQ6-DDuJnMCL.js +0 -24
  96. package/dist/assets/diagram-MMDJMWI5-CQWhvrpz.js +0 -43
  97. package/dist/assets/diagram-TYMM5635-CEDj3w_h.js +0 -24
  98. package/dist/assets/erDiagram-SMLLAGMA-B_eQqha6.js +0 -85
  99. package/dist/assets/flowDiagram-DWJPFMVM-B985i3uQ.js +0 -162
  100. package/dist/assets/ganttDiagram-T4ZO3ILL-DKp62vr3.js +0 -292
  101. package/dist/assets/gitGraphDiagram-UUTBAWPF-Cc1gyz1Q.js +0 -106
  102. package/dist/assets/graph-C-1-3bsA.js +0 -1
  103. package/dist/assets/html2canvas.esm-QH1iLAAe.js +0 -22
  104. package/dist/assets/index-LH2WLu05.js +0 -2
  105. package/dist/assets/infoDiagram-42DDH7IO-DqXaAHZz.js +0 -2
  106. package/dist/assets/init-Gi6I4Gst.js +0 -1
  107. package/dist/assets/ishikawaDiagram-UXIWVN3A-zdUdDJX2.js +0 -70
  108. package/dist/assets/journeyDiagram-VCZTEJTY-ip5SzODy.js +0 -139
  109. package/dist/assets/kanban-definition-6JOO6SKY-D5EYh6AP.js +0 -89
  110. package/dist/assets/katex-DkKDou_j.js +0 -257
  111. package/dist/assets/layout-Cjq8AL8G.js +0 -1
  112. package/dist/assets/linear-U0KsEJ2u.js +0 -1
  113. package/dist/assets/mermaid.core-CT-5crLN.js +0 -308
  114. package/dist/assets/min-C7G6pq26.js +0 -1
  115. package/dist/assets/mindmap-definition-QFDTVHPH-CIzhFOw1.js +0 -96
  116. package/dist/assets/ordinal-Cboi1Yqb.js +0 -1
  117. package/dist/assets/pieDiagram-DEJITSTG-Cp1Zd1MQ.js +0 -30
  118. package/dist/assets/quadrantDiagram-34T5L4WZ-Cp31xM90.js +0 -7
  119. package/dist/assets/requirementDiagram-MS252O5E-Dbg_eQqB.js +0 -84
  120. package/dist/assets/sankeyDiagram-XADWPNL6-CMrzwpwC.js +0 -10
  121. package/dist/assets/sequenceDiagram-FGHM5R23-KJegoBnN.js +0 -157
  122. package/dist/assets/stateDiagram-FHFEXIEX-BDWprYzE.js +0 -1
  123. package/dist/assets/stateDiagram-v2-QKLJ7IA2-CCUmB0qI.js +0 -1
  124. package/dist/assets/timeline-definition-GMOUNBTQ-BOWeG5LY.js +0 -120
  125. package/dist/assets/vendor-antd-CtdKd5xs.js +0 -406
  126. package/dist/assets/vendor-codemirror-CdXaVX4e.js +0 -46
  127. package/dist/assets/vendor-highlight-D4ATuRwX.js +0 -3
  128. package/dist/assets/vendor-markdown-CO-jRjTB.js +0 -60
  129. package/dist/assets/vendor-qrcode-D05RfzwB.js +0 -9
  130. package/dist/assets/vendor-virtuoso-BhnFrbmh.js +0 -1
  131. package/dist/assets/vendor-xterm-DWMOrwSy.js +0 -140
  132. package/dist/assets/vennDiagram-DHZGUBPP-B6mLodPk.js +0 -34
  133. package/dist/assets/wardley-RL74JXVD-CovHs24Z.js +0 -162
  134. package/dist/assets/wardleyDiagram-NUSXRM2D-CBg_VXF7.js +0 -20
  135. package/dist/assets/xychartDiagram-5P7HB3ND-BRxgk_oX.js +0 -7
@@ -0,0 +1,257 @@
1
+ class ParseError extends Error{constructor(message,token){var error="KaTeX parse error: "+message,start,end,loc=token&&token.loc;if(loc&&loc.start<=loc.end){var input=loc.lexer.input;start=loc.start,end=loc.end,start===input.length?error+=" at end of input: ":error+=" at position "+(start+1)+": ";var underlined=input.slice(start,end).replace(/[^]/g,"$&̲"),left;start>15?left="…"+input.slice(start-15,start):left=input.slice(0,start);var right;end+15<input.length?right=input.slice(end,end+15)+"…":right=input.slice(end),error+=left+underlined+right}super(error),this.name="ParseError",Object.setPrototypeOf(this,ParseError.prototype),this.position=start,start!=null&&end!=null&&(this.length=end-start),this.rawMessage=message}}var uppercase=/([A-Z])/g,hyphenate=str=>str.replace(uppercase,"-$1").toLowerCase(),ESCAPE_LOOKUP={"&":"&amp;",">":"&gt;","<":"&lt;",'"':"&quot;","'":"&#x27;"},ESCAPE_REGEX=/[&><"']/g,escape=text2=>String(text2).replace(ESCAPE_REGEX,match=>ESCAPE_LOOKUP[match]),getBaseElem=group=>group.type==="ordgroup"||group.type==="color"?group.body.length===1?getBaseElem(group.body[0]):group:group.type==="font"?getBaseElem(group.body):group,characterNodesTypes=new Set(["mathord","textord","atom"]),isCharacterBox=group=>characterNodesTypes.has(getBaseElem(group).type),protocolFromUrl=url=>{var protocol=/^[\x00-\x20]*([^\\/#?]*?)(:|&#0*58|&#x0*3a|&colon)/i.exec(url);return protocol?protocol[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(protocol[1])?null:protocol[1].toLowerCase():"_relative"},SETTINGS_SCHEMA={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:color=>"#"+color},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(def,defs)=>(defs.push(def),defs)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:t=>Math.max(0,t),cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:s=>Math.max(0,s),cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:n=>Math.max(0,n),cli:"-e, --max-expand <n>",cliProcessor:n=>n==="Infinity"?1/0:parseInt(n)},globalGroup:{type:"boolean",cli:!1}};function getDefaultValue(schema){if("default"in schema)return schema.default;var type=schema.type,defaultType=Array.isArray(type)?type[0]:type;if(typeof defaultType!="string")return defaultType.enum[0];switch(defaultType){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class Settings{constructor(options){options===void 0&&(options={}),options=options||{};for(var prop of Object.keys(SETTINGS_SCHEMA)){var schema=SETTINGS_SCHEMA[prop],optionValue=options[prop];this[prop]=optionValue!==void 0?schema.processor?schema.processor(optionValue):optionValue:getDefaultValue(schema)}}reportNonstrict(errorCode,errorMsg,token){var strict=this.strict;if(typeof strict=="function"&&(strict=strict(errorCode,errorMsg,token)),!(!strict||strict==="ignore")){if(strict===!0||strict==="error")throw new ParseError("LaTeX-incompatible input and strict mode is set to 'error': "+(errorMsg+" ["+errorCode+"]"),token);strict==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(errorMsg+" ["+errorCode+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+strict+"': "+errorMsg+" ["+errorCode+"]"))}}useStrictBehavior(errorCode,errorMsg,token){var strict=this.strict;if(typeof strict=="function")try{strict=strict(errorCode,errorMsg,token)}catch{strict="error"}return!strict||strict==="ignore"?!1:strict===!0||strict==="error"?!0:strict==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(errorMsg+" ["+errorCode+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+strict+"': "+errorMsg+" ["+errorCode+"]")),!1)}isTrusted(context){if("url"in context&&context.url&&!context.protocol){var protocol=protocolFromUrl(context.url);if(protocol==null)return!1;context.protocol=protocol}var trust=typeof this.trust=="function"?this.trust(context):this.trust;return!!trust}}class Style{constructor(id,size,cramped){this.id=id,this.size=size,this.cramped=cramped}sup(){return styles[sup[this.id]]}sub(){return styles[sub[this.id]]}fracNum(){return styles[fracNum[this.id]]}fracDen(){return styles[fracDen[this.id]]}cramp(){return styles[cramp[this.id]]}text(){return styles[text$1[this.id]]}isTight(){return this.size>=2}}var D=0,Dc=1,T=2,Tc=3,S=4,Sc=5,SS=6,SSc=7,styles=[new Style(D,0,!1),new Style(Dc,0,!0),new Style(T,1,!1),new Style(Tc,1,!0),new Style(S,2,!1),new Style(Sc,2,!0),new Style(SS,3,!1),new Style(SSc,3,!0)],sup=[S,Sc,S,Sc,SS,SSc,SS,SSc],sub=[Sc,Sc,Sc,Sc,SSc,SSc,SSc,SSc],fracNum=[T,Tc,S,Sc,SS,SSc,SS,SSc],fracDen=[Tc,Tc,Sc,Sc,SSc,SSc,SSc,SSc],cramp=[Dc,Dc,Tc,Tc,Sc,Sc,SSc,SSc],text$1=[D,Dc,T,Tc,T,Tc,T,Tc],Style$1={DISPLAY:styles[D],TEXT:styles[T],SCRIPT:styles[S],SCRIPTSCRIPT:styles[SS]},scriptData=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function scriptFromCodepoint(codepoint){for(var i=0;i<scriptData.length;i++)for(var script=scriptData[i],_i=0;_i<script.blocks.length;_i++){var block=script.blocks[_i];if(codepoint>=block[0]&&codepoint<=block[1])return script.name}return null}var allBlocks=[];scriptData.forEach(s=>s.blocks.forEach(b=>allBlocks.push(...b)));function supportedCodepoint(codepoint){for(var i=0;i<allBlocks.length;i+=2)if(codepoint>=allBlocks[i]&&codepoint<=allBlocks[i+1])return!0;return!1}var doubleBrushStroke=svgPath=>svgPath+" "+svgPath,hLinePad=80,sqrtMain=function(extraVinculum,hLinePad2){return"M95,"+(622+extraVinculum+hLinePad2)+`
2
+ c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
3
+ c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
4
+ c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
5
+ s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429
6
+ c69,-144,104.5,-217.7,106.5,-221
7
+ l`+extraVinculum/2.075+" -"+extraVinculum+`
8
+ c5.3,-9.3,12,-14,20,-14
9
+ H400000v`+(40+extraVinculum)+`H845.2724
10
+ s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7
11
+ c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z
12
+ M`+(834+extraVinculum)+" "+hLinePad2+"h400000v"+(40+extraVinculum)+"h-400000z"},sqrtSize1=function(extraVinculum,hLinePad2){return"M263,"+(601+extraVinculum+hLinePad2)+`c0.7,0,18,39.7,52,119
13
+ c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120
14
+ c340,-704.7,510.7,-1060.3,512,-1067
15
+ l`+extraVinculum/2.084+" -"+extraVinculum+`
16
+ c4.7,-7.3,11,-11,19,-11
17
+ H40000v`+(40+extraVinculum)+`H1012.3
18
+ s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232
19
+ c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1
20
+ s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26
21
+ c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z
22
+ M`+(1001+extraVinculum)+" "+hLinePad2+"h400000v"+(40+extraVinculum)+"h-400000z"},sqrtSize2=function(extraVinculum,hLinePad2){return"M983 "+(10+extraVinculum+hLinePad2)+`
23
+ l`+extraVinculum/3.13+" -"+extraVinculum+`
24
+ c4,-6.7,10,-10,18,-10 H400000v`+(40+extraVinculum)+`
25
+ H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7
26
+ s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744
27
+ c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30
28
+ c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722
29
+ c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5
30
+ c53.7,-170.3,84.5,-266.8,92.5,-289.5z
31
+ M`+(1001+extraVinculum)+" "+hLinePad2+"h400000v"+(40+extraVinculum)+"h-400000z"},sqrtSize3=function(extraVinculum,hLinePad2){return"M424,"+(2398+extraVinculum+hLinePad2)+`
32
+ c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514
33
+ c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20
34
+ s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121
35
+ s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081
36
+ l`+extraVinculum/4.223+" -"+extraVinculum+`c4,-6.7,10,-10,18,-10 H400000
37
+ v`+(40+extraVinculum)+`H1014.6
38
+ s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185
39
+ c-2,6,-10,9,-24,9
40
+ c-8,0,-12,-0.7,-12,-2z M`+(1001+extraVinculum)+" "+hLinePad2+`
41
+ h400000v`+(40+extraVinculum)+"h-400000z"},sqrtSize4=function(extraVinculum,hLinePad2){return"M473,"+(2713+extraVinculum+hLinePad2)+`
42
+ c339.3,-1799.3,509.3,-2700,510,-2702 l`+extraVinculum/5.298+" -"+extraVinculum+`
43
+ c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+extraVinculum)+`H1017.7
44
+ s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9
45
+ c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200
46
+ c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26
47
+ s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,
48
+ 606zM`+(1001+extraVinculum)+" "+hLinePad2+"h400000v"+(40+extraVinculum)+"H1017.7z"},phasePath=function(y){var x=y/2;return"M400000 "+y+" H0 L"+x+" 0 l65 45 L145 "+(y-80)+" H400000z"},sqrtTall=function(extraVinculum,hLinePad2,viewBoxHeight){var vertSegment=viewBoxHeight-54-hLinePad2-extraVinculum;return"M702 "+(extraVinculum+hLinePad2)+"H400000"+(40+extraVinculum)+`
49
+ H742v`+vertSegment+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1
50
+ h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170
51
+ c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667
52
+ 219 661 l218 661zM702 `+hLinePad2+"H400000v"+(40+extraVinculum)+"H742z"},sqrtPath=function(size,extraVinculum,viewBoxHeight){extraVinculum=1e3*extraVinculum;var path2="";switch(size){case"sqrtMain":path2=sqrtMain(extraVinculum,hLinePad);break;case"sqrtSize1":path2=sqrtSize1(extraVinculum,hLinePad);break;case"sqrtSize2":path2=sqrtSize2(extraVinculum,hLinePad);break;case"sqrtSize3":path2=sqrtSize3(extraVinculum,hLinePad);break;case"sqrtSize4":path2=sqrtSize4(extraVinculum,hLinePad);break;case"sqrtTall":path2=sqrtTall(extraVinculum,hLinePad,viewBoxHeight)}return path2},innerPath=function(name,height){switch(name){case"⎜":return doubleBrushStroke("M291 0 H417 V"+height+" H291z");case"∣":return doubleBrushStroke("M145 0 H188 V"+height+" H145z");case"∥":return doubleBrushStroke("M145 0 H188 V"+height+" H145z")+doubleBrushStroke("M367 0 H410 V"+height+" H367z");case"⎟":return doubleBrushStroke("M457 0 H583 V"+height+" H457z");case"⎢":return doubleBrushStroke("M319 0 H403 V"+height+" H319z");case"⎥":return doubleBrushStroke("M263 0 H347 V"+height+" H263z");case"⎪":return doubleBrushStroke("M384 0 H504 V"+height+" H384z");case"⏐":return doubleBrushStroke("M312 0 H355 V"+height+" H312z");case"‖":return doubleBrushStroke("M257 0 H300 V"+height+" H257z")+doubleBrushStroke("M478 0 H521 V"+height+" H478z");default:return""}},path={doubleleftarrow:`M262 157
53
+ l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3
54
+ 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28
55
+ 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5
56
+ c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5
57
+ 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87
58
+ -86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7
59
+ -2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z
60
+ m8 0v40h399730v-40zm0 194v40h399730v-40z`,doublerightarrow:`M399738 392l
61
+ -10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5
62
+ 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88
63
+ -33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68
64
+ -17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18
65
+ -13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782
66
+ c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3
67
+ -107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,leftarrow:`M400000 241H110l3-3c68.7-52.7 113.7-120
68
+ 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8
69
+ -5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247
70
+ c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208
71
+ 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3
72
+ 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202
73
+ l-3-3h399890zM100 241v40h399900v-40z`,leftbrace:`M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117
74
+ -45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7
75
+ 5-6 9-10 13-.7 1-7.3 1-20 1H6z`,leftbraceunder:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13
76
+ 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688
77
+ 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7
78
+ -331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,leftgroup:`M400000 80
79
+ H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0
80
+ 435 0h399565z`,leftgroupunder:`M400000 262
81
+ H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219
82
+ 435 219h399565z`,leftharpoon:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3
83
+ -3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5
84
+ -18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7
85
+ -196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,leftharpoonplus:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5
86
+ 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3
87
+ -4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7
88
+ -10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z
89
+ m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333
90
+ 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5
91
+ 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667
92
+ -152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,leftharpoondownplus:`M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12
93
+ 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7
94
+ -2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0
95
+ v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5
96
+ -83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3
97
+ -68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21
98
+ 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:doubleBrushStroke("M40 281 V428 H0 V94 H40 V241 H400000 v40z"),leftbracketunder:doubleBrushStroke("M0 0 h120 V290 H399995 v120 H0z"),leftbracketover:doubleBrushStroke("M0 440 h120 V150 H399995 v-120 H0z"),leftmapsto:doubleBrushStroke("M40 281 V448H0V74H40V241H400000v40z"),leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23
99
+ -.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8
100
+ c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3
101
+ 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:doubleBrushStroke("M0 50 h400000 v40H0z m0 194h40000v40H0z"),midbrace:`M200428 334
102
+ c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14
103
+ -53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7
104
+ 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11
105
+ 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,midbraceunder:`M199572 214
106
+ c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14
107
+ 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3
108
+ 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0
109
+ -5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,oiintSize1:`M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6
110
+ -320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z
111
+ m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8
112
+ 60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,oiintSize2:`M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8
113
+ -451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z
114
+ m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2
115
+ c0 110 84 276 504 276s502.4-166 502.4-276z`,oiiintSize1:`M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6
116
+ -480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z
117
+ m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0
118
+ 85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,oiiintSize2:`M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8
119
+ -707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z
120
+ m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1
121
+ c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,rightarrow:`M0 241v40h399891c-47.3 35.3-84 78-110 128
122
+ -16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20
123
+ 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7
124
+ 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85
125
+ -40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5
126
+ -12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67
127
+ 151.7 139 205zm0 0v40h399900v-40z`,rightbrace:`M400000 542l
128
+ -6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5
129
+ s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1
130
+ c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,rightbraceunder:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3
131
+ 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237
132
+ -174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,rightgroup:`M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0
133
+ 3-1 3-3v-38c-76-158-257-219-435-219H0z`,rightgroupunder:`M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18
134
+ 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,rightharpoon:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3
135
+ -3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2
136
+ -10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58
137
+ 69.2 92 94.5zm0 0v40h399900v-40z`,rightharpoonplus:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11
138
+ -18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7
139
+ 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z
140
+ m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown:`M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8
141
+ 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5
142
+ -7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95
143
+ -27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,rightharpoondownplus:`M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8
144
+ 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3
145
+ 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3
146
+ -64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z
147
+ m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3
148
+ 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0
149
+ -13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21
150
+ 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:doubleBrushStroke("M399960 241 V94 h40 V428 h-40 V281 H0 v-40z"),rightbracketunder:doubleBrushStroke("M399995 0 h-120 V290 H0 v120 H400000z"),rightbracketover:doubleBrushStroke("M399995 440 h-120 V150 H0 v-120 H399995z"),rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23
151
+ 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32
152
+ -52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142
153
+ -167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40
154
+ 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69
155
+ -70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3
156
+ -40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19
157
+ -37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101
158
+ 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,twoheadrightarrow:`M400000 167
159
+ c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3
160
+ 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42
161
+ 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333
162
+ -19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70
163
+ 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,tilde1:`M200 55.538c-77 0-168 73.953-177 73.953-3 0-7
164
+ -2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0
165
+ 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0
166
+ 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128
167
+ -68.267.847-113-73.952-191-73.952z`,tilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418
168
+ -8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9
169
+ 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114
170
+ c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751
171
+ 181.476 676 181.476c-149 0-189-126.21-332-126.21z`,tilde3:`M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457
172
+ -11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0
173
+ 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697
174
+ 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696
175
+ -338 0-409-156.573-744-156.573z`,tilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345
176
+ -11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409
177
+ 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9
178
+ 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409
179
+ -175.236-744-175.236z`,vec:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5
180
+ 3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11
181
+ 10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63
182
+ -1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1
183
+ -7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59
184
+ H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359
185
+ c-16-25.333-24-45-24-59z`,widehat1:`M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22
186
+ c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,widehat2:`M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10
187
+ -11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat3:`M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10
188
+ -11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat4:`M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10
189
+ -11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widecheck1:`M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,
190
+ -5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,widecheck2:`M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
191
+ -11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck3:`M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
192
+ -11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck4:`M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
193
+ -11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,baraboveleftarrow:`M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202
194
+ c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5
195
+ c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130
196
+ s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47
197
+ 121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6
198
+ s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11
199
+ c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z
200
+ M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32
201
+ -27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0
202
+ 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39
203
+ -84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5
204
+ -119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5
205
+ -12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67
206
+ 151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
207
+ c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17
208
+ c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21
209
+ c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40
210
+ c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z
211
+ M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0
212
+ c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
213
+ -231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6
214
+ c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z
215
+ M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,shortbaraboveleftharpoon:`M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
216
+ c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,
217
+ 1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,
218
+ -152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z
219
+ M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,shortrightharpoonabovebar:`M53,241l0,40c398570,0,399437,0,399437,0
220
+ c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
221
+ -231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6
222
+ c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z
223
+ M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},tallDelim=function(label,midHeight){switch(label){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+midHeight+` v1759 h347 v-84
224
+ H403z M403 1759 V0 H319 V1759 v`+midHeight+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+midHeight+` v1759 H0 v84 H347z
225
+ M347 1759 V0 H263 V1759 v`+midHeight+" v1759 h84z";case"vert":return"M145 15 v585 v"+midHeight+` v585 c2.667,10,9.667,15,21,15
226
+ c10,0,16.667,-5,20,-15 v-585 v`+-midHeight+` v-585 c-2.667,-10,-9.667,-15,-21,-15
227
+ c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+midHeight+" v585 h43z";case"doublevert":return"M145 15 v585 v"+midHeight+` v585 c2.667,10,9.667,15,21,15
228
+ c10,0,16.667,-5,20,-15 v-585 v`+-midHeight+` v-585 c-2.667,-10,-9.667,-15,-21,-15
229
+ c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+midHeight+` v585 h43z
230
+ M367 15 v585 v`+midHeight+` v585 c2.667,10,9.667,15,21,15
231
+ c10,0,16.667,-5,20,-15 v-585 v`+-midHeight+` v-585 c-2.667,-10,-9.667,-15,-21,-15
232
+ c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v`+midHeight+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+midHeight+` v1715 h263 v84 H319z
233
+ MM319 602 V0 H403 V602 v`+midHeight+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+midHeight+` v1799 H0 v-84 H319z
234
+ MM319 602 V0 H403 V602 v`+midHeight+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+midHeight+` v602 h84z
235
+ M403 1759 V0 H319 V1759 v`+midHeight+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+midHeight+` v602 h84z
236
+ M347 1759 V0 h-84 V1759 v`+midHeight+" v602 h84z";case"lparen":return`M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1
237
+ c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,
238
+ -36,557 l0,`+(midHeight+84)+`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,
239
+ 949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9
240
+ c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,
241
+ -544.7,-112.5,-882c-2,-104,-3,-167,-3,-189
242
+ l0,-`+(midHeight+92)+`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,
243
+ -210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`;case"rparen":return`M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,
244
+ 63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5
245
+ c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,`+(midHeight+9)+`
246
+ c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664
247
+ c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11
248
+ c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17
249
+ c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558
250
+ l0,-`+(midHeight+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
251
+ -470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}};class DocumentFragment{constructor(children){this.children=children,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(className){return this.classes.includes(className)}toNode(){for(var frag=document.createDocumentFragment(),i=0;i<this.children.length;i++)frag.appendChild(this.children[i].toNode());return frag}toMarkup(){for(var markup="",i=0;i<this.children.length;i++)markup+=this.children[i].toMarkup();return markup}toText(){var toText=child=>child.toText();return this.children.map(toText).join("")}}var ptPerUnit={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},relativeUnit={ex:!0,em:!0,mu:!0},validUnit=function(unit){return typeof unit!="string"&&(unit=unit.unit),unit in ptPerUnit||unit in relativeUnit||unit==="ex"},calculateSize=function(sizeValue,options){var scale;if(sizeValue.unit in ptPerUnit)scale=ptPerUnit[sizeValue.unit]/options.fontMetrics().ptPerEm/options.sizeMultiplier;else if(sizeValue.unit==="mu")scale=options.fontMetrics().cssEmPerMu;else{var unitOptions;if(options.style.isTight()?unitOptions=options.havingStyle(options.style.text()):unitOptions=options,sizeValue.unit==="ex")scale=unitOptions.fontMetrics().xHeight;else if(sizeValue.unit==="em")scale=unitOptions.fontMetrics().quad;else throw new ParseError("Invalid unit: '"+sizeValue.unit+"'");unitOptions!==options&&(scale*=unitOptions.sizeMultiplier/options.sizeMultiplier)}return Math.min(sizeValue.number*scale,options.maxSize)},makeEm=function(n){return+n.toFixed(4)+"em"},createClass=function(classes){return classes.filter(cls=>cls).join(" ")},initNode=function(classes,options,style){if(this.classes=classes||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=style||{},options){options.style.isTight()&&this.classes.push("mtight");var color=options.getColor();color&&(this.style.color=color)}},toNode=function(tagName){var node=document.createElement(tagName);node.className=createClass(this.classes);for(var key of Object.keys(this.style))node.style[key]=this.style[key];for(var attr of Object.keys(this.attributes))node.setAttribute(attr,this.attributes[attr]);for(var i=0;i<this.children.length;i++)node.appendChild(this.children[i].toNode());return node},invalidAttributeNameRegex=/[\s"'>/=\x00-\x1f]/,toMarkup=function(tagName){var markup="<"+tagName;this.classes.length&&(markup+=' class="'+escape(createClass(this.classes))+'"');var styles2="";for(var key of Object.keys(this.style))styles2+=hyphenate(key)+":"+this.style[key]+";";styles2&&(markup+=' style="'+escape(styles2)+'"');for(var attr of Object.keys(this.attributes)){if(invalidAttributeNameRegex.test(attr))throw new ParseError("Invalid attribute name '"+attr+"'");markup+=" "+attr+'="'+escape(this.attributes[attr])+'"'}markup+=">";for(var i=0;i<this.children.length;i++)markup+=this.children[i].toMarkup();return markup+="</"+tagName+">",markup};class Span{constructor(classes,children,options,style){initNode.call(this,classes,options,style),this.children=children||[]}setAttribute(attribute,value){this.attributes[attribute]=value}hasClass(className){return this.classes.includes(className)}toNode(){return toNode.call(this,"span")}toMarkup(){return toMarkup.call(this,"span")}}class Anchor{constructor(href,classes,children,options){initNode.call(this,classes,options),this.children=children||[],this.setAttribute("href",href)}setAttribute(attribute,value){this.attributes[attribute]=value}hasClass(className){return this.classes.includes(className)}toNode(){return toNode.call(this,"a")}toMarkup(){return toMarkup.call(this,"a")}}class Img{constructor(src,alt,style){this.alt=alt,this.src=src,this.classes=["mord"],this.height=0,this.depth=0,this.maxFontSize=0,this.style=style}hasClass(className){return this.classes.includes(className)}toNode(){var node=document.createElement("img");node.src=this.src,node.alt=this.alt,node.className="mord";for(var key of Object.keys(this.style))node.style[key]=this.style[key];return node}toMarkup(){var markup='<img src="'+escape(this.src)+'"'+(' alt="'+escape(this.alt)+'"'),styles2="";for(var key of Object.keys(this.style))styles2+=hyphenate(key)+":"+this.style[key]+";";return styles2&&(markup+=' style="'+escape(styles2)+'"'),markup+="'/>",markup}}var iCombinations={î:"ı̂",ï:"ı̈",í:"ı́",ì:"ı̀"};class SymbolNode{constructor(text2,height,depth,italic,skew,width,classes,style){this.text=text2,this.height=height||0,this.depth=depth||0,this.italic=italic||0,this.skew=skew||0,this.width=width||0,this.classes=classes||[],this.style=style||{},this.maxFontSize=0;var script=scriptFromCodepoint(this.text.charCodeAt(0));script&&this.classes.push(script+"_fallback"),/[îïíì]/.test(this.text)&&(this.text=iCombinations[this.text])}hasClass(className){return this.classes.includes(className)}toNode(){var node=document.createTextNode(this.text),span=null;this.italic>0&&(span=document.createElement("span"),span.style.marginRight=makeEm(this.italic)),this.classes.length>0&&(span=span||document.createElement("span"),span.className=createClass(this.classes));for(var key of Object.keys(this.style))span=span||document.createElement("span"),span.style[key]=this.style[key];return span?(span.appendChild(node),span):node}toMarkup(){var needsSpan=!1,markup="<span";this.classes.length&&(needsSpan=!0,markup+=' class="',markup+=escape(createClass(this.classes)),markup+='"');var styles2="";this.italic>0&&(styles2+="margin-right:"+makeEm(this.italic)+";");for(var key of Object.keys(this.style))styles2+=hyphenate(key)+":"+this.style[key]+";";styles2&&(needsSpan=!0,markup+=' style="'+escape(styles2)+'"');var escaped=escape(this.text);return needsSpan?(markup+=">",markup+=escaped,markup+="</span>",markup):escaped}}class SvgNode{constructor(children,attributes){this.children=children||[],this.attributes=attributes||{}}toNode(){var svgNS="http://www.w3.org/2000/svg",node=document.createElementNS(svgNS,"svg");for(var attr of Object.keys(this.attributes))node.setAttribute(attr,this.attributes[attr]);for(var i=0;i<this.children.length;i++)node.appendChild(this.children[i].toNode());return node}toMarkup(){var markup='<svg xmlns="http://www.w3.org/2000/svg"';for(var attr of Object.keys(this.attributes))markup+=" "+attr+'="'+escape(this.attributes[attr])+'"';markup+=">";for(var i=0;i<this.children.length;i++)markup+=this.children[i].toMarkup();return markup+="</svg>",markup}}class PathNode{constructor(pathName,alternate){this.pathName=pathName,this.alternate=alternate}toNode(){var svgNS="http://www.w3.org/2000/svg",node=document.createElementNS(svgNS,"path");return this.alternate?node.setAttribute("d",this.alternate):node.setAttribute("d",path[this.pathName]),node}toMarkup(){return this.alternate?'<path d="'+escape(this.alternate)+'"/>':'<path d="'+escape(path[this.pathName])+'"/>'}}class LineNode{constructor(attributes){this.attributes=attributes||{}}toNode(){var svgNS="http://www.w3.org/2000/svg",node=document.createElementNS(svgNS,"line");for(var attr of Object.keys(this.attributes))node.setAttribute(attr,this.attributes[attr]);return node}toMarkup(){var markup="<line";for(var attr of Object.keys(this.attributes))markup+=" "+attr+'="'+escape(this.attributes[attr])+'"';return markup+="/>",markup}}function assertSymbolDomNode(group){if(group instanceof SymbolNode)return group;throw new Error("Expected symbolNode but got "+String(group)+".")}function assertSpan(group){if(group instanceof Span)return group;throw new Error("Expected span<HtmlDomNode> but got "+String(group)+".")}var hasHtmlDomChildren=node=>node instanceof Span||node instanceof Anchor||node instanceof DocumentFragment,fontMetricsData={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},sigmasAndXis={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},extraCharacterMap={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function setFontMetrics(fontName,metrics){fontMetricsData[fontName]=metrics}function getCharacterMetrics(character,font,mode){if(!fontMetricsData[font])throw new Error("Font metrics not found for font: "+font+".");var ch=character.charCodeAt(0),metrics=fontMetricsData[font][ch];if(!metrics&&character[0]in extraCharacterMap&&(ch=extraCharacterMap[character[0]].charCodeAt(0),metrics=fontMetricsData[font][ch]),!metrics&&mode==="text"&&supportedCodepoint(ch)&&(metrics=fontMetricsData[font][77]),metrics)return{depth:metrics[0],height:metrics[1],italic:metrics[2],skew:metrics[3],width:metrics[4]}}var fontMetricsBySizeIndex={};function getGlobalMetrics(size){var sizeIndex;if(size>=5?sizeIndex=0:size>=3?sizeIndex=1:sizeIndex=2,!fontMetricsBySizeIndex[sizeIndex]){var metrics=fontMetricsBySizeIndex[sizeIndex]={cssEmPerMu:sigmasAndXis.quad[sizeIndex]/18};for(var key in sigmasAndXis)sigmasAndXis.hasOwnProperty(key)&&(metrics[key]=sigmasAndXis[key][sizeIndex])}return fontMetricsBySizeIndex[sizeIndex]}var ATOMS={bin:1,close:1,inner:1,open:1,punct:1,rel:1},NON_ATOMS={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},symbols={math:{},text:{}};function defineSymbol(mode,font,group,replace,name,acceptUnicodeChar){symbols[mode][name]={font,group,replace},acceptUnicodeChar&&replace&&(symbols[mode][replace]=symbols[mode][name])}var math="math",text="text",main="main",ams="ams",accent="accent-token",bin="bin",close="close",inner="inner",mathord="mathord",op="op-token",open="open",punct="punct",rel="rel",spacing="spacing",textord="textord";defineSymbol(math,main,rel,"≡","\\equiv",!0);defineSymbol(math,main,rel,"≺","\\prec",!0);defineSymbol(math,main,rel,"≻","\\succ",!0);defineSymbol(math,main,rel,"∼","\\sim",!0);defineSymbol(math,main,rel,"⊥","\\perp");defineSymbol(math,main,rel,"⪯","\\preceq",!0);defineSymbol(math,main,rel,"⪰","\\succeq",!0);defineSymbol(math,main,rel,"≃","\\simeq",!0);defineSymbol(math,main,rel,"∣","\\mid",!0);defineSymbol(math,main,rel,"≪","\\ll",!0);defineSymbol(math,main,rel,"≫","\\gg",!0);defineSymbol(math,main,rel,"≍","\\asymp",!0);defineSymbol(math,main,rel,"∥","\\parallel");defineSymbol(math,main,rel,"⋈","\\bowtie",!0);defineSymbol(math,main,rel,"⌣","\\smile",!0);defineSymbol(math,main,rel,"⊑","\\sqsubseteq",!0);defineSymbol(math,main,rel,"⊒","\\sqsupseteq",!0);defineSymbol(math,main,rel,"≐","\\doteq",!0);defineSymbol(math,main,rel,"⌢","\\frown",!0);defineSymbol(math,main,rel,"∋","\\ni",!0);defineSymbol(math,main,rel,"∝","\\propto",!0);defineSymbol(math,main,rel,"⊢","\\vdash",!0);defineSymbol(math,main,rel,"⊣","\\dashv",!0);defineSymbol(math,main,rel,"∋","\\owns");defineSymbol(math,main,punct,".","\\ldotp");defineSymbol(math,main,punct,"⋅","\\cdotp");defineSymbol(math,main,punct,"⋅","·");defineSymbol(text,main,textord,"⋅","·");defineSymbol(math,main,textord,"#","\\#");defineSymbol(text,main,textord,"#","\\#");defineSymbol(math,main,textord,"&","\\&");defineSymbol(text,main,textord,"&","\\&");defineSymbol(math,main,textord,"ℵ","\\aleph",!0);defineSymbol(math,main,textord,"∀","\\forall",!0);defineSymbol(math,main,textord,"ℏ","\\hbar",!0);defineSymbol(math,main,textord,"∃","\\exists",!0);defineSymbol(math,main,textord,"∇","\\nabla",!0);defineSymbol(math,main,textord,"♭","\\flat",!0);defineSymbol(math,main,textord,"ℓ","\\ell",!0);defineSymbol(math,main,textord,"♮","\\natural",!0);defineSymbol(math,main,textord,"♣","\\clubsuit",!0);defineSymbol(math,main,textord,"℘","\\wp",!0);defineSymbol(math,main,textord,"♯","\\sharp",!0);defineSymbol(math,main,textord,"♢","\\diamondsuit",!0);defineSymbol(math,main,textord,"ℜ","\\Re",!0);defineSymbol(math,main,textord,"♡","\\heartsuit",!0);defineSymbol(math,main,textord,"ℑ","\\Im",!0);defineSymbol(math,main,textord,"♠","\\spadesuit",!0);defineSymbol(math,main,textord,"§","\\S",!0);defineSymbol(text,main,textord,"§","\\S");defineSymbol(math,main,textord,"¶","\\P",!0);defineSymbol(text,main,textord,"¶","\\P");defineSymbol(math,main,textord,"†","\\dag");defineSymbol(text,main,textord,"†","\\dag");defineSymbol(text,main,textord,"†","\\textdagger");defineSymbol(math,main,textord,"‡","\\ddag");defineSymbol(text,main,textord,"‡","\\ddag");defineSymbol(text,main,textord,"‡","\\textdaggerdbl");defineSymbol(math,main,close,"⎱","\\rmoustache",!0);defineSymbol(math,main,open,"⎰","\\lmoustache",!0);defineSymbol(math,main,close,"⟯","\\rgroup",!0);defineSymbol(math,main,open,"⟮","\\lgroup",!0);defineSymbol(math,main,bin,"∓","\\mp",!0);defineSymbol(math,main,bin,"⊖","\\ominus",!0);defineSymbol(math,main,bin,"⊎","\\uplus",!0);defineSymbol(math,main,bin,"⊓","\\sqcap",!0);defineSymbol(math,main,bin,"∗","\\ast");defineSymbol(math,main,bin,"⊔","\\sqcup",!0);defineSymbol(math,main,bin,"◯","\\bigcirc",!0);defineSymbol(math,main,bin,"∙","\\bullet",!0);defineSymbol(math,main,bin,"‡","\\ddagger");defineSymbol(math,main,bin,"≀","\\wr",!0);defineSymbol(math,main,bin,"⨿","\\amalg");defineSymbol(math,main,bin,"&","\\And");defineSymbol(math,main,rel,"⟵","\\longleftarrow",!0);defineSymbol(math,main,rel,"⇐","\\Leftarrow",!0);defineSymbol(math,main,rel,"⟸","\\Longleftarrow",!0);defineSymbol(math,main,rel,"⟶","\\longrightarrow",!0);defineSymbol(math,main,rel,"⇒","\\Rightarrow",!0);defineSymbol(math,main,rel,"⟹","\\Longrightarrow",!0);defineSymbol(math,main,rel,"↔","\\leftrightarrow",!0);defineSymbol(math,main,rel,"⟷","\\longleftrightarrow",!0);defineSymbol(math,main,rel,"⇔","\\Leftrightarrow",!0);defineSymbol(math,main,rel,"⟺","\\Longleftrightarrow",!0);defineSymbol(math,main,rel,"↦","\\mapsto",!0);defineSymbol(math,main,rel,"⟼","\\longmapsto",!0);defineSymbol(math,main,rel,"↗","\\nearrow",!0);defineSymbol(math,main,rel,"↩","\\hookleftarrow",!0);defineSymbol(math,main,rel,"↪","\\hookrightarrow",!0);defineSymbol(math,main,rel,"↘","\\searrow",!0);defineSymbol(math,main,rel,"↼","\\leftharpoonup",!0);defineSymbol(math,main,rel,"⇀","\\rightharpoonup",!0);defineSymbol(math,main,rel,"↙","\\swarrow",!0);defineSymbol(math,main,rel,"↽","\\leftharpoondown",!0);defineSymbol(math,main,rel,"⇁","\\rightharpoondown",!0);defineSymbol(math,main,rel,"↖","\\nwarrow",!0);defineSymbol(math,main,rel,"⇌","\\rightleftharpoons",!0);defineSymbol(math,ams,rel,"≮","\\nless",!0);defineSymbol(math,ams,rel,"","\\@nleqslant");defineSymbol(math,ams,rel,"","\\@nleqq");defineSymbol(math,ams,rel,"⪇","\\lneq",!0);defineSymbol(math,ams,rel,"≨","\\lneqq",!0);defineSymbol(math,ams,rel,"","\\@lvertneqq");defineSymbol(math,ams,rel,"⋦","\\lnsim",!0);defineSymbol(math,ams,rel,"⪉","\\lnapprox",!0);defineSymbol(math,ams,rel,"⊀","\\nprec",!0);defineSymbol(math,ams,rel,"⋠","\\npreceq",!0);defineSymbol(math,ams,rel,"⋨","\\precnsim",!0);defineSymbol(math,ams,rel,"⪹","\\precnapprox",!0);defineSymbol(math,ams,rel,"≁","\\nsim",!0);defineSymbol(math,ams,rel,"","\\@nshortmid");defineSymbol(math,ams,rel,"∤","\\nmid",!0);defineSymbol(math,ams,rel,"⊬","\\nvdash",!0);defineSymbol(math,ams,rel,"⊭","\\nvDash",!0);defineSymbol(math,ams,rel,"⋪","\\ntriangleleft");defineSymbol(math,ams,rel,"⋬","\\ntrianglelefteq",!0);defineSymbol(math,ams,rel,"⊊","\\subsetneq",!0);defineSymbol(math,ams,rel,"","\\@varsubsetneq");defineSymbol(math,ams,rel,"⫋","\\subsetneqq",!0);defineSymbol(math,ams,rel,"","\\@varsubsetneqq");defineSymbol(math,ams,rel,"≯","\\ngtr",!0);defineSymbol(math,ams,rel,"","\\@ngeqslant");defineSymbol(math,ams,rel,"","\\@ngeqq");defineSymbol(math,ams,rel,"⪈","\\gneq",!0);defineSymbol(math,ams,rel,"≩","\\gneqq",!0);defineSymbol(math,ams,rel,"","\\@gvertneqq");defineSymbol(math,ams,rel,"⋧","\\gnsim",!0);defineSymbol(math,ams,rel,"⪊","\\gnapprox",!0);defineSymbol(math,ams,rel,"⊁","\\nsucc",!0);defineSymbol(math,ams,rel,"⋡","\\nsucceq",!0);defineSymbol(math,ams,rel,"⋩","\\succnsim",!0);defineSymbol(math,ams,rel,"⪺","\\succnapprox",!0);defineSymbol(math,ams,rel,"≆","\\ncong",!0);defineSymbol(math,ams,rel,"","\\@nshortparallel");defineSymbol(math,ams,rel,"∦","\\nparallel",!0);defineSymbol(math,ams,rel,"⊯","\\nVDash",!0);defineSymbol(math,ams,rel,"⋫","\\ntriangleright");defineSymbol(math,ams,rel,"⋭","\\ntrianglerighteq",!0);defineSymbol(math,ams,rel,"","\\@nsupseteqq");defineSymbol(math,ams,rel,"⊋","\\supsetneq",!0);defineSymbol(math,ams,rel,"","\\@varsupsetneq");defineSymbol(math,ams,rel,"⫌","\\supsetneqq",!0);defineSymbol(math,ams,rel,"","\\@varsupsetneqq");defineSymbol(math,ams,rel,"⊮","\\nVdash",!0);defineSymbol(math,ams,rel,"⪵","\\precneqq",!0);defineSymbol(math,ams,rel,"⪶","\\succneqq",!0);defineSymbol(math,ams,rel,"","\\@nsubseteqq");defineSymbol(math,ams,bin,"⊴","\\unlhd");defineSymbol(math,ams,bin,"⊵","\\unrhd");defineSymbol(math,ams,rel,"↚","\\nleftarrow",!0);defineSymbol(math,ams,rel,"↛","\\nrightarrow",!0);defineSymbol(math,ams,rel,"⇍","\\nLeftarrow",!0);defineSymbol(math,ams,rel,"⇏","\\nRightarrow",!0);defineSymbol(math,ams,rel,"↮","\\nleftrightarrow",!0);defineSymbol(math,ams,rel,"⇎","\\nLeftrightarrow",!0);defineSymbol(math,ams,rel,"△","\\vartriangle");defineSymbol(math,ams,textord,"ℏ","\\hslash");defineSymbol(math,ams,textord,"▽","\\triangledown");defineSymbol(math,ams,textord,"◊","\\lozenge");defineSymbol(math,ams,textord,"Ⓢ","\\circledS");defineSymbol(math,ams,textord,"®","\\circledR");defineSymbol(text,ams,textord,"®","\\circledR");defineSymbol(math,ams,textord,"∡","\\measuredangle",!0);defineSymbol(math,ams,textord,"∄","\\nexists");defineSymbol(math,ams,textord,"℧","\\mho");defineSymbol(math,ams,textord,"Ⅎ","\\Finv",!0);defineSymbol(math,ams,textord,"⅁","\\Game",!0);defineSymbol(math,ams,textord,"‵","\\backprime");defineSymbol(math,ams,textord,"▲","\\blacktriangle");defineSymbol(math,ams,textord,"▼","\\blacktriangledown");defineSymbol(math,ams,textord,"■","\\blacksquare");defineSymbol(math,ams,textord,"⧫","\\blacklozenge");defineSymbol(math,ams,textord,"★","\\bigstar");defineSymbol(math,ams,textord,"∢","\\sphericalangle",!0);defineSymbol(math,ams,textord,"∁","\\complement",!0);defineSymbol(math,ams,textord,"ð","\\eth",!0);defineSymbol(text,main,textord,"ð","ð");defineSymbol(math,ams,textord,"╱","\\diagup");defineSymbol(math,ams,textord,"╲","\\diagdown");defineSymbol(math,ams,textord,"□","\\square");defineSymbol(math,ams,textord,"□","\\Box");defineSymbol(math,ams,textord,"◊","\\Diamond");defineSymbol(math,ams,textord,"¥","\\yen",!0);defineSymbol(text,ams,textord,"¥","\\yen",!0);defineSymbol(math,ams,textord,"✓","\\checkmark",!0);defineSymbol(text,ams,textord,"✓","\\checkmark");defineSymbol(math,ams,textord,"ℶ","\\beth",!0);defineSymbol(math,ams,textord,"ℸ","\\daleth",!0);defineSymbol(math,ams,textord,"ℷ","\\gimel",!0);defineSymbol(math,ams,textord,"ϝ","\\digamma",!0);defineSymbol(math,ams,textord,"ϰ","\\varkappa");defineSymbol(math,ams,open,"┌","\\@ulcorner",!0);defineSymbol(math,ams,close,"┐","\\@urcorner",!0);defineSymbol(math,ams,open,"└","\\@llcorner",!0);defineSymbol(math,ams,close,"┘","\\@lrcorner",!0);defineSymbol(math,ams,rel,"≦","\\leqq",!0);defineSymbol(math,ams,rel,"⩽","\\leqslant",!0);defineSymbol(math,ams,rel,"⪕","\\eqslantless",!0);defineSymbol(math,ams,rel,"≲","\\lesssim",!0);defineSymbol(math,ams,rel,"⪅","\\lessapprox",!0);defineSymbol(math,ams,rel,"≊","\\approxeq",!0);defineSymbol(math,ams,bin,"⋖","\\lessdot");defineSymbol(math,ams,rel,"⋘","\\lll",!0);defineSymbol(math,ams,rel,"≶","\\lessgtr",!0);defineSymbol(math,ams,rel,"⋚","\\lesseqgtr",!0);defineSymbol(math,ams,rel,"⪋","\\lesseqqgtr",!0);defineSymbol(math,ams,rel,"≑","\\doteqdot");defineSymbol(math,ams,rel,"≓","\\risingdotseq",!0);defineSymbol(math,ams,rel,"≒","\\fallingdotseq",!0);defineSymbol(math,ams,rel,"∽","\\backsim",!0);defineSymbol(math,ams,rel,"⋍","\\backsimeq",!0);defineSymbol(math,ams,rel,"⫅","\\subseteqq",!0);defineSymbol(math,ams,rel,"⋐","\\Subset",!0);defineSymbol(math,ams,rel,"⊏","\\sqsubset",!0);defineSymbol(math,ams,rel,"≼","\\preccurlyeq",!0);defineSymbol(math,ams,rel,"⋞","\\curlyeqprec",!0);defineSymbol(math,ams,rel,"≾","\\precsim",!0);defineSymbol(math,ams,rel,"⪷","\\precapprox",!0);defineSymbol(math,ams,rel,"⊲","\\vartriangleleft");defineSymbol(math,ams,rel,"⊴","\\trianglelefteq");defineSymbol(math,ams,rel,"⊨","\\vDash",!0);defineSymbol(math,ams,rel,"⊪","\\Vvdash",!0);defineSymbol(math,ams,rel,"⌣","\\smallsmile");defineSymbol(math,ams,rel,"⌢","\\smallfrown");defineSymbol(math,ams,rel,"≏","\\bumpeq",!0);defineSymbol(math,ams,rel,"≎","\\Bumpeq",!0);defineSymbol(math,ams,rel,"≧","\\geqq",!0);defineSymbol(math,ams,rel,"⩾","\\geqslant",!0);defineSymbol(math,ams,rel,"⪖","\\eqslantgtr",!0);defineSymbol(math,ams,rel,"≳","\\gtrsim",!0);defineSymbol(math,ams,rel,"⪆","\\gtrapprox",!0);defineSymbol(math,ams,bin,"⋗","\\gtrdot");defineSymbol(math,ams,rel,"⋙","\\ggg",!0);defineSymbol(math,ams,rel,"≷","\\gtrless",!0);defineSymbol(math,ams,rel,"⋛","\\gtreqless",!0);defineSymbol(math,ams,rel,"⪌","\\gtreqqless",!0);defineSymbol(math,ams,rel,"≖","\\eqcirc",!0);defineSymbol(math,ams,rel,"≗","\\circeq",!0);defineSymbol(math,ams,rel,"≜","\\triangleq",!0);defineSymbol(math,ams,rel,"∼","\\thicksim");defineSymbol(math,ams,rel,"≈","\\thickapprox");defineSymbol(math,ams,rel,"⫆","\\supseteqq",!0);defineSymbol(math,ams,rel,"⋑","\\Supset",!0);defineSymbol(math,ams,rel,"⊐","\\sqsupset",!0);defineSymbol(math,ams,rel,"≽","\\succcurlyeq",!0);defineSymbol(math,ams,rel,"⋟","\\curlyeqsucc",!0);defineSymbol(math,ams,rel,"≿","\\succsim",!0);defineSymbol(math,ams,rel,"⪸","\\succapprox",!0);defineSymbol(math,ams,rel,"⊳","\\vartriangleright");defineSymbol(math,ams,rel,"⊵","\\trianglerighteq");defineSymbol(math,ams,rel,"⊩","\\Vdash",!0);defineSymbol(math,ams,rel,"∣","\\shortmid");defineSymbol(math,ams,rel,"∥","\\shortparallel");defineSymbol(math,ams,rel,"≬","\\between",!0);defineSymbol(math,ams,rel,"⋔","\\pitchfork",!0);defineSymbol(math,ams,rel,"∝","\\varpropto");defineSymbol(math,ams,rel,"◀","\\blacktriangleleft");defineSymbol(math,ams,rel,"∴","\\therefore",!0);defineSymbol(math,ams,rel,"∍","\\backepsilon");defineSymbol(math,ams,rel,"▶","\\blacktriangleright");defineSymbol(math,ams,rel,"∵","\\because",!0);defineSymbol(math,ams,rel,"⋘","\\llless");defineSymbol(math,ams,rel,"⋙","\\gggtr");defineSymbol(math,ams,bin,"⊲","\\lhd");defineSymbol(math,ams,bin,"⊳","\\rhd");defineSymbol(math,ams,rel,"≂","\\eqsim",!0);defineSymbol(math,main,rel,"⋈","\\Join");defineSymbol(math,ams,rel,"≑","\\Doteq",!0);defineSymbol(math,ams,bin,"∔","\\dotplus",!0);defineSymbol(math,ams,bin,"∖","\\smallsetminus");defineSymbol(math,ams,bin,"⋒","\\Cap",!0);defineSymbol(math,ams,bin,"⋓","\\Cup",!0);defineSymbol(math,ams,bin,"⩞","\\doublebarwedge",!0);defineSymbol(math,ams,bin,"⊟","\\boxminus",!0);defineSymbol(math,ams,bin,"⊞","\\boxplus",!0);defineSymbol(math,ams,bin,"⋇","\\divideontimes",!0);defineSymbol(math,ams,bin,"⋉","\\ltimes",!0);defineSymbol(math,ams,bin,"⋊","\\rtimes",!0);defineSymbol(math,ams,bin,"⋋","\\leftthreetimes",!0);defineSymbol(math,ams,bin,"⋌","\\rightthreetimes",!0);defineSymbol(math,ams,bin,"⋏","\\curlywedge",!0);defineSymbol(math,ams,bin,"⋎","\\curlyvee",!0);defineSymbol(math,ams,bin,"⊝","\\circleddash",!0);defineSymbol(math,ams,bin,"⊛","\\circledast",!0);defineSymbol(math,ams,bin,"⋅","\\centerdot");defineSymbol(math,ams,bin,"⊺","\\intercal",!0);defineSymbol(math,ams,bin,"⋒","\\doublecap");defineSymbol(math,ams,bin,"⋓","\\doublecup");defineSymbol(math,ams,bin,"⊠","\\boxtimes",!0);defineSymbol(math,ams,rel,"⇢","\\dashrightarrow",!0);defineSymbol(math,ams,rel,"⇠","\\dashleftarrow",!0);defineSymbol(math,ams,rel,"⇇","\\leftleftarrows",!0);defineSymbol(math,ams,rel,"⇆","\\leftrightarrows",!0);defineSymbol(math,ams,rel,"⇚","\\Lleftarrow",!0);defineSymbol(math,ams,rel,"↞","\\twoheadleftarrow",!0);defineSymbol(math,ams,rel,"↢","\\leftarrowtail",!0);defineSymbol(math,ams,rel,"↫","\\looparrowleft",!0);defineSymbol(math,ams,rel,"⇋","\\leftrightharpoons",!0);defineSymbol(math,ams,rel,"↶","\\curvearrowleft",!0);defineSymbol(math,ams,rel,"↺","\\circlearrowleft",!0);defineSymbol(math,ams,rel,"↰","\\Lsh",!0);defineSymbol(math,ams,rel,"⇈","\\upuparrows",!0);defineSymbol(math,ams,rel,"↿","\\upharpoonleft",!0);defineSymbol(math,ams,rel,"⇃","\\downharpoonleft",!0);defineSymbol(math,main,rel,"⊶","\\origof",!0);defineSymbol(math,main,rel,"⊷","\\imageof",!0);defineSymbol(math,ams,rel,"⊸","\\multimap",!0);defineSymbol(math,ams,rel,"↭","\\leftrightsquigarrow",!0);defineSymbol(math,ams,rel,"⇉","\\rightrightarrows",!0);defineSymbol(math,ams,rel,"⇄","\\rightleftarrows",!0);defineSymbol(math,ams,rel,"↠","\\twoheadrightarrow",!0);defineSymbol(math,ams,rel,"↣","\\rightarrowtail",!0);defineSymbol(math,ams,rel,"↬","\\looparrowright",!0);defineSymbol(math,ams,rel,"↷","\\curvearrowright",!0);defineSymbol(math,ams,rel,"↻","\\circlearrowright",!0);defineSymbol(math,ams,rel,"↱","\\Rsh",!0);defineSymbol(math,ams,rel,"⇊","\\downdownarrows",!0);defineSymbol(math,ams,rel,"↾","\\upharpoonright",!0);defineSymbol(math,ams,rel,"⇂","\\downharpoonright",!0);defineSymbol(math,ams,rel,"⇝","\\rightsquigarrow",!0);defineSymbol(math,ams,rel,"⇝","\\leadsto");defineSymbol(math,ams,rel,"⇛","\\Rrightarrow",!0);defineSymbol(math,ams,rel,"↾","\\restriction");defineSymbol(math,main,textord,"‘","`");defineSymbol(math,main,textord,"$","\\$");defineSymbol(text,main,textord,"$","\\$");defineSymbol(text,main,textord,"$","\\textdollar");defineSymbol(math,main,textord,"%","\\%");defineSymbol(text,main,textord,"%","\\%");defineSymbol(math,main,textord,"_","\\_");defineSymbol(text,main,textord,"_","\\_");defineSymbol(text,main,textord,"_","\\textunderscore");defineSymbol(math,main,textord,"∠","\\angle",!0);defineSymbol(math,main,textord,"∞","\\infty",!0);defineSymbol(math,main,textord,"′","\\prime");defineSymbol(math,main,textord,"△","\\triangle");defineSymbol(math,main,textord,"Γ","\\Gamma",!0);defineSymbol(math,main,textord,"Δ","\\Delta",!0);defineSymbol(math,main,textord,"Θ","\\Theta",!0);defineSymbol(math,main,textord,"Λ","\\Lambda",!0);defineSymbol(math,main,textord,"Ξ","\\Xi",!0);defineSymbol(math,main,textord,"Π","\\Pi",!0);defineSymbol(math,main,textord,"Σ","\\Sigma",!0);defineSymbol(math,main,textord,"Υ","\\Upsilon",!0);defineSymbol(math,main,textord,"Φ","\\Phi",!0);defineSymbol(math,main,textord,"Ψ","\\Psi",!0);defineSymbol(math,main,textord,"Ω","\\Omega",!0);defineSymbol(math,main,textord,"A","Α");defineSymbol(math,main,textord,"B","Β");defineSymbol(math,main,textord,"E","Ε");defineSymbol(math,main,textord,"Z","Ζ");defineSymbol(math,main,textord,"H","Η");defineSymbol(math,main,textord,"I","Ι");defineSymbol(math,main,textord,"K","Κ");defineSymbol(math,main,textord,"M","Μ");defineSymbol(math,main,textord,"N","Ν");defineSymbol(math,main,textord,"O","Ο");defineSymbol(math,main,textord,"P","Ρ");defineSymbol(math,main,textord,"T","Τ");defineSymbol(math,main,textord,"X","Χ");defineSymbol(math,main,textord,"¬","\\neg",!0);defineSymbol(math,main,textord,"¬","\\lnot");defineSymbol(math,main,textord,"⊤","\\top");defineSymbol(math,main,textord,"⊥","\\bot");defineSymbol(math,main,textord,"∅","\\emptyset");defineSymbol(math,ams,textord,"∅","\\varnothing");defineSymbol(math,main,mathord,"α","\\alpha",!0);defineSymbol(math,main,mathord,"β","\\beta",!0);defineSymbol(math,main,mathord,"γ","\\gamma",!0);defineSymbol(math,main,mathord,"δ","\\delta",!0);defineSymbol(math,main,mathord,"ϵ","\\epsilon",!0);defineSymbol(math,main,mathord,"ζ","\\zeta",!0);defineSymbol(math,main,mathord,"η","\\eta",!0);defineSymbol(math,main,mathord,"θ","\\theta",!0);defineSymbol(math,main,mathord,"ι","\\iota",!0);defineSymbol(math,main,mathord,"κ","\\kappa",!0);defineSymbol(math,main,mathord,"λ","\\lambda",!0);defineSymbol(math,main,mathord,"μ","\\mu",!0);defineSymbol(math,main,mathord,"ν","\\nu",!0);defineSymbol(math,main,mathord,"ξ","\\xi",!0);defineSymbol(math,main,mathord,"ο","\\omicron",!0);defineSymbol(math,main,mathord,"π","\\pi",!0);defineSymbol(math,main,mathord,"ρ","\\rho",!0);defineSymbol(math,main,mathord,"σ","\\sigma",!0);defineSymbol(math,main,mathord,"τ","\\tau",!0);defineSymbol(math,main,mathord,"υ","\\upsilon",!0);defineSymbol(math,main,mathord,"ϕ","\\phi",!0);defineSymbol(math,main,mathord,"χ","\\chi",!0);defineSymbol(math,main,mathord,"ψ","\\psi",!0);defineSymbol(math,main,mathord,"ω","\\omega",!0);defineSymbol(math,main,mathord,"ε","\\varepsilon",!0);defineSymbol(math,main,mathord,"ϑ","\\vartheta",!0);defineSymbol(math,main,mathord,"ϖ","\\varpi",!0);defineSymbol(math,main,mathord,"ϱ","\\varrho",!0);defineSymbol(math,main,mathord,"ς","\\varsigma",!0);defineSymbol(math,main,mathord,"φ","\\varphi",!0);defineSymbol(math,main,bin,"∗","*",!0);defineSymbol(math,main,bin,"+","+");defineSymbol(math,main,bin,"−","-",!0);defineSymbol(math,main,bin,"⋅","\\cdot",!0);defineSymbol(math,main,bin,"∘","\\circ",!0);defineSymbol(math,main,bin,"÷","\\div",!0);defineSymbol(math,main,bin,"±","\\pm",!0);defineSymbol(math,main,bin,"×","\\times",!0);defineSymbol(math,main,bin,"∩","\\cap",!0);defineSymbol(math,main,bin,"∪","\\cup",!0);defineSymbol(math,main,bin,"∖","\\setminus",!0);defineSymbol(math,main,bin,"∧","\\land");defineSymbol(math,main,bin,"∨","\\lor");defineSymbol(math,main,bin,"∧","\\wedge",!0);defineSymbol(math,main,bin,"∨","\\vee",!0);defineSymbol(math,main,textord,"√","\\surd");defineSymbol(math,main,open,"⟨","\\langle",!0);defineSymbol(math,main,open,"∣","\\lvert");defineSymbol(math,main,open,"∥","\\lVert");defineSymbol(math,main,close,"?","?");defineSymbol(math,main,close,"!","!");defineSymbol(math,main,close,"⟩","\\rangle",!0);defineSymbol(math,main,close,"∣","\\rvert");defineSymbol(math,main,close,"∥","\\rVert");defineSymbol(math,main,rel,"=","=");defineSymbol(math,main,rel,":",":");defineSymbol(math,main,rel,"≈","\\approx",!0);defineSymbol(math,main,rel,"≅","\\cong",!0);defineSymbol(math,main,rel,"≥","\\ge");defineSymbol(math,main,rel,"≥","\\geq",!0);defineSymbol(math,main,rel,"←","\\gets");defineSymbol(math,main,rel,">","\\gt",!0);defineSymbol(math,main,rel,"∈","\\in",!0);defineSymbol(math,main,rel,"","\\@not");defineSymbol(math,main,rel,"⊂","\\subset",!0);defineSymbol(math,main,rel,"⊃","\\supset",!0);defineSymbol(math,main,rel,"⊆","\\subseteq",!0);defineSymbol(math,main,rel,"⊇","\\supseteq",!0);defineSymbol(math,ams,rel,"⊈","\\nsubseteq",!0);defineSymbol(math,ams,rel,"⊉","\\nsupseteq",!0);defineSymbol(math,main,rel,"⊨","\\models");defineSymbol(math,main,rel,"←","\\leftarrow",!0);defineSymbol(math,main,rel,"≤","\\le");defineSymbol(math,main,rel,"≤","\\leq",!0);defineSymbol(math,main,rel,"<","\\lt",!0);defineSymbol(math,main,rel,"→","\\rightarrow",!0);defineSymbol(math,main,rel,"→","\\to");defineSymbol(math,ams,rel,"≱","\\ngeq",!0);defineSymbol(math,ams,rel,"≰","\\nleq",!0);defineSymbol(math,main,spacing," ","\\ ");defineSymbol(math,main,spacing," ","\\space");defineSymbol(math,main,spacing," ","\\nobreakspace");defineSymbol(text,main,spacing," ","\\ ");defineSymbol(text,main,spacing," "," ");defineSymbol(text,main,spacing," ","\\space");defineSymbol(text,main,spacing," ","\\nobreakspace");defineSymbol(math,main,spacing,null,"\\nobreak");defineSymbol(math,main,spacing,null,"\\allowbreak");defineSymbol(math,main,punct,",",",");defineSymbol(math,main,punct,";",";");defineSymbol(math,ams,bin,"⊼","\\barwedge",!0);defineSymbol(math,ams,bin,"⊻","\\veebar",!0);defineSymbol(math,main,bin,"⊙","\\odot",!0);defineSymbol(math,main,bin,"⊕","\\oplus",!0);defineSymbol(math,main,bin,"⊗","\\otimes",!0);defineSymbol(math,main,textord,"∂","\\partial",!0);defineSymbol(math,main,bin,"⊘","\\oslash",!0);defineSymbol(math,ams,bin,"⊚","\\circledcirc",!0);defineSymbol(math,ams,bin,"⊡","\\boxdot",!0);defineSymbol(math,main,bin,"△","\\bigtriangleup");defineSymbol(math,main,bin,"▽","\\bigtriangledown");defineSymbol(math,main,bin,"†","\\dagger");defineSymbol(math,main,bin,"⋄","\\diamond");defineSymbol(math,main,bin,"⋆","\\star");defineSymbol(math,main,bin,"◃","\\triangleleft");defineSymbol(math,main,bin,"▹","\\triangleright");defineSymbol(math,main,open,"{","\\{");defineSymbol(text,main,textord,"{","\\{");defineSymbol(text,main,textord,"{","\\textbraceleft");defineSymbol(math,main,close,"}","\\}");defineSymbol(text,main,textord,"}","\\}");defineSymbol(text,main,textord,"}","\\textbraceright");defineSymbol(math,main,open,"{","\\lbrace");defineSymbol(math,main,close,"}","\\rbrace");defineSymbol(math,main,open,"[","\\lbrack",!0);defineSymbol(text,main,textord,"[","\\lbrack",!0);defineSymbol(math,main,close,"]","\\rbrack",!0);defineSymbol(text,main,textord,"]","\\rbrack",!0);defineSymbol(math,main,open,"(","\\lparen",!0);defineSymbol(math,main,close,")","\\rparen",!0);defineSymbol(text,main,textord,"<","\\textless",!0);defineSymbol(text,main,textord,">","\\textgreater",!0);defineSymbol(math,main,open,"⌊","\\lfloor",!0);defineSymbol(math,main,close,"⌋","\\rfloor",!0);defineSymbol(math,main,open,"⌈","\\lceil",!0);defineSymbol(math,main,close,"⌉","\\rceil",!0);defineSymbol(math,main,textord,"\\","\\backslash");defineSymbol(math,main,textord,"∣","|");defineSymbol(math,main,textord,"∣","\\vert");defineSymbol(text,main,textord,"|","\\textbar",!0);defineSymbol(math,main,textord,"∥","\\|");defineSymbol(math,main,textord,"∥","\\Vert");defineSymbol(text,main,textord,"∥","\\textbardbl");defineSymbol(text,main,textord,"~","\\textasciitilde");defineSymbol(text,main,textord,"\\","\\textbackslash");defineSymbol(text,main,textord,"^","\\textasciicircum");defineSymbol(math,main,rel,"↑","\\uparrow",!0);defineSymbol(math,main,rel,"⇑","\\Uparrow",!0);defineSymbol(math,main,rel,"↓","\\downarrow",!0);defineSymbol(math,main,rel,"⇓","\\Downarrow",!0);defineSymbol(math,main,rel,"↕","\\updownarrow",!0);defineSymbol(math,main,rel,"⇕","\\Updownarrow",!0);defineSymbol(math,main,op,"∐","\\coprod");defineSymbol(math,main,op,"⋁","\\bigvee");defineSymbol(math,main,op,"⋀","\\bigwedge");defineSymbol(math,main,op,"⨄","\\biguplus");defineSymbol(math,main,op,"⋂","\\bigcap");defineSymbol(math,main,op,"⋃","\\bigcup");defineSymbol(math,main,op,"∫","\\int");defineSymbol(math,main,op,"∫","\\intop");defineSymbol(math,main,op,"∬","\\iint");defineSymbol(math,main,op,"∭","\\iiint");defineSymbol(math,main,op,"∏","\\prod");defineSymbol(math,main,op,"∑","\\sum");defineSymbol(math,main,op,"⨂","\\bigotimes");defineSymbol(math,main,op,"⨁","\\bigoplus");defineSymbol(math,main,op,"⨀","\\bigodot");defineSymbol(math,main,op,"∮","\\oint");defineSymbol(math,main,op,"∯","\\oiint");defineSymbol(math,main,op,"∰","\\oiiint");defineSymbol(math,main,op,"⨆","\\bigsqcup");defineSymbol(math,main,op,"∫","\\smallint");defineSymbol(text,main,inner,"…","\\textellipsis");defineSymbol(math,main,inner,"…","\\mathellipsis");defineSymbol(text,main,inner,"…","\\ldots",!0);defineSymbol(math,main,inner,"…","\\ldots",!0);defineSymbol(math,main,inner,"⋯","\\@cdots",!0);defineSymbol(math,main,inner,"⋱","\\ddots",!0);defineSymbol(math,main,textord,"⋮","\\varvdots");defineSymbol(text,main,textord,"⋮","\\varvdots");defineSymbol(math,main,accent,"ˊ","\\acute");defineSymbol(math,main,accent,"ˋ","\\grave");defineSymbol(math,main,accent,"¨","\\ddot");defineSymbol(math,main,accent,"~","\\tilde");defineSymbol(math,main,accent,"ˉ","\\bar");defineSymbol(math,main,accent,"˘","\\breve");defineSymbol(math,main,accent,"ˇ","\\check");defineSymbol(math,main,accent,"^","\\hat");defineSymbol(math,main,accent,"⃗","\\vec");defineSymbol(math,main,accent,"˙","\\dot");defineSymbol(math,main,accent,"˚","\\mathring");defineSymbol(math,main,mathord,"","\\@imath");defineSymbol(math,main,mathord,"","\\@jmath");defineSymbol(math,main,textord,"ı","ı");defineSymbol(math,main,textord,"ȷ","ȷ");defineSymbol(text,main,textord,"ı","\\i",!0);defineSymbol(text,main,textord,"ȷ","\\j",!0);defineSymbol(text,main,textord,"ß","\\ss",!0);defineSymbol(text,main,textord,"æ","\\ae",!0);defineSymbol(text,main,textord,"œ","\\oe",!0);defineSymbol(text,main,textord,"ø","\\o",!0);defineSymbol(text,main,textord,"Æ","\\AE",!0);defineSymbol(text,main,textord,"Œ","\\OE",!0);defineSymbol(text,main,textord,"Ø","\\O",!0);defineSymbol(text,main,accent,"ˊ","\\'");defineSymbol(text,main,accent,"ˋ","\\`");defineSymbol(text,main,accent,"ˆ","\\^");defineSymbol(text,main,accent,"˜","\\~");defineSymbol(text,main,accent,"ˉ","\\=");defineSymbol(text,main,accent,"˘","\\u");defineSymbol(text,main,accent,"˙","\\.");defineSymbol(text,main,accent,"¸","\\c");defineSymbol(text,main,accent,"˚","\\r");defineSymbol(text,main,accent,"ˇ","\\v");defineSymbol(text,main,accent,"¨",'\\"');defineSymbol(text,main,accent,"˝","\\H");defineSymbol(text,main,accent,"◯","\\textcircled");var ligatures={"--":!0,"---":!0,"``":!0,"''":!0};defineSymbol(text,main,textord,"–","--",!0);defineSymbol(text,main,textord,"–","\\textendash");defineSymbol(text,main,textord,"—","---",!0);defineSymbol(text,main,textord,"—","\\textemdash");defineSymbol(text,main,textord,"‘","`",!0);defineSymbol(text,main,textord,"‘","\\textquoteleft");defineSymbol(text,main,textord,"’","'",!0);defineSymbol(text,main,textord,"’","\\textquoteright");defineSymbol(text,main,textord,"“","``",!0);defineSymbol(text,main,textord,"“","\\textquotedblleft");defineSymbol(text,main,textord,"”","''",!0);defineSymbol(text,main,textord,"”","\\textquotedblright");defineSymbol(math,main,textord,"°","\\degree",!0);defineSymbol(text,main,textord,"°","\\degree");defineSymbol(text,main,textord,"°","\\textdegree",!0);defineSymbol(math,main,textord,"£","\\pounds");defineSymbol(math,main,textord,"£","\\mathsterling",!0);defineSymbol(text,main,textord,"£","\\pounds");defineSymbol(text,main,textord,"£","\\textsterling",!0);defineSymbol(math,ams,textord,"✠","\\maltese");defineSymbol(text,ams,textord,"✠","\\maltese");var mathTextSymbols='0123456789/@."';for(var i=0;i<mathTextSymbols.length;i++){var ch=mathTextSymbols.charAt(i);defineSymbol(math,main,textord,ch,ch)}var textSymbols='0123456789!@*()-=+";:?/.,';for(var _i=0;_i<textSymbols.length;_i++){var _ch=textSymbols.charAt(_i);defineSymbol(text,main,textord,_ch,_ch)}var letters="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";for(var _i2=0;_i2<letters.length;_i2++){var _ch2=letters.charAt(_i2);defineSymbol(math,main,mathord,_ch2,_ch2),defineSymbol(text,main,textord,_ch2,_ch2)}defineSymbol(math,ams,textord,"C","ℂ");defineSymbol(text,ams,textord,"C","ℂ");defineSymbol(math,ams,textord,"H","ℍ");defineSymbol(text,ams,textord,"H","ℍ");defineSymbol(math,ams,textord,"N","ℕ");defineSymbol(text,ams,textord,"N","ℕ");defineSymbol(math,ams,textord,"P","ℙ");defineSymbol(text,ams,textord,"P","ℙ");defineSymbol(math,ams,textord,"Q","ℚ");defineSymbol(text,ams,textord,"Q","ℚ");defineSymbol(math,ams,textord,"R","ℝ");defineSymbol(text,ams,textord,"R","ℝ");defineSymbol(math,ams,textord,"Z","ℤ");defineSymbol(text,ams,textord,"Z","ℤ");defineSymbol(math,main,mathord,"h","ℎ");defineSymbol(text,main,mathord,"h","ℎ");var wideChar="";for(var _i3=0;_i3<letters.length;_i3++){var _ch3=letters.charAt(_i3);wideChar=String.fromCharCode(55349,56320+_i3),defineSymbol(math,main,mathord,_ch3,wideChar),defineSymbol(text,main,textord,_ch3,wideChar),wideChar=String.fromCharCode(55349,56372+_i3),defineSymbol(math,main,mathord,_ch3,wideChar),defineSymbol(text,main,textord,_ch3,wideChar),wideChar=String.fromCharCode(55349,56424+_i3),defineSymbol(math,main,mathord,_ch3,wideChar),defineSymbol(text,main,textord,_ch3,wideChar),wideChar=String.fromCharCode(55349,56580+_i3),defineSymbol(math,main,mathord,_ch3,wideChar),defineSymbol(text,main,textord,_ch3,wideChar),wideChar=String.fromCharCode(55349,56684+_i3),defineSymbol(math,main,mathord,_ch3,wideChar),defineSymbol(text,main,textord,_ch3,wideChar),wideChar=String.fromCharCode(55349,56736+_i3),defineSymbol(math,main,mathord,_ch3,wideChar),defineSymbol(text,main,textord,_ch3,wideChar),wideChar=String.fromCharCode(55349,56788+_i3),defineSymbol(math,main,mathord,_ch3,wideChar),defineSymbol(text,main,textord,_ch3,wideChar),wideChar=String.fromCharCode(55349,56840+_i3),defineSymbol(math,main,mathord,_ch3,wideChar),defineSymbol(text,main,textord,_ch3,wideChar),wideChar=String.fromCharCode(55349,56944+_i3),defineSymbol(math,main,mathord,_ch3,wideChar),defineSymbol(text,main,textord,_ch3,wideChar),_i3<26&&(wideChar=String.fromCharCode(55349,56632+_i3),defineSymbol(math,main,mathord,_ch3,wideChar),defineSymbol(text,main,textord,_ch3,wideChar),wideChar=String.fromCharCode(55349,56476+_i3),defineSymbol(math,main,mathord,_ch3,wideChar),defineSymbol(text,main,textord,_ch3,wideChar))}wideChar="𝕜";defineSymbol(math,main,mathord,"k",wideChar);defineSymbol(text,main,textord,"k",wideChar);for(var _i4=0;_i4<10;_i4++){var _ch4=_i4.toString();wideChar=String.fromCharCode(55349,57294+_i4),defineSymbol(math,main,mathord,_ch4,wideChar),defineSymbol(text,main,textord,_ch4,wideChar),wideChar=String.fromCharCode(55349,57314+_i4),defineSymbol(math,main,mathord,_ch4,wideChar),defineSymbol(text,main,textord,_ch4,wideChar),wideChar=String.fromCharCode(55349,57324+_i4),defineSymbol(math,main,mathord,_ch4,wideChar),defineSymbol(text,main,textord,_ch4,wideChar),wideChar=String.fromCharCode(55349,57334+_i4),defineSymbol(math,main,mathord,_ch4,wideChar),defineSymbol(text,main,textord,_ch4,wideChar)}var extraLatin="ÐÞþ";for(var _i5=0;_i5<extraLatin.length;_i5++){var _ch5=extraLatin.charAt(_i5);defineSymbol(math,main,mathord,_ch5,_ch5),defineSymbol(text,main,textord,_ch5,_ch5)}var wideLatinLetterData=[["mathbf","textbf","Main-Bold"],["mathbf","textbf","Main-Bold"],["mathnormal","textit","Math-Italic"],["mathnormal","textit","Math-Italic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["mathscr","textscr","Script-Regular"],["","",""],["","",""],["","",""],["mathfrak","textfrak","Fraktur-Regular"],["mathfrak","textfrak","Fraktur-Regular"],["mathbb","textbb","AMS-Regular"],["mathbb","textbb","AMS-Regular"],["mathboldfrak","textboldfrak","Fraktur-Regular"],["mathboldfrak","textboldfrak","Fraktur-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathitsf","textitsf","SansSerif-Italic"],["mathitsf","textitsf","SansSerif-Italic"],["","",""],["","",""],["mathtt","texttt","Typewriter-Regular"],["mathtt","texttt","Typewriter-Regular"]],wideNumeralData=[["mathbf","textbf","Main-Bold"],["","",""],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathtt","texttt","Typewriter-Regular"]],wideCharacterFont=(wideChar2,mode)=>{var H=wideChar2.charCodeAt(0),L=wideChar2.charCodeAt(1),codePoint=(H-55296)*1024+(L-56320)+65536,j=mode==="math"?0:1;if(119808<=codePoint&&codePoint<120484){var i=Math.floor((codePoint-119808)/26);return[wideLatinLetterData[i][2],wideLatinLetterData[i][j]]}else if(120782<=codePoint&&codePoint<=120831){var _i=Math.floor((codePoint-120782)/10);return[wideNumeralData[_i][2],wideNumeralData[_i][j]]}else{if(codePoint===120485||codePoint===120486)return[wideLatinLetterData[0][2],wideLatinLetterData[0][j]];if(120486<codePoint&&codePoint<120782)return["",""];throw new ParseError("Unsupported character: "+wideChar2)}},lookupSymbol=function(value,fontName,mode){if(symbols[mode][value]){var replacement=symbols[mode][value].replace;replacement&&(value=replacement)}return{value,metrics:getCharacterMetrics(value,fontName,mode)}},makeSymbol=function(value,fontName,mode,options,classes){var lookup=lookupSymbol(value,fontName,mode),metrics=lookup.metrics;value=lookup.value;var symbolNode;if(metrics){var italic=metrics.italic;(mode==="text"||options&&options.font==="mathit")&&(italic=0),symbolNode=new SymbolNode(value,metrics.height,metrics.depth,italic,metrics.skew,metrics.width,classes)}else typeof console<"u"&&console.warn("No character metrics "+("for '"+value+"' in style '"+fontName+"' and mode '"+mode+"'")),symbolNode=new SymbolNode(value,0,0,0,0,0,classes);if(options){symbolNode.maxFontSize=options.sizeMultiplier,options.style.isTight()&&symbolNode.classes.push("mtight");var color=options.getColor();color&&(symbolNode.style.color=color)}return symbolNode},mathsym=function(value,mode,options,classes){return classes===void 0&&(classes=[]),options.font==="boldsymbol"&&lookupSymbol(value,"Main-Bold",mode).metrics?makeSymbol(value,"Main-Bold",mode,options,classes.concat(["mathbf"])):value==="\\"||symbols[mode][value].font==="main"?makeSymbol(value,"Main-Regular",mode,options,classes):makeSymbol(value,"AMS-Regular",mode,options,classes.concat(["amsrm"]))},boldsymbol=function(value,mode,options,classes,type){return type!=="textord"&&lookupSymbol(value,"Math-BoldItalic",mode).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"}},makeOrd=function(group,options,type){var mode=group.mode,text2=group.text,classes=["mord"],isFont=mode==="math"||mode==="text"&&options.font,fontOrFamily=isFont?options.font:options.fontFamily,wideFontName="",wideFontClass="";if(text2.charCodeAt(0)===55349&&([wideFontName,wideFontClass]=wideCharacterFont(text2,mode)),wideFontName.length>0)return makeSymbol(text2,wideFontName,mode,options,classes.concat(wideFontClass));if(fontOrFamily){var fontName,fontClasses;if(fontOrFamily==="boldsymbol"){var fontData=boldsymbol(text2,mode,options,classes,type);fontName=fontData.fontName,fontClasses=[fontData.fontClass]}else isFont?(fontName=fontMap[fontOrFamily].fontName,fontClasses=[fontOrFamily]):(fontName=retrieveTextFontName(fontOrFamily,options.fontWeight,options.fontShape),fontClasses=[fontOrFamily,options.fontWeight,options.fontShape]);if(lookupSymbol(text2,fontName,mode).metrics)return makeSymbol(text2,fontName,mode,options,classes.concat(fontClasses));if(ligatures.hasOwnProperty(text2)&&fontName.slice(0,10)==="Typewriter"){for(var parts=[],i=0;i<text2.length;i++)parts.push(makeSymbol(text2[i],fontName,mode,options,classes.concat(fontClasses)));return makeFragment(parts)}}if(type==="mathord")return makeSymbol(text2,"Math-Italic",mode,options,classes.concat(["mathnormal"]));if(type==="textord"){var font=symbols[mode][text2]&&symbols[mode][text2].font;if(font==="ams"){var _fontName=retrieveTextFontName("amsrm",options.fontWeight,options.fontShape);return makeSymbol(text2,_fontName,mode,options,classes.concat("amsrm",options.fontWeight,options.fontShape))}else if(font==="main"||!font){var _fontName2=retrieveTextFontName("textrm",options.fontWeight,options.fontShape);return makeSymbol(text2,_fontName2,mode,options,classes.concat(options.fontWeight,options.fontShape))}else{var _fontName3=retrieveTextFontName(font,options.fontWeight,options.fontShape);return makeSymbol(text2,_fontName3,mode,options,classes.concat(_fontName3,options.fontWeight,options.fontShape))}}else throw new Error("unexpected type: "+type+" in makeOrd")},canCombine=(prev,next)=>{if(createClass(prev.classes)!==createClass(next.classes)||prev.skew!==next.skew||prev.maxFontSize!==next.maxFontSize||prev.italic!==0&&prev.hasClass("mathnormal"))return!1;if(prev.classes.length===1){var cls=prev.classes[0];if(cls==="mbin"||cls==="mord")return!1}for(var key of Object.keys(prev.style))if(prev.style[key]!==next.style[key])return!1;for(var _key of Object.keys(next.style))if(prev.style[_key]!==next.style[_key])return!1;return!0},tryCombineChars=chars=>{for(var i=0;i<chars.length-1;i++){var prev=chars[i],next=chars[i+1];prev instanceof SymbolNode&&next instanceof SymbolNode&&canCombine(prev,next)&&(prev.text+=next.text,prev.height=Math.max(prev.height,next.height),prev.depth=Math.max(prev.depth,next.depth),prev.italic=next.italic,chars.splice(i+1,1),i--)}return chars},sizeElementFromChildren=function(elem){for(var height=0,depth=0,maxFontSize=0,i=0;i<elem.children.length;i++){var child=elem.children[i];child.height>height&&(height=child.height),child.depth>depth&&(depth=child.depth),child.maxFontSize>maxFontSize&&(maxFontSize=child.maxFontSize)}elem.height=height,elem.depth=depth,elem.maxFontSize=maxFontSize},makeSpan=function(classes,children,options,style){var span=new Span(classes,children,options,style);return sizeElementFromChildren(span),span},makeSvgSpan=(classes,children,options,style)=>new Span(classes,children,options,style),makeLineSpan=function(className,options,thickness){var line=makeSpan([className],[],options);return line.height=Math.max(thickness||options.fontMetrics().defaultRuleThickness,options.minRuleThickness),line.style.borderBottomWidth=makeEm(line.height),line.maxFontSize=1,line},makeAnchor=function(href,classes,children,options){var anchor=new Anchor(href,classes,children,options);return sizeElementFromChildren(anchor),anchor},makeFragment=function(children){var fragment=new DocumentFragment(children);return sizeElementFromChildren(fragment),fragment},wrapFragment=function(group,options){return group instanceof DocumentFragment?makeSpan([],[group],options):group},getVListChildrenAndDepth=function(params){if(params.positionType==="individualShift"){for(var oldChildren=params.children,children=[oldChildren[0]],_depth=-oldChildren[0].shift-oldChildren[0].elem.depth,currPos=_depth,i=1;i<oldChildren.length;i++){var diff=-oldChildren[i].shift-currPos-oldChildren[i].elem.depth,size=diff-(oldChildren[i-1].elem.height+oldChildren[i-1].elem.depth);currPos=currPos+diff,children.push({type:"kern",size}),children.push(oldChildren[i])}return{children,depth:_depth}}var depth;if(params.positionType==="top"){for(var bottom=params.positionData,_i=0;_i<params.children.length;_i++){var child=params.children[_i];bottom-=child.type==="kern"?child.size:child.elem.height+child.elem.depth}depth=bottom}else if(params.positionType==="bottom")depth=-params.positionData;else{var firstChild=params.children[0];if(firstChild.type!=="elem")throw new Error('First child must have type "elem".');if(params.positionType==="shift")depth=-firstChild.elem.depth-params.positionData;else if(params.positionType==="firstBaseline")depth=-firstChild.elem.depth;else throw new Error("Invalid positionType "+params.positionType+".")}return{children:params.children,depth}},makeVList=function(params,options){for(var{children,depth}=getVListChildrenAndDepth(params),pstrutSize=0,i=0;i<children.length;i++){var child=children[i];if(child.type==="elem"){var elem=child.elem;pstrutSize=Math.max(pstrutSize,elem.maxFontSize,elem.height)}}pstrutSize+=2;var pstrut=makeSpan(["pstrut"],[]);pstrut.style.height=makeEm(pstrutSize);for(var realChildren=[],minPos=depth,maxPos=depth,currPos=depth,_i2=0;_i2<children.length;_i2++){var _child=children[_i2];if(_child.type==="kern")currPos+=_child.size;else{var _elem=_child.elem,classes=_child.wrapperClasses||[],style=_child.wrapperStyle||{},childWrap=makeSpan(classes,[pstrut,_elem],void 0,style);childWrap.style.top=makeEm(-pstrutSize-currPos-_elem.depth),_child.marginLeft&&(childWrap.style.marginLeft=_child.marginLeft),_child.marginRight&&(childWrap.style.marginRight=_child.marginRight),realChildren.push(childWrap),currPos+=_elem.height+_elem.depth}minPos=Math.min(minPos,currPos),maxPos=Math.max(maxPos,currPos)}var vlist=makeSpan(["vlist"],realChildren);vlist.style.height=makeEm(maxPos);var rows;if(minPos<0){var emptySpan=makeSpan([],[]),depthStrut=makeSpan(["vlist"],[emptySpan]);depthStrut.style.height=makeEm(-minPos);var topStrut=makeSpan(["vlist-s"],[new SymbolNode("​")]);rows=[makeSpan(["vlist-r"],[vlist,topStrut]),makeSpan(["vlist-r"],[depthStrut])]}else rows=[makeSpan(["vlist-r"],[vlist])];var vtable=makeSpan(["vlist-t"],rows);return rows.length===2&&vtable.classes.push("vlist-t2"),vtable.height=maxPos,vtable.depth=-minPos,vtable},makeGlue=(measurement,options)=>{var rule=makeSpan(["mspace"],[],options),size=calculateSize(measurement,options);return rule.style.marginRight=makeEm(size),rule},retrieveTextFontName=function(fontFamily,fontWeight,fontShape){var baseFontName="";switch(fontFamily){case"amsrm":baseFontName="AMS";break;case"textrm":baseFontName="Main";break;case"textsf":baseFontName="SansSerif";break;case"texttt":baseFontName="Typewriter";break;default:baseFontName=fontFamily}var fontStylesName;return fontWeight==="textbf"&&fontShape==="textit"?fontStylesName="BoldItalic":fontWeight==="textbf"?fontStylesName="Bold":fontWeight==="textit"?fontStylesName="Italic":fontStylesName="Regular",baseFontName+"-"+fontStylesName},fontMap={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},svgData={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},staticSvg=function(value,options){var[pathName,width,height]=svgData[value],path2=new PathNode(pathName),svgNode=new SvgNode([path2],{width:makeEm(width),height:makeEm(height),style:"width:"+makeEm(width),viewBox:"0 0 "+1e3*width+" "+1e3*height,preserveAspectRatio:"xMinYMin"}),span=makeSvgSpan(["overlay"],[svgNode],options);return span.height=height,span.style.height=makeEm(height),span.style.width=makeEm(width),span},thinspace={number:3,unit:"mu"},mediumspace={number:4,unit:"mu"},thickspace={number:5,unit:"mu"},spacings={mord:{mop:thinspace,mbin:mediumspace,mrel:thickspace,minner:thinspace},mop:{mord:thinspace,mop:thinspace,mrel:thickspace,minner:thinspace},mbin:{mord:mediumspace,mop:mediumspace,mopen:mediumspace,minner:mediumspace},mrel:{mord:thickspace,mop:thickspace,mopen:thickspace,minner:thickspace},mopen:{},mclose:{mop:thinspace,mbin:mediumspace,mrel:thickspace,minner:thinspace},mpunct:{mord:thinspace,mop:thinspace,mrel:thickspace,mopen:thinspace,mclose:thinspace,mpunct:thinspace,minner:thinspace},minner:{mord:thinspace,mop:thinspace,mbin:mediumspace,mrel:thickspace,mopen:thinspace,mpunct:thinspace,minner:thinspace}},tightSpacings={mord:{mop:thinspace},mop:{mord:thinspace,mop:thinspace},mbin:{},mrel:{},mopen:{},mclose:{mop:thinspace},mpunct:{},minner:{mop:thinspace}},_functions={},_htmlGroupBuilders={},_mathmlGroupBuilders={};function defineFunction(_ref){for(var{type,names,props,handler,htmlBuilder:htmlBuilder3,mathmlBuilder:mathmlBuilder3}=_ref,data={type,numArgs:props.numArgs,argTypes:props.argTypes,allowedInArgument:!!props.allowedInArgument,allowedInText:!!props.allowedInText,allowedInMath:props.allowedInMath===void 0?!0:props.allowedInMath,numOptionalArgs:props.numOptionalArgs||0,infix:!!props.infix,primitive:!!props.primitive,handler},i=0;i<names.length;++i)_functions[names[i]]=data;type&&(htmlBuilder3&&(_htmlGroupBuilders[type]=htmlBuilder3),mathmlBuilder3&&(_mathmlGroupBuilders[type]=mathmlBuilder3))}function defineFunctionBuilders(_ref2){var{type,htmlBuilder:htmlBuilder3,mathmlBuilder:mathmlBuilder3}=_ref2;defineFunction({type,names:[],props:{numArgs:0},handler(){throw new Error("Should never be called.")},htmlBuilder:htmlBuilder3,mathmlBuilder:mathmlBuilder3})}var normalizeArgument=function(arg){return arg.type==="ordgroup"&&arg.body.length===1?arg.body[0]:arg},ordargument=function(arg){return arg.type==="ordgroup"?arg.body:[arg]},binLeftCanceller=new Set(["leftmost","mbin","mopen","mrel","mop","mpunct"]),binRightCanceller=new Set(["rightmost","mrel","mclose","mpunct"]),styleMap$1={display:Style$1.DISPLAY,text:Style$1.TEXT,script:Style$1.SCRIPT,scriptscript:Style$1.SCRIPTSCRIPT},DomEnum={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},buildExpression$1=function(expression,options,isRealGroup,surrounding){surrounding===void 0&&(surrounding=[null,null]);for(var groups=[],i=0;i<expression.length;i++){var output=buildGroup$1(expression[i],options);if(output instanceof DocumentFragment){var children=output.children;groups.push(...children)}else groups.push(output)}if(tryCombineChars(groups),!isRealGroup)return groups;var glueOptions=options;if(expression.length===1){var node=expression[0];node.type==="sizing"?glueOptions=options.havingSize(node.size):node.type==="styling"&&(glueOptions=options.havingStyle(styleMap$1[node.style]))}var dummyPrev=makeSpan([surrounding[0]||"leftmost"],[],options),dummyNext=makeSpan([surrounding[1]||"rightmost"],[],options),isRoot=isRealGroup==="root";return _traverseNonSpaceNodes(groups,(node2,prev)=>{var prevType=prev.classes[0],type=node2.classes[0];prevType==="mbin"&&binRightCanceller.has(type)?prev.classes[0]="mord":type==="mbin"&&binLeftCanceller.has(prevType)&&(node2.classes[0]="mord")},{node:dummyPrev},dummyNext,isRoot),_traverseNonSpaceNodes(groups,(node2,prev)=>{var _tightSpacings$prevTy,_spacings$prevType,prevType=getTypeOfDomTree(prev),type=getTypeOfDomTree(node2),space=prevType&&type?node2.hasClass("mtight")?(_tightSpacings$prevTy=tightSpacings[prevType])==null?void 0:_tightSpacings$prevTy[type]:(_spacings$prevType=spacings[prevType])==null?void 0:_spacings$prevType[type]:null;if(space)return makeGlue(space,glueOptions)},{node:dummyPrev},dummyNext,isRoot),groups},_traverseNonSpaceNodes=function(nodes,callback,prev,next,isRoot){next&&nodes.push(next);for(var i=0;i<nodes.length;i++){var node=nodes[i],partialGroup=checkPartialGroup(node);if(partialGroup){_traverseNonSpaceNodes(partialGroup.children,callback,prev,null,isRoot);continue}var nonspace=!node.hasClass("mspace");if(nonspace){var result=callback(node,prev.node);result&&(prev.insertAfter?prev.insertAfter(result):(nodes.unshift(result),i++))}nonspace?prev.node=node:isRoot&&node.hasClass("newline")&&(prev.node=makeSpan(["leftmost"])),prev.insertAfter=(index=>n=>{nodes.splice(index+1,0,n),i++})(i)}next&&nodes.pop()},checkPartialGroup=function(node){return node instanceof DocumentFragment||node instanceof Anchor||node instanceof Span&&node.hasClass("enclosing")?node:null},_getOutermostNode=function(node,side){var partialGroup=checkPartialGroup(node);if(partialGroup){var children=partialGroup.children;if(children.length){if(side==="right")return _getOutermostNode(children[children.length-1],"right");if(side==="left")return _getOutermostNode(children[0],"left")}}return node},getTypeOfDomTree=function(node,side){if(!node)return null;side&&(node=_getOutermostNode(node,side));var className=node.classes[0];return DomEnum[className]||null},makeNullDelimiter=function(options,classes){var moreClasses=["nulldelimiter"].concat(options.baseSizingClasses());return makeSpan(classes.concat(moreClasses))},buildGroup$1=function(group,options,baseOptions){if(!group)return makeSpan();if(_htmlGroupBuilders[group.type]){var groupNode=_htmlGroupBuilders[group.type](group,options);if(baseOptions&&options.size!==baseOptions.size){groupNode=makeSpan(options.sizingClasses(baseOptions),[groupNode],options);var multiplier=options.sizeMultiplier/baseOptions.sizeMultiplier;groupNode.height*=multiplier,groupNode.depth*=multiplier}return groupNode}else throw new ParseError("Got group of unknown type: '"+group.type+"'")};function buildHTMLUnbreakable(children,options){var body=makeSpan(["base"],children,options),strut=makeSpan(["strut"]);return strut.style.height=makeEm(body.height+body.depth),body.depth&&(strut.style.verticalAlign=makeEm(-body.depth)),body.children.unshift(strut),body}function buildHTML(tree,options){var tag=null;tree.length===1&&tree[0].type==="tag"&&(tag=tree[0].tag,tree=tree[0].body);var expression=buildExpression$1(tree,options,"root"),eqnNum;expression.length===2&&expression[1].hasClass("tag")&&(eqnNum=expression.pop());for(var children=[],parts=[],i=0;i<expression.length;i++)if(parts.push(expression[i]),expression[i].hasClass("mbin")||expression[i].hasClass("mrel")||expression[i].hasClass("allowbreak")){for(var nobreak=!1;i<expression.length-1&&expression[i+1].hasClass("mspace")&&!expression[i+1].hasClass("newline");)i++,parts.push(expression[i]),expression[i].hasClass("nobreak")&&(nobreak=!0);nobreak||(children.push(buildHTMLUnbreakable(parts,options)),parts=[])}else expression[i].hasClass("newline")&&(parts.pop(),parts.length>0&&(children.push(buildHTMLUnbreakable(parts,options)),parts=[]),children.push(expression[i]));parts.length>0&&children.push(buildHTMLUnbreakable(parts,options));var tagChild;tag?(tagChild=buildHTMLUnbreakable(buildExpression$1(tag,options,!0),options),tagChild.classes=["tag"],children.push(tagChild)):eqnNum&&children.push(eqnNum);var htmlNode=makeSpan(["katex-html"],children);if(htmlNode.setAttribute("aria-hidden","true"),tagChild){var strut=tagChild.children[0];strut.style.height=makeEm(htmlNode.height+htmlNode.depth),htmlNode.depth&&(strut.style.verticalAlign=makeEm(-htmlNode.depth))}return htmlNode}function newDocumentFragment(children){return new DocumentFragment(children)}class MathNode{constructor(type,children,classes){this.type=type,this.attributes={},this.children=children||[],this.classes=classes||[]}setAttribute(name,value){this.attributes[name]=value}getAttribute(name){return this.attributes[name]}toNode(){var node=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var attr in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,attr)&&node.setAttribute(attr,this.attributes[attr]);this.classes.length>0&&(node.className=createClass(this.classes));for(var i=0;i<this.children.length;i++)if(this.children[i]instanceof TextNode&&this.children[i+1]instanceof TextNode){for(var text2=this.children[i].toText()+this.children[++i].toText();this.children[i+1]instanceof TextNode;)text2+=this.children[++i].toText();node.appendChild(new TextNode(text2).toNode())}else node.appendChild(this.children[i].toNode());return node}toMarkup(){var markup="<"+this.type;for(var attr in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,attr)&&(markup+=" "+attr+'="',markup+=escape(this.attributes[attr]),markup+='"');this.classes.length>0&&(markup+=' class ="'+escape(createClass(this.classes))+'"'),markup+=">";for(var i=0;i<this.children.length;i++)markup+=this.children[i].toMarkup();return markup+="</"+this.type+">",markup}toText(){return this.children.map(child=>child.toText()).join("")}}class TextNode{constructor(text2){this.text=text2}toNode(){return document.createTextNode(this.text)}toMarkup(){return escape(this.toText())}toText(){return this.text}}class SpaceNode{constructor(width){this.width=width,width>=.05555&&width<=.05556?this.character=" ":width>=.1666&&width<=.1667?this.character=" ":width>=.2222&&width<=.2223?this.character=" ":width>=.2777&&width<=.2778?this.character="  ":width>=-.05556&&width<=-.05555?this.character=" ⁣":width>=-.1667&&width<=-.1666?this.character=" ⁣":width>=-.2223&&width<=-.2222?this.character=" ⁣":width>=-.2778&&width<=-.2777?this.character=" ⁣":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var node=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return node.setAttribute("width",makeEm(this.width)),node}toMarkup(){return this.character?"<mtext>"+this.character+"</mtext>":'<mspace width="'+makeEm(this.width)+'"/>'}toText(){return this.character?this.character:" "}}var noVariantSymbols=new Set(["\\imath","\\jmath"]),rowLikeTypes=new Set(["mrow","mtable"]),makeText=function(text2,mode,options){return symbols[mode][text2]&&symbols[mode][text2].replace&&text2.charCodeAt(0)!==55349&&!(ligatures.hasOwnProperty(text2)&&options&&(options.fontFamily&&options.fontFamily.slice(4,6)==="tt"||options.font&&options.font.slice(4,6)==="tt"))&&(text2=symbols[mode][text2].replace),new TextNode(text2)},makeRow=function(body){return body.length===1?body[0]:new MathNode("mrow",body)},getVariant=function(group,options){if(options.fontFamily==="texttt")return"monospace";if(options.fontFamily==="textsf")return options.fontShape==="textit"&&options.fontWeight==="textbf"?"sans-serif-bold-italic":options.fontShape==="textit"?"sans-serif-italic":options.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(options.fontShape==="textit"&&options.fontWeight==="textbf")return"bold-italic";if(options.fontShape==="textit")return"italic";if(options.fontWeight==="textbf")return"bold";var font=options.font;if(!font||font==="mathnormal")return null;var mode=group.mode;if(font==="mathit")return"italic";if(font==="boldsymbol")return group.type==="textord"?"bold":"bold-italic";if(font==="mathbf")return"bold";if(font==="mathbb")return"double-struck";if(font==="mathsfit")return"sans-serif-italic";if(font==="mathfrak")return"fraktur";if(font==="mathscr"||font==="mathcal")return"script";if(font==="mathsf")return"sans-serif";if(font==="mathtt")return"monospace";var text2=group.text;if(noVariantSymbols.has(text2))return null;if(symbols[mode][text2]){var replacement=symbols[mode][text2].replace;replacement&&(text2=replacement)}var fontName=fontMap[font].fontName;return getCharacterMetrics(text2,fontName,mode)?fontMap[font].variant:null};function isNumberPunctuation(group){if(!group)return!1;if(group.type==="mi"&&group.children.length===1){var child=group.children[0];return child instanceof TextNode&&child.text==="."}else if(group.type==="mo"&&group.children.length===1&&group.getAttribute("separator")==="true"&&group.getAttribute("lspace")==="0em"&&group.getAttribute("rspace")==="0em"){var _child=group.children[0];return _child instanceof TextNode&&_child.text===","}else return!1}var buildExpression2=function(expression,options,isOrdgroup){if(expression.length===1){var group=buildGroup2(expression[0],options);return isOrdgroup&&group instanceof MathNode&&group.type==="mo"&&(group.setAttribute("lspace","0em"),group.setAttribute("rspace","0em")),[group]}for(var groups=[],lastGroup,i=0;i<expression.length;i++){var _group=buildGroup2(expression[i],options);if(_group instanceof MathNode&&lastGroup instanceof MathNode){if(_group.type==="mtext"&&lastGroup.type==="mtext"&&_group.getAttribute("mathvariant")===lastGroup.getAttribute("mathvariant")){lastGroup.children.push(..._group.children);continue}else if(_group.type==="mn"&&lastGroup.type==="mn"){lastGroup.children.push(..._group.children);continue}else if(isNumberPunctuation(_group)&&lastGroup.type==="mn"){lastGroup.children.push(..._group.children);continue}else if(_group.type==="mn"&&isNumberPunctuation(lastGroup))_group.children=[...lastGroup.children,..._group.children],groups.pop();else if((_group.type==="msup"||_group.type==="msub")&&_group.children.length>=1&&(lastGroup.type==="mn"||isNumberPunctuation(lastGroup))){var base=_group.children[0];base instanceof MathNode&&base.type==="mn"&&(base.children=[...lastGroup.children,...base.children],groups.pop())}else if(lastGroup.type==="mi"&&lastGroup.children.length===1){var lastChild=lastGroup.children[0];if(lastChild instanceof TextNode&&lastChild.text==="̸"&&(_group.type==="mo"||_group.type==="mi"||_group.type==="mn")){var child=_group.children[0];child instanceof TextNode&&child.text.length>0&&(child.text=child.text.slice(0,1)+"̸"+child.text.slice(1),groups.pop())}}}groups.push(_group),lastGroup=_group}return groups},buildExpressionRow=function(expression,options,isOrdgroup){return makeRow(buildExpression2(expression,options,isOrdgroup))},buildGroup2=function(group,options){if(!group)return new MathNode("mrow");if(_mathmlGroupBuilders[group.type]){var result=_mathmlGroupBuilders[group.type](group,options);return result}else throw new ParseError("Got group of unknown type: '"+group.type+"'")};function buildMathML(tree,texExpression,options,isDisplayMode,forMathmlOnly){var expression=buildExpression2(tree,options),wrapper;expression.length===1&&expression[0]instanceof MathNode&&rowLikeTypes.has(expression[0].type)?wrapper=expression[0]:wrapper=new MathNode("mrow",expression);var annotation=new MathNode("annotation",[new TextNode(texExpression)]);annotation.setAttribute("encoding","application/x-tex");var semantics=new MathNode("semantics",[wrapper,annotation]),math2=new MathNode("math",[semantics]);math2.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),isDisplayMode&&math2.setAttribute("display","block");var wrapperClass=forMathmlOnly?"katex":"katex-mathml";return makeSpan([wrapperClass],[math2])}var sizeStyleMap=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],sizeMultipliers=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],sizeAtStyle=function(size,style){return style.size<2?size:sizeStyleMap[size-1][style.size-1]};class Options{constructor(data){this.style=data.style,this.color=data.color,this.size=data.size||Options.BASESIZE,this.textSize=data.textSize||this.size,this.phantom=!!data.phantom,this.font=data.font||"",this.fontFamily=data.fontFamily||"",this.fontWeight=data.fontWeight||"",this.fontShape=data.fontShape||"",this.sizeMultiplier=sizeMultipliers[this.size-1],this.maxSize=data.maxSize,this.minRuleThickness=data.minRuleThickness,this._fontMetrics=void 0}extend(extension){var data={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};return Object.assign(data,extension),new Options(data)}havingStyle(style){return this.style===style?this:this.extend({style,size:sizeAtStyle(this.textSize,style)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(size){return this.size===size&&this.textSize===size?this:this.extend({style:this.style.text(),size,textSize:size,sizeMultiplier:sizeMultipliers[size-1]})}havingBaseStyle(style){style=style||this.style.text();var wantSize=sizeAtStyle(Options.BASESIZE,style);return this.size===wantSize&&this.textSize===Options.BASESIZE&&this.style===style?this:this.extend({style,size:wantSize})}havingBaseSizing(){var size;switch(this.style.id){case 4:case 5:size=3;break;case 6:case 7:size=1;break;default:size=6}return this.extend({style:this.style.text(),size})}withColor(color){return this.extend({color})}withPhantom(){return this.extend({phantom:!0})}withFont(font){return this.extend({font})}withTextFontFamily(fontFamily){return this.extend({fontFamily,font:""})}withTextFontWeight(fontWeight){return this.extend({fontWeight,font:""})}withTextFontShape(fontShape){return this.extend({fontShape,font:""})}sizingClasses(oldOptions){return oldOptions.size!==this.size?["sizing","reset-size"+oldOptions.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==Options.BASESIZE?["sizing","reset-size"+this.size,"size"+Options.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=getGlobalMetrics(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}Options.BASESIZE=6;var optionsFromSettings=function(settings){return new Options({style:settings.displayMode?Style$1.DISPLAY:Style$1.TEXT,maxSize:settings.maxSize,minRuleThickness:settings.minRuleThickness})},displayWrap=function(node,settings){if(settings.displayMode){var classes=["katex-display"];settings.leqno&&classes.push("leqno"),settings.fleqn&&classes.push("fleqn"),node=makeSpan(classes,[node])}return node},buildTree=function(tree,expression,settings){var options=optionsFromSettings(settings),katexNode;if(settings.output==="mathml")return buildMathML(tree,expression,options,settings.displayMode,!0);if(settings.output==="html"){var htmlNode=buildHTML(tree,options);katexNode=makeSpan(["katex"],[htmlNode])}else{var mathMLNode=buildMathML(tree,expression,options,settings.displayMode,!1),_htmlNode=buildHTML(tree,options);katexNode=makeSpan(["katex"],[mathMLNode,_htmlNode])}return displayWrap(katexNode,settings)},buildHTMLTree=function(tree,expression,settings){var options=optionsFromSettings(settings),htmlNode=buildHTML(tree,options),katexNode=makeSpan(["katex"],[htmlNode]);return displayWrap(katexNode,settings)},stretchyCodePoint={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",underbracket:"⎵",overbracket:"⎴",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},stretchyMathML=function(label){var node=new MathNode("mo",[new TextNode(stretchyCodePoint[label.replace(/^\\/,"")])]);return node.setAttribute("stretchy","true"),node},katexImagesData={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overbracket:[["leftbracketover","rightbracketover"],1.6,440],underbracket:[["leftbracketunder","rightbracketunder"],1.6,410],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},wideAccentLabels=new Set(["widehat","widecheck","widetilde","utilde"]),stretchySvg=function(group,options){function buildSvgSpan_(){var viewBoxWidth=4e5,label=group.label.slice(1);if(wideAccentLabels.has(label)){var grp=group,numChars=grp.base.type==="ordgroup"?grp.base.body.length:1,viewBoxHeight,pathName,_height;if(numChars>5)label==="widehat"||label==="widecheck"?(viewBoxHeight=420,viewBoxWidth=2364,_height=.42,pathName=label+"4"):(viewBoxHeight=312,viewBoxWidth=2340,_height=.34,pathName="tilde4");else{var imgIndex=[1,1,2,2,3,3][numChars];label==="widehat"||label==="widecheck"?(viewBoxWidth=[0,1062,2364,2364,2364][imgIndex],viewBoxHeight=[0,239,300,360,420][imgIndex],_height=[0,.24,.3,.3,.36,.42][imgIndex],pathName=label+imgIndex):(viewBoxWidth=[0,600,1033,2339,2340][imgIndex],viewBoxHeight=[0,260,286,306,312][imgIndex],_height=[0,.26,.286,.3,.306,.34][imgIndex],pathName="tilde"+imgIndex)}var path2=new PathNode(pathName),svgNode=new SvgNode([path2],{width:"100%",height:makeEm(_height),viewBox:"0 0 "+viewBoxWidth+" "+viewBoxHeight,preserveAspectRatio:"none"});return{span:makeSvgSpan([],[svgNode],options),minWidth:0,height:_height}}else{var spans=[],data=katexImagesData[label],[paths,_minWidth,_viewBoxHeight]=data,_height2=_viewBoxHeight/1e3,numSvgChildren=paths.length,widthClasses,aligns;if(numSvgChildren===1){var align1=data[3];widthClasses=["hide-tail"],aligns=[align1]}else if(numSvgChildren===2)widthClasses=["halfarrow-left","halfarrow-right"],aligns=["xMinYMin","xMaxYMin"];else if(numSvgChildren===3)widthClasses=["brace-left","brace-center","brace-right"],aligns=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support
252
+ `+numSvgChildren+" children.");for(var i=0;i<numSvgChildren;i++){var _path=new PathNode(paths[i]),_svgNode=new SvgNode([_path],{width:"400em",height:makeEm(_height2),viewBox:"0 0 "+viewBoxWidth+" "+_viewBoxHeight,preserveAspectRatio:aligns[i]+" slice"}),_span=makeSvgSpan([widthClasses[i]],[_svgNode],options);if(numSvgChildren===1)return{span:_span,minWidth:_minWidth,height:_height2};_span.style.height=makeEm(_height2),spans.push(_span)}return{span:makeSpan(["stretchy"],spans,options),minWidth:_minWidth,height:_height2}}}var{span,minWidth,height}=buildSvgSpan_();return span.height=height,span.style.height=makeEm(height),minWidth>0&&(span.style.minWidth=makeEm(minWidth)),span},stretchyEnclose=function(inner2,label,topPad,bottomPad,options){var img,totalHeight=inner2.height+inner2.depth+topPad+bottomPad;if(/fbox|color|angl/.test(label)){if(img=makeSpan(["stretchy",label],[],options),label==="fbox"){var color=options.color&&options.getColor();color&&(img.style.borderColor=color)}}else{var lines=[];/^[bx]cancel$/.test(label)&&lines.push(new LineNode({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(label)&&lines.push(new LineNode({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var svgNode=new SvgNode(lines,{width:"100%",height:makeEm(totalHeight)});img=makeSvgSpan([],[svgNode],options)}return img.height=totalHeight,img.style.height=makeEm(totalHeight),img};function assertNodeType(node,type){if(!node||node.type!==type)throw new Error("Expected node of type "+type+", but got "+(node?"node of type "+node.type:String(node)));return node}function assertSymbolNodeType(node){var typedNode=checkSymbolNodeType(node);if(!typedNode)throw new Error("Expected node of symbol group type, but got "+(node?"node of type "+node.type:String(node)));return typedNode}function checkSymbolNodeType(node){return node&&(node.type==="atom"||NON_ATOMS.hasOwnProperty(node.type))?node:null}var getBaseSymbol=group=>{if(group instanceof SymbolNode)return group;if(hasHtmlDomChildren(group)&&group.children.length===1)return getBaseSymbol(group.children[0])},htmlBuilder$a=(grp,options)=>{var base,group,supSubGroup;grp&&grp.type==="supsub"?(group=assertNodeType(grp.base,"accent"),base=group.base,grp.base=base,supSubGroup=assertSpan(buildGroup$1(grp,options)),grp.base=group):(group=assertNodeType(grp,"accent"),base=group.base);var body=buildGroup$1(base,options.havingCrampedStyle()),mustShift=group.isShifty&&isCharacterBox(base),skew=0;if(mustShift){var _getBaseSymbol$skew,_getBaseSymbol;skew=(_getBaseSymbol$skew=(_getBaseSymbol=getBaseSymbol(body))==null?void 0:_getBaseSymbol.skew)!=null?_getBaseSymbol$skew:0}var accentBelow=group.label==="\\c",clearance=accentBelow?body.height+body.depth:Math.min(body.height,options.fontMetrics().xHeight),accentBody;if(group.isStretchy)accentBody=stretchySvg(group,options),accentBody=makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:body},{type:"elem",elem:accentBody,wrapperClasses:["svg-align"],wrapperStyle:skew>0?{width:"calc(100% - "+makeEm(2*skew)+")",marginLeft:makeEm(2*skew)}:void 0}]});else{var accent2,width;group.label==="\\vec"?(accent2=staticSvg("vec",options),width=svgData.vec[1]):(accent2=makeOrd({mode:group.mode,text:group.label},options,"textord"),accent2=assertSymbolDomNode(accent2),accent2.italic=0,width=accent2.width,accentBelow&&(clearance+=accent2.depth)),accentBody=makeSpan(["accent-body"],[accent2]);var accentFull=group.label==="\\textcircled";accentFull&&(accentBody.classes.push("accent-full"),clearance=body.height);var left=skew;accentFull||(left-=width/2),accentBody.style.left=makeEm(left),group.label==="\\textcircled"&&(accentBody.style.top=".2em"),accentBody=makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:body},{type:"kern",size:-clearance},{type:"elem",elem:accentBody}]})}var accentWrap=makeSpan(["mord","accent"],[accentBody],options);return supSubGroup?(supSubGroup.children[0]=accentWrap,supSubGroup.height=Math.max(accentWrap.height,supSubGroup.height),supSubGroup.classes[0]="mord",supSubGroup):accentWrap},mathmlBuilder$9=(group,options)=>{var accentNode=group.isStretchy?stretchyMathML(group.label):new MathNode("mo",[makeText(group.label,group.mode)]),node=new MathNode("mover",[buildGroup2(group.base,options),accentNode]);return node.setAttribute("accent","true"),node},NON_STRETCHY_ACCENT_REGEX=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(accent2=>"\\"+accent2).join("|"));defineFunction({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(context,args)=>{var base=normalizeArgument(args[0]),isStretchy=!NON_STRETCHY_ACCENT_REGEX.test(context.funcName),isShifty=!isStretchy||context.funcName==="\\widehat"||context.funcName==="\\widetilde"||context.funcName==="\\widecheck";return{type:"accent",mode:context.parser.mode,label:context.funcName,isStretchy,isShifty,base}},htmlBuilder:htmlBuilder$a,mathmlBuilder:mathmlBuilder$9});defineFunction({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(context,args)=>{var base=args[0],mode=context.parser.mode;return mode==="math"&&(context.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+context.funcName+" works only in text mode"),mode="text"),{type:"accent",mode,label:context.funcName,isStretchy:!1,isShifty:!0,base}},htmlBuilder:htmlBuilder$a,mathmlBuilder:mathmlBuilder$9});defineFunction({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(_ref,args)=>{var{parser,funcName}=_ref,base=args[0];return{type:"accentUnder",mode:parser.mode,label:funcName,base}},htmlBuilder:(group,options)=>{var innerGroup=buildGroup$1(group.base,options),accentBody=stretchySvg(group,options),kern=group.label==="\\utilde"?.12:0,vlist=makeVList({positionType:"top",positionData:innerGroup.height,children:[{type:"elem",elem:accentBody,wrapperClasses:["svg-align"]},{type:"kern",size:kern},{type:"elem",elem:innerGroup}]});return makeSpan(["mord","accentunder"],[vlist],options)},mathmlBuilder:(group,options)=>{var accentNode=stretchyMathML(group.label),node=new MathNode("munder",[buildGroup2(group.base,options),accentNode]);return node.setAttribute("accentunder","true"),node}});var paddedNode=group=>{var node=new MathNode("mpadded",group?[group]:[]);return node.setAttribute("width","+0.6em"),node.setAttribute("lspace","0.3em"),node};defineFunction({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(_ref,args,optArgs){var{parser,funcName}=_ref;return{type:"xArrow",mode:parser.mode,label:funcName,body:args[0],below:optArgs[0]}},htmlBuilder(group,options){var style=options.style,newOptions=options.havingStyle(style.sup()),upperGroup=wrapFragment(buildGroup$1(group.body,newOptions,options),options),arrowPrefix=group.label.slice(0,2)==="\\x"?"x":"cd";upperGroup.classes.push(arrowPrefix+"-arrow-pad");var lowerGroup;group.below&&(newOptions=options.havingStyle(style.sub()),lowerGroup=wrapFragment(buildGroup$1(group.below,newOptions,options),options),lowerGroup.classes.push(arrowPrefix+"-arrow-pad"));var arrowBody=stretchySvg(group,options),arrowShift=-options.fontMetrics().axisHeight+.5*arrowBody.height,upperShift=-options.fontMetrics().axisHeight-.5*arrowBody.height-.111;(upperGroup.depth>.25||group.label==="\\xleftequilibrium")&&(upperShift-=upperGroup.depth);var vlist;if(lowerGroup){var lowerShift=-options.fontMetrics().axisHeight+lowerGroup.height+.5*arrowBody.height+.111;vlist=makeVList({positionType:"individualShift",children:[{type:"elem",elem:upperGroup,shift:upperShift},{type:"elem",elem:arrowBody,shift:arrowShift},{type:"elem",elem:lowerGroup,shift:lowerShift}]})}else vlist=makeVList({positionType:"individualShift",children:[{type:"elem",elem:upperGroup,shift:upperShift},{type:"elem",elem:arrowBody,shift:arrowShift}]});return vlist.children[0].children[0].children[1].classes.push("svg-align"),makeSpan(["mrel","x-arrow"],[vlist],options)},mathmlBuilder(group,options){var arrowNode=stretchyMathML(group.label);arrowNode.setAttribute("minsize",group.label.charAt(0)==="x"?"1.75em":"3.0em");var node;if(group.body){var upperNode=paddedNode(buildGroup2(group.body,options));if(group.below){var lowerNode=paddedNode(buildGroup2(group.below,options));node=new MathNode("munderover",[arrowNode,lowerNode,upperNode])}else node=new MathNode("mover",[arrowNode,upperNode])}else if(group.below){var _lowerNode=paddedNode(buildGroup2(group.below,options));node=new MathNode("munder",[arrowNode,_lowerNode])}else node=paddedNode(),node=new MathNode("mover",[arrowNode,node]);return node}});function htmlBuilder$9(group,options){var elements=buildExpression$1(group.body,options,!0);return makeSpan([group.mclass],elements,options)}function mathmlBuilder$8(group,options){var node,inner2=buildExpression2(group.body,options);return group.mclass==="minner"?node=new MathNode("mpadded",inner2):group.mclass==="mord"?group.isCharacterBox?(node=inner2[0],node.type="mi"):node=new MathNode("mi",inner2):(group.isCharacterBox?(node=inner2[0],node.type="mo"):node=new MathNode("mo",inner2),group.mclass==="mbin"?(node.attributes.lspace="0.22em",node.attributes.rspace="0.22em"):group.mclass==="mpunct"?(node.attributes.lspace="0em",node.attributes.rspace="0.17em"):group.mclass==="mopen"||group.mclass==="mclose"?(node.attributes.lspace="0em",node.attributes.rspace="0em"):group.mclass==="minner"&&(node.attributes.lspace="0.0556em",node.attributes.width="+0.1111em")),node}defineFunction({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(_ref,args){var{parser,funcName}=_ref,body=args[0];return{type:"mclass",mode:parser.mode,mclass:"m"+funcName.slice(5),body:ordargument(body),isCharacterBox:isCharacterBox(body)}},htmlBuilder:htmlBuilder$9,mathmlBuilder:mathmlBuilder$8});var binrelClass=arg=>{var atom=arg.type==="ordgroup"&&arg.body.length?arg.body[0]:arg;return atom.type==="atom"&&(atom.family==="bin"||atom.family==="rel")?"m"+atom.family:"mord"};defineFunction({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(_ref2,args){var{parser}=_ref2;return{type:"mclass",mode:parser.mode,mclass:binrelClass(args[0]),body:ordargument(args[1]),isCharacterBox:isCharacterBox(args[1])}}});defineFunction({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(_ref3,args){var{parser,funcName}=_ref3,baseArg=args[1],shiftedArg=args[0],mclass;funcName!=="\\stackrel"?mclass=binrelClass(baseArg):mclass="mrel";var baseOp={type:"op",mode:baseArg.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:funcName!=="\\stackrel",body:ordargument(baseArg)},supsub={type:"supsub",mode:shiftedArg.mode,base:baseOp,sup:funcName==="\\underset"?null:shiftedArg,sub:funcName==="\\underset"?shiftedArg:null};return{type:"mclass",mode:parser.mode,mclass,body:[supsub],isCharacterBox:isCharacterBox(supsub)}},htmlBuilder:htmlBuilder$9,mathmlBuilder:mathmlBuilder$8});defineFunction({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(_ref,args){var{parser}=_ref;return{type:"pmb",mode:parser.mode,mclass:binrelClass(args[0]),body:ordargument(args[0])}},htmlBuilder(group,options){var elements=buildExpression$1(group.body,options,!0),node=makeSpan([group.mclass],elements,options);return node.style.textShadow="0.02em 0.01em 0.04px",node},mathmlBuilder(group,style){var inner2=buildExpression2(group.body,style),node=new MathNode("mstyle",inner2);return node.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),node}});var cdArrowFunctionName={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},newCell=()=>({type:"styling",body:[],mode:"math",style:"display"}),isStartOfArrow=node=>node.type==="textord"&&node.text==="@",isLabelEnd=(node,endChar)=>(node.type==="mathord"||node.type==="atom")&&node.text===endChar;function cdArrow(arrowChar,labels,parser){var funcName=cdArrowFunctionName[arrowChar];switch(funcName){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return parser.callFunction(funcName,[labels[0]],[labels[1]]);case"\\uparrow":case"\\downarrow":{var leftLabel=parser.callFunction("\\\\cdleft",[labels[0]],[]),bareArrow={type:"atom",text:funcName,mode:"math",family:"rel"},sizedArrow=parser.callFunction("\\Big",[bareArrow],[]),rightLabel=parser.callFunction("\\\\cdright",[labels[1]],[]),arrowGroup={type:"ordgroup",mode:"math",body:[leftLabel,sizedArrow,rightLabel]};return parser.callFunction("\\\\cdparent",[arrowGroup],[])}case"\\\\cdlongequal":return parser.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var arrow={type:"textord",text:"\\Vert",mode:"math"};return parser.callFunction("\\Big",[arrow],[])}default:return{type:"textord",text:" ",mode:"math"}}}function parseCD(parser){var parsedRows=[];for(parser.gullet.beginGroup(),parser.gullet.macros.set("\\cr","\\\\\\relax"),parser.gullet.beginGroup();;){parsedRows.push(parser.parseExpression(!1,"\\\\")),parser.gullet.endGroup(),parser.gullet.beginGroup();var next=parser.fetch().text;if(next==="&"||next==="\\\\")parser.consume();else if(next==="\\end"){parsedRows[parsedRows.length-1].length===0&&parsedRows.pop();break}else throw new ParseError("Expected \\\\ or \\cr or \\end",parser.nextToken)}for(var row=[],body=[row],i=0;i<parsedRows.length;i++){for(var rowNodes=parsedRows[i],cell=newCell(),j=0;j<rowNodes.length;j++)if(!isStartOfArrow(rowNodes[j]))cell.body.push(rowNodes[j]);else{row.push(cell),j+=1;var arrowChar=assertSymbolNodeType(rowNodes[j]).text,labels=new Array(2);if(labels[0]={type:"ordgroup",mode:"math",body:[]},labels[1]={type:"ordgroup",mode:"math",body:[]},!"=|.".includes(arrowChar))if("<>AV".includes(arrowChar))for(var labelNum=0;labelNum<2;labelNum++){for(var inLabel=!0,k=j+1;k<rowNodes.length;k++){if(isLabelEnd(rowNodes[k],arrowChar)){inLabel=!1,j=k;break}if(isStartOfArrow(rowNodes[k]))throw new ParseError("Missing a "+arrowChar+" character to complete a CD arrow.",rowNodes[k]);labels[labelNum].body.push(rowNodes[k])}if(inLabel)throw new ParseError("Missing a "+arrowChar+" character to complete a CD arrow.",rowNodes[j])}else throw new ParseError('Expected one of "<>AV=|." after @',rowNodes[j]);var arrow=cdArrow(arrowChar,labels,parser),wrappedArrow={type:"styling",body:[arrow],mode:"math",style:"display"};row.push(wrappedArrow),cell=newCell()}i%2===0?row.push(cell):row.shift(),row=[],body.push(row)}parser.gullet.endGroup(),parser.gullet.endGroup();var cols=new Array(body[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body,arraystretch:1,addJot:!0,rowGaps:[null],cols,colSeparationType:"CD",hLinesBeforeRow:new Array(body.length+1).fill([])}}defineFunction({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(_ref,args){var{parser,funcName}=_ref;return{type:"cdlabel",mode:parser.mode,side:funcName.slice(4),label:args[0]}},htmlBuilder(group,options){var newOptions=options.havingStyle(options.style.sup()),label=wrapFragment(buildGroup$1(group.label,newOptions,options),options);return label.classes.push("cd-label-"+group.side),label.style.bottom=makeEm(.8-label.depth),label.height=0,label.depth=0,label},mathmlBuilder(group,options){var label=new MathNode("mrow",[buildGroup2(group.label,options)]);return label=new MathNode("mpadded",[label]),label.setAttribute("width","0"),group.side==="left"&&label.setAttribute("lspace","-1width"),label.setAttribute("voffset","0.7em"),label=new MathNode("mstyle",[label]),label.setAttribute("displaystyle","false"),label.setAttribute("scriptlevel","1"),label}});defineFunction({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(_ref2,args){var{parser}=_ref2;return{type:"cdlabelparent",mode:parser.mode,fragment:args[0]}},htmlBuilder(group,options){var parent=wrapFragment(buildGroup$1(group.fragment,options),options);return parent.classes.push("cd-vert-arrow"),parent},mathmlBuilder(group,options){return new MathNode("mrow",[buildGroup2(group.fragment,options)])}});defineFunction({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(_ref,args){for(var{parser}=_ref,arg=assertNodeType(args[0],"ordgroup"),group=arg.body,number="",i=0;i<group.length;i++){var node=assertNodeType(group[i],"textord");number+=node.text}var code=parseInt(number),text2;if(isNaN(code))throw new ParseError("\\@char has non-numeric argument "+number);if(code<0||code>=1114111)throw new ParseError("\\@char with invalid code point "+number);return code<=65535?text2=String.fromCharCode(code):(code-=65536,text2=String.fromCharCode((code>>10)+55296,(code&1023)+56320)),{type:"textord",mode:parser.mode,text:text2}}});var htmlBuilder$8=(group,options)=>{var elements=buildExpression$1(group.body,options.withColor(group.color),!1);return makeFragment(elements)},mathmlBuilder$7=(group,options)=>{var inner2=buildExpression2(group.body,options.withColor(group.color)),node=new MathNode("mstyle",inner2);return node.setAttribute("mathcolor",group.color),node};defineFunction({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(_ref,args){var{parser}=_ref,color=assertNodeType(args[0],"color-token").color,body=args[1];return{type:"color",mode:parser.mode,color,body:ordargument(body)}},htmlBuilder:htmlBuilder$8,mathmlBuilder:mathmlBuilder$7});defineFunction({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(_ref2,args){var{parser,breakOnTokenText}=_ref2,color=assertNodeType(args[0],"color-token").color;parser.gullet.macros.set("\\current@color",color);var body=parser.parseExpression(!0,breakOnTokenText);return{type:"color",mode:parser.mode,color,body}},htmlBuilder:htmlBuilder$8,mathmlBuilder:mathmlBuilder$7});defineFunction({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(_ref,args,optArgs){var{parser}=_ref,size=parser.gullet.future().text==="["?parser.parseSizeGroup(!0):null,newLine=!parser.settings.displayMode||!parser.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:parser.mode,newLine,size:size&&assertNodeType(size,"size").value}},htmlBuilder(group,options){var span=makeSpan(["mspace"],[],options);return group.newLine&&(span.classes.push("newline"),group.size&&(span.style.marginTop=makeEm(calculateSize(group.size,options)))),span},mathmlBuilder(group,options){var node=new MathNode("mspace");return group.newLine&&(node.setAttribute("linebreak","newline"),group.size&&node.setAttribute("height",makeEm(calculateSize(group.size,options)))),node}});var globalMap={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},checkControlSequence=tok=>{var name=tok.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(name))throw new ParseError("Expected a control sequence",tok);return name},getRHS=parser=>{var tok=parser.gullet.popToken();return tok.text==="="&&(tok=parser.gullet.popToken(),tok.text===" "&&(tok=parser.gullet.popToken())),tok},letCommand=(parser,name,tok,global)=>{var macro=parser.gullet.macros.get(tok.text);macro==null&&(tok.noexpand=!0,macro={tokens:[tok],numArgs:0,unexpandable:!parser.gullet.isExpandable(tok.text)}),parser.gullet.macros.set(name,macro,global)};defineFunction({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(_ref){var{parser,funcName}=_ref;parser.consumeSpaces();var token=parser.fetch();if(globalMap[token.text])return(funcName==="\\global"||funcName==="\\\\globallong")&&(token.text=globalMap[token.text]),assertNodeType(parser.parseFunction(),"internal");throw new ParseError("Invalid token after macro prefix",token)}});defineFunction({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(_ref2){var{parser,funcName}=_ref2,tok=parser.gullet.popToken(),name=tok.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(name))throw new ParseError("Expected a control sequence",tok);for(var numArgs=0,insert,delimiters2=[[]];parser.gullet.future().text!=="{";)if(tok=parser.gullet.popToken(),tok.text==="#"){if(parser.gullet.future().text==="{"){insert=parser.gullet.future(),delimiters2[numArgs].push("{");break}if(tok=parser.gullet.popToken(),!/^[1-9]$/.test(tok.text))throw new ParseError('Invalid argument number "'+tok.text+'"');if(parseInt(tok.text)!==numArgs+1)throw new ParseError('Argument number "'+tok.text+'" out of order');numArgs++,delimiters2.push([])}else{if(tok.text==="EOF")throw new ParseError("Expected a macro definition");delimiters2[numArgs].push(tok.text)}var{tokens}=parser.gullet.consumeArg();return insert&&tokens.unshift(insert),(funcName==="\\edef"||funcName==="\\xdef")&&(tokens=parser.gullet.expandTokens(tokens),tokens.reverse()),parser.gullet.macros.set(name,{tokens,numArgs,delimiters:delimiters2},funcName===globalMap[funcName]),{type:"internal",mode:parser.mode}}});defineFunction({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(_ref3){var{parser,funcName}=_ref3,name=checkControlSequence(parser.gullet.popToken());parser.gullet.consumeSpaces();var tok=getRHS(parser);return letCommand(parser,name,tok,funcName==="\\\\globallet"),{type:"internal",mode:parser.mode}}});defineFunction({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(_ref4){var{parser,funcName}=_ref4,name=checkControlSequence(parser.gullet.popToken()),middle=parser.gullet.popToken(),tok=parser.gullet.popToken();return letCommand(parser,name,tok,funcName==="\\\\globalfuture"),parser.gullet.pushToken(tok),parser.gullet.pushToken(middle),{type:"internal",mode:parser.mode}}});var getMetrics=function(symbol,font,mode){var replace=symbols.math[symbol]&&symbols.math[symbol].replace,metrics=getCharacterMetrics(replace||symbol,font,mode);if(!metrics)throw new Error("Unsupported symbol "+symbol+" and font size "+font+".");return metrics},styleWrap=function(delim,toStyle,options,classes){var newOptions=options.havingBaseStyle(toStyle),span=makeSpan(classes.concat(newOptions.sizingClasses(options)),[delim],options),delimSizeMultiplier=newOptions.sizeMultiplier/options.sizeMultiplier;return span.height*=delimSizeMultiplier,span.depth*=delimSizeMultiplier,span.maxFontSize=newOptions.sizeMultiplier,span},centerSpan=function(span,options,style){var newOptions=options.havingBaseStyle(style),shift=(1-options.sizeMultiplier/newOptions.sizeMultiplier)*options.fontMetrics().axisHeight;span.classes.push("delimcenter"),span.style.top=makeEm(shift),span.height-=shift,span.depth+=shift},makeSmallDelim=function(delim,style,center,options,mode,classes){var text2=makeSymbol(delim,"Main-Regular",mode,options),span=styleWrap(text2,style,options,classes);return centerSpan(span,options,style),span},mathrmSize=function(value,size,mode,options){return makeSymbol(value,"Size"+size+"-Regular",mode,options)},makeLargeDelim=function(delim,size,center,options,mode,classes){var inner2=mathrmSize(delim,size,mode,options),span=styleWrap(makeSpan(["delimsizing","size"+size],[inner2],options),Style$1.TEXT,options,classes);return center&&centerSpan(span,options,Style$1.TEXT),span},makeGlyphSpan=function(symbol,font,mode){var sizeClass;font==="Size1-Regular"?sizeClass="delim-size1":sizeClass="delim-size4";var corner=makeSpan(["delimsizinginner",sizeClass],[makeSpan([],[makeSymbol(symbol,font,mode)])]);return{type:"elem",elem:corner}},makeInner=function(ch,height,options){var width=fontMetricsData["Size4-Regular"][ch.charCodeAt(0)]?fontMetricsData["Size4-Regular"][ch.charCodeAt(0)][4]:fontMetricsData["Size1-Regular"][ch.charCodeAt(0)][4],path2=new PathNode("inner",innerPath(ch,Math.round(1e3*height))),svgNode=new SvgNode([path2],{width:makeEm(width),height:makeEm(height),style:"width:"+makeEm(width),viewBox:"0 0 "+1e3*width+" "+Math.round(1e3*height),preserveAspectRatio:"xMinYMin"}),span=makeSvgSpan([],[svgNode],options);return span.height=height,span.style.height=makeEm(height),span.style.width=makeEm(width),{type:"elem",elem:span}},lapInEms=.008,lap={type:"kern",size:-1*lapInEms},verts=new Set(["|","\\lvert","\\rvert","\\vert"]),doubleVerts=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),makeStackedDelim=function(delim,heightTotal,center,options,mode,classes){var top,middle,repeat,bottom,svgLabel="",viewBoxWidth=0;top=repeat=bottom=delim,middle=null;var font="Size1-Regular";delim==="\\uparrow"?repeat=bottom="⏐":delim==="\\Uparrow"?repeat=bottom="‖":delim==="\\downarrow"?top=repeat="⏐":delim==="\\Downarrow"?top=repeat="‖":delim==="\\updownarrow"?(top="\\uparrow",repeat="⏐",bottom="\\downarrow"):delim==="\\Updownarrow"?(top="\\Uparrow",repeat="‖",bottom="\\Downarrow"):verts.has(delim)?(repeat="∣",svgLabel="vert",viewBoxWidth=333):doubleVerts.has(delim)?(repeat="∥",svgLabel="doublevert",viewBoxWidth=556):delim==="["||delim==="\\lbrack"?(top="⎡",repeat="⎢",bottom="⎣",font="Size4-Regular",svgLabel="lbrack",viewBoxWidth=667):delim==="]"||delim==="\\rbrack"?(top="⎤",repeat="⎥",bottom="⎦",font="Size4-Regular",svgLabel="rbrack",viewBoxWidth=667):delim==="\\lfloor"||delim==="⌊"?(repeat=top="⎢",bottom="⎣",font="Size4-Regular",svgLabel="lfloor",viewBoxWidth=667):delim==="\\lceil"||delim==="⌈"?(top="⎡",repeat=bottom="⎢",font="Size4-Regular",svgLabel="lceil",viewBoxWidth=667):delim==="\\rfloor"||delim==="⌋"?(repeat=top="⎥",bottom="⎦",font="Size4-Regular",svgLabel="rfloor",viewBoxWidth=667):delim==="\\rceil"||delim==="⌉"?(top="⎤",repeat=bottom="⎥",font="Size4-Regular",svgLabel="rceil",viewBoxWidth=667):delim==="("||delim==="\\lparen"?(top="⎛",repeat="⎜",bottom="⎝",font="Size4-Regular",svgLabel="lparen",viewBoxWidth=875):delim===")"||delim==="\\rparen"?(top="⎞",repeat="⎟",bottom="⎠",font="Size4-Regular",svgLabel="rparen",viewBoxWidth=875):delim==="\\{"||delim==="\\lbrace"?(top="⎧",middle="⎨",bottom="⎩",repeat="⎪",font="Size4-Regular"):delim==="\\}"||delim==="\\rbrace"?(top="⎫",middle="⎬",bottom="⎭",repeat="⎪",font="Size4-Regular"):delim==="\\lgroup"||delim==="⟮"?(top="⎧",bottom="⎩",repeat="⎪",font="Size4-Regular"):delim==="\\rgroup"||delim==="⟯"?(top="⎫",bottom="⎭",repeat="⎪",font="Size4-Regular"):delim==="\\lmoustache"||delim==="⎰"?(top="⎧",bottom="⎭",repeat="⎪",font="Size4-Regular"):(delim==="\\rmoustache"||delim==="⎱")&&(top="⎫",bottom="⎩",repeat="⎪",font="Size4-Regular");var topMetrics=getMetrics(top,font,mode),topHeightTotal=topMetrics.height+topMetrics.depth,repeatMetrics=getMetrics(repeat,font,mode),repeatHeightTotal=repeatMetrics.height+repeatMetrics.depth,bottomMetrics=getMetrics(bottom,font,mode),bottomHeightTotal=bottomMetrics.height+bottomMetrics.depth,middleHeightTotal=0,middleFactor=1;if(middle!==null){var middleMetrics=getMetrics(middle,font,mode);middleHeightTotal=middleMetrics.height+middleMetrics.depth,middleFactor=2}var minHeight=topHeightTotal+bottomHeightTotal+middleHeightTotal,repeatCount=Math.max(0,Math.ceil((heightTotal-minHeight)/(middleFactor*repeatHeightTotal))),realHeightTotal=minHeight+repeatCount*middleFactor*repeatHeightTotal,axisHeight=options.fontMetrics().axisHeight;center&&(axisHeight*=options.sizeMultiplier);var depth=realHeightTotal/2-axisHeight,stack=[];if(svgLabel.length>0){var midHeight=realHeightTotal-topHeightTotal-bottomHeightTotal,viewBoxHeight=Math.round(realHeightTotal*1e3),pathStr=tallDelim(svgLabel,Math.round(midHeight*1e3)),path2=new PathNode(svgLabel,pathStr),width=makeEm(viewBoxWidth/1e3),height=makeEm(viewBoxHeight/1e3),svg=new SvgNode([path2],{width,height,viewBox:"0 0 "+viewBoxWidth+" "+viewBoxHeight}),wrapper=makeSvgSpan([],[svg],options);wrapper.height=viewBoxHeight/1e3,wrapper.style.width=width,wrapper.style.height=height,stack.push({type:"elem",elem:wrapper})}else{if(stack.push(makeGlyphSpan(bottom,font,mode)),stack.push(lap),middle===null){var innerHeight=realHeightTotal-topHeightTotal-bottomHeightTotal+2*lapInEms;stack.push(makeInner(repeat,innerHeight,options))}else{var _innerHeight=(realHeightTotal-topHeightTotal-bottomHeightTotal-middleHeightTotal)/2+2*lapInEms;stack.push(makeInner(repeat,_innerHeight,options)),stack.push(lap),stack.push(makeGlyphSpan(middle,font,mode)),stack.push(lap),stack.push(makeInner(repeat,_innerHeight,options))}stack.push(lap),stack.push(makeGlyphSpan(top,font,mode))}var newOptions=options.havingBaseStyle(Style$1.TEXT),inner2=makeVList({positionType:"bottom",positionData:depth,children:stack});return styleWrap(makeSpan(["delimsizing","mult"],[inner2],newOptions),Style$1.TEXT,options,classes)},vbPad=80,emPad=.08,sqrtSvg=function(sqrtName,height,viewBoxHeight,extraVinculum,options){var path2=sqrtPath(sqrtName,extraVinculum,viewBoxHeight),pathNode=new PathNode(sqrtName,path2),svg=new SvgNode([pathNode],{width:"400em",height:makeEm(height),viewBox:"0 0 400000 "+viewBoxHeight,preserveAspectRatio:"xMinYMin slice"});return makeSvgSpan(["hide-tail"],[svg],options)},makeSqrtImage=function(height,options){var newOptions=options.havingBaseSizing(),delim=traverseSequence("\\surd",height*newOptions.sizeMultiplier,stackLargeDelimiterSequence,newOptions),sizeMultiplier=newOptions.sizeMultiplier,extraVinculum=Math.max(0,options.minRuleThickness-options.fontMetrics().sqrtRuleThickness),span,spanHeight=0,texHeight=0,viewBoxHeight=0,advanceWidth;return delim.type==="small"?(viewBoxHeight=1e3+1e3*extraVinculum+vbPad,height<1?sizeMultiplier=1:height<1.4&&(sizeMultiplier=.7),spanHeight=(1+extraVinculum+emPad)/sizeMultiplier,texHeight=(1+extraVinculum)/sizeMultiplier,span=sqrtSvg("sqrtMain",spanHeight,viewBoxHeight,extraVinculum,options),span.style.minWidth="0.853em",advanceWidth=.833/sizeMultiplier):delim.type==="large"?(viewBoxHeight=(1e3+vbPad)*sizeToMaxHeight[delim.size],texHeight=(sizeToMaxHeight[delim.size]+extraVinculum)/sizeMultiplier,spanHeight=(sizeToMaxHeight[delim.size]+extraVinculum+emPad)/sizeMultiplier,span=sqrtSvg("sqrtSize"+delim.size,spanHeight,viewBoxHeight,extraVinculum,options),span.style.minWidth="1.02em",advanceWidth=1/sizeMultiplier):(spanHeight=height+extraVinculum+emPad,texHeight=height+extraVinculum,viewBoxHeight=Math.floor(1e3*height+extraVinculum)+vbPad,span=sqrtSvg("sqrtTall",spanHeight,viewBoxHeight,extraVinculum,options),span.style.minWidth="0.742em",advanceWidth=1.056),span.height=texHeight,span.style.height=makeEm(spanHeight),{span,advanceWidth,ruleWidth:(options.fontMetrics().sqrtRuleThickness+extraVinculum)*sizeMultiplier}},stackLargeDelimiters=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"]),stackAlwaysDelimiters=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"]),stackNeverDelimiters=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),sizeToMaxHeight=[0,1.2,1.8,2.4,3],makeSizedDelim=function(delim,size,options,mode,classes){if(delim==="<"||delim==="\\lt"||delim==="⟨"?delim="\\langle":(delim===">"||delim==="\\gt"||delim==="⟩")&&(delim="\\rangle"),stackLargeDelimiters.has(delim)||stackNeverDelimiters.has(delim))return makeLargeDelim(delim,size,!1,options,mode,classes);if(stackAlwaysDelimiters.has(delim))return makeStackedDelim(delim,sizeToMaxHeight[size],!1,options,mode,classes);throw new ParseError("Illegal delimiter: '"+delim+"'")},stackNeverDelimiterSequence=[{type:"small",style:Style$1.SCRIPTSCRIPT},{type:"small",style:Style$1.SCRIPT},{type:"small",style:Style$1.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],stackAlwaysDelimiterSequence=[{type:"small",style:Style$1.SCRIPTSCRIPT},{type:"small",style:Style$1.SCRIPT},{type:"small",style:Style$1.TEXT},{type:"stack"}],stackLargeDelimiterSequence=[{type:"small",style:Style$1.SCRIPTSCRIPT},{type:"small",style:Style$1.SCRIPT},{type:"small",style:Style$1.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],delimTypeToFont=function(type){if(type.type==="small")return"Main-Regular";if(type.type==="large")return"Size"+type.size+"-Regular";if(type.type==="stack")return"Size4-Regular";var delimKind=type.type;throw new Error("Add support for delim type '"+delimKind+"' here.")},traverseSequence=function(delim,height,sequence,options){for(var start=Math.min(2,3-options.style.size),i=start;i<sequence.length;i++){var delimType=sequence[i];if(delimType.type==="stack")break;var metrics=getMetrics(delim,delimTypeToFont(delimType),"math"),heightDepth=metrics.height+metrics.depth;if(delimType.type==="small"){var newOptions=options.havingBaseStyle(delimType.style);heightDepth*=newOptions.sizeMultiplier}if(heightDepth>height)return delimType}return sequence[sequence.length-1]},makeCustomSizedDelim=function(delim,height,center,options,mode,classes){delim==="<"||delim==="\\lt"||delim==="⟨"?delim="\\langle":(delim===">"||delim==="\\gt"||delim==="⟩")&&(delim="\\rangle");var sequence;stackNeverDelimiters.has(delim)?sequence=stackNeverDelimiterSequence:stackLargeDelimiters.has(delim)?sequence=stackLargeDelimiterSequence:sequence=stackAlwaysDelimiterSequence;var delimType=traverseSequence(delim,height,sequence,options);return delimType.type==="small"?makeSmallDelim(delim,delimType.style,center,options,mode,classes):delimType.type==="large"?makeLargeDelim(delim,delimType.size,center,options,mode,classes):makeStackedDelim(delim,height,center,options,mode,classes)},makeLeftRightDelim=function(delim,height,depth,options,mode,classes){var axisHeight=options.fontMetrics().axisHeight*options.sizeMultiplier,delimiterFactor=901,delimiterExtend=5/options.fontMetrics().ptPerEm,maxDistFromAxis=Math.max(height-axisHeight,depth+axisHeight),totalHeight=Math.max(maxDistFromAxis/500*delimiterFactor,2*maxDistFromAxis-delimiterExtend);return makeCustomSizedDelim(delim,totalHeight,!0,options,mode,classes)},delimiterSizes={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},delimiters=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]);function checkDelimiter(delim,context){var symDelim=checkSymbolNodeType(delim);if(symDelim&&delimiters.has(symDelim.text))return symDelim;throw symDelim?new ParseError("Invalid delimiter '"+symDelim.text+"' after '"+context.funcName+"'",delim):new ParseError("Invalid delimiter type '"+delim.type+"'",delim)}defineFunction({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(context,args)=>{var delim=checkDelimiter(args[0],context);return{type:"delimsizing",mode:context.parser.mode,size:delimiterSizes[context.funcName].size,mclass:delimiterSizes[context.funcName].mclass,delim:delim.text}},htmlBuilder:(group,options)=>group.delim==="."?makeSpan([group.mclass]):makeSizedDelim(group.delim,group.size,options,group.mode,[group.mclass]),mathmlBuilder:group=>{var children=[];group.delim!=="."&&children.push(makeText(group.delim,group.mode));var node=new MathNode("mo",children);group.mclass==="mopen"||group.mclass==="mclose"?node.setAttribute("fence","true"):node.setAttribute("fence","false"),node.setAttribute("stretchy","true");var size=makeEm(sizeToMaxHeight[group.size]);return node.setAttribute("minsize",size),node.setAttribute("maxsize",size),node}});function assertParsed(group){if(!group.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}defineFunction({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(context,args)=>{var color=context.parser.gullet.macros.get("\\current@color");if(color&&typeof color!="string")throw new ParseError("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:context.parser.mode,delim:checkDelimiter(args[0],context).text,color}}});defineFunction({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(context,args)=>{var delim=checkDelimiter(args[0],context),parser=context.parser;++parser.leftrightDepth;var body=parser.parseExpression(!1);--parser.leftrightDepth,parser.expect("\\right",!1);var right=assertNodeType(parser.parseFunction(),"leftright-right");return{type:"leftright",mode:parser.mode,body,left:delim.text,right:right.delim,rightColor:right.color}},htmlBuilder:(group,options)=>{assertParsed(group);for(var inner2=buildExpression$1(group.body,options,!0,["mopen","mclose"]),innerHeight=0,innerDepth=0,hadMiddle=!1,i=0;i<inner2.length;i++)inner2[i].isMiddle?hadMiddle=!0:(innerHeight=Math.max(inner2[i].height,innerHeight),innerDepth=Math.max(inner2[i].depth,innerDepth));innerHeight*=options.sizeMultiplier,innerDepth*=options.sizeMultiplier;var leftDelim;if(group.left==="."?leftDelim=makeNullDelimiter(options,["mopen"]):leftDelim=makeLeftRightDelim(group.left,innerHeight,innerDepth,options,group.mode,["mopen"]),inner2.unshift(leftDelim),hadMiddle)for(var _i=1;_i<inner2.length;_i++){var middleDelim=inner2[_i],isMiddle=middleDelim.isMiddle;isMiddle&&(inner2[_i]=makeLeftRightDelim(isMiddle.delim,innerHeight,innerDepth,isMiddle.options,group.mode,[]))}var rightDelim;if(group.right===".")rightDelim=makeNullDelimiter(options,["mclose"]);else{var colorOptions=group.rightColor?options.withColor(group.rightColor):options;rightDelim=makeLeftRightDelim(group.right,innerHeight,innerDepth,colorOptions,group.mode,["mclose"])}return inner2.push(rightDelim),makeSpan(["minner"],inner2,options)},mathmlBuilder:(group,options)=>{assertParsed(group);var inner2=buildExpression2(group.body,options);if(group.left!=="."){var leftNode=new MathNode("mo",[makeText(group.left,group.mode)]);leftNode.setAttribute("fence","true"),inner2.unshift(leftNode)}if(group.right!=="."){var rightNode=new MathNode("mo",[makeText(group.right,group.mode)]);rightNode.setAttribute("fence","true"),group.rightColor&&rightNode.setAttribute("mathcolor",group.rightColor),inner2.push(rightNode)}return makeRow(inner2)}});defineFunction({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(context,args)=>{var delim=checkDelimiter(args[0],context);if(!context.parser.leftrightDepth)throw new ParseError("\\middle without preceding \\left",delim);return{type:"middle",mode:context.parser.mode,delim:delim.text}},htmlBuilder:(group,options)=>{var middleDelim;if(group.delim===".")middleDelim=makeNullDelimiter(options,[]);else{middleDelim=makeSizedDelim(group.delim,1,options,group.mode,[]);var isMiddle={delim:group.delim,options};middleDelim.isMiddle=isMiddle}return middleDelim},mathmlBuilder:(group,options)=>{var textNode=group.delim==="\\vert"||group.delim==="|"?makeText("|","text"):makeText(group.delim,group.mode),middleNode=new MathNode("mo",[textNode]);return middleNode.setAttribute("fence","true"),middleNode.setAttribute("lspace","0.05em"),middleNode.setAttribute("rspace","0.05em"),middleNode}});var htmlBuilder$7=(group,options)=>{var inner2=wrapFragment(buildGroup$1(group.body,options),options),label=group.label.slice(1),scale=options.sizeMultiplier,img,imgShift=0,isSingleChar=isCharacterBox(group.body);if(label==="sout")img=makeSpan(["stretchy","sout"]),img.height=options.fontMetrics().defaultRuleThickness/scale,imgShift=-.5*options.fontMetrics().xHeight;else if(label==="phase"){var lineWeight=calculateSize({number:.6,unit:"pt"},options),clearance=calculateSize({number:.35,unit:"ex"},options),newOptions=options.havingBaseSizing();scale=scale/newOptions.sizeMultiplier;var angleHeight=inner2.height+inner2.depth+lineWeight+clearance;inner2.style.paddingLeft=makeEm(angleHeight/2+lineWeight);var viewBoxHeight=Math.floor(1e3*angleHeight*scale),path2=phasePath(viewBoxHeight),svgNode=new SvgNode([new PathNode("phase",path2)],{width:"400em",height:makeEm(viewBoxHeight/1e3),viewBox:"0 0 400000 "+viewBoxHeight,preserveAspectRatio:"xMinYMin slice"});img=makeSvgSpan(["hide-tail"],[svgNode],options),img.style.height=makeEm(angleHeight),imgShift=inner2.depth+lineWeight+clearance}else{/cancel/.test(label)?isSingleChar||inner2.classes.push("cancel-pad"):label==="angl"?inner2.classes.push("anglpad"):inner2.classes.push("boxpad");var topPad=0,bottomPad=0,ruleThickness=0;/box/.test(label)?(ruleThickness=Math.max(options.fontMetrics().fboxrule,options.minRuleThickness),topPad=options.fontMetrics().fboxsep+(label==="colorbox"?0:ruleThickness),bottomPad=topPad):label==="angl"?(ruleThickness=Math.max(options.fontMetrics().defaultRuleThickness,options.minRuleThickness),topPad=4*ruleThickness,bottomPad=Math.max(0,.25-inner2.depth)):(topPad=isSingleChar?.2:0,bottomPad=topPad),img=stretchyEnclose(inner2,label,topPad,bottomPad,options),/fbox|boxed|fcolorbox/.test(label)?(img.style.borderStyle="solid",img.style.borderWidth=makeEm(ruleThickness)):label==="angl"&&ruleThickness!==.049&&(img.style.borderTopWidth=makeEm(ruleThickness),img.style.borderRightWidth=makeEm(ruleThickness)),imgShift=inner2.depth+bottomPad,group.backgroundColor&&(img.style.backgroundColor=group.backgroundColor,group.borderColor&&(img.style.borderColor=group.borderColor))}var vlist;if(group.backgroundColor)vlist=makeVList({positionType:"individualShift",children:[{type:"elem",elem:img,shift:imgShift},{type:"elem",elem:inner2,shift:0}]});else{var classes=/cancel|phase/.test(label)?["svg-align"]:[];vlist=makeVList({positionType:"individualShift",children:[{type:"elem",elem:inner2,shift:0},{type:"elem",elem:img,shift:imgShift,wrapperClasses:classes}]})}return/cancel/.test(label)&&(vlist.height=inner2.height,vlist.depth=inner2.depth),/cancel/.test(label)&&!isSingleChar?makeSpan(["mord","cancel-lap"],[vlist],options):makeSpan(["mord"],[vlist],options)},mathmlBuilder$6=(group,options)=>{var fboxsep=0,node=new MathNode(group.label.includes("colorbox")?"mpadded":"menclose",[buildGroup2(group.body,options)]);switch(group.label){case"\\cancel":node.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":node.setAttribute("notation","downdiagonalstrike");break;case"\\phase":node.setAttribute("notation","phasorangle");break;case"\\sout":node.setAttribute("notation","horizontalstrike");break;case"\\fbox":node.setAttribute("notation","box");break;case"\\angl":node.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(fboxsep=options.fontMetrics().fboxsep*options.fontMetrics().ptPerEm,node.setAttribute("width","+"+2*fboxsep+"pt"),node.setAttribute("height","+"+2*fboxsep+"pt"),node.setAttribute("lspace",fboxsep+"pt"),node.setAttribute("voffset",fboxsep+"pt"),group.label==="\\fcolorbox"){var thk=Math.max(options.fontMetrics().fboxrule,options.minRuleThickness);node.setAttribute("style","border: "+makeEm(thk)+" solid "+group.borderColor)}break;case"\\xcancel":node.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return group.backgroundColor&&node.setAttribute("mathbackground",group.backgroundColor),node};defineFunction({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(_ref,args,optArgs){var{parser,funcName}=_ref,color=assertNodeType(args[0],"color-token").color,body=args[1];return{type:"enclose",mode:parser.mode,label:funcName,backgroundColor:color,body}},htmlBuilder:htmlBuilder$7,mathmlBuilder:mathmlBuilder$6});defineFunction({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(_ref2,args,optArgs){var{parser,funcName}=_ref2,borderColor=assertNodeType(args[0],"color-token").color,backgroundColor=assertNodeType(args[1],"color-token").color,body=args[2];return{type:"enclose",mode:parser.mode,label:funcName,backgroundColor,borderColor,body}},htmlBuilder:htmlBuilder$7,mathmlBuilder:mathmlBuilder$6});defineFunction({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(_ref3,args){var{parser}=_ref3;return{type:"enclose",mode:parser.mode,label:"\\fbox",body:args[0]}}});defineFunction({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],props:{numArgs:1},handler(_ref4,args){var{parser,funcName}=_ref4,body=args[0];return{type:"enclose",mode:parser.mode,label:funcName,body}},htmlBuilder:htmlBuilder$7,mathmlBuilder:mathmlBuilder$6});defineFunction({type:"enclose",names:["\\sout"],props:{numArgs:1,allowedInText:!0},handler(_ref5,args){var{parser,funcName}=_ref5;parser.mode==="math"&&parser.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var body=args[0];return{type:"enclose",mode:parser.mode,label:funcName,body}},htmlBuilder:htmlBuilder$7,mathmlBuilder:mathmlBuilder$6});defineFunction({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(_ref6,args){var{parser}=_ref6;return{type:"enclose",mode:parser.mode,label:"\\angl",body:args[0]}}});var _environments={};function defineEnvironment(_ref){for(var{type,names,props,handler,htmlBuilder:htmlBuilder3,mathmlBuilder:mathmlBuilder3}=_ref,data={type,numArgs:props.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler},i=0;i<names.length;++i)_environments[names[i]]=data;htmlBuilder3&&(_htmlGroupBuilders[type]=htmlBuilder3),mathmlBuilder3&&(_mathmlGroupBuilders[type]=mathmlBuilder3)}var _macros={};function defineMacro(name,body){_macros[name]=body}class SourceLocation{constructor(lexer,start,end){this.lexer=lexer,this.start=start,this.end=end}static range(first,second){return second?!first||!first.loc||!second.loc||first.loc.lexer!==second.loc.lexer?null:new SourceLocation(first.loc.lexer,first.loc.start,second.loc.end):first&&first.loc}}class Token{constructor(text2,loc){this.text=text2,this.loc=loc}range(endToken,text2){return new Token(text2,SourceLocation.range(this,endToken))}}function getHLines(parser){var hlineInfo=[];parser.consumeSpaces();var nxt=parser.fetch().text;for(nxt==="\\relax"&&(parser.consume(),parser.consumeSpaces(),nxt=parser.fetch().text);nxt==="\\hline"||nxt==="\\hdashline";)parser.consume(),hlineInfo.push(nxt==="\\hdashline"),parser.consumeSpaces(),nxt=parser.fetch().text;return hlineInfo}var validateAmsEnvironmentContext=context=>{var settings=context.parser.settings;if(!settings.displayMode)throw new ParseError("{"+context.envName+"} can be used only in display mode.")},gatherEnvironments=new Set(["gather","gather*"]);function getAutoTag(name){if(!name.includes("ed"))return!name.includes("*")}function parseArray(parser,_ref,style){var{hskipBeforeAndAfter,addJot,cols,arraystretch,colSeparationType,autoTag,singleRow,emptySingleRow,maxNumCols,leqno}=_ref;if(parser.gullet.beginGroup(),singleRow||parser.gullet.macros.set("\\cr","\\\\\\relax"),!arraystretch){var stretch=parser.gullet.expandMacroAsText("\\arraystretch");if(stretch==null)arraystretch=1;else if(arraystretch=parseFloat(stretch),!arraystretch||arraystretch<0)throw new ParseError("Invalid \\arraystretch: "+stretch)}parser.gullet.beginGroup();var row=[],body=[row],rowGaps=[],hLinesBeforeRow=[],tags=autoTag!=null?[]:void 0;function beginRow(){autoTag&&parser.gullet.macros.set("\\@eqnsw","1",!0)}function endRow(){tags&&(parser.gullet.macros.get("\\df@tag")?(tags.push(parser.subparse([new Token("\\df@tag")])),parser.gullet.macros.set("\\df@tag",void 0,!0)):tags.push(!!autoTag&&parser.gullet.macros.get("\\@eqnsw")==="1"))}for(beginRow(),hLinesBeforeRow.push(getHLines(parser));;){var cellBody=parser.parseExpression(!1,singleRow?"\\end":"\\\\");parser.gullet.endGroup(),parser.gullet.beginGroup();var cell={type:"ordgroup",mode:parser.mode,body:cellBody};style&&(cell={type:"styling",mode:parser.mode,style,body:[cell]}),row.push(cell);var next=parser.fetch().text;if(next==="&"){if(maxNumCols&&row.length===maxNumCols){if(singleRow||colSeparationType)throw new ParseError("Too many tab characters: &",parser.nextToken);parser.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}parser.consume()}else if(next==="\\end"){endRow(),row.length===1&&cell.type==="styling"&&cell.body.length===1&&cell.body[0].type==="ordgroup"&&cell.body[0].body.length===0&&(body.length>1||!emptySingleRow)&&body.pop(),hLinesBeforeRow.length<body.length+1&&hLinesBeforeRow.push([]);break}else if(next==="\\\\"){parser.consume();var size=void 0;parser.gullet.future().text!==" "&&(size=parser.parseSizeGroup(!0)),rowGaps.push(size?size.value:null),endRow(),hLinesBeforeRow.push(getHLines(parser)),row=[],body.push(row),beginRow()}else throw new ParseError("Expected & or \\\\ or \\cr or \\end",parser.nextToken)}return parser.gullet.endGroup(),parser.gullet.endGroup(),{type:"array",mode:parser.mode,addJot,arraystretch,body,cols,rowGaps,hskipBeforeAndAfter,hLinesBeforeRow,colSeparationType,tags,leqno}}function dCellStyle(envName){return envName.slice(0,1)==="d"?"display":"text"}var htmlBuilder$6=function(group,options){var r,c,nr=group.body.length,hLinesBeforeRow=group.hLinesBeforeRow,nc=0,body=new Array(nr),hlines=[],ruleThickness=Math.max(options.fontMetrics().arrayRuleWidth,options.minRuleThickness),pt=1/options.fontMetrics().ptPerEm,arraycolsep=5*pt;if(group.colSeparationType&&group.colSeparationType==="small"){var localMultiplier=options.havingStyle(Style$1.SCRIPT).sizeMultiplier;arraycolsep=.2778*(localMultiplier/options.sizeMultiplier)}var baselineskip=group.colSeparationType==="CD"?calculateSize({number:3,unit:"ex"},options):12*pt,jot=3*pt,arrayskip=group.arraystretch*baselineskip,arstrutHeight=.7*arrayskip,arstrutDepth=.3*arrayskip,totalHeight=0;function setHLinePos(hlinesInGap){for(var i=0;i<hlinesInGap.length;++i)i>0&&(totalHeight+=.25),hlines.push({pos:totalHeight,isDashed:hlinesInGap[i]})}for(setHLinePos(hLinesBeforeRow[0]),r=0;r<group.body.length;++r){var inrow=group.body[r],height=arstrutHeight,depth=arstrutDepth;nc<inrow.length&&(nc=inrow.length);var outrow=new Array(inrow.length);for(c=0;c<inrow.length;++c){var elt=buildGroup$1(inrow[c],options);depth<elt.depth&&(depth=elt.depth),height<elt.height&&(height=elt.height),outrow[c]=elt}var rowGap=group.rowGaps[r],gap=0;rowGap&&(gap=calculateSize(rowGap,options),gap>0&&(gap+=arstrutDepth,depth<gap&&(depth=gap),gap=0)),group.addJot&&r<group.body.length-1&&(depth+=jot),outrow.height=height,outrow.depth=depth,totalHeight+=height,outrow.pos=totalHeight,totalHeight+=depth+gap,body[r]=outrow,setHLinePos(hLinesBeforeRow[r+1])}var offset=totalHeight/2+options.fontMetrics().axisHeight,colDescriptions=group.cols||[],cols=[],colSep,colDescrNum,tagSpans=[];if(group.tags&&group.tags.some(tag2=>tag2))for(r=0;r<nr;++r){var rw=body[r],shift=rw.pos-offset,tag=group.tags[r],tagSpan=void 0;tag===!0?tagSpan=makeSpan(["eqn-num"],[],options):tag===!1?tagSpan=makeSpan([],[],options):tagSpan=makeSpan([],buildExpression$1(tag,options,!0),options),tagSpan.depth=rw.depth,tagSpan.height=rw.height,tagSpans.push({type:"elem",elem:tagSpan,shift})}for(c=0,colDescrNum=0;c<nc||colDescrNum<colDescriptions.length;++c,++colDescrNum){for(var _colDescr3,colDescr=colDescriptions[colDescrNum],firstSeparator=!0;((_colDescr=colDescr)==null?void 0:_colDescr.type)==="separator";){var _colDescr;if(firstSeparator||(colSep=makeSpan(["arraycolsep"],[]),colSep.style.width=makeEm(options.fontMetrics().doubleRuleSep),cols.push(colSep)),colDescr.separator==="|"||colDescr.separator===":"){var lineType=colDescr.separator==="|"?"solid":"dashed",separator=makeSpan(["vertical-separator"],[],options);separator.style.height=makeEm(totalHeight),separator.style.borderRightWidth=makeEm(ruleThickness),separator.style.borderRightStyle=lineType,separator.style.margin="0 "+makeEm(-ruleThickness/2);var _shift=totalHeight-offset;_shift&&(separator.style.verticalAlign=makeEm(-_shift)),cols.push(separator)}else throw new ParseError("Invalid separator type: "+colDescr.separator);colDescrNum++,colDescr=colDescriptions[colDescrNum],firstSeparator=!1}if(!(c>=nc)){var sepwidth=void 0;if(c>0||group.hskipBeforeAndAfter){var _colDescr$pregap,_colDescr2;sepwidth=(_colDescr$pregap=(_colDescr2=colDescr)==null?void 0:_colDescr2.pregap)!=null?_colDescr$pregap:arraycolsep,sepwidth!==0&&(colSep=makeSpan(["arraycolsep"],[]),colSep.style.width=makeEm(sepwidth),cols.push(colSep))}var colElems=[];for(r=0;r<nr;++r){var row=body[r],elem=row[c];if(elem){var _shift2=row.pos-offset;elem.depth=row.depth,elem.height=row.height,colElems.push({type:"elem",elem,shift:_shift2})}}var colVList=makeVList({positionType:"individualShift",children:colElems}),colSpan=makeSpan(["col-align-"+(((_colDescr3=colDescr)==null?void 0:_colDescr3.align)||"c")],[colVList]);if(cols.push(colSpan),c<nc-1||group.hskipBeforeAndAfter){var _colDescr$postgap,_colDescr4;sepwidth=(_colDescr$postgap=(_colDescr4=colDescr)==null?void 0:_colDescr4.postgap)!=null?_colDescr$postgap:arraycolsep,sepwidth!==0&&(colSep=makeSpan(["arraycolsep"],[]),colSep.style.width=makeEm(sepwidth),cols.push(colSep))}}}var tableBody=makeSpan(["mtable"],cols);if(hlines.length>0){for(var line=makeLineSpan("hline",options,ruleThickness),dashes=makeLineSpan("hdashline",options,ruleThickness),vListElems=[{type:"elem",elem:tableBody,shift:0}];hlines.length>0;){var hline=hlines.pop(),lineShift=hline.pos-offset;hline.isDashed?vListElems.push({type:"elem",elem:dashes,shift:lineShift}):vListElems.push({type:"elem",elem:line,shift:lineShift})}tableBody=makeVList({positionType:"individualShift",children:vListElems})}if(tagSpans.length===0)return makeSpan(["mord"],[tableBody],options);var eqnNumCol=makeVList({positionType:"individualShift",children:tagSpans}),tagCol=makeSpan(["tag"],[eqnNumCol],options);return makeFragment([tableBody,tagCol])},alignMap={c:"center ",l:"left ",r:"right "},mathmlBuilder$5=function(group,options){for(var tbl=[],glue=new MathNode("mtd",[],["mtr-glue"]),tag=new MathNode("mtd",[],["mml-eqn-num"]),i=0;i<group.body.length;i++){for(var rw=group.body[i],row=[],j=0;j<rw.length;j++)row.push(new MathNode("mtd",[buildGroup2(rw[j],options)]));group.tags&&group.tags[i]&&(row.unshift(glue),row.push(glue),group.leqno?row.unshift(tag):row.push(tag)),tbl.push(new MathNode("mtr",row))}var table=new MathNode("mtable",tbl),gap=group.arraystretch===.5?.1:.16+group.arraystretch-1+(group.addJot?.09:0);table.setAttribute("rowspacing",makeEm(gap));var menclose="",align="";if(group.cols&&group.cols.length>0){var cols=group.cols,columnLines="",prevTypeWasAlign=!1,iStart=0,iEnd=cols.length;cols[0].type==="separator"&&(menclose+="top ",iStart=1),cols[cols.length-1].type==="separator"&&(menclose+="bottom ",iEnd-=1);for(var _i=iStart;_i<iEnd;_i++){var col=cols[_i];col.type==="align"?(align+=alignMap[col.align],prevTypeWasAlign&&(columnLines+="none "),prevTypeWasAlign=!0):col.type==="separator"&&prevTypeWasAlign&&(columnLines+=col.separator==="|"?"solid ":"dashed ",prevTypeWasAlign=!1)}table.setAttribute("columnalign",align.trim()),/[sd]/.test(columnLines)&&table.setAttribute("columnlines",columnLines.trim())}if(group.colSeparationType==="align"){for(var _cols=group.cols||[],spacing2="",_i2=1;_i2<_cols.length;_i2++)spacing2+=_i2%2?"0em ":"1em ";table.setAttribute("columnspacing",spacing2.trim())}else group.colSeparationType==="alignat"||group.colSeparationType==="gather"?table.setAttribute("columnspacing","0em"):group.colSeparationType==="small"?table.setAttribute("columnspacing","0.2778em"):group.colSeparationType==="CD"?table.setAttribute("columnspacing","0.5em"):table.setAttribute("columnspacing","1em");var rowLines="",hlines=group.hLinesBeforeRow;menclose+=hlines[0].length>0?"left ":"",menclose+=hlines[hlines.length-1].length>0?"right ":"";for(var _i3=1;_i3<hlines.length-1;_i3++)rowLines+=hlines[_i3].length===0?"none ":hlines[_i3][0]?"dashed ":"solid ";return/[sd]/.test(rowLines)&&table.setAttribute("rowlines",rowLines.trim()),menclose!==""&&(table=new MathNode("menclose",[table]),table.setAttribute("notation",menclose.trim())),group.arraystretch&&group.arraystretch<1&&(table=new MathNode("mstyle",[table]),table.setAttribute("scriptlevel","1")),table},alignedHandler=function(context,args){context.envName.includes("ed")||validateAmsEnvironmentContext(context);var cols=[],separationType=context.envName.includes("at")?"alignat":"align",isSplit=context.envName==="split",res=parseArray(context.parser,{cols,addJot:!0,autoTag:isSplit?void 0:getAutoTag(context.envName),emptySingleRow:!0,colSeparationType:separationType,maxNumCols:isSplit?2:void 0,leqno:context.parser.settings.leqno},"display"),numMaths=0,numCols=0,emptyGroup={type:"ordgroup",mode:context.mode,body:[]};if(args[0]&&args[0].type==="ordgroup"){for(var arg0="",i=0;i<args[0].body.length;i++){var textord2=assertNodeType(args[0].body[i],"textord");arg0+=textord2.text}numMaths=Number(arg0),numCols=numMaths*2}var isAligned=!numCols;res.body.forEach(function(row){for(var _i4=1;_i4<row.length;_i4+=2){var styling=assertNodeType(row[_i4],"styling"),ordgroup=assertNodeType(styling.body[0],"ordgroup");ordgroup.body.unshift(emptyGroup)}if(isAligned)numCols<row.length&&(numCols=row.length);else{var curMaths=row.length/2;if(numMaths<curMaths)throw new ParseError("Too many math in a row: "+("expected "+numMaths+", but got "+curMaths),row[0])}});for(var _i5=0;_i5<numCols;++_i5){var align="r",pregap=0;_i5%2===1?align="l":_i5>0&&isAligned&&(pregap=1),cols[_i5]={type:"align",align,pregap,postgap:0}}return res.colSeparationType=isAligned?"align":"alignat",res};defineEnvironment({type:"array",names:["array","darray"],props:{numArgs:1},handler(context,args){var symNode=checkSymbolNodeType(args[0]),colalign=symNode?[args[0]]:assertNodeType(args[0],"ordgroup").body,cols=colalign.map(function(nde){var node=assertSymbolNodeType(nde),ca=node.text;if("lcr".includes(ca))return{type:"align",align:ca};if(ca==="|")return{type:"separator",separator:"|"};if(ca===":")return{type:"separator",separator:":"};throw new ParseError("Unknown column alignment: "+ca,nde)}),res={cols,hskipBeforeAndAfter:!0,maxNumCols:cols.length};return parseArray(context.parser,res,dCellStyle(context.envName))},htmlBuilder:htmlBuilder$6,mathmlBuilder:mathmlBuilder$5});defineEnvironment({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(context){var delimiters2={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[context.envName.replace("*","")],colAlign="c",payload={hskipBeforeAndAfter:!1,cols:[{type:"align",align:colAlign}]};if(context.envName.charAt(context.envName.length-1)==="*"){var parser=context.parser;if(parser.consumeSpaces(),parser.fetch().text==="["){if(parser.consume(),parser.consumeSpaces(),colAlign=parser.fetch().text,!"lcr".includes(colAlign))throw new ParseError("Expected l or c or r",parser.nextToken);parser.consume(),parser.consumeSpaces(),parser.expect("]"),parser.consume(),payload.cols=[{type:"align",align:colAlign}]}}var res=parseArray(context.parser,payload,dCellStyle(context.envName)),numCols=Math.max(0,...res.body.map(row=>row.length));return res.cols=new Array(numCols).fill({type:"align",align:colAlign}),delimiters2?{type:"leftright",mode:context.mode,body:[res],left:delimiters2[0],right:delimiters2[1],rightColor:void 0}:res},htmlBuilder:htmlBuilder$6,mathmlBuilder:mathmlBuilder$5});defineEnvironment({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(context){var payload={arraystretch:.5},res=parseArray(context.parser,payload,"script");return res.colSeparationType="small",res},htmlBuilder:htmlBuilder$6,mathmlBuilder:mathmlBuilder$5});defineEnvironment({type:"array",names:["subarray"],props:{numArgs:1},handler(context,args){var symNode=checkSymbolNodeType(args[0]),colalign=symNode?[args[0]]:assertNodeType(args[0],"ordgroup").body,cols=colalign.map(function(nde){var node=assertSymbolNodeType(nde),ca=node.text;if("lc".includes(ca))return{type:"align",align:ca};throw new ParseError("Unknown column alignment: "+ca,nde)});if(cols.length>1)throw new ParseError("{subarray} can contain only one column");var payload={cols,hskipBeforeAndAfter:!1,arraystretch:.5},res=parseArray(context.parser,payload,"script");if(res.body.length>0&&res.body[0].length>1)throw new ParseError("{subarray} can contain only one column");return res},htmlBuilder:htmlBuilder$6,mathmlBuilder:mathmlBuilder$5});defineEnvironment({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(context){var payload={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},res=parseArray(context.parser,payload,dCellStyle(context.envName));return{type:"leftright",mode:context.mode,body:[res],left:context.envName.includes("r")?".":"\\{",right:context.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:htmlBuilder$6,mathmlBuilder:mathmlBuilder$5});defineEnvironment({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:alignedHandler,htmlBuilder:htmlBuilder$6,mathmlBuilder:mathmlBuilder$5});defineEnvironment({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(context){gatherEnvironments.has(context.envName)&&validateAmsEnvironmentContext(context);var res={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:getAutoTag(context.envName),emptySingleRow:!0,leqno:context.parser.settings.leqno};return parseArray(context.parser,res,"display")},htmlBuilder:htmlBuilder$6,mathmlBuilder:mathmlBuilder$5});defineEnvironment({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:alignedHandler,htmlBuilder:htmlBuilder$6,mathmlBuilder:mathmlBuilder$5});defineEnvironment({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(context){validateAmsEnvironmentContext(context);var res={autoTag:getAutoTag(context.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:context.parser.settings.leqno};return parseArray(context.parser,res,"display")},htmlBuilder:htmlBuilder$6,mathmlBuilder:mathmlBuilder$5});defineEnvironment({type:"array",names:["CD"],props:{numArgs:0},handler(context){return validateAmsEnvironmentContext(context),parseCD(context.parser)},htmlBuilder:htmlBuilder$6,mathmlBuilder:mathmlBuilder$5});defineMacro("\\nonumber","\\gdef\\@eqnsw{0}");defineMacro("\\notag","\\nonumber");defineFunction({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(context,args){throw new ParseError(context.funcName+" valid only within array environment")}});var environments=_environments;defineFunction({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(_ref,args){var{parser,funcName}=_ref,nameGroup=args[0];if(nameGroup.type!=="ordgroup")throw new ParseError("Invalid environment name",nameGroup);for(var envName="",i=0;i<nameGroup.body.length;++i)envName+=assertNodeType(nameGroup.body[i],"textord").text;if(funcName==="\\begin"){if(!environments.hasOwnProperty(envName))throw new ParseError("No such environment: "+envName,nameGroup);var env=environments[envName],{args:_args,optArgs}=parser.parseArguments("\\begin{"+envName+"}",env),context={mode:parser.mode,envName,parser},result=env.handler(context,_args,optArgs);parser.expect("\\end",!1);var endNameToken=parser.nextToken,end=assertNodeType(parser.parseFunction(),"environment");if(end.name!==envName)throw new ParseError("Mismatch: \\begin{"+envName+"} matched by \\end{"+end.name+"}",endNameToken);return result}return{type:"environment",mode:parser.mode,name:envName,nameGroup}}});var htmlBuilder$5=(group,options)=>{var font=group.font,newOptions=options.withFont(font);return buildGroup$1(group.body,newOptions)},mathmlBuilder$4=(group,options)=>{var font=group.font,newOptions=options.withFont(font);return buildGroup2(group.body,newOptions)},fontAliases={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};defineFunction({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(_ref,args)=>{var{parser,funcName}=_ref,body=normalizeArgument(args[0]),func=funcName;return func in fontAliases&&(func=fontAliases[func]),{type:"font",mode:parser.mode,font:func.slice(1),body}},htmlBuilder:htmlBuilder$5,mathmlBuilder:mathmlBuilder$4});defineFunction({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(_ref2,args)=>{var{parser}=_ref2,body=args[0];return{type:"mclass",mode:parser.mode,mclass:binrelClass(body),body:[{type:"font",mode:parser.mode,font:"boldsymbol",body}],isCharacterBox:isCharacterBox(body)}}});defineFunction({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(_ref3,args)=>{var{parser,funcName,breakOnTokenText}=_ref3,{mode}=parser,body=parser.parseExpression(!0,breakOnTokenText),style="math"+funcName.slice(1);return{type:"font",mode,font:style,body:{type:"ordgroup",mode:parser.mode,body}}},htmlBuilder:htmlBuilder$5,mathmlBuilder:mathmlBuilder$4});var htmlBuilder$4=(group,options)=>{var style=options.style,nstyle=style.fracNum(),dstyle=style.fracDen(),newOptions;newOptions=options.havingStyle(nstyle);var numerm=buildGroup$1(group.numer,newOptions,options);if(group.continued){var hStrut=8.5/options.fontMetrics().ptPerEm,dStrut=3.5/options.fontMetrics().ptPerEm;numerm.height=numerm.height<hStrut?hStrut:numerm.height,numerm.depth=numerm.depth<dStrut?dStrut:numerm.depth}newOptions=options.havingStyle(dstyle);var denomm=buildGroup$1(group.denom,newOptions,options),rule,ruleWidth,ruleSpacing;group.hasBarLine?(group.barSize?(ruleWidth=calculateSize(group.barSize,options),rule=makeLineSpan("frac-line",options,ruleWidth)):rule=makeLineSpan("frac-line",options),ruleWidth=rule.height,ruleSpacing=rule.height):(rule=null,ruleWidth=0,ruleSpacing=options.fontMetrics().defaultRuleThickness);var numShift,clearance,denomShift;style.size===Style$1.DISPLAY.size?(numShift=options.fontMetrics().num1,ruleWidth>0?clearance=3*ruleSpacing:clearance=7*ruleSpacing,denomShift=options.fontMetrics().denom1):(ruleWidth>0?(numShift=options.fontMetrics().num2,clearance=ruleSpacing):(numShift=options.fontMetrics().num3,clearance=3*ruleSpacing),denomShift=options.fontMetrics().denom2);var frac;if(rule){var axisHeight=options.fontMetrics().axisHeight;numShift-numerm.depth-(axisHeight+.5*ruleWidth)<clearance&&(numShift+=clearance-(numShift-numerm.depth-(axisHeight+.5*ruleWidth))),axisHeight-.5*ruleWidth-(denomm.height-denomShift)<clearance&&(denomShift+=clearance-(axisHeight-.5*ruleWidth-(denomm.height-denomShift)));var midShift=-(axisHeight-.5*ruleWidth);frac=makeVList({positionType:"individualShift",children:[{type:"elem",elem:denomm,shift:denomShift},{type:"elem",elem:rule,shift:midShift},{type:"elem",elem:numerm,shift:-numShift}]})}else{var candidateClearance=numShift-numerm.depth-(denomm.height-denomShift);candidateClearance<clearance&&(numShift+=.5*(clearance-candidateClearance),denomShift+=.5*(clearance-candidateClearance)),frac=makeVList({positionType:"individualShift",children:[{type:"elem",elem:denomm,shift:denomShift},{type:"elem",elem:numerm,shift:-numShift}]})}newOptions=options.havingStyle(style),frac.height*=newOptions.sizeMultiplier/options.sizeMultiplier,frac.depth*=newOptions.sizeMultiplier/options.sizeMultiplier;var delimSize;style.size===Style$1.DISPLAY.size?delimSize=options.fontMetrics().delim1:style.size===Style$1.SCRIPTSCRIPT.size?delimSize=options.havingStyle(Style$1.SCRIPT).fontMetrics().delim2:delimSize=options.fontMetrics().delim2;var leftDelim,rightDelim;return group.leftDelim==null?leftDelim=makeNullDelimiter(options,["mopen"]):leftDelim=makeCustomSizedDelim(group.leftDelim,delimSize,!0,options.havingStyle(style),group.mode,["mopen"]),group.continued?rightDelim=makeSpan([]):group.rightDelim==null?rightDelim=makeNullDelimiter(options,["mclose"]):rightDelim=makeCustomSizedDelim(group.rightDelim,delimSize,!0,options.havingStyle(style),group.mode,["mclose"]),makeSpan(["mord"].concat(newOptions.sizingClasses(options)),[leftDelim,makeSpan(["mfrac"],[frac]),rightDelim],options)},mathmlBuilder$3=(group,options)=>{var node=new MathNode("mfrac",[buildGroup2(group.numer,options),buildGroup2(group.denom,options)]);if(!group.hasBarLine)node.setAttribute("linethickness","0px");else if(group.barSize){var ruleWidth=calculateSize(group.barSize,options);node.setAttribute("linethickness",makeEm(ruleWidth))}if(group.leftDelim!=null||group.rightDelim!=null){var withDelims=[];if(group.leftDelim!=null){var leftOp=new MathNode("mo",[new TextNode(group.leftDelim.replace("\\",""))]);leftOp.setAttribute("fence","true"),withDelims.push(leftOp)}if(withDelims.push(node),group.rightDelim!=null){var rightOp=new MathNode("mo",[new TextNode(group.rightDelim.replace("\\",""))]);rightOp.setAttribute("fence","true"),withDelims.push(rightOp)}return makeRow(withDelims)}return node},wrapWithStyle=(frac,style)=>{if(!style)return frac;var wrapper={type:"styling",mode:frac.mode,style,body:[frac]};return wrapper};defineFunction({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(_ref,args)=>{var{parser,funcName}=_ref,numer=args[0],denom=args[1],hasBarLine,leftDelim=null,rightDelim=null;switch(funcName){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":hasBarLine=!0;break;case"\\\\atopfrac":hasBarLine=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":hasBarLine=!1,leftDelim="(",rightDelim=")";break;case"\\\\bracefrac":hasBarLine=!1,leftDelim="\\{",rightDelim="\\}";break;case"\\\\brackfrac":hasBarLine=!1,leftDelim="[",rightDelim="]";break;default:throw new Error("Unrecognized genfrac command")}var continued=funcName==="\\cfrac",style=null;return continued||funcName.startsWith("\\d")?style="display":funcName.startsWith("\\t")&&(style="text"),wrapWithStyle({type:"genfrac",mode:parser.mode,numer,denom,continued,hasBarLine,leftDelim,rightDelim,barSize:null},style)},htmlBuilder:htmlBuilder$4,mathmlBuilder:mathmlBuilder$3});defineFunction({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(_ref2){var{parser,funcName,token}=_ref2,replaceWith;switch(funcName){case"\\over":replaceWith="\\frac";break;case"\\choose":replaceWith="\\binom";break;case"\\atop":replaceWith="\\\\atopfrac";break;case"\\brace":replaceWith="\\\\bracefrac";break;case"\\brack":replaceWith="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:parser.mode,replaceWith,token}}});var stylArray=["display","text","script","scriptscript"],delimFromValue=function(delimString){var delim=null;return delimString.length>0&&(delim=delimString,delim=delim==="."?null:delim),delim};defineFunction({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(_ref3,args){var{parser}=_ref3,numer=args[4],denom=args[5],leftNode=normalizeArgument(args[0]),leftDelim=leftNode.type==="atom"&&leftNode.family==="open"?delimFromValue(leftNode.text):null,rightNode=normalizeArgument(args[1]),rightDelim=rightNode.type==="atom"&&rightNode.family==="close"?delimFromValue(rightNode.text):null,barNode=assertNodeType(args[2],"size"),hasBarLine,barSize=null;barNode.isBlank?hasBarLine=!0:(barSize=barNode.value,hasBarLine=barSize.number>0);var size=null,styl=args[3];if(styl.type==="ordgroup"){if(styl.body.length>0){var textOrd=assertNodeType(styl.body[0],"textord");size=stylArray[Number(textOrd.text)]}}else styl=assertNodeType(styl,"textord"),size=stylArray[Number(styl.text)];return wrapWithStyle({type:"genfrac",mode:parser.mode,numer,denom,continued:!1,hasBarLine,barSize,leftDelim,rightDelim},size)}});defineFunction({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(_ref4,args){var{parser,funcName,token}=_ref4;return{type:"infix",mode:parser.mode,replaceWith:"\\\\abovefrac",size:assertNodeType(args[0],"size").value,token}}});defineFunction({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(_ref5,args)=>{var{parser,funcName}=_ref5,numer=args[0],barSize=assertNodeType(args[1],"infix").size;if(!barSize)throw new Error("\\\\abovefrac expected size, but got "+String(barSize));var denom=args[2],hasBarLine=barSize.number>0;return{type:"genfrac",mode:parser.mode,numer,denom,continued:!1,hasBarLine,barSize,leftDelim:null,rightDelim:null}}});var htmlBuilder$3=(grp,options)=>{var style=options.style,supSubGroup,group;grp.type==="supsub"?(supSubGroup=grp.sup?buildGroup$1(grp.sup,options.havingStyle(style.sup()),options):buildGroup$1(grp.sub,options.havingStyle(style.sub()),options),group=assertNodeType(grp.base,"horizBrace")):group=assertNodeType(grp,"horizBrace");var body=buildGroup$1(group.base,options.havingBaseStyle(Style$1.DISPLAY)),braceBody=stretchySvg(group,options),vlist;if(group.isOver?(vlist=makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:body},{type:"kern",size:.1},{type:"elem",elem:braceBody}]}),vlist.children[0].children[0].children[1].classes.push("svg-align")):(vlist=makeVList({positionType:"bottom",positionData:body.depth+.1+braceBody.height,children:[{type:"elem",elem:braceBody},{type:"kern",size:.1},{type:"elem",elem:body}]}),vlist.children[0].children[0].children[0].classes.push("svg-align")),supSubGroup){var vSpan=makeSpan(["minner",group.isOver?"mover":"munder"],[vlist],options);group.isOver?vlist=makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:vSpan},{type:"kern",size:.2},{type:"elem",elem:supSubGroup}]}):vlist=makeVList({positionType:"bottom",positionData:vSpan.depth+.2+supSubGroup.height+supSubGroup.depth,children:[{type:"elem",elem:supSubGroup},{type:"kern",size:.2},{type:"elem",elem:vSpan}]})}return makeSpan(["minner",group.isOver?"mover":"munder"],[vlist],options)},mathmlBuilder$2=(group,options)=>{var accentNode=stretchyMathML(group.label);return new MathNode(group.isOver?"mover":"munder",[buildGroup2(group.base,options),accentNode])};defineFunction({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],props:{numArgs:1},handler(_ref,args){var{parser,funcName}=_ref;return{type:"horizBrace",mode:parser.mode,label:funcName,isOver:funcName.includes("\\over"),base:args[0]}},htmlBuilder:htmlBuilder$3,mathmlBuilder:mathmlBuilder$2});defineFunction({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(_ref,args)=>{var{parser}=_ref,body=args[1],href=assertNodeType(args[0],"url").url;return parser.settings.isTrusted({command:"\\href",url:href})?{type:"href",mode:parser.mode,href,body:ordargument(body)}:parser.formatUnsupportedCmd("\\href")},htmlBuilder:(group,options)=>{var elements=buildExpression$1(group.body,options,!1);return makeAnchor(group.href,[],elements,options)},mathmlBuilder:(group,options)=>{var math2=buildExpressionRow(group.body,options);return math2 instanceof MathNode||(math2=new MathNode("mrow",[math2])),math2.setAttribute("href",group.href),math2}});defineFunction({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(_ref2,args)=>{var{parser}=_ref2,href=assertNodeType(args[0],"url").url;if(!parser.settings.isTrusted({command:"\\url",url:href}))return parser.formatUnsupportedCmd("\\url");for(var chars=[],i=0;i<href.length;i++){var c=href[i];c==="~"&&(c="\\textasciitilde"),chars.push({type:"textord",mode:"text",text:c})}var body={type:"text",mode:parser.mode,font:"\\texttt",body:chars};return{type:"href",mode:parser.mode,href,body:ordargument(body)}}});defineFunction({type:"hbox",names:["\\hbox"],props:{numArgs:1,argTypes:["text"],allowedInText:!0,primitive:!0},handler(_ref,args){var{parser}=_ref;return{type:"hbox",mode:parser.mode,body:ordargument(args[0])}},htmlBuilder(group,options){var elements=buildExpression$1(group.body,options,!1);return makeFragment(elements)},mathmlBuilder(group,options){return new MathNode("mrow",buildExpression2(group.body,options))}});defineFunction({type:"html",names:["\\htmlClass","\\htmlId","\\htmlStyle","\\htmlData"],props:{numArgs:2,argTypes:["raw","original"],allowedInText:!0},handler:(_ref,args)=>{var{parser,funcName,token}=_ref,value=assertNodeType(args[0],"raw").string,body=args[1];parser.settings.strict&&parser.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var trustContext,attributes={};switch(funcName){case"\\htmlClass":attributes.class=value,trustContext={command:"\\htmlClass",class:value};break;case"\\htmlId":attributes.id=value,trustContext={command:"\\htmlId",id:value};break;case"\\htmlStyle":attributes.style=value,trustContext={command:"\\htmlStyle",style:value};break;case"\\htmlData":{for(var data=value.split(","),i=0;i<data.length;i++){var item=data[i],firstEquals=item.indexOf("=");if(firstEquals<0)throw new ParseError("\\htmlData key/value '"+item+"' missing equals sign");var key=item.slice(0,firstEquals),_value=item.slice(firstEquals+1);attributes["data-"+key.trim()]=_value}trustContext={command:"\\htmlData",attributes};break}default:throw new Error("Unrecognized html command")}return parser.settings.isTrusted(trustContext)?{type:"html",mode:parser.mode,attributes,body:ordargument(body)}:parser.formatUnsupportedCmd(funcName)},htmlBuilder:(group,options)=>{var elements=buildExpression$1(group.body,options,!1),classes=["enclosing"];group.attributes.class&&classes.push(...group.attributes.class.trim().split(/\s+/));var span=makeSpan(classes,elements,options);for(var attr in group.attributes)attr!=="class"&&group.attributes.hasOwnProperty(attr)&&span.setAttribute(attr,group.attributes[attr]);return span},mathmlBuilder:(group,options)=>buildExpressionRow(group.body,options)});defineFunction({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(_ref,args)=>{var{parser}=_ref;return{type:"htmlmathml",mode:parser.mode,html:ordargument(args[0]),mathml:ordargument(args[1])}},htmlBuilder:(group,options)=>{var elements=buildExpression$1(group.html,options,!1);return makeFragment(elements)},mathmlBuilder:(group,options)=>buildExpressionRow(group.mathml,options)});var sizeData=function(str){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(str))return{number:+str,unit:"bp"};var match=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(str);if(!match)throw new ParseError("Invalid size: '"+str+"' in \\includegraphics");var data={number:+(match[1]+match[2]),unit:match[3]};if(!validUnit(data))throw new ParseError("Invalid unit: '"+data.unit+"' in \\includegraphics.");return data};defineFunction({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(_ref,args,optArgs)=>{var{parser}=_ref,width={number:0,unit:"em"},height={number:.9,unit:"em"},totalheight={number:0,unit:"em"},alt="";if(optArgs[0])for(var attributeStr=assertNodeType(optArgs[0],"raw").string,attributes=attributeStr.split(","),i=0;i<attributes.length;i++){var keyVal=attributes[i].split("=");if(keyVal.length===2){var str=keyVal[1].trim();switch(keyVal[0].trim()){case"alt":alt=str;break;case"width":width=sizeData(str);break;case"height":height=sizeData(str);break;case"totalheight":totalheight=sizeData(str);break;default:throw new ParseError("Invalid key: '"+keyVal[0]+"' in \\includegraphics.")}}}var src=assertNodeType(args[0],"url").url;return alt===""&&(alt=src,alt=alt.replace(/^.*[\\/]/,""),alt=alt.substring(0,alt.lastIndexOf("."))),parser.settings.isTrusted({command:"\\includegraphics",url:src})?{type:"includegraphics",mode:parser.mode,alt,width,height,totalheight,src}:parser.formatUnsupportedCmd("\\includegraphics")},htmlBuilder:(group,options)=>{var height=calculateSize(group.height,options),depth=0;group.totalheight.number>0&&(depth=calculateSize(group.totalheight,options)-height);var width=0;group.width.number>0&&(width=calculateSize(group.width,options));var style={height:makeEm(height+depth)};width>0&&(style.width=makeEm(width)),depth>0&&(style.verticalAlign=makeEm(-depth));var node=new Img(group.src,group.alt,style);return node.height=height,node.depth=depth,node},mathmlBuilder:(group,options)=>{var node=new MathNode("mglyph",[]);node.setAttribute("alt",group.alt);var height=calculateSize(group.height,options),depth=0;if(group.totalheight.number>0&&(depth=calculateSize(group.totalheight,options)-height,node.setAttribute("valign",makeEm(-depth))),node.setAttribute("height",makeEm(height+depth)),group.width.number>0){var width=calculateSize(group.width,options);node.setAttribute("width",makeEm(width))}return node.setAttribute("src",group.src),node}});defineFunction({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(_ref,args){var{parser,funcName}=_ref,size=assertNodeType(args[0],"size");if(parser.settings.strict){var mathFunction=funcName[1]==="m",muUnit=size.value.unit==="mu";mathFunction?(muUnit||parser.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+funcName+" supports only mu units, "+("not "+size.value.unit+" units")),parser.mode!=="math"&&parser.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+funcName+" works only in math mode")):muUnit&&parser.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+funcName+" doesn't support mu units")}return{type:"kern",mode:parser.mode,dimension:size.value}},htmlBuilder(group,options){return makeGlue(group.dimension,options)},mathmlBuilder(group,options){var dimension=calculateSize(group.dimension,options);return new SpaceNode(dimension)}});defineFunction({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(_ref,args)=>{var{parser,funcName}=_ref,body=args[0];return{type:"lap",mode:parser.mode,alignment:funcName.slice(5),body}},htmlBuilder:(group,options)=>{var inner2;group.alignment==="clap"?(inner2=makeSpan([],[buildGroup$1(group.body,options)]),inner2=makeSpan(["inner"],[inner2],options)):inner2=makeSpan(["inner"],[buildGroup$1(group.body,options)]);var fix=makeSpan(["fix"],[]),node=makeSpan([group.alignment],[inner2,fix],options),strut=makeSpan(["strut"]);return strut.style.height=makeEm(node.height+node.depth),node.depth&&(strut.style.verticalAlign=makeEm(-node.depth)),node.children.unshift(strut),node=makeSpan(["thinbox"],[node],options),makeSpan(["mord","vbox"],[node],options)},mathmlBuilder:(group,options)=>{var node=new MathNode("mpadded",[buildGroup2(group.body,options)]);if(group.alignment!=="rlap"){var offset=group.alignment==="llap"?"-1":"-0.5";node.setAttribute("lspace",offset+"width")}return node.setAttribute("width","0px"),node}});defineFunction({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(_ref,args){var{funcName,parser}=_ref,outerMode=parser.mode;parser.switchMode("math");var close2=funcName==="\\("?"\\)":"$",body=parser.parseExpression(!1,close2);return parser.expect(close2),parser.switchMode(outerMode),{type:"styling",mode:parser.mode,style:"text",body}}});defineFunction({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(context,args){throw new ParseError("Mismatched "+context.funcName)}});var chooseMathStyle=(group,options)=>{switch(options.style.size){case Style$1.DISPLAY.size:return group.display;case Style$1.TEXT.size:return group.text;case Style$1.SCRIPT.size:return group.script;case Style$1.SCRIPTSCRIPT.size:return group.scriptscript;default:return group.text}};defineFunction({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(_ref,args)=>{var{parser}=_ref;return{type:"mathchoice",mode:parser.mode,display:ordargument(args[0]),text:ordargument(args[1]),script:ordargument(args[2]),scriptscript:ordargument(args[3])}},htmlBuilder:(group,options)=>{var body=chooseMathStyle(group,options),elements=buildExpression$1(body,options,!1);return makeFragment(elements)},mathmlBuilder:(group,options)=>{var body=chooseMathStyle(group,options);return buildExpressionRow(body,options)}});var assembleSupSub=(base,supGroup,subGroup,options,style,slant,baseShift)=>{base=makeSpan([],[base]);var subIsSingleCharacter=subGroup&&isCharacterBox(subGroup),sub2,sup2;if(supGroup){var elem=buildGroup$1(supGroup,options.havingStyle(style.sup()),options);sup2={elem,kern:Math.max(options.fontMetrics().bigOpSpacing1,options.fontMetrics().bigOpSpacing3-elem.depth)}}if(subGroup){var _elem=buildGroup$1(subGroup,options.havingStyle(style.sub()),options);sub2={elem:_elem,kern:Math.max(options.fontMetrics().bigOpSpacing2,options.fontMetrics().bigOpSpacing4-_elem.height)}}var finalGroup;if(sup2&&sub2){var bottom=options.fontMetrics().bigOpSpacing5+sub2.elem.height+sub2.elem.depth+sub2.kern+base.depth+baseShift;finalGroup=makeVList({positionType:"bottom",positionData:bottom,children:[{type:"kern",size:options.fontMetrics().bigOpSpacing5},{type:"elem",elem:sub2.elem,marginLeft:makeEm(-slant)},{type:"kern",size:sub2.kern},{type:"elem",elem:base},{type:"kern",size:sup2.kern},{type:"elem",elem:sup2.elem,marginLeft:makeEm(slant)},{type:"kern",size:options.fontMetrics().bigOpSpacing5}]})}else if(sub2){var top=base.height-baseShift;finalGroup=makeVList({positionType:"top",positionData:top,children:[{type:"kern",size:options.fontMetrics().bigOpSpacing5},{type:"elem",elem:sub2.elem,marginLeft:makeEm(-slant)},{type:"kern",size:sub2.kern},{type:"elem",elem:base}]})}else if(sup2){var _bottom=base.depth+baseShift;finalGroup=makeVList({positionType:"bottom",positionData:_bottom,children:[{type:"elem",elem:base},{type:"kern",size:sup2.kern},{type:"elem",elem:sup2.elem,marginLeft:makeEm(slant)},{type:"kern",size:options.fontMetrics().bigOpSpacing5}]})}else return base;var parts=[finalGroup];if(sub2&&slant!==0&&!subIsSingleCharacter){var spacer=makeSpan(["mspace"],[],options);spacer.style.marginRight=makeEm(slant),parts.unshift(spacer)}return makeSpan(["mop","op-limits"],parts,options)},noSuccessor=new Set(["\\smallint"]),htmlBuilder$2=(grp,options)=>{var supGroup,subGroup,hasLimits=!1,group;grp.type==="supsub"?(supGroup=grp.sup,subGroup=grp.sub,group=assertNodeType(grp.base,"op"),hasLimits=!0):group=assertNodeType(grp,"op");var style=options.style,large=!1;style.size===Style$1.DISPLAY.size&&group.symbol&&!noSuccessor.has(group.name)&&(large=!0);var base;if(group.symbol){var fontName=large?"Size2-Regular":"Size1-Regular",stash="";if((group.name==="\\oiint"||group.name==="\\oiiint")&&(stash=group.name.slice(1),group.name=stash==="oiint"?"\\iint":"\\iiint"),base=makeSymbol(group.name,fontName,"math",options,["mop","op-symbol",large?"large-op":"small-op"]),stash.length>0){var italic=base.italic,oval=staticSvg(stash+"Size"+(large?"2":"1"),options);base=makeVList({positionType:"individualShift",children:[{type:"elem",elem:base,shift:0},{type:"elem",elem:oval,shift:large?.08:0}]}),group.name="\\"+stash,base.classes.unshift("mop"),base.italic=italic}}else if(group.body){var inner2=buildExpression$1(group.body,options,!0);inner2.length===1&&inner2[0]instanceof SymbolNode?(base=inner2[0],base.classes[0]="mop"):base=makeSpan(["mop"],inner2,options)}else{for(var output=[],i=1;i<group.name.length;i++)output.push(mathsym(group.name[i],group.mode,options));base=makeSpan(["mop"],output,options)}var baseShift=0,slant=0;return(base instanceof SymbolNode||group.name==="\\oiint"||group.name==="\\oiiint")&&!group.suppressBaseShift&&(baseShift=(base.height-base.depth)/2-options.fontMetrics().axisHeight,slant=base.italic||0),hasLimits?assembleSupSub(base,supGroup,subGroup,options,style,slant,baseShift):(baseShift&&(base.style.position="relative",base.style.top=makeEm(baseShift)),base)},mathmlBuilder$1=(group,options)=>{var node;if(group.symbol)node=new MathNode("mo",[makeText(group.name,group.mode)]),noSuccessor.has(group.name)&&node.setAttribute("largeop","false");else if(group.body)node=new MathNode("mo",buildExpression2(group.body,options));else{node=new MathNode("mi",[new TextNode(group.name.slice(1))]);var operator=new MathNode("mo",[makeText("⁡","text")]);group.parentIsSupSub?node=new MathNode("mrow",[node,operator]):node=newDocumentFragment([node,operator])}return node},singleCharBigOps={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};defineFunction({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(_ref,args)=>{var{parser,funcName}=_ref,fName=funcName;return fName.length===1&&(fName=singleCharBigOps[fName]),{type:"op",mode:parser.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:fName}},htmlBuilder:htmlBuilder$2,mathmlBuilder:mathmlBuilder$1});defineFunction({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(_ref2,args)=>{var{parser}=_ref2,body=args[0];return{type:"op",mode:parser.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:ordargument(body)}},htmlBuilder:htmlBuilder$2,mathmlBuilder:mathmlBuilder$1});var singleCharIntegrals={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};defineFunction({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(_ref3){var{parser,funcName}=_ref3;return{type:"op",mode:parser.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:funcName}},htmlBuilder:htmlBuilder$2,mathmlBuilder:mathmlBuilder$1});defineFunction({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(_ref4){var{parser,funcName}=_ref4;return{type:"op",mode:parser.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:funcName}},htmlBuilder:htmlBuilder$2,mathmlBuilder:mathmlBuilder$1});defineFunction({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0,allowedInArgument:!0},handler(_ref5){var{parser,funcName}=_ref5,fName=funcName;return fName.length===1&&(fName=singleCharIntegrals[fName]),{type:"op",mode:parser.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:fName}},htmlBuilder:htmlBuilder$2,mathmlBuilder:mathmlBuilder$1});var htmlBuilder$1=(grp,options)=>{var supGroup,subGroup,hasLimits=!1,group;grp.type==="supsub"?(supGroup=grp.sup,subGroup=grp.sub,group=assertNodeType(grp.base,"operatorname"),hasLimits=!0):group=assertNodeType(grp,"operatorname");var base;if(group.body.length>0){for(var body=group.body.map(child2=>{var childText="text"in child2?child2.text:void 0;return typeof childText=="string"?{type:"textord",mode:child2.mode,text:childText}:child2}),expression=buildExpression$1(body,options.withFont("mathrm"),!0),i=0;i<expression.length;i++){var child=expression[i];child instanceof SymbolNode&&(child.text=child.text.replace(/\u2212/,"-").replace(/\u2217/,"*"))}base=makeSpan(["mop"],expression,options)}else base=makeSpan(["mop"],[],options);return hasLimits?assembleSupSub(base,supGroup,subGroup,options,options.style,0,0):base},mathmlBuilder2=(group,options)=>{for(var expression=buildExpression2(group.body,options.withFont("mathrm")),isAllString=!0,i=0;i<expression.length;i++){var node=expression[i];if(!(node instanceof SpaceNode))if(node instanceof MathNode)switch(node.type){case"mi":case"mn":case"mspace":case"mtext":break;case"mo":{var child=node.children[0];node.children.length===1&&child instanceof TextNode?child.text=child.text.replace(/\u2212/,"-").replace(/\u2217/,"*"):isAllString=!1;break}default:isAllString=!1}else isAllString=!1}if(isAllString){var word=expression.map(node2=>node2.toText()).join("");expression=[new TextNode(word)]}var identifier=new MathNode("mi",expression);identifier.setAttribute("mathvariant","normal");var operator=new MathNode("mo",[makeText("⁡","text")]);return group.parentIsSupSub?new MathNode("mrow",[identifier,operator]):newDocumentFragment([identifier,operator])};defineFunction({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(_ref,args)=>{var{parser,funcName}=_ref,body=args[0];return{type:"operatorname",mode:parser.mode,body:ordargument(body),alwaysHandleSupSub:funcName==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:htmlBuilder$1,mathmlBuilder:mathmlBuilder2});defineMacro("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");defineFunctionBuilders({type:"ordgroup",htmlBuilder(group,options){return group.semisimple?makeFragment(buildExpression$1(group.body,options,!1)):makeSpan(["mord"],buildExpression$1(group.body,options,!0),options)},mathmlBuilder(group,options){return buildExpressionRow(group.body,options,!0)}});defineFunction({type:"overline",names:["\\overline"],props:{numArgs:1},handler(_ref,args){var{parser}=_ref,body=args[0];return{type:"overline",mode:parser.mode,body}},htmlBuilder(group,options){var innerGroup=buildGroup$1(group.body,options.havingCrampedStyle()),line=makeLineSpan("overline-line",options),defaultRuleThickness=options.fontMetrics().defaultRuleThickness,vlist=makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:innerGroup},{type:"kern",size:3*defaultRuleThickness},{type:"elem",elem:line},{type:"kern",size:defaultRuleThickness}]});return makeSpan(["mord","overline"],[vlist],options)},mathmlBuilder(group,options){var operator=new MathNode("mo",[new TextNode("‾")]);operator.setAttribute("stretchy","true");var node=new MathNode("mover",[buildGroup2(group.body,options),operator]);return node.setAttribute("accent","true"),node}});defineFunction({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(_ref,args)=>{var{parser}=_ref,body=args[0];return{type:"phantom",mode:parser.mode,body:ordargument(body)}},htmlBuilder:(group,options)=>{var elements=buildExpression$1(group.body,options.withPhantom(),!1);return makeFragment(elements)},mathmlBuilder:(group,options)=>{var inner2=buildExpression2(group.body,options);return new MathNode("mphantom",inner2)}});defineMacro("\\hphantom","\\smash{\\phantom{#1}}");defineFunction({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(_ref2,args)=>{var{parser}=_ref2,body=args[0];return{type:"vphantom",mode:parser.mode,body}},htmlBuilder:(group,options)=>{var inner2=makeSpan(["inner"],[buildGroup$1(group.body,options.withPhantom())]),fix=makeSpan(["fix"],[]);return makeSpan(["mord","rlap"],[inner2,fix],options)},mathmlBuilder:(group,options)=>{var inner2=buildExpression2(ordargument(group.body),options),phantom=new MathNode("mphantom",inner2),node=new MathNode("mpadded",[phantom]);return node.setAttribute("width","0px"),node}});defineFunction({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(_ref,args){var{parser}=_ref,amount=assertNodeType(args[0],"size").value,body=args[1];return{type:"raisebox",mode:parser.mode,dy:amount,body}},htmlBuilder(group,options){var body=buildGroup$1(group.body,options),dy=calculateSize(group.dy,options);return makeVList({positionType:"shift",positionData:-dy,children:[{type:"elem",elem:body}]})},mathmlBuilder(group,options){var node=new MathNode("mpadded",[buildGroup2(group.body,options)]),dy=group.dy.number+group.dy.unit;return node.setAttribute("voffset",dy),node}});defineFunction({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(_ref){var{parser}=_ref;return{type:"internal",mode:parser.mode}}});defineFunction({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(_ref,args,optArgs){var{parser}=_ref,shift=optArgs[0],width=assertNodeType(args[0],"size"),height=assertNodeType(args[1],"size");return{type:"rule",mode:parser.mode,shift:shift&&assertNodeType(shift,"size").value,width:width.value,height:height.value}},htmlBuilder(group,options){var rule=makeSpan(["mord","rule"],[],options),width=calculateSize(group.width,options),height=calculateSize(group.height,options),shift=group.shift?calculateSize(group.shift,options):0;return rule.style.borderRightWidth=makeEm(width),rule.style.borderTopWidth=makeEm(height),rule.style.bottom=makeEm(shift),rule.width=width,rule.height=height+shift,rule.depth=-shift,rule.maxFontSize=height*1.125*options.sizeMultiplier,rule},mathmlBuilder(group,options){var width=calculateSize(group.width,options),height=calculateSize(group.height,options),shift=group.shift?calculateSize(group.shift,options):0,color=options.color&&options.getColor()||"black",rule=new MathNode("mspace");rule.setAttribute("mathbackground",color),rule.setAttribute("width",makeEm(width)),rule.setAttribute("height",makeEm(height));var wrapper=new MathNode("mpadded",[rule]);return shift>=0?wrapper.setAttribute("height",makeEm(shift)):(wrapper.setAttribute("height",makeEm(shift)),wrapper.setAttribute("depth",makeEm(-shift))),wrapper.setAttribute("voffset",makeEm(shift)),wrapper}});function sizingGroup(value,options,baseOptions){for(var inner2=buildExpression$1(value,options,!1),multiplier=options.sizeMultiplier/baseOptions.sizeMultiplier,i=0;i<inner2.length;i++){var pos=inner2[i].classes.indexOf("sizing");pos<0?Array.prototype.push.apply(inner2[i].classes,options.sizingClasses(baseOptions)):inner2[i].classes[pos+1]==="reset-size"+options.size&&(inner2[i].classes[pos+1]="reset-size"+baseOptions.size),inner2[i].height*=multiplier,inner2[i].depth*=multiplier}return makeFragment(inner2)}var sizeFuncs=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],htmlBuilder2=(group,options)=>{var newOptions=options.havingSize(group.size);return sizingGroup(group.body,newOptions,options)};defineFunction({type:"sizing",names:sizeFuncs,props:{numArgs:0,allowedInText:!0},handler:(_ref,args)=>{var{breakOnTokenText,funcName,parser}=_ref,body=parser.parseExpression(!1,breakOnTokenText);return{type:"sizing",mode:parser.mode,size:sizeFuncs.indexOf(funcName)+1,body}},htmlBuilder:htmlBuilder2,mathmlBuilder:(group,options)=>{var newOptions=options.havingSize(group.size),inner2=buildExpression2(group.body,newOptions),node=new MathNode("mstyle",inner2);return node.setAttribute("mathsize",makeEm(newOptions.sizeMultiplier)),node}});defineFunction({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(_ref,args,optArgs)=>{var{parser}=_ref,smashHeight=!1,smashDepth=!1,tbArg=optArgs[0]&&assertNodeType(optArgs[0],"ordgroup");if(tbArg)for(var letter="",i=0;i<tbArg.body.length;++i){var node=tbArg.body[i];if(letter=assertSymbolNodeType(node).text,letter==="t")smashHeight=!0;else if(letter==="b")smashDepth=!0;else{smashHeight=!1,smashDepth=!1;break}}else smashHeight=!0,smashDepth=!0;var body=args[0];return{type:"smash",mode:parser.mode,body,smashHeight,smashDepth}},htmlBuilder:(group,options)=>{var node=makeSpan([],[buildGroup$1(group.body,options)]);if(!group.smashHeight&&!group.smashDepth)return node;if(group.smashHeight&&(node.height=0),group.smashDepth&&(node.depth=0),group.smashHeight&&group.smashDepth)return makeSpan(["mord","smash"],[node],options);if(node.children)for(var i=0;i<node.children.length;i++)group.smashHeight&&(node.children[i].height=0),group.smashDepth&&(node.children[i].depth=0);var smashedNode=makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:node}]});return makeSpan(["mord"],[smashedNode],options)},mathmlBuilder:(group,options)=>{var node=new MathNode("mpadded",[buildGroup2(group.body,options)]);return group.smashHeight&&node.setAttribute("height","0px"),group.smashDepth&&node.setAttribute("depth","0px"),node}});defineFunction({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(_ref,args,optArgs){var{parser}=_ref,index=optArgs[0],body=args[0];return{type:"sqrt",mode:parser.mode,body,index}},htmlBuilder(group,options){var inner2=buildGroup$1(group.body,options.havingCrampedStyle());inner2.height===0&&(inner2.height=options.fontMetrics().xHeight),inner2=wrapFragment(inner2,options);var metrics=options.fontMetrics(),theta=metrics.defaultRuleThickness,phi=theta;options.style.id<Style$1.TEXT.id&&(phi=options.fontMetrics().xHeight);var lineClearance=theta+phi/4,minDelimiterHeight=inner2.height+inner2.depth+lineClearance+theta,{span:img,ruleWidth,advanceWidth}=makeSqrtImage(minDelimiterHeight,options),delimDepth=img.height-ruleWidth;delimDepth>inner2.height+inner2.depth+lineClearance&&(lineClearance=(lineClearance+delimDepth-inner2.height-inner2.depth)/2);var imgShift=img.height-inner2.height-lineClearance-ruleWidth;inner2.style.paddingLeft=makeEm(advanceWidth);var body=makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:inner2,wrapperClasses:["svg-align"]},{type:"kern",size:-(inner2.height+imgShift)},{type:"elem",elem:img},{type:"kern",size:ruleWidth}]});if(group.index){var newOptions=options.havingStyle(Style$1.SCRIPTSCRIPT),rootm=buildGroup$1(group.index,newOptions,options),toShift=.6*(body.height-body.depth),rootVList=makeVList({positionType:"shift",positionData:-toShift,children:[{type:"elem",elem:rootm}]}),rootVListWrap=makeSpan(["root"],[rootVList]);return makeSpan(["mord","sqrt"],[rootVListWrap,body],options)}else return makeSpan(["mord","sqrt"],[body],options)},mathmlBuilder(group,options){var{body,index}=group;return index?new MathNode("mroot",[buildGroup2(body,options),buildGroup2(index,options)]):new MathNode("msqrt",[buildGroup2(body,options)])}});var styleMap={display:Style$1.DISPLAY,text:Style$1.TEXT,script:Style$1.SCRIPT,scriptscript:Style$1.SCRIPTSCRIPT};defineFunction({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(_ref,args){var{breakOnTokenText,funcName,parser}=_ref,body=parser.parseExpression(!0,breakOnTokenText),style=funcName.slice(1,funcName.length-5);return{type:"styling",mode:parser.mode,style,body}},htmlBuilder(group,options){var newStyle=styleMap[group.style],newOptions=options.havingStyle(newStyle).withFont("");return sizingGroup(group.body,newOptions,options)},mathmlBuilder(group,options){var newStyle=styleMap[group.style],newOptions=options.havingStyle(newStyle),inner2=buildExpression2(group.body,newOptions),node=new MathNode("mstyle",inner2),styleAttributes={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},attr=styleAttributes[group.style];return node.setAttribute("scriptlevel",attr[0]),node.setAttribute("displaystyle",attr[1]),node}});var htmlBuilderDelegate=function(group,options){var base=group.base;if(base)if(base.type==="op"){var delegate=base.limits&&(options.style.size===Style$1.DISPLAY.size||base.alwaysHandleSupSub);return delegate?htmlBuilder$2:null}else if(base.type==="operatorname"){var _delegate=base.alwaysHandleSupSub&&(options.style.size===Style$1.DISPLAY.size||base.limits);return _delegate?htmlBuilder$1:null}else{if(base.type==="accent")return isCharacterBox(base.base)?htmlBuilder$a:null;if(base.type==="horizBrace"){var isSup=!group.sub;return isSup===base.isOver?htmlBuilder$3:null}else return null}else return null};defineFunctionBuilders({type:"supsub",htmlBuilder(group,options){var builderDelegate=htmlBuilderDelegate(group,options);if(builderDelegate)return builderDelegate(group,options);var{base:valueBase,sup:valueSup,sub:valueSub}=group,base=buildGroup$1(valueBase,options),supm,subm,metrics=options.fontMetrics(),supShift=0,subShift=0,isCharBox=valueBase&&isCharacterBox(valueBase);if(valueSup){var newOptions=options.havingStyle(options.style.sup());supm=buildGroup$1(valueSup,newOptions,options),isCharBox||(supShift=base.height-newOptions.fontMetrics().supDrop*newOptions.sizeMultiplier/options.sizeMultiplier)}if(valueSub){var _newOptions=options.havingStyle(options.style.sub());subm=buildGroup$1(valueSub,_newOptions,options),isCharBox||(subShift=base.depth+_newOptions.fontMetrics().subDrop*_newOptions.sizeMultiplier/options.sizeMultiplier)}var minSupShift;options.style===Style$1.DISPLAY?minSupShift=metrics.sup1:options.style.cramped?minSupShift=metrics.sup3:minSupShift=metrics.sup2;var multiplier=options.sizeMultiplier,marginRight=makeEm(.5/metrics.ptPerEm/multiplier),marginLeft=null;if(subm){var isOiint=group.base&&group.base.type==="op"&&group.base.name&&(group.base.name==="\\oiint"||group.base.name==="\\oiiint");(base instanceof SymbolNode||isOiint)&&(marginLeft=makeEm(-base.italic))}var supsub;if(supm&&subm){supShift=Math.max(supShift,minSupShift,supm.depth+.25*metrics.xHeight),subShift=Math.max(subShift,metrics.sub2);var ruleWidth=metrics.defaultRuleThickness,maxWidth=4*ruleWidth;if(supShift-supm.depth-(subm.height-subShift)<maxWidth){subShift=maxWidth-(supShift-supm.depth)+subm.height;var psi=.8*metrics.xHeight-(supShift-supm.depth);psi>0&&(supShift+=psi,subShift-=psi)}var vlistElem=[{type:"elem",elem:subm,shift:subShift,marginRight,marginLeft},{type:"elem",elem:supm,shift:-supShift,marginRight}];supsub=makeVList({positionType:"individualShift",children:vlistElem})}else if(subm){subShift=Math.max(subShift,metrics.sub1,subm.height-.8*metrics.xHeight);var _vlistElem=[{type:"elem",elem:subm,marginLeft,marginRight}];supsub=makeVList({positionType:"shift",positionData:subShift,children:_vlistElem})}else if(supm)supShift=Math.max(supShift,minSupShift,supm.depth+.25*metrics.xHeight),supsub=makeVList({positionType:"shift",positionData:-supShift,children:[{type:"elem",elem:supm,marginRight}]});else throw new Error("supsub must have either sup or sub.");var mclass=getTypeOfDomTree(base,"right")||"mord";return makeSpan([mclass],[base,makeSpan(["msupsub"],[supsub])],options)},mathmlBuilder(group,options){var isBrace=!1,isOver,isSup;group.base&&group.base.type==="horizBrace"&&(isSup=!!group.sup,isSup===group.base.isOver&&(isBrace=!0,isOver=group.base.isOver)),group.base&&(group.base.type==="op"||group.base.type==="operatorname")&&(group.base.parentIsSupSub=!0);var children=[buildGroup2(group.base,options)];group.sub&&children.push(buildGroup2(group.sub,options)),group.sup&&children.push(buildGroup2(group.sup,options));var nodeType;if(isBrace)nodeType=isOver?"mover":"munder";else if(group.sub)if(group.sup){var _base2=group.base;_base2&&_base2.type==="op"&&_base2.limits&&options.style===Style$1.DISPLAY||_base2&&_base2.type==="operatorname"&&_base2.alwaysHandleSupSub&&(options.style===Style$1.DISPLAY||_base2.limits)?nodeType="munderover":nodeType="msubsup"}else{var _base=group.base;_base&&_base.type==="op"&&_base.limits&&(options.style===Style$1.DISPLAY||_base.alwaysHandleSupSub)||_base&&_base.type==="operatorname"&&_base.alwaysHandleSupSub&&(_base.limits||options.style===Style$1.DISPLAY)?nodeType="munder":nodeType="msub"}else{var base=group.base;base&&base.type==="op"&&base.limits&&(options.style===Style$1.DISPLAY||base.alwaysHandleSupSub)||base&&base.type==="operatorname"&&base.alwaysHandleSupSub&&(base.limits||options.style===Style$1.DISPLAY)?nodeType="mover":nodeType="msup"}return new MathNode(nodeType,children)}});defineFunctionBuilders({type:"atom",htmlBuilder(group,options){return mathsym(group.text,group.mode,options,["m"+group.family])},mathmlBuilder(group,options){var node=new MathNode("mo",[makeText(group.text,group.mode)]);if(group.family==="bin"){var variant=getVariant(group,options);variant==="bold-italic"&&node.setAttribute("mathvariant",variant)}else group.family==="punct"?node.setAttribute("separator","true"):(group.family==="open"||group.family==="close")&&node.setAttribute("stretchy","false");return node}});var defaultVariant={mi:"italic",mn:"normal",mtext:"normal"};defineFunctionBuilders({type:"mathord",htmlBuilder(group,options){return makeOrd(group,options,"mathord")},mathmlBuilder(group,options){var node=new MathNode("mi",[makeText(group.text,group.mode,options)]),variant=getVariant(group,options)||"italic";return variant!==defaultVariant[node.type]&&node.setAttribute("mathvariant",variant),node}});defineFunctionBuilders({type:"textord",htmlBuilder(group,options){return makeOrd(group,options,"textord")},mathmlBuilder(group,options){var text2=makeText(group.text,group.mode,options),variant=getVariant(group,options)||"normal",node;return group.mode==="text"?node=new MathNode("mtext",[text2]):/[0-9]/.test(group.text)?node=new MathNode("mn",[text2]):group.text==="\\prime"?node=new MathNode("mo",[text2]):node=new MathNode("mi",[text2]),variant!==defaultVariant[node.type]&&node.setAttribute("mathvariant",variant),node}});var cssSpace={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},regularSpace={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};defineFunctionBuilders({type:"spacing",htmlBuilder(group,options){if(regularSpace.hasOwnProperty(group.text)){var className=regularSpace[group.text].className||"";if(group.mode==="text"){var ord=makeOrd(group,options,"textord");return ord.classes.push(className),ord}else return makeSpan(["mspace",className],[mathsym(group.text,group.mode,options)],options)}else{if(cssSpace.hasOwnProperty(group.text))return makeSpan(["mspace",cssSpace[group.text]],[],options);throw new ParseError('Unknown type of space "'+group.text+'"')}},mathmlBuilder(group,options){var node;if(regularSpace.hasOwnProperty(group.text))node=new MathNode("mtext",[new TextNode(" ")]);else{if(cssSpace.hasOwnProperty(group.text))return new MathNode("mspace");throw new ParseError('Unknown type of space "'+group.text+'"')}return node}});var pad=()=>{var padNode=new MathNode("mtd",[]);return padNode.setAttribute("width","50%"),padNode};defineFunctionBuilders({type:"tag",mathmlBuilder(group,options){var table=new MathNode("mtable",[new MathNode("mtr",[pad(),new MathNode("mtd",[buildExpressionRow(group.body,options)]),pad(),new MathNode("mtd",[buildExpressionRow(group.tag,options)])])]);return table.setAttribute("width","100%"),table}});var textFontFamilies={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},textFontWeights={"\\textbf":"textbf","\\textmd":"textmd"},textFontShapes={"\\textit":"textit","\\textup":"textup"},optionsWithFont=(group,options)=>{var font=group.font;if(font){if(textFontFamilies[font])return options.withTextFontFamily(textFontFamilies[font]);if(textFontWeights[font])return options.withTextFontWeight(textFontWeights[font]);if(font==="\\emph")return options.fontShape==="textit"?options.withTextFontShape("textup"):options.withTextFontShape("textit")}else return options;return options.withTextFontShape(textFontShapes[font])};defineFunction({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(_ref,args){var{parser,funcName}=_ref,body=args[0];return{type:"text",mode:parser.mode,body:ordargument(body),font:funcName}},htmlBuilder(group,options){var newOptions=optionsWithFont(group,options),inner2=buildExpression$1(group.body,newOptions,!0);return makeSpan(["mord","text"],inner2,newOptions)},mathmlBuilder(group,options){var newOptions=optionsWithFont(group,options);return buildExpressionRow(group.body,newOptions)}});defineFunction({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(_ref,args){var{parser}=_ref;return{type:"underline",mode:parser.mode,body:args[0]}},htmlBuilder(group,options){var innerGroup=buildGroup$1(group.body,options),line=makeLineSpan("underline-line",options),defaultRuleThickness=options.fontMetrics().defaultRuleThickness,vlist=makeVList({positionType:"top",positionData:innerGroup.height,children:[{type:"kern",size:defaultRuleThickness},{type:"elem",elem:line},{type:"kern",size:3*defaultRuleThickness},{type:"elem",elem:innerGroup}]});return makeSpan(["mord","underline"],[vlist],options)},mathmlBuilder(group,options){var operator=new MathNode("mo",[new TextNode("‾")]);operator.setAttribute("stretchy","true");var node=new MathNode("munder",[buildGroup2(group.body,options),operator]);return node.setAttribute("accentunder","true"),node}});defineFunction({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(_ref,args){var{parser}=_ref;return{type:"vcenter",mode:parser.mode,body:args[0]}},htmlBuilder(group,options){var body=buildGroup$1(group.body,options),axisHeight=options.fontMetrics().axisHeight,dy=.5*(body.height-axisHeight-(body.depth+axisHeight));return makeVList({positionType:"shift",positionData:dy,children:[{type:"elem",elem:body}]})},mathmlBuilder(group,options){var mpadded=new MathNode("mpadded",[buildGroup2(group.body,options)],["vcenter"]);return new MathNode("mrow",[mpadded])}});defineFunction({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(context,args,optArgs){throw new ParseError("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(group,options){for(var text2=makeVerb(group),body=[],newOptions=options.havingStyle(options.style.text()),i=0;i<text2.length;i++){var c=text2[i];c==="~"&&(c="\\textasciitilde"),body.push(makeSymbol(c,"Typewriter-Regular",group.mode,newOptions,["mord","texttt"]))}return makeSpan(["mord","text"].concat(newOptions.sizingClasses(options)),tryCombineChars(body),newOptions)},mathmlBuilder(group,options){var text2=new TextNode(makeVerb(group)),node=new MathNode("mtext",[text2]);return node.setAttribute("mathvariant","monospace"),node}});var makeVerb=group=>group.body.replace(/ /g,group.star?"␣":" "),functions=_functions,spaceRegexString=`[ \r
253
+ ]`,controlWordRegexString="\\\\[a-zA-Z@]+",controlSymbolRegexString="\\\\[^\uD800-\uDFFF]",controlWordWhitespaceRegexString="("+controlWordRegexString+")"+spaceRegexString+"*",controlSpaceRegexString=`\\\\(
254
+ |[ \r ]+
255
+ ?)[ \r ]*`,combiningDiacriticalMarkString="[̀-ͯ]",combiningDiacriticalMarksEndRegex=new RegExp(combiningDiacriticalMarkString+"+$"),tokenRegexString="("+spaceRegexString+"+)|"+(controlSpaceRegexString+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(combiningDiacriticalMarkString+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(combiningDiacriticalMarkString+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+controlWordWhitespaceRegexString)+("|"+controlSymbolRegexString+")");class Lexer{constructor(input,settings){this.input=input,this.settings=settings,this.tokenRegex=new RegExp(tokenRegexString,"g"),this.catcodes={"%":14,"~":13}}setCatcode(char,code){this.catcodes[char]=code}lex(){var input=this.input,pos=this.tokenRegex.lastIndex;if(pos===input.length)return new Token("EOF",new SourceLocation(this,pos,pos));var match=this.tokenRegex.exec(input);if(match===null||match.index!==pos)throw new ParseError("Unexpected character: '"+input[pos]+"'",new Token(input[pos],new SourceLocation(this,pos,pos+1)));var text2=match[6]||match[3]||(match[2]?"\\ ":" ");if(this.catcodes[text2]===14){var nlIndex=input.indexOf(`
256
+ `,this.tokenRegex.lastIndex);return nlIndex===-1?(this.tokenRegex.lastIndex=input.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=nlIndex+1,this.lex()}return new Token(text2,new SourceLocation(this,pos,this.tokenRegex.lastIndex))}}class Namespace{constructor(builtins,globalMacros){builtins===void 0&&(builtins={}),globalMacros===void 0&&(globalMacros={}),this.current=globalMacros,this.builtins=builtins,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new ParseError("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var undefs=this.undefStack.pop();for(var undef in undefs)undefs.hasOwnProperty(undef)&&(undefs[undef]==null?delete this.current[undef]:this.current[undef]=undefs[undef])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(name){return this.current.hasOwnProperty(name)||this.builtins.hasOwnProperty(name)}get(name){return this.current.hasOwnProperty(name)?this.current[name]:this.builtins[name]}set(name,value,global){if(global===void 0&&(global=!1),global){for(var i=0;i<this.undefStack.length;i++)delete this.undefStack[i][name];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][name]=value)}else{var top=this.undefStack[this.undefStack.length-1];top&&!top.hasOwnProperty(name)&&(top[name]=this.current[name])}value==null?delete this.current[name]:this.current[name]=value}}var macros=_macros;defineMacro("\\noexpand",function(context){var t=context.popToken();return context.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}});defineMacro("\\expandafter",function(context){var t=context.popToken();return context.expandOnce(!0),{tokens:[t],numArgs:0}});defineMacro("\\@firstoftwo",function(context){var args=context.consumeArgs(2);return{tokens:args[0],numArgs:0}});defineMacro("\\@secondoftwo",function(context){var args=context.consumeArgs(2);return{tokens:args[1],numArgs:0}});defineMacro("\\@ifnextchar",function(context){var args=context.consumeArgs(3);context.consumeSpaces();var nextToken=context.future();return args[0].length===1&&args[0][0].text===nextToken.text?{tokens:args[1],numArgs:0}:{tokens:args[2],numArgs:0}});defineMacro("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");defineMacro("\\TextOrMath",function(context){var args=context.consumeArgs(2);return context.mode==="text"?{tokens:args[0],numArgs:0}:{tokens:args[1],numArgs:0}});var digitToNumber={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};defineMacro("\\char",function(context){var token=context.popToken(),base,number=0;if(token.text==="'")base=8,token=context.popToken();else if(token.text==='"')base=16,token=context.popToken();else if(token.text==="`")if(token=context.popToken(),token.text[0]==="\\")number=token.text.charCodeAt(1);else{if(token.text==="EOF")throw new ParseError("\\char` missing argument");number=token.text.charCodeAt(0)}else base=10;if(base){if(number=digitToNumber[token.text],number==null||number>=base)throw new ParseError("Invalid base-"+base+" digit "+token.text);for(var digit;(digit=digitToNumber[context.future().text])!=null&&digit<base;)number*=base,number+=digit,context.popToken()}return"\\@char{"+number+"}"});var newcommand=(context,existsOK,nonexistsOK,skipIfExists)=>{var arg=context.consumeArg().tokens;if(arg.length!==1)throw new ParseError("\\newcommand's first argument must be a macro name");var name=arg[0].text,exists=context.isDefined(name);if(exists&&!existsOK)throw new ParseError("\\newcommand{"+name+"} attempting to redefine "+(name+"; use \\renewcommand"));if(!exists&&!nonexistsOK)throw new ParseError("\\renewcommand{"+name+"} when command "+name+" does not yet exist; use \\newcommand");var numArgs=0;if(arg=context.consumeArg().tokens,arg.length===1&&arg[0].text==="["){for(var argText="",token=context.expandNextToken();token.text!=="]"&&token.text!=="EOF";)argText+=token.text,token=context.expandNextToken();if(!argText.match(/^\s*[0-9]+\s*$/))throw new ParseError("Invalid number of arguments: "+argText);numArgs=parseInt(argText),arg=context.consumeArg().tokens}return exists&&skipIfExists||context.macros.set(name,{tokens:arg,numArgs}),""};defineMacro("\\newcommand",context=>newcommand(context,!1,!0,!1));defineMacro("\\renewcommand",context=>newcommand(context,!0,!1,!1));defineMacro("\\providecommand",context=>newcommand(context,!0,!0,!0));defineMacro("\\message",context=>{var arg=context.consumeArgs(1)[0];return console.log(arg.reverse().map(token=>token.text).join("")),""});defineMacro("\\errmessage",context=>{var arg=context.consumeArgs(1)[0];return console.error(arg.reverse().map(token=>token.text).join("")),""});defineMacro("\\show",context=>{var tok=context.popToken(),name=tok.text;return console.log(tok,context.macros.get(name),functions[name],symbols.math[name],symbols.text[name]),""});defineMacro("\\bgroup","{");defineMacro("\\egroup","}");defineMacro("~","\\nobreakspace");defineMacro("\\lq","`");defineMacro("\\rq","'");defineMacro("\\aa","\\r a");defineMacro("\\AA","\\r A");defineMacro("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}");defineMacro("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");defineMacro("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}");defineMacro("ℬ","\\mathscr{B}");defineMacro("ℰ","\\mathscr{E}");defineMacro("ℱ","\\mathscr{F}");defineMacro("ℋ","\\mathscr{H}");defineMacro("ℐ","\\mathscr{I}");defineMacro("ℒ","\\mathscr{L}");defineMacro("ℳ","\\mathscr{M}");defineMacro("ℛ","\\mathscr{R}");defineMacro("ℭ","\\mathfrak{C}");defineMacro("ℌ","\\mathfrak{H}");defineMacro("ℨ","\\mathfrak{Z}");defineMacro("\\Bbbk","\\Bbb{k}");defineMacro("\\llap","\\mathllap{\\textrm{#1}}");defineMacro("\\rlap","\\mathrlap{\\textrm{#1}}");defineMacro("\\clap","\\mathclap{\\textrm{#1}}");defineMacro("\\mathstrut","\\vphantom{(}");defineMacro("\\underbar","\\underline{\\text{#1}}");defineMacro("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}');defineMacro("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}");defineMacro("\\ne","\\neq");defineMacro("≠","\\neq");defineMacro("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}");defineMacro("∉","\\notin");defineMacro("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}");defineMacro("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}");defineMacro("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}");defineMacro("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}");defineMacro("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}");defineMacro("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}");defineMacro("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}");defineMacro("⟂","\\perp");defineMacro("‼","\\mathclose{!\\mkern-0.8mu!}");defineMacro("∌","\\notni");defineMacro("⌜","\\ulcorner");defineMacro("⌝","\\urcorner");defineMacro("⌞","\\llcorner");defineMacro("⌟","\\lrcorner");defineMacro("©","\\copyright");defineMacro("®","\\textregistered");defineMacro("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');defineMacro("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');defineMacro("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');defineMacro("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');defineMacro("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");defineMacro("⋮","\\vdots");defineMacro("\\varGamma","\\mathit{\\Gamma}");defineMacro("\\varDelta","\\mathit{\\Delta}");defineMacro("\\varTheta","\\mathit{\\Theta}");defineMacro("\\varLambda","\\mathit{\\Lambda}");defineMacro("\\varXi","\\mathit{\\Xi}");defineMacro("\\varPi","\\mathit{\\Pi}");defineMacro("\\varSigma","\\mathit{\\Sigma}");defineMacro("\\varUpsilon","\\mathit{\\Upsilon}");defineMacro("\\varPhi","\\mathit{\\Phi}");defineMacro("\\varPsi","\\mathit{\\Psi}");defineMacro("\\varOmega","\\mathit{\\Omega}");defineMacro("\\substack","\\begin{subarray}{c}#1\\end{subarray}");defineMacro("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");defineMacro("\\boxed","\\fbox{$\\displaystyle{#1}$}");defineMacro("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");defineMacro("\\implies","\\DOTSB\\;\\Longrightarrow\\;");defineMacro("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");defineMacro("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");defineMacro("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var dotsByToken={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},dotsbGroups=new Set(["bin","rel"]);defineMacro("\\dots",function(context){var thedots="\\dotso",next=context.expandAfterFuture().text;return next in dotsByToken?thedots=dotsByToken[next]:(next.slice(0,4)==="\\not"||next in symbols.math&&dotsbGroups.has(symbols.math[next].group))&&(thedots="\\dotsb"),thedots});var spaceAfterDots={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};defineMacro("\\dotso",function(context){var next=context.future().text;return next in spaceAfterDots?"\\ldots\\,":"\\ldots"});defineMacro("\\dotsc",function(context){var next=context.future().text;return next in spaceAfterDots&&next!==","?"\\ldots\\,":"\\ldots"});defineMacro("\\cdots",function(context){var next=context.future().text;return next in spaceAfterDots?"\\@cdots\\,":"\\@cdots"});defineMacro("\\dotsb","\\cdots");defineMacro("\\dotsm","\\cdots");defineMacro("\\dotsi","\\!\\cdots");defineMacro("\\dotsx","\\ldots\\,");defineMacro("\\DOTSI","\\relax");defineMacro("\\DOTSB","\\relax");defineMacro("\\DOTSX","\\relax");defineMacro("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");defineMacro("\\,","\\tmspace+{3mu}{.1667em}");defineMacro("\\thinspace","\\,");defineMacro("\\>","\\mskip{4mu}");defineMacro("\\:","\\tmspace+{4mu}{.2222em}");defineMacro("\\medspace","\\:");defineMacro("\\;","\\tmspace+{5mu}{.2777em}");defineMacro("\\thickspace","\\;");defineMacro("\\!","\\tmspace-{3mu}{.1667em}");defineMacro("\\negthinspace","\\!");defineMacro("\\negmedspace","\\tmspace-{4mu}{.2222em}");defineMacro("\\negthickspace","\\tmspace-{5mu}{.277em}");defineMacro("\\enspace","\\kern.5em ");defineMacro("\\enskip","\\hskip.5em\\relax");defineMacro("\\quad","\\hskip1em\\relax");defineMacro("\\qquad","\\hskip2em\\relax");defineMacro("\\tag","\\@ifstar\\tag@literal\\tag@paren");defineMacro("\\tag@paren","\\tag@literal{({#1})}");defineMacro("\\tag@literal",context=>{if(context.macros.get("\\df@tag"))throw new ParseError("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});defineMacro("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");defineMacro("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");defineMacro("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");defineMacro("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");defineMacro("\\newline","\\\\\\relax");defineMacro("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var latexRaiseA=makeEm(fontMetricsData["Main-Regular"][84][1]-.7*fontMetricsData["Main-Regular"][65][1]);defineMacro("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+latexRaiseA+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");defineMacro("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+latexRaiseA+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");defineMacro("\\hspace","\\@ifstar\\@hspacer\\@hspace");defineMacro("\\@hspace","\\hskip #1\\relax");defineMacro("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");defineMacro("\\ordinarycolon",":");defineMacro("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");defineMacro("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');defineMacro("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');defineMacro("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');defineMacro("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');defineMacro("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');defineMacro("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');defineMacro("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');defineMacro("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');defineMacro("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');defineMacro("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');defineMacro("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');defineMacro("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');defineMacro("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');defineMacro("∷","\\dblcolon");defineMacro("∹","\\eqcolon");defineMacro("≔","\\coloneqq");defineMacro("≕","\\eqqcolon");defineMacro("⩴","\\Coloneqq");defineMacro("\\ratio","\\vcentcolon");defineMacro("\\coloncolon","\\dblcolon");defineMacro("\\colonequals","\\coloneqq");defineMacro("\\coloncolonequals","\\Coloneqq");defineMacro("\\equalscolon","\\eqqcolon");defineMacro("\\equalscoloncolon","\\Eqqcolon");defineMacro("\\colonminus","\\coloneq");defineMacro("\\coloncolonminus","\\Coloneq");defineMacro("\\minuscolon","\\eqcolon");defineMacro("\\minuscoloncolon","\\Eqcolon");defineMacro("\\coloncolonapprox","\\Colonapprox");defineMacro("\\coloncolonsim","\\Colonsim");defineMacro("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");defineMacro("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");defineMacro("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");defineMacro("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");defineMacro("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}");defineMacro("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");defineMacro("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");defineMacro("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");defineMacro("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");defineMacro("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");defineMacro("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");defineMacro("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");defineMacro("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");defineMacro("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}");defineMacro("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}");defineMacro("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}");defineMacro("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}");defineMacro("\\nleqq","\\html@mathml{\\@nleqq}{≰}");defineMacro("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}");defineMacro("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}");defineMacro("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}");defineMacro("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}");defineMacro("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}");defineMacro("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}");defineMacro("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}");defineMacro("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}");defineMacro("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}");defineMacro("\\imath","\\html@mathml{\\@imath}{ı}");defineMacro("\\jmath","\\html@mathml{\\@jmath}{ȷ}");defineMacro("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}");defineMacro("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}");defineMacro("⟦","\\llbracket");defineMacro("⟧","\\rrbracket");defineMacro("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}");defineMacro("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}");defineMacro("⦃","\\lBrace");defineMacro("⦄","\\rBrace");defineMacro("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}");defineMacro("⦵","\\minuso");defineMacro("\\darr","\\downarrow");defineMacro("\\dArr","\\Downarrow");defineMacro("\\Darr","\\Downarrow");defineMacro("\\lang","\\langle");defineMacro("\\rang","\\rangle");defineMacro("\\uarr","\\uparrow");defineMacro("\\uArr","\\Uparrow");defineMacro("\\Uarr","\\Uparrow");defineMacro("\\N","\\mathbb{N}");defineMacro("\\R","\\mathbb{R}");defineMacro("\\Z","\\mathbb{Z}");defineMacro("\\alef","\\aleph");defineMacro("\\alefsym","\\aleph");defineMacro("\\Alpha","\\mathrm{A}");defineMacro("\\Beta","\\mathrm{B}");defineMacro("\\bull","\\bullet");defineMacro("\\Chi","\\mathrm{X}");defineMacro("\\clubs","\\clubsuit");defineMacro("\\cnums","\\mathbb{C}");defineMacro("\\Complex","\\mathbb{C}");defineMacro("\\Dagger","\\ddagger");defineMacro("\\diamonds","\\diamondsuit");defineMacro("\\empty","\\emptyset");defineMacro("\\Epsilon","\\mathrm{E}");defineMacro("\\Eta","\\mathrm{H}");defineMacro("\\exist","\\exists");defineMacro("\\harr","\\leftrightarrow");defineMacro("\\hArr","\\Leftrightarrow");defineMacro("\\Harr","\\Leftrightarrow");defineMacro("\\hearts","\\heartsuit");defineMacro("\\image","\\Im");defineMacro("\\infin","\\infty");defineMacro("\\Iota","\\mathrm{I}");defineMacro("\\isin","\\in");defineMacro("\\Kappa","\\mathrm{K}");defineMacro("\\larr","\\leftarrow");defineMacro("\\lArr","\\Leftarrow");defineMacro("\\Larr","\\Leftarrow");defineMacro("\\lrarr","\\leftrightarrow");defineMacro("\\lrArr","\\Leftrightarrow");defineMacro("\\Lrarr","\\Leftrightarrow");defineMacro("\\Mu","\\mathrm{M}");defineMacro("\\natnums","\\mathbb{N}");defineMacro("\\Nu","\\mathrm{N}");defineMacro("\\Omicron","\\mathrm{O}");defineMacro("\\plusmn","\\pm");defineMacro("\\rarr","\\rightarrow");defineMacro("\\rArr","\\Rightarrow");defineMacro("\\Rarr","\\Rightarrow");defineMacro("\\real","\\Re");defineMacro("\\reals","\\mathbb{R}");defineMacro("\\Reals","\\mathbb{R}");defineMacro("\\Rho","\\mathrm{P}");defineMacro("\\sdot","\\cdot");defineMacro("\\sect","\\S");defineMacro("\\spades","\\spadesuit");defineMacro("\\sub","\\subset");defineMacro("\\sube","\\subseteq");defineMacro("\\supe","\\supseteq");defineMacro("\\Tau","\\mathrm{T}");defineMacro("\\thetasym","\\vartheta");defineMacro("\\weierp","\\wp");defineMacro("\\Zeta","\\mathrm{Z}");defineMacro("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");defineMacro("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");defineMacro("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");defineMacro("\\bra","\\mathinner{\\langle{#1}|}");defineMacro("\\ket","\\mathinner{|{#1}\\rangle}");defineMacro("\\braket","\\mathinner{\\langle{#1}\\rangle}");defineMacro("\\Bra","\\left\\langle#1\\right|");defineMacro("\\Ket","\\left|#1\\right\\rangle");var braketHelper=one=>context=>{var left=context.consumeArg().tokens,middle=context.consumeArg().tokens,middleDouble=context.consumeArg().tokens,right=context.consumeArg().tokens,oldMiddle=context.macros.get("|"),oldMiddleDouble=context.macros.get("\\|");context.macros.beginGroup();var midMacro=double=>context2=>{one&&(context2.macros.set("|",oldMiddle),middleDouble.length&&context2.macros.set("\\|",oldMiddleDouble));var doubled=double;if(!double&&middleDouble.length){var nextToken=context2.future();nextToken.text==="|"&&(context2.popToken(),doubled=!0)}return{tokens:doubled?middleDouble:middle,numArgs:0}};context.macros.set("|",midMacro(!1)),middleDouble.length&&context.macros.set("\\|",midMacro(!0));var arg=context.consumeArg().tokens,expanded=context.expandTokens([...right,...arg,...left]);return context.macros.endGroup(),{tokens:expanded.reverse(),numArgs:0}};defineMacro("\\bra@ket",braketHelper(!1));defineMacro("\\bra@set",braketHelper(!0));defineMacro("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");defineMacro("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");defineMacro("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");defineMacro("\\angln","{\\angl n}");defineMacro("\\blue","\\textcolor{##6495ed}{#1}");defineMacro("\\orange","\\textcolor{##ffa500}{#1}");defineMacro("\\pink","\\textcolor{##ff00af}{#1}");defineMacro("\\red","\\textcolor{##df0030}{#1}");defineMacro("\\green","\\textcolor{##28ae7b}{#1}");defineMacro("\\gray","\\textcolor{gray}{#1}");defineMacro("\\purple","\\textcolor{##9d38bd}{#1}");defineMacro("\\blueA","\\textcolor{##ccfaff}{#1}");defineMacro("\\blueB","\\textcolor{##80f6ff}{#1}");defineMacro("\\blueC","\\textcolor{##63d9ea}{#1}");defineMacro("\\blueD","\\textcolor{##11accd}{#1}");defineMacro("\\blueE","\\textcolor{##0c7f99}{#1}");defineMacro("\\tealA","\\textcolor{##94fff5}{#1}");defineMacro("\\tealB","\\textcolor{##26edd5}{#1}");defineMacro("\\tealC","\\textcolor{##01d1c1}{#1}");defineMacro("\\tealD","\\textcolor{##01a995}{#1}");defineMacro("\\tealE","\\textcolor{##208170}{#1}");defineMacro("\\greenA","\\textcolor{##b6ffb0}{#1}");defineMacro("\\greenB","\\textcolor{##8af281}{#1}");defineMacro("\\greenC","\\textcolor{##74cf70}{#1}");defineMacro("\\greenD","\\textcolor{##1fab54}{#1}");defineMacro("\\greenE","\\textcolor{##0d923f}{#1}");defineMacro("\\goldA","\\textcolor{##ffd0a9}{#1}");defineMacro("\\goldB","\\textcolor{##ffbb71}{#1}");defineMacro("\\goldC","\\textcolor{##ff9c39}{#1}");defineMacro("\\goldD","\\textcolor{##e07d10}{#1}");defineMacro("\\goldE","\\textcolor{##a75a05}{#1}");defineMacro("\\redA","\\textcolor{##fca9a9}{#1}");defineMacro("\\redB","\\textcolor{##ff8482}{#1}");defineMacro("\\redC","\\textcolor{##f9685d}{#1}");defineMacro("\\redD","\\textcolor{##e84d39}{#1}");defineMacro("\\redE","\\textcolor{##bc2612}{#1}");defineMacro("\\maroonA","\\textcolor{##ffbde0}{#1}");defineMacro("\\maroonB","\\textcolor{##ff92c6}{#1}");defineMacro("\\maroonC","\\textcolor{##ed5fa6}{#1}");defineMacro("\\maroonD","\\textcolor{##ca337c}{#1}");defineMacro("\\maroonE","\\textcolor{##9e034e}{#1}");defineMacro("\\purpleA","\\textcolor{##ddd7ff}{#1}");defineMacro("\\purpleB","\\textcolor{##c6b9fc}{#1}");defineMacro("\\purpleC","\\textcolor{##aa87ff}{#1}");defineMacro("\\purpleD","\\textcolor{##7854ab}{#1}");defineMacro("\\purpleE","\\textcolor{##543b78}{#1}");defineMacro("\\mintA","\\textcolor{##f5f9e8}{#1}");defineMacro("\\mintB","\\textcolor{##edf2df}{#1}");defineMacro("\\mintC","\\textcolor{##e0e5cc}{#1}");defineMacro("\\grayA","\\textcolor{##f6f7f7}{#1}");defineMacro("\\grayB","\\textcolor{##f0f1f2}{#1}");defineMacro("\\grayC","\\textcolor{##e3e5e6}{#1}");defineMacro("\\grayD","\\textcolor{##d6d8da}{#1}");defineMacro("\\grayE","\\textcolor{##babec2}{#1}");defineMacro("\\grayF","\\textcolor{##888d93}{#1}");defineMacro("\\grayG","\\textcolor{##626569}{#1}");defineMacro("\\grayH","\\textcolor{##3b3e40}{#1}");defineMacro("\\grayI","\\textcolor{##21242c}{#1}");defineMacro("\\kaBlue","\\textcolor{##314453}{#1}");defineMacro("\\kaGreen","\\textcolor{##71B307}{#1}");var implicitCommands={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class MacroExpander{constructor(input,settings,mode){this.settings=settings,this.expansionCount=0,this.feed(input),this.macros=new Namespace(macros,settings.macros),this.mode=mode,this.stack=[]}feed(input){this.lexer=new Lexer(input,this.settings)}switchMode(newMode){this.mode=newMode}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(token){this.stack.push(token)}pushTokens(tokens){this.stack.push(...tokens)}scanArgument(isOptional){var start,end,tokens;if(isOptional){if(this.consumeSpaces(),this.future().text!=="[")return null;start=this.popToken(),{tokens,end}=this.consumeArg(["]"])}else({tokens,start,end}=this.consumeArg());return this.pushToken(new Token("EOF",end.loc)),this.pushTokens(tokens),new Token("",SourceLocation.range(start,end))}consumeSpaces(){for(;;){var token=this.future();if(token.text===" ")this.stack.pop();else break}}consumeArg(delims){var tokens=[],isDelimited=delims&&delims.length>0;isDelimited||this.consumeSpaces();var start=this.future(),tok,depth=0,match=0;do{if(tok=this.popToken(),tokens.push(tok),tok.text==="{")++depth;else if(tok.text==="}"){if(--depth,depth===-1)throw new ParseError("Extra }",tok)}else if(tok.text==="EOF")throw new ParseError("Unexpected end of input in a macro argument, expected '"+(delims&&isDelimited?delims[match]:"}")+"'",tok);if(delims&&isDelimited)if((depth===0||depth===1&&delims[match]==="{")&&tok.text===delims[match]){if(++match,match===delims.length){tokens.splice(-match,match);break}}else match=0}while(depth!==0||isDelimited);return start.text==="{"&&tokens[tokens.length-1].text==="}"&&(tokens.pop(),tokens.shift()),tokens.reverse(),{tokens,start,end:tok}}consumeArgs(numArgs,delimiters2){if(delimiters2){if(delimiters2.length!==numArgs+1)throw new ParseError("The length of delimiters doesn't match the number of args!");for(var delims=delimiters2[0],i=0;i<delims.length;i++){var tok=this.popToken();if(delims[i]!==tok.text)throw new ParseError("Use of the macro doesn't match its definition",tok)}}for(var args=[],_i=0;_i<numArgs;_i++)args.push(this.consumeArg(delimiters2&&delimiters2[_i+1]).tokens);return args}countExpansion(amount){if(this.expansionCount+=amount,this.expansionCount>this.settings.maxExpand)throw new ParseError("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(expandableOnly){var topToken=this.popToken(),name=topToken.text,expansion=topToken.noexpand?null:this._getExpansion(name);if(expansion==null||expandableOnly&&expansion.unexpandable){if(expandableOnly&&expansion==null&&name[0]==="\\"&&!this.isDefined(name))throw new ParseError("Undefined control sequence: "+name);return this.pushToken(topToken),!1}this.countExpansion(1);var tokens=expansion.tokens,args=this.consumeArgs(expansion.numArgs,expansion.delimiters);if(expansion.numArgs){tokens=tokens.slice();for(var i=tokens.length-1;i>=0;--i){var tok=tokens[i];if(tok.text==="#"){if(i===0)throw new ParseError("Incomplete placeholder at end of macro body",tok);if(tok=tokens[--i],tok.text==="#")tokens.splice(i+1,1);else if(/^[1-9]$/.test(tok.text))tokens.splice(i,2,...args[+tok.text-1]);else throw new ParseError("Not a valid argument number",tok)}}}return this.pushTokens(tokens),tokens.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var token=this.stack.pop();return token.treatAsRelax&&(token.text="\\relax"),token}}expandMacro(name){return this.macros.has(name)?this.expandTokens([new Token(name)]):void 0}expandTokens(tokens){var output=[],oldStackLength=this.stack.length;for(this.pushTokens(tokens);this.stack.length>oldStackLength;)if(this.expandOnce(!0)===!1){var token=this.stack.pop();token.treatAsRelax&&(token.noexpand=!1,token.treatAsRelax=!1),output.push(token)}return this.countExpansion(output.length),output}expandMacroAsText(name){var tokens=this.expandMacro(name);return tokens&&tokens.map(token=>token.text).join("")}_getExpansion(name){var definition=this.macros.get(name);if(definition==null)return definition;if(name.length===1){var catcode=this.lexer.catcodes[name];if(catcode!=null&&catcode!==13)return}var expansion=typeof definition=="function"?definition(this):definition;if(typeof expansion=="string"){var numArgs=0;if(expansion.includes("#"))for(var stripped=expansion.replace(/##/g,"");stripped.includes("#"+(numArgs+1));)++numArgs;for(var bodyLexer=new Lexer(expansion,this.settings),tokens=[],tok=bodyLexer.lex();tok.text!=="EOF";)tokens.push(tok),tok=bodyLexer.lex();tokens.reverse();var expanded={tokens,numArgs};return expanded}return expansion}isDefined(name){return this.macros.has(name)||functions.hasOwnProperty(name)||symbols.math.hasOwnProperty(name)||symbols.text.hasOwnProperty(name)||implicitCommands.hasOwnProperty(name)}isExpandable(name){var macro=this.macros.get(name);return macro!=null?typeof macro=="string"||typeof macro=="function"||!macro.unexpandable:functions.hasOwnProperty(name)&&!functions[name].primitive}}var unicodeSubRegEx=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,uSubsAndSups=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),unicodeAccents={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},unicodeSymbols={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};class Parser{constructor(input,settings){this.mode="math",this.gullet=new MacroExpander(input,settings,this.mode),this.settings=settings,this.leftrightDepth=0,this.nextToken=null}expect(text2,consume){if(consume===void 0&&(consume=!0),this.fetch().text!==text2)throw new ParseError("Expected '"+text2+"', got '"+this.fetch().text+"'",this.fetch());consume&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(newMode){this.mode=newMode,this.gullet.switchMode(newMode)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var parse=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),parse}finally{this.gullet.endGroups()}}subparse(tokens){var oldToken=this.nextToken;this.consume(),this.gullet.pushToken(new Token("}")),this.gullet.pushTokens(tokens);var parse=this.parseExpression(!1);return this.expect("}"),this.nextToken=oldToken,parse}parseExpression(breakOnInfix,breakOnTokenText){for(var body=[];;){this.mode==="math"&&this.consumeSpaces();var lex=this.fetch();if(Parser.endOfExpression.has(lex.text)||breakOnTokenText&&lex.text===breakOnTokenText||breakOnInfix&&functions[lex.text]&&functions[lex.text].infix)break;var atom=this.parseAtom(breakOnTokenText);if(atom){if(atom.type==="internal")continue}else break;body.push(atom)}return this.mode==="text"&&this.formLigatures(body),this.handleInfixNodes(body)}handleInfixNodes(body){for(var overIndex=-1,funcName,i=0;i<body.length;i++){var node=body[i];if(node.type==="infix"){if(overIndex!==-1)throw new ParseError("only one infix operator per group",node.token);overIndex=i,funcName=node.replaceWith}}if(overIndex!==-1&&funcName){var numerNode,denomNode,numerBody=body.slice(0,overIndex),denomBody=body.slice(overIndex+1);numerBody.length===1&&numerBody[0].type==="ordgroup"?numerNode=numerBody[0]:numerNode={type:"ordgroup",mode:this.mode,body:numerBody},denomBody.length===1&&denomBody[0].type==="ordgroup"?denomNode=denomBody[0]:denomNode={type:"ordgroup",mode:this.mode,body:denomBody};var _node;return funcName==="\\\\abovefrac"?_node=this.callFunction(funcName,[numerNode,body[overIndex],denomNode],[]):_node=this.callFunction(funcName,[numerNode,denomNode],[]),[_node]}else return body}handleSupSubscript(name){var symbolToken=this.fetch(),symbol=symbolToken.text;this.consume(),this.consumeSpaces();var group;do{var _group;group=this.parseGroup(name)}while(((_group=group)==null?void 0:_group.type)==="internal");if(!group)throw new ParseError("Expected group after '"+symbol+"'",symbolToken);return group}formatUnsupportedCmd(text2){for(var textordArray=[],i=0;i<text2.length;i++)textordArray.push({type:"textord",mode:"text",text:text2[i]});var textNode={type:"text",mode:this.mode,body:textordArray},colorNode={type:"color",mode:this.mode,color:this.settings.errorColor,body:[textNode]};return colorNode}parseAtom(breakOnTokenText){var base=this.parseGroup("atom",breakOnTokenText);if((base==null?void 0:base.type)==="internal"||this.mode==="text")return base;for(var superscript,subscript;;){this.consumeSpaces();var lex=this.fetch();if(lex.text==="\\limits"||lex.text==="\\nolimits"){if(base&&base.type==="op"){var limits=lex.text==="\\limits";base.limits=limits,base.alwaysHandleSupSub=!0}else if(base&&base.type==="operatorname")base.alwaysHandleSupSub&&(base.limits=lex.text==="\\limits");else throw new ParseError("Limit controls must follow a math operator",lex);this.consume()}else if(lex.text==="^"){if(superscript)throw new ParseError("Double superscript",lex);superscript=this.handleSupSubscript("superscript")}else if(lex.text==="_"){if(subscript)throw new ParseError("Double subscript",lex);subscript=this.handleSupSubscript("subscript")}else if(lex.text==="'"){if(superscript)throw new ParseError("Double superscript",lex);var prime={type:"textord",mode:this.mode,text:"\\prime"},primes=[prime];for(this.consume();this.fetch().text==="'";)primes.push(prime),this.consume();this.fetch().text==="^"&&primes.push(this.handleSupSubscript("superscript")),superscript={type:"ordgroup",mode:this.mode,body:primes}}else if(uSubsAndSups[lex.text]){var isSub=unicodeSubRegEx.test(lex.text),subsupTokens=[];for(subsupTokens.push(new Token(uSubsAndSups[lex.text])),this.consume();;){var token=this.fetch().text;if(!uSubsAndSups[token]||unicodeSubRegEx.test(token)!==isSub)break;subsupTokens.unshift(new Token(uSubsAndSups[token])),this.consume()}var body=this.subparse(subsupTokens);isSub?subscript={type:"ordgroup",mode:"math",body}:superscript={type:"ordgroup",mode:"math",body}}else break}return superscript||subscript?{type:"supsub",mode:this.mode,base,sup:superscript,sub:subscript}:base}parseFunction(breakOnTokenText,name){var token=this.fetch(),func=token.text,funcData=functions[func];if(!funcData)return null;if(this.consume(),name&&name!=="atom"&&!funcData.allowedInArgument)throw new ParseError("Got function '"+func+"' with no arguments"+(name?" as "+name:""),token);if(this.mode==="text"&&!funcData.allowedInText)throw new ParseError("Can't use function '"+func+"' in text mode",token);if(this.mode==="math"&&funcData.allowedInMath===!1)throw new ParseError("Can't use function '"+func+"' in math mode",token);var{args,optArgs}=this.parseArguments(func,funcData);return this.callFunction(func,args,optArgs,token,breakOnTokenText)}callFunction(name,args,optArgs,token,breakOnTokenText){var context={funcName:name,parser:this,token,breakOnTokenText},func=functions[name];if(func&&func.handler)return func.handler(context,args,optArgs);throw new ParseError("No function handler for "+name)}parseArguments(func,funcData){var totalArgs=funcData.numArgs+funcData.numOptionalArgs;if(totalArgs===0)return{args:[],optArgs:[]};for(var args=[],optArgs=[],i=0;i<totalArgs;i++){var argType=funcData.argTypes&&funcData.argTypes[i],isOptional=i<funcData.numOptionalArgs;("primitive"in funcData&&funcData.primitive&&argType==null||funcData.type==="sqrt"&&i===1&&optArgs[0]==null)&&(argType="primitive");var arg=this.parseGroupOfType("argument to '"+func+"'",argType,isOptional);if(isOptional)optArgs.push(arg);else if(arg!=null)args.push(arg);else throw new ParseError("Null argument, please report this as a bug")}return{args,optArgs}}parseGroupOfType(name,type,optional){switch(type){case"color":return this.parseColorGroup(optional);case"size":return this.parseSizeGroup(optional);case"url":return this.parseUrlGroup(optional);case"math":case"text":return this.parseArgumentGroup(optional,type);case"hbox":{var group=this.parseArgumentGroup(optional,"text");return group!=null?{type:"styling",mode:group.mode,body:[group],style:"text"}:null}case"raw":{var token=this.parseStringGroup("raw",optional);return token!=null?{type:"raw",mode:"text",string:token.text}:null}case"primitive":{if(optional)throw new ParseError("A primitive argument cannot be optional");var _group2=this.parseGroup(name);if(_group2==null)throw new ParseError("Expected group as "+name,this.fetch());return _group2}case"original":case null:case void 0:return this.parseArgumentGroup(optional);default:throw new ParseError("Unknown group type as "+name,this.fetch())}}consumeSpaces(){for(;this.fetch().text===" ";)this.consume()}parseStringGroup(modeName,optional){var argToken=this.gullet.scanArgument(optional);if(argToken==null)return null;for(var str="",nextToken;(nextToken=this.fetch()).text!=="EOF";)str+=nextToken.text,this.consume();return this.consume(),argToken.text=str,argToken}parseRegexGroup(regex,modeName){for(var firstToken=this.fetch(),lastToken=firstToken,str="",nextToken;(nextToken=this.fetch()).text!=="EOF"&&regex.test(str+nextToken.text);)lastToken=nextToken,str+=lastToken.text,this.consume();if(str==="")throw new ParseError("Invalid "+modeName+": '"+firstToken.text+"'",firstToken);return firstToken.range(lastToken,str)}parseColorGroup(optional){var res=this.parseStringGroup("color",optional);if(res==null)return null;var match=/^(#[a-f0-9]{3,4}|#[a-f0-9]{6}|#[a-f0-9]{8}|[a-f0-9]{6}|[a-z]+)$/i.exec(res.text);if(!match)throw new ParseError("Invalid color: '"+res.text+"'",res);var color=match[0];return/^[0-9a-f]{6}$/i.test(color)&&(color="#"+color),{type:"color-token",mode:this.mode,color}}parseSizeGroup(optional){var res,isBlank=!1;if(this.gullet.consumeSpaces(),!optional&&this.gullet.future().text!=="{"?res=this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size"):res=this.parseStringGroup("size",optional),!res)return null;!optional&&res.text.length===0&&(res.text="0pt",isBlank=!0);var match=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(res.text);if(!match)throw new ParseError("Invalid size: '"+res.text+"'",res);var data={number:+(match[1]+match[2]),unit:match[3]};if(!validUnit(data))throw new ParseError("Invalid unit: '"+data.unit+"'",res);return{type:"size",mode:this.mode,value:data,isBlank}}parseUrlGroup(optional){this.gullet.lexer.setCatcode("%",13),this.gullet.lexer.setCatcode("~",12);var res=this.parseStringGroup("url",optional);if(this.gullet.lexer.setCatcode("%",14),this.gullet.lexer.setCatcode("~",13),res==null)return null;var url=res.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url}}parseArgumentGroup(optional,mode){var argToken=this.gullet.scanArgument(optional);if(argToken==null)return null;var outerMode=this.mode;mode&&this.switchMode(mode),this.gullet.beginGroup();var expression=this.parseExpression(!1,"EOF");this.expect("EOF"),this.gullet.endGroup();var result={type:"ordgroup",mode:this.mode,loc:argToken.loc,body:expression};return mode&&this.switchMode(outerMode),result}parseGroup(name,breakOnTokenText){var firstToken=this.fetch(),text2=firstToken.text,result;if(text2==="{"||text2==="\\begingroup"){this.consume();var groupEnd=text2==="{"?"}":"\\endgroup";this.gullet.beginGroup();var expression=this.parseExpression(!1,groupEnd),lastToken=this.fetch();this.expect(groupEnd),this.gullet.endGroup(),result={type:"ordgroup",mode:this.mode,loc:SourceLocation.range(firstToken,lastToken),body:expression,semisimple:text2==="\\begingroup"||void 0}}else if(result=this.parseFunction(breakOnTokenText,name)||this.parseSymbol(),result==null&&text2[0]==="\\"&&!implicitCommands.hasOwnProperty(text2)){if(this.settings.throwOnError)throw new ParseError("Undefined control sequence: "+text2,firstToken);result=this.formatUnsupportedCmd(text2),this.consume()}return result}formLigatures(group){for(var n=group.length-1,i=0;i<n;++i){var a=group[i];if(a.type==="textord"){var v=a.text,next=group[i+1];if(!(!next||next.type!=="textord")){if(v==="-"&&next.text==="-"){var afterNext=group[i+2];i+1<n&&afterNext&&afterNext.type==="textord"&&afterNext.text==="-"?(group.splice(i,3,{type:"textord",mode:"text",loc:SourceLocation.range(a,afterNext),text:"---"}),n-=2):(group.splice(i,2,{type:"textord",mode:"text",loc:SourceLocation.range(a,next),text:"--"}),n-=1)}(v==="'"||v==="`")&&next.text===v&&(group.splice(i,2,{type:"textord",mode:"text",loc:SourceLocation.range(a,next),text:v+v}),n-=1)}}}}parseSymbol(){var nucleus=this.fetch(),text2=nucleus.text;if(/^\\verb[^a-zA-Z]/.test(text2)){this.consume();var arg=text2.slice(5),star=arg.charAt(0)==="*";if(star&&(arg=arg.slice(1)),arg.length<2||arg.charAt(0)!==arg.slice(-1))throw new ParseError(`\\verb assertion failed --
257
+ please report what input caused this bug`);return arg=arg.slice(1,-1),{type:"verb",mode:"text",body:arg,star}}unicodeSymbols.hasOwnProperty(text2[0])&&!symbols[this.mode][text2[0]]&&(this.settings.strict&&this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+text2[0]+'" used in math mode',nucleus),text2=unicodeSymbols[text2[0]]+text2.slice(1));var match=combiningDiacriticalMarksEndRegex.exec(text2);match&&(text2=text2.substring(0,match.index),text2==="i"?text2="ı":text2==="j"&&(text2="ȷ"));var symbol;if(symbols[this.mode][text2]){this.settings.strict&&this.mode==="math"&&extraLatin.includes(text2)&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+text2[0]+'" used in math mode',nucleus);var group=symbols[this.mode][text2].group,loc=SourceLocation.range(nucleus),s;if(ATOMS.hasOwnProperty(group)){var family=group;s={type:"atom",mode:this.mode,family,loc,text:text2}}else s={type:group,mode:this.mode,loc,text:text2};symbol=s}else if(text2.charCodeAt(0)>=128)this.settings.strict&&(supportedCodepoint(text2.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+text2[0]+'" used in math mode',nucleus):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+text2[0]+'"'+(" ("+text2.charCodeAt(0)+")"),nucleus)),symbol={type:"textord",mode:"text",loc:SourceLocation.range(nucleus),text:text2};else return null;if(this.consume(),match)for(var i=0;i<match[0].length;i++){var accent2=match[0][i];if(!unicodeAccents[accent2])throw new ParseError("Unknown accent ' "+accent2+"'",nucleus);var command=unicodeAccents[accent2][this.mode]||unicodeAccents[accent2].text;if(!command)throw new ParseError("Accent "+accent2+" unsupported in "+this.mode+" mode",nucleus);symbol={type:"accent",mode:this.mode,loc:SourceLocation.range(nucleus),label:command,isStretchy:!1,isShifty:!0,base:symbol}}return symbol}}Parser.endOfExpression=new Set(["}","\\endgroup","\\end","\\right","&"]);var parseTree=function(toParse,settings){if(!(typeof toParse=="string"||toParse instanceof String))throw new TypeError("KaTeX can only parse string typed expression");var parser=new Parser(toParse,settings);delete parser.gullet.macros.current["\\df@tag"];var tree=parser.parse();if(delete parser.gullet.macros.current["\\current@color"],delete parser.gullet.macros.current["\\color"],parser.gullet.macros.get("\\df@tag")){if(!settings.displayMode)throw new ParseError("\\tag works only in display equations");tree=[{type:"tag",mode:"text",body:tree,tag:parser.subparse([new Token("\\df@tag")])}]}return tree},render=function(expression,baseNode,options){baseNode.textContent="";var node=renderToDomTree(expression,options).toNode();baseNode.appendChild(node)};typeof document<"u"&&document.compatMode!=="CSS1Compat"&&(typeof console<"u"&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),render=function(){throw new ParseError("KaTeX doesn't work in quirks mode.")});var renderToString=function(expression,options){var markup=renderToDomTree(expression,options).toMarkup();return markup},generateParseTree=function(expression,options){var settings=new Settings(options);return parseTree(expression,settings)},renderError=function(error,expression,options){if(options.throwOnError||!(error instanceof ParseError))throw error;var node=makeSpan(["katex-error"],[new SymbolNode(expression)]);return node.setAttribute("title",error.toString()),node.setAttribute("style","color:"+options.errorColor),node},renderToDomTree=function(expression,options){var settings=new Settings(options);try{var tree=parseTree(expression,settings);return buildTree(tree,expression,settings)}catch(error){return renderError(error,expression,settings)}},renderToHTMLTree=function(expression,options){var settings=new Settings(options);try{var tree=parseTree(expression,settings);return buildHTMLTree(tree,expression,settings)}catch(error){return renderError(error,expression,settings)}},version="0.16.45",__domTree={Span,Anchor,SymbolNode,SvgNode,PathNode,LineNode},katex={version,render,renderToString,ParseError,SETTINGS_SCHEMA,__parse:generateParseTree,__renderToDomTree:renderToDomTree,__renderToHTMLTree:renderToHTMLTree,__setFontMetrics:setFontMetrics,__defineSymbol:defineSymbol,__defineFunction:defineFunction,__defineMacro:defineMacro,__domTree};export{ParseError,SETTINGS_SCHEMA,defineFunction as __defineFunction,defineMacro as __defineMacro,defineSymbol as __defineSymbol,__domTree,generateParseTree as __parse,renderToDomTree as __renderToDomTree,renderToHTMLTree as __renderToHTMLTree,setFontMetrics as __setFontMetrics,katex as default,render,renderToString,version};