]> matita.cs.unibo.it Git - helm.git/commitdiff
Matitaweb:
authormatitaweb <claudio.sacerdoticoen@unibo.it>
Mon, 12 Mar 2012 08:47:22 +0000 (08:47 +0000)
committermatitaweb <claudio.sacerdoticoen@unibo.it>
Mon, 12 Mar 2012 08:47:22 +0000 (08:47 +0000)
1) Solves a bug in "Del hrefs"

2) Solves interaction glitches related to the disambiguation/error
reporting interface

3) Fixes the implementation of the Upload feature

4) Adds support for "low-users", who don't have permission to commit

5) Solves problems related to the multi-user mode

6) Limits direct file access to the html/ subdir of the Matita
installation (for security); all the files that must be accessed by a
web browser have been moved there

7) utf8macrotable.js uses numeric html entities instead of named
entities, to cope with incoherent behaviour of web browsers (named
entities being resolved to different unicode characters -- possible
bug in the web browser).

8) disables many debug prints

47 files changed:
matitaB/matita/.depend
matitaB/matita/.depend.opt
matitaB/matita/html/icons/advance.png [new file with mode: 0644]
matitaB/matita/html/icons/bottom.png [new file with mode: 0644]
matitaB/matita/html/icons/matita-32.xpm [new file with mode: 0644]
matitaB/matita/html/icons/matita-bulb-high.png [new file with mode: 0644]
matitaB/matita/html/icons/matita-bulb-low.png [new file with mode: 0644]
matitaB/matita/html/icons/matita-bulb-medium.png [new file with mode: 0644]
matitaB/matita/html/icons/matita-folder.png [new file with mode: 0644]
matitaB/matita/html/icons/matita-object.png [new file with mode: 0644]
matitaB/matita/html/icons/matita-text.png [new file with mode: 0644]
matitaB/matita/html/icons/matita-theory.png [new file with mode: 0644]
matitaB/matita/html/icons/matita.png [new file with mode: 0644]
matitaB/matita/html/icons/matita_medium.png [new file with mode: 0644]
matitaB/matita/html/icons/matita_small.png [new file with mode: 0644]
matitaB/matita/html/icons/matita_very_small.png [new file with mode: 0644]
matitaB/matita/html/icons/meegg.png [new file with mode: 0644]
matitaB/matita/html/icons/position.png [new file with mode: 0644]
matitaB/matita/html/icons/retract.png [new file with mode: 0644]
matitaB/matita/html/icons/top.jpg [new file with mode: 0644]
matitaB/matita/html/icons/top.png [new file with mode: 0644]
matitaB/matita/html/icons/whelp.png [new file with mode: 0644]
matitaB/matita/html/icons/whelp.svg [new file with mode: 0644]
matitaB/matita/html/index.html [new file with mode: 0644]
matitaB/matita/html/jquery.js [new file with mode: 0644]
matitaB/matita/html/jquery.tooltip.css [new file with mode: 0644]
matitaB/matita/html/jquery.tooltip.min.js [new file with mode: 0644]
matitaB/matita/html/layout.js [new file with mode: 0644]
matitaB/matita/html/login.html [new file with mode: 0644]
matitaB/matita/html/logout.html [new file with mode: 0644]
matitaB/matita/html/matitaweb.css [new file with mode: 0644]
matitaB/matita/html/matitaweb.js [new file with mode: 0644]
matitaB/matita/html/treeview/closed.gif [new file with mode: 0644]
matitaB/matita/html/treeview/doc.gif [new file with mode: 0644]
matitaB/matita/html/treeview/open.gif [new file with mode: 0644]
matitaB/matita/html/treeview/xmlTree.css [new file with mode: 0644]
matitaB/matita/html/treeview/xmlTree.js [new file with mode: 0644]
matitaB/matita/html/utf8MacroTable.js [new file with mode: 0644]
matitaB/matita/matitaAuthentication.ml
matitaB/matita/matitaAuthentication.mli
matitaB/matita/matitaFilesystem.ml
matitaB/matita/matitaInit.ml
matitaB/matita/matitadaemon.ml
matitaB/matita/matitaweb
matitaB/matita/matitaweb.js
matitaB/matita/netplex.conf
matitaB/matita/utf8MacroTable.js

index c3485ce6b5d98390d0a3ca842e0218c81182a41a..feee842a77f19f2e13095c53963c8e2a950bd8d4 100644 (file)
@@ -1,90 +1,86 @@
-applyTransformation.cmo: applyTransformation.cmi 
-applyTransformation.cmx: applyTransformation.cmi 
-matitaclean.cmo: matitaMisc.cmi matitaInit.cmi matitaclean.cmi 
-matitaclean.cmx: matitaMisc.cmx matitaInit.cmx matitaclean.cmi 
-matitaFilesystem.cmo: matitaFilesystem.cmi 
-matitaFilesystem.cmx: matitaFilesystem.cmi 
+applyTransformation.cmo: applyTransformation.cmi
+applyTransformation.cmx: applyTransformation.cmi
+matitaclean.cmo: matitaMisc.cmi matitaInit.cmi matitaclean.cmi
+matitaclean.cmx: matitaMisc.cmx matitaInit.cmx matitaclean.cmi
+matitaFilesystem.cmo: matitaFilesystem.cmi
+matitaFilesystem.cmx: matitaFilesystem.cmi
 matitaMathView.cmo: virtuals.cmi matitaTypes.cmi matitaMisc.cmi \
     matitaGuiTypes.cmi matitaGtkMisc.cmi matitaGeneratedGui.cmo \
     matitaExcPp.cmi lablGraphviz.cmi cicMathView.cmi buildTimeConf.cmo \
-    applyTransformation.cmi matitaMathView.cmi 
+    applyTransformation.cmi matitaMathView.cmi
 matitaMathView.cmx: virtuals.cmx matitaTypes.cmx matitaMisc.cmx \
     matitaGuiTypes.cmi matitaGtkMisc.cmx matitaGeneratedGui.cmx \
     matitaExcPp.cmx lablGraphviz.cmx cicMathView.cmx buildTimeConf.cmx \
-    applyTransformation.cmx matitaMathView.cmi 
-matitaTypes.cmo: matitaTypes.cmi 
-matitaTypes.cmx: matitaTypes.cmi 
-buildTimeConf.cmo: 
-buildTimeConf.cmx: 
-matitac.cmo: matitaclean.cmi matitaMisc.cmi matitaInit.cmi matitaEngine.cmi 
-matitac.cmx: matitaclean.cmx matitaMisc.cmx matitaInit.cmx matitaEngine.cmx 
-matitaGeneratedGui.cmo: 
-matitaGeneratedGui.cmx: 
-matitaMisc.cmo: matitaGuiTypes.cmi buildTimeConf.cmo matitaMisc.cmi 
-matitaMisc.cmx: matitaGuiTypes.cmi buildTimeConf.cmx matitaMisc.cmi 
-predefined_virtuals.cmo: virtuals.cmi predefined_virtuals.cmi 
-predefined_virtuals.cmx: virtuals.cmx predefined_virtuals.cmi 
+    applyTransformation.cmx matitaMathView.cmi
+matitaTypes.cmo: matitaTypes.cmi
+matitaTypes.cmx: matitaTypes.cmi
+buildTimeConf.cmo:
+buildTimeConf.cmx:
+matitac.cmo: matitaclean.cmi matitaMisc.cmi matitaInit.cmi matitaEngine.cmi
+matitac.cmx: matitaclean.cmx matitaMisc.cmx matitaInit.cmx matitaEngine.cmx
+matitaGeneratedGui.cmo:
+matitaGeneratedGui.cmx:
+matitaMisc.cmo: matitaGuiTypes.cmi buildTimeConf.cmo matitaMisc.cmi
+matitaMisc.cmx: matitaGuiTypes.cmi buildTimeConf.cmx matitaMisc.cmi
+predefined_virtuals.cmo: virtuals.cmi predefined_virtuals.cmi
+predefined_virtuals.cmx: virtuals.cmx predefined_virtuals.cmi
 cicMathView.cmo: matitaMisc.cmi matitaGuiTypes.cmi matitaGtkMisc.cmi \
-    buildTimeConf.cmo applyTransformation.cmi cicMathView.cmi 
+    buildTimeConf.cmo applyTransformation.cmi cicMathView.cmi
 cicMathView.cmx: matitaMisc.cmx matitaGuiTypes.cmi matitaGtkMisc.cmx \
-    buildTimeConf.cmx applyTransformation.cmx cicMathView.cmi 
-matitadaemon.cmo: matitaInit.cmi matitaFilesystem.cmi matitaEngine.cmi \
-    matitaAuthentication.cmi applyTransformation.cmi 
-matitadaemon.cmx: matitaInit.cmx matitaFilesystem.cmx matitaEngine.cmx \
-    matitaAuthentication.cmx applyTransformation.cmx 
+    buildTimeConf.cmx applyTransformation.cmx cicMathView.cmi
+matitadaemon.cmo: matitaInit.cmi matitaFilesystem.cmi matitaExcPp.cmi \
+    matitaEngine.cmi matitaAuthentication.cmi applyTransformation.cmi
+matitadaemon.cmx: matitaInit.cmx matitaFilesystem.cmx matitaExcPp.cmx \
+    matitaEngine.cmx matitaAuthentication.cmx applyTransformation.cmx
 matitaGtkMisc.cmo: matitaTypes.cmi matitaGeneratedGui.cmo buildTimeConf.cmo \
-    matitaGtkMisc.cmi 
+    matitaGtkMisc.cmi
 matitaGtkMisc.cmx: matitaTypes.cmx matitaGeneratedGui.cmx buildTimeConf.cmx \
-    matitaGtkMisc.cmi 
-matita.cmo: predefined_virtuals.cmi matitaScript.cmi matitaInit.cmi \
-    matitaGui.cmi matitaGtkMisc.cmi buildTimeConf.cmo applyTransformation.cmi 
-matita.cmx: predefined_virtuals.cmx matitaScript.cmx matitaInit.cmx \
-    matitaGui.cmx matitaGtkMisc.cmx buildTimeConf.cmx applyTransformation.cmx 
-virtuals.cmo: virtuals.cmi 
-virtuals.cmx: virtuals.cmi 
-lablGraphviz.cmo: lablGraphviz.cmi 
-lablGraphviz.cmx: lablGraphviz.cmi 
-matitaEngine.cmo: applyTransformation.cmi matitaEngine.cmi 
-matitaEngine.cmx: applyTransformation.cmx matitaEngine.cmi 
+    matitaGtkMisc.cmi
+virtuals.cmo: virtuals.cmi
+virtuals.cmx: virtuals.cmi
+lablGraphviz.cmo: lablGraphviz.cmi
+lablGraphviz.cmx: lablGraphviz.cmi
+matitaEngine.cmo: applyTransformation.cmi matitaEngine.cmi
+matitaEngine.cmx: applyTransformation.cmx matitaEngine.cmi
 matitaGui.cmo: matitaTypes.cmi matitaScript.cmi matitaMisc.cmi \
     matitaMathView.cmi matitaGuiTypes.cmi matitaGtkMisc.cmi \
-    matitaGeneratedGui.cmo matitaExcPp.cmi buildTimeConf.cmo matitaGui.cmi 
+    matitaGeneratedGui.cmo matitaExcPp.cmi buildTimeConf.cmo matitaGui.cmi
 matitaGui.cmx: matitaTypes.cmx matitaScript.cmx matitaMisc.cmx \
     matitaMathView.cmx matitaGuiTypes.cmi matitaGtkMisc.cmx \
-    matitaGeneratedGui.cmx matitaExcPp.cmx buildTimeConf.cmx matitaGui.cmi 
+    matitaGeneratedGui.cmx matitaExcPp.cmx buildTimeConf.cmx matitaGui.cmi
 matitaAuthentication.cmo: matitaFilesystem.cmi matitaEngine.cmi \
-    matitaAuthentication.cmi 
+    matitaAuthentication.cmi
 matitaAuthentication.cmx: matitaFilesystem.cmx matitaEngine.cmx \
-    matitaAuthentication.cmi 
-matitaExcPp.cmo: matitaEngine.cmi matitaExcPp.cmi 
-matitaExcPp.cmx: matitaEngine.cmx matitaExcPp.cmi 
-matitaInit.cmo: matitaExcPp.cmi buildTimeConf.cmo matitaInit.cmi 
-matitaInit.cmx: matitaExcPp.cmx buildTimeConf.cmx matitaInit.cmi 
+    matitaAuthentication.cmi
+matitaExcPp.cmo: matitaEngine.cmi matitaExcPp.cmi
+matitaExcPp.cmx: matitaEngine.cmx matitaExcPp.cmi
+matitaInit.cmo: matitaExcPp.cmi buildTimeConf.cmo matitaInit.cmi
+matitaInit.cmx: matitaExcPp.cmx buildTimeConf.cmx matitaInit.cmi
 matitaScript.cmo: virtuals.cmi matitaTypes.cmi matitaScriptLexer.cmi \
     matitaMisc.cmi matitaMathView.cmi matitaGtkMisc.cmi matitaEngine.cmi \
-    cicMathView.cmi buildTimeConf.cmo matitaScript.cmi 
+    cicMathView.cmi buildTimeConf.cmo matitaScript.cmi
 matitaScript.cmx: virtuals.cmx matitaTypes.cmx matitaScriptLexer.cmx \
     matitaMisc.cmx matitaMathView.cmx matitaGtkMisc.cmx matitaEngine.cmx \
-    cicMathView.cmx buildTimeConf.cmx matitaScript.cmi 
-applyTransformation.cmi: 
-matitaclean.cmi: 
-matitaFilesystem.cmi: 
-matitaMathView.cmi: matitaTypes.cmi matitaGuiTypes.cmi 
-matitaTypes.cmi: 
-matitaMisc.cmi: matitaGuiTypes.cmi 
-predefined_virtuals.cmi: 
-cicMathView.cmi: matitaGuiTypes.cmi applyTransformation.cmi 
-matitaGtkMisc.cmi: matitaGeneratedGui.cmo 
-virtuals.cmi: 
-lablGraphviz.cmi: 
-matitaEngine.cmi: applyTransformation.cmi 
-matitaGui.cmi: matitaGuiTypes.cmi 
-matitaGuiTypes.cmi: matitaGeneratedGui.cmo applyTransformation.cmi 
-matitaScriptLexer.cmi: 
-matitaAuthentication.cmi: matitaFilesystem.cmi matitaEngine.cmi 
-matitaExcPp.cmi: 
-matitaInit.cmi: 
-matitaScript.cmi: 
-matitaScriptLexer.cmo: matitaScriptLexer.cmi 
-matitaScriptLexer.cmx: matitaScriptLexer.cmi 
-matitaScriptLexer.cmi: 
+    cicMathView.cmx buildTimeConf.cmx matitaScript.cmi
+applyTransformation.cmi:
+matitaclean.cmi:
+matitaFilesystem.cmi:
+matitaMathView.cmi: matitaTypes.cmi matitaGuiTypes.cmi
+matitaTypes.cmi:
+matitaMisc.cmi: matitaGuiTypes.cmi
+predefined_virtuals.cmi:
+cicMathView.cmi: matitaGuiTypes.cmi applyTransformation.cmi
+matitaGtkMisc.cmi: matitaGeneratedGui.cmo
+virtuals.cmi:
+lablGraphviz.cmi:
+matitaEngine.cmi: applyTransformation.cmi
+matitaGui.cmi: matitaGuiTypes.cmi
+matitaGuiTypes.cmi: matitaGeneratedGui.cmo applyTransformation.cmi
+matitaScriptLexer.cmi:
+matitaAuthentication.cmi: matitaFilesystem.cmi matitaEngine.cmi
+matitaExcPp.cmi:
+matitaInit.cmi:
+matitaScript.cmi:
+matitaScriptLexer.cmo: matitaScriptLexer.cmi
+matitaScriptLexer.cmx: matitaScriptLexer.cmi
+matitaScriptLexer.cmi:
index 92272e16ad9912c053b7f542f380d404c15d95a5..8064ce10a997ed9037a01b5ed1a832f21f69ada0 100644 (file)
@@ -1,90 +1,86 @@
-applyTransformation.cmo: applyTransformation.cmi 
-applyTransformation.cmx: applyTransformation.cmi 
-matitaclean.cmo: matitaMisc.cmi matitaInit.cmi matitaclean.cmi 
-matitaclean.cmx: matitaMisc.cmx matitaInit.cmx matitaclean.cmi 
-matitaFilesystem.cmo: matitaFilesystem.cmi 
-matitaFilesystem.cmx: matitaFilesystem.cmi 
+applyTransformation.cmo: applyTransformation.cmi
+applyTransformation.cmx: applyTransformation.cmi
+matitaclean.cmo: matitaMisc.cmi matitaInit.cmi matitaclean.cmi
+matitaclean.cmx: matitaMisc.cmx matitaInit.cmx matitaclean.cmi
+matitaFilesystem.cmo: matitaFilesystem.cmi
+matitaFilesystem.cmx: matitaFilesystem.cmi
 matitaMathView.cmo: virtuals.cmi matitaTypes.cmi matitaMisc.cmi \
     matitaGuiTypes.cmi matitaGtkMisc.cmi matitaGeneratedGui.cmx \
     matitaExcPp.cmi lablGraphviz.cmi cicMathView.cmi buildTimeConf.cmx \
-    applyTransformation.cmi matitaMathView.cmi 
+    applyTransformation.cmi matitaMathView.cmi
 matitaMathView.cmx: virtuals.cmx matitaTypes.cmx matitaMisc.cmx \
     matitaGuiTypes.cmi matitaGtkMisc.cmx matitaGeneratedGui.cmx \
     matitaExcPp.cmx lablGraphviz.cmx cicMathView.cmx buildTimeConf.cmx \
-    applyTransformation.cmx matitaMathView.cmi 
-matitaTypes.cmo: matitaTypes.cmi 
-matitaTypes.cmx: matitaTypes.cmi 
-buildTimeConf.cmo: 
-buildTimeConf.cmx: 
-matitac.cmo: matitaclean.cmi matitaMisc.cmi matitaInit.cmi matitaEngine.cmi 
-matitac.cmx: matitaclean.cmx matitaMisc.cmx matitaInit.cmx matitaEngine.cmx 
-matitaGeneratedGui.cmo: 
-matitaGeneratedGui.cmx: 
-matitaMisc.cmo: matitaGuiTypes.cmi buildTimeConf.cmx matitaMisc.cmi 
-matitaMisc.cmx: matitaGuiTypes.cmi buildTimeConf.cmx matitaMisc.cmi 
-predefined_virtuals.cmo: virtuals.cmi predefined_virtuals.cmi 
-predefined_virtuals.cmx: virtuals.cmx predefined_virtuals.cmi 
+    applyTransformation.cmx matitaMathView.cmi
+matitaTypes.cmo: matitaTypes.cmi
+matitaTypes.cmx: matitaTypes.cmi
+buildTimeConf.cmo:
+buildTimeConf.cmx:
+matitac.cmo: matitaclean.cmi matitaMisc.cmi matitaInit.cmi matitaEngine.cmi
+matitac.cmx: matitaclean.cmx matitaMisc.cmx matitaInit.cmx matitaEngine.cmx
+matitaGeneratedGui.cmo:
+matitaGeneratedGui.cmx:
+matitaMisc.cmo: matitaGuiTypes.cmi buildTimeConf.cmx matitaMisc.cmi
+matitaMisc.cmx: matitaGuiTypes.cmi buildTimeConf.cmx matitaMisc.cmi
+predefined_virtuals.cmo: virtuals.cmi predefined_virtuals.cmi
+predefined_virtuals.cmx: virtuals.cmx predefined_virtuals.cmi
 cicMathView.cmo: matitaMisc.cmi matitaGuiTypes.cmi matitaGtkMisc.cmi \
-    buildTimeConf.cmx applyTransformation.cmi cicMathView.cmi 
+    buildTimeConf.cmx applyTransformation.cmi cicMathView.cmi
 cicMathView.cmx: matitaMisc.cmx matitaGuiTypes.cmi matitaGtkMisc.cmx \
-    buildTimeConf.cmx applyTransformation.cmx cicMathView.cmi 
-matitadaemon.cmo: matitaInit.cmi matitaFilesystem.cmi matitaEngine.cmi \
-    matitaAuthentication.cmi applyTransformation.cmi 
-matitadaemon.cmx: matitaInit.cmx matitaFilesystem.cmx matitaEngine.cmx \
-    matitaAuthentication.cmx applyTransformation.cmx 
+    buildTimeConf.cmx applyTransformation.cmx cicMathView.cmi
+matitadaemon.cmo: matitaInit.cmi matitaFilesystem.cmi matitaExcPp.cmi \
+    matitaEngine.cmi matitaAuthentication.cmi applyTransformation.cmi
+matitadaemon.cmx: matitaInit.cmx matitaFilesystem.cmx matitaExcPp.cmx \
+    matitaEngine.cmx matitaAuthentication.cmx applyTransformation.cmx
 matitaGtkMisc.cmo: matitaTypes.cmi matitaGeneratedGui.cmx buildTimeConf.cmx \
-    matitaGtkMisc.cmi 
+    matitaGtkMisc.cmi
 matitaGtkMisc.cmx: matitaTypes.cmx matitaGeneratedGui.cmx buildTimeConf.cmx \
-    matitaGtkMisc.cmi 
-matita.cmo: predefined_virtuals.cmi matitaScript.cmi matitaInit.cmi \
-    matitaGui.cmi matitaGtkMisc.cmi buildTimeConf.cmx applyTransformation.cmi 
-matita.cmx: predefined_virtuals.cmx matitaScript.cmx matitaInit.cmx \
-    matitaGui.cmx matitaGtkMisc.cmx buildTimeConf.cmx applyTransformation.cmx 
-virtuals.cmo: virtuals.cmi 
-virtuals.cmx: virtuals.cmi 
-lablGraphviz.cmo: lablGraphviz.cmi 
-lablGraphviz.cmx: lablGraphviz.cmi 
-matitaEngine.cmo: applyTransformation.cmi matitaEngine.cmi 
-matitaEngine.cmx: applyTransformation.cmx matitaEngine.cmi 
+    matitaGtkMisc.cmi
+virtuals.cmo: virtuals.cmi
+virtuals.cmx: virtuals.cmi
+lablGraphviz.cmo: lablGraphviz.cmi
+lablGraphviz.cmx: lablGraphviz.cmi
+matitaEngine.cmo: applyTransformation.cmi matitaEngine.cmi
+matitaEngine.cmx: applyTransformation.cmx matitaEngine.cmi
 matitaGui.cmo: matitaTypes.cmi matitaScript.cmi matitaMisc.cmi \
     matitaMathView.cmi matitaGuiTypes.cmi matitaGtkMisc.cmi \
-    matitaGeneratedGui.cmx matitaExcPp.cmi buildTimeConf.cmx matitaGui.cmi 
+    matitaGeneratedGui.cmx matitaExcPp.cmi buildTimeConf.cmx matitaGui.cmi
 matitaGui.cmx: matitaTypes.cmx matitaScript.cmx matitaMisc.cmx \
     matitaMathView.cmx matitaGuiTypes.cmi matitaGtkMisc.cmx \
-    matitaGeneratedGui.cmx matitaExcPp.cmx buildTimeConf.cmx matitaGui.cmi 
+    matitaGeneratedGui.cmx matitaExcPp.cmx buildTimeConf.cmx matitaGui.cmi
 matitaAuthentication.cmo: matitaFilesystem.cmi matitaEngine.cmi \
-    matitaAuthentication.cmi 
+    matitaAuthentication.cmi
 matitaAuthentication.cmx: matitaFilesystem.cmx matitaEngine.cmx \
-    matitaAuthentication.cmi 
-matitaExcPp.cmo: matitaEngine.cmi matitaExcPp.cmi 
-matitaExcPp.cmx: matitaEngine.cmx matitaExcPp.cmi 
-matitaInit.cmo: matitaExcPp.cmi buildTimeConf.cmx matitaInit.cmi 
-matitaInit.cmx: matitaExcPp.cmx buildTimeConf.cmx matitaInit.cmi 
+    matitaAuthentication.cmi
+matitaExcPp.cmo: matitaEngine.cmi matitaExcPp.cmi
+matitaExcPp.cmx: matitaEngine.cmx matitaExcPp.cmi
+matitaInit.cmo: matitaExcPp.cmi buildTimeConf.cmx matitaInit.cmi
+matitaInit.cmx: matitaExcPp.cmx buildTimeConf.cmx matitaInit.cmi
 matitaScript.cmo: virtuals.cmi matitaTypes.cmi matitaScriptLexer.cmi \
     matitaMisc.cmi matitaMathView.cmi matitaGtkMisc.cmi matitaEngine.cmi \
-    cicMathView.cmi buildTimeConf.cmx matitaScript.cmi 
+    cicMathView.cmi buildTimeConf.cmx matitaScript.cmi
 matitaScript.cmx: virtuals.cmx matitaTypes.cmx matitaScriptLexer.cmx \
     matitaMisc.cmx matitaMathView.cmx matitaGtkMisc.cmx matitaEngine.cmx \
-    cicMathView.cmx buildTimeConf.cmx matitaScript.cmi 
-applyTransformation.cmi: 
-matitaclean.cmi: 
-matitaFilesystem.cmi: 
-matitaMathView.cmi: matitaTypes.cmi matitaGuiTypes.cmi 
-matitaTypes.cmi: 
-matitaMisc.cmi: matitaGuiTypes.cmi 
-predefined_virtuals.cmi: 
-cicMathView.cmi: matitaGuiTypes.cmi applyTransformation.cmi 
-matitaGtkMisc.cmi: matitaGeneratedGui.cmx 
-virtuals.cmi: 
-lablGraphviz.cmi: 
-matitaEngine.cmi: applyTransformation.cmi 
-matitaGui.cmi: matitaGuiTypes.cmi 
-matitaGuiTypes.cmi: matitaGeneratedGui.cmx applyTransformation.cmi 
-matitaScriptLexer.cmi: 
-matitaAuthentication.cmi: matitaFilesystem.cmi matitaEngine.cmi 
-matitaExcPp.cmi: 
-matitaInit.cmi: 
-matitaScript.cmi: 
-matitaScriptLexer.cmo: matitaScriptLexer.cmi 
-matitaScriptLexer.cmx: matitaScriptLexer.cmi 
-matitaScriptLexer.cmi: 
+    cicMathView.cmx buildTimeConf.cmx matitaScript.cmi
+applyTransformation.cmi:
+matitaclean.cmi:
+matitaFilesystem.cmi:
+matitaMathView.cmi: matitaTypes.cmi matitaGuiTypes.cmi
+matitaTypes.cmi:
+matitaMisc.cmi: matitaGuiTypes.cmi
+predefined_virtuals.cmi:
+cicMathView.cmi: matitaGuiTypes.cmi applyTransformation.cmi
+matitaGtkMisc.cmi: matitaGeneratedGui.cmx
+virtuals.cmi:
+lablGraphviz.cmi:
+matitaEngine.cmi: applyTransformation.cmi
+matitaGui.cmi: matitaGuiTypes.cmi
+matitaGuiTypes.cmi: matitaGeneratedGui.cmx applyTransformation.cmi
+matitaScriptLexer.cmi:
+matitaAuthentication.cmi: matitaFilesystem.cmi matitaEngine.cmi
+matitaExcPp.cmi:
+matitaInit.cmi:
+matitaScript.cmi:
+matitaScriptLexer.cmo: matitaScriptLexer.cmi
+matitaScriptLexer.cmx: matitaScriptLexer.cmi
+matitaScriptLexer.cmi:
diff --git a/matitaB/matita/html/icons/advance.png b/matitaB/matita/html/icons/advance.png
new file mode 100644 (file)
index 0000000..fbac430
Binary files /dev/null and b/matitaB/matita/html/icons/advance.png differ
diff --git a/matitaB/matita/html/icons/bottom.png b/matitaB/matita/html/icons/bottom.png
new file mode 100644 (file)
index 0000000..9bcb7aa
Binary files /dev/null and b/matitaB/matita/html/icons/bottom.png differ
diff --git a/matitaB/matita/html/icons/matita-32.xpm b/matitaB/matita/html/icons/matita-32.xpm
new file mode 100644 (file)
index 0000000..a33050e
--- /dev/null
@@ -0,0 +1,70 @@
+/* XPM */
+static char * matita_32_xpm[] = {
+"32 32 35 1",
+"      c None",
+".     c #000000",
+"+     c #808080",
+"@     c #404040",
+"#     c #7F7F7F",
+"$     c #FFFFFF",
+"%     c #666666",
+"&     c #CDCDCD",
+"*     c #F0F0F0",
+"=     c #5F5F5F",
+"-     c #0E0E0E",
+";     c #131313",
+">     c #898989",
+",     c #EAEAEA",
+"'     c #565656",
+")     c #0B0B0B",
+"!     c #7A7A7A",
+"~     c #FEFEFE",
+"{     c #4D4D4D",
+"]     c #AAAAAA",
+"^     c #333333",
+"/     c #989898",
+"(     c #353535",
+"_     c #D8D8D8",
+":     c #F6F6F6",
+"<     c #717171",
+"[     c #0D0D0D",
+"}     c #363636",
+"|     c #CECECE",
+"1     c #0C0C0C",
+"2     c #FCFCFC",
+"3     c #654040",
+"4     c #A36666",
+"5     c #CB8080",
+"6     c #3F3F3F",
+"                                ",
+"                      ..        ",
+"  ............................  ",
+"  .++++++++++++@...#$$$+.++++.  ",
+"  .++++++++%@...&$$$$$$$.++++.  ",
+"  .+++++%....&$$$$$$$$$$.%+++.  ",
+"  .++%...+&$$$$$$$$$$$$$+.+++.  ",
+"  ....#&$$$$$$$$$$$$$$$$&.+++.  ",
+" ..#&$$$$$$$$$$$$$$$$$$$$.%++.  ",
+" ..$$$$$$$$$$$$$$$$$$$$$$+.++.  ",
+" ..$$$$$$$$$$$$$$$$$$$$$$&.++.  ",
+"  .$$$$$$..*=-;>$,');!~$$$.%+.  ",
+"  .&$$$$$..{....]^..../$$$+.+.  ",
+"  ..$$$$$..(_:<.[(_:<.}$$$&.+.  ",
+"  ..$$$$$..|$$,..|$$,.1$$$$.%.  ",
+"  ..&$$$$..2$$$..2$$$..$$$$.@.  ",
+"  .3.$$$$..$$$$..$$$$..$$$$&..  ",
+"  .4.$$$$..$$$$..$$$$..$$$$$..  ",
+"  .5.&$$$..$$$$..$$$$..$$$$$..  ",
+"  .53.$$$..$$$$..$$$$..$$$$$&.  ",
+"  .54.$$$..$$$$..$$$$..$$$$$$.  ",
+"  .55.$$$$$$$$$$$$$$$$$$$$$$$.. ",
+"  .55.+$$$$$$$$$$$$$$$$$$$$$$.. ",
+"  .554.$$$$$$$$$$$$$$$$$$$$$+.. ",
+"  .555.$$$$$$$$$$$$$$$$$&+....  ",
+"  .555.+$$$$$$$$$$$$$&+...%++.  ",
+"  .5553.$$$$$$$$$$&+...%+++++.  ",
+"  .5555.$$$$$$$+....%++++++++.  ",
+"  .5555.&$$$+...6++++++++++++.  ",
+"  ............................  ",
+"        ..                      ",
+"                                "};
diff --git a/matitaB/matita/html/icons/matita-bulb-high.png b/matitaB/matita/html/icons/matita-bulb-high.png
new file mode 100644 (file)
index 0000000..03b6e7f
Binary files /dev/null and b/matitaB/matita/html/icons/matita-bulb-high.png differ
diff --git a/matitaB/matita/html/icons/matita-bulb-low.png b/matitaB/matita/html/icons/matita-bulb-low.png
new file mode 100644 (file)
index 0000000..f97302e
Binary files /dev/null and b/matitaB/matita/html/icons/matita-bulb-low.png differ
diff --git a/matitaB/matita/html/icons/matita-bulb-medium.png b/matitaB/matita/html/icons/matita-bulb-medium.png
new file mode 100644 (file)
index 0000000..d3d449f
Binary files /dev/null and b/matitaB/matita/html/icons/matita-bulb-medium.png differ
diff --git a/matitaB/matita/html/icons/matita-folder.png b/matitaB/matita/html/icons/matita-folder.png
new file mode 100644 (file)
index 0000000..ec0cc08
Binary files /dev/null and b/matitaB/matita/html/icons/matita-folder.png differ
diff --git a/matitaB/matita/html/icons/matita-object.png b/matitaB/matita/html/icons/matita-object.png
new file mode 100644 (file)
index 0000000..fe89a30
Binary files /dev/null and b/matitaB/matita/html/icons/matita-object.png differ
diff --git a/matitaB/matita/html/icons/matita-text.png b/matitaB/matita/html/icons/matita-text.png
new file mode 100644 (file)
index 0000000..082a402
Binary files /dev/null and b/matitaB/matita/html/icons/matita-text.png differ
diff --git a/matitaB/matita/html/icons/matita-theory.png b/matitaB/matita/html/icons/matita-theory.png
new file mode 100644 (file)
index 0000000..389152e
Binary files /dev/null and b/matitaB/matita/html/icons/matita-theory.png differ
diff --git a/matitaB/matita/html/icons/matita.png b/matitaB/matita/html/icons/matita.png
new file mode 100644 (file)
index 0000000..342bcb4
Binary files /dev/null and b/matitaB/matita/html/icons/matita.png differ
diff --git a/matitaB/matita/html/icons/matita_medium.png b/matitaB/matita/html/icons/matita_medium.png
new file mode 100644 (file)
index 0000000..335688a
Binary files /dev/null and b/matitaB/matita/html/icons/matita_medium.png differ
diff --git a/matitaB/matita/html/icons/matita_small.png b/matitaB/matita/html/icons/matita_small.png
new file mode 100644 (file)
index 0000000..cfb017b
Binary files /dev/null and b/matitaB/matita/html/icons/matita_small.png differ
diff --git a/matitaB/matita/html/icons/matita_very_small.png b/matitaB/matita/html/icons/matita_very_small.png
new file mode 100644 (file)
index 0000000..5a68071
Binary files /dev/null and b/matitaB/matita/html/icons/matita_very_small.png differ
diff --git a/matitaB/matita/html/icons/meegg.png b/matitaB/matita/html/icons/meegg.png
new file mode 100644 (file)
index 0000000..4c2be73
Binary files /dev/null and b/matitaB/matita/html/icons/meegg.png differ
diff --git a/matitaB/matita/html/icons/position.png b/matitaB/matita/html/icons/position.png
new file mode 100644 (file)
index 0000000..1beaf89
Binary files /dev/null and b/matitaB/matita/html/icons/position.png differ
diff --git a/matitaB/matita/html/icons/retract.png b/matitaB/matita/html/icons/retract.png
new file mode 100644 (file)
index 0000000..243cf07
Binary files /dev/null and b/matitaB/matita/html/icons/retract.png differ
diff --git a/matitaB/matita/html/icons/top.jpg b/matitaB/matita/html/icons/top.jpg
new file mode 100644 (file)
index 0000000..c656ad8
Binary files /dev/null and b/matitaB/matita/html/icons/top.jpg differ
diff --git a/matitaB/matita/html/icons/top.png b/matitaB/matita/html/icons/top.png
new file mode 100644 (file)
index 0000000..167e218
Binary files /dev/null and b/matitaB/matita/html/icons/top.png differ
diff --git a/matitaB/matita/html/icons/whelp.png b/matitaB/matita/html/icons/whelp.png
new file mode 100644 (file)
index 0000000..f67ea8b
Binary files /dev/null and b/matitaB/matita/html/icons/whelp.png differ
diff --git a/matitaB/matita/html/icons/whelp.svg b/matitaB/matita/html/icons/whelp.svg
new file mode 100644 (file)
index 0000000..c1da66f
--- /dev/null
@@ -0,0 +1,221 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:xml="http://www.w3.org/XML/1998/namespace"
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://web.resource.org/cc/"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   inkscape:export-ydpi="2.8499999"
+   inkscape:export-xdpi="2.8499999"
+   inkscape:export-filename="/home/tassi/helm/matita/icons/whelp.png"
+   sodipodi:docname="whelp.svg"
+   sodipodi:docbase="/home/tassi/helm/matita/icons"
+   inkscape:version="0.41"
+   sodipodi:version="0.32"
+   id="svg2"
+   height="297mm"
+   width="210mm">
+  <defs
+     id="defs3" />
+  <sodipodi:namedview
+     inkscape:window-y="47"
+     inkscape:window-x="538"
+     inkscape:window-height="743"
+     inkscape:window-width="697"
+     inkscape:current-layer="layer1"
+     inkscape:document-units="px"
+     inkscape:cy="526.18109"
+     inkscape:cx="-47.832055"
+     inkscape:zoom="0.53878789"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base" />
+  <metadata
+     id="metadata4">
+    <rdf:RDF
+       id="RDF5">
+      <cc:Work
+         id="Work6"
+         rdf:about="">
+        <dc:format
+           id="format7">image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage"
+           id="type9" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     id="layer1"
+     inkscape:groupmode="layer"
+     inkscape:label="Layer 1">
+    <g
+       transform="translate(7.424147,-25.98425)"
+       id="g2113">
+      <path
+         transform="matrix(3.092445,0.000000,0.000000,3.244102,-1367.216,-1102.351)"
+         d="M 277.14285 465.21933 A 21.428572 18.571428 0 1 1  234.28571,465.21933 A 21.428572 18.571428 0 1 1  277.14285 465.21933 z"
+         sodipodi:ry="18.571428"
+         sodipodi:rx="21.428572"
+         sodipodi:cy="465.21933"
+         sodipodi:cx="255.71428"
+         id="path1310"
+         style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.31571975;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+         sodipodi:type="arc" />
+      <path
+         transform="matrix(3.577041,0.000000,0.000000,3.764523,-1365.700,-1442.358)"
+         d="M 277.14285 465.21933 A 21.428572 18.571428 0 1 1  234.28571,465.21933 A 21.428572 18.571428 0 1 1  277.14285 465.21933 z"
+         sodipodi:ry="18.571428"
+         sodipodi:rx="21.428572"
+         sodipodi:cy="465.21933"
+         sodipodi:cx="255.71428"
+         id="path1316"
+         style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.27251038;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+         sodipodi:type="arc" />
+      <path
+         transform="matrix(3.536915,0.000000,0.000000,3.972675,-1343.944,-1485.563)"
+         d="M 322.85714 442.36218 A 22.857143 18.571428 0 1 1  277.14286,442.36218 A 22.857143 18.571428 0 1 1  322.85714 442.36218 z"
+         sodipodi:ry="18.571428"
+         sodipodi:rx="22.857143"
+         sodipodi:cy="442.36218"
+         sodipodi:cx="300.00000"
+         id="path1322"
+         style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.26677564;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+         sodipodi:type="arc" />
+      <path
+         transform="matrix(3.750966,0.000000,0.000000,3.972675,-1450.760,-1408.096)"
+         d="M 382.85716 436.64789 A 24.285715 21.428572 0 1 1  334.28573,436.64789 A 24.285715 21.428572 0 1 1  382.85716 436.64789 z"
+         sodipodi:ry="21.428572"
+         sodipodi:rx="24.285715"
+         sodipodi:cy="436.64789"
+         sodipodi:cx="358.57144"
+         id="path1328"
+         style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.25905198;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+         sodipodi:type="arc" />
+      <path
+         transform="matrix(3.536915,0.000000,0.000000,3.972675,-1478.347,-1461.727)"
+         d="M 394.28573 513.79077 A 65.714287 52.857143 0 1 1  262.85715,513.79077 A 65.714287 52.857143 0 1 1  394.28573 513.79077 z"
+         sodipodi:ry="52.857143"
+         sodipodi:rx="65.714287"
+         sodipodi:cy="513.79077"
+         sodipodi:cx="328.57144"
+         id="path1334"
+         style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.26677564;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+         sodipodi:type="arc" />
+    </g>
+    <g
+       id="g3923"
+       transform="matrix(3.536915,0.000000,0.000000,3.972675,-801.3348,-1982.086)"
+       inkscape:export-filename="/projects/helm/daemons/searchEngine/html/whelp.png"
+       inkscape:export-xdpi="100.84000"
+       inkscape:export-ydpi="100.84000">
+      <path
+         transform="matrix(0.874334,0.000000,0.000000,0.816604,44.53485,211.7504)"
+         d="M 277.14285 465.21933 A 21.428572 18.571428 0 1 1  234.28571,465.21933 A 21.428572 18.571428 0 1 1  277.14285 465.21933 z"
+         sodipodi:ry="18.571428"
+         sodipodi:rx="21.428572"
+         sodipodi:cy="465.21933"
+         sodipodi:cx="255.71428"
+         id="path2998"
+         style="fill:#780000;fill-opacity:0.48627451;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+         sodipodi:type="arc" />
+      <text
+         id="text3000"
+         y="600.53583"
+         x="257.61462"
+         style="font-size:36.000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:0.78431374;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Domestic Manners;text-anchor:start;writing-mode:lr-tb"
+         xml:space="preserve"><tspan
+           y="600.53583"
+           x="257.61462"
+           id="tspan3002"
+           sodipodi:role="line">h</tspan></text>
+      <path
+         transform="matrix(1.011345,0.000000,0.000000,0.947604,44.96344,126.1641)"
+         d="M 277.14285 465.21933 A 21.428572 18.571428 0 1 1  234.28571,465.21933 A 21.428572 18.571428 0 1 1  277.14285 465.21933 z"
+         sodipodi:ry="18.571428"
+         sodipodi:rx="21.428572"
+         sodipodi:cy="465.21933"
+         sodipodi:cx="255.71428"
+         id="path3004"
+         style="fill:#780000;fill-opacity:0.48627451;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+         sodipodi:type="arc" />
+      <text
+         id="text3006"
+         y="573.53583"
+         x="292.11462"
+         style="font-size:36.000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:0.78431374;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Domestic Manners;text-anchor:start;writing-mode:lr-tb"
+         xml:space="preserve"><tspan
+           y="573.53583"
+           x="292.11462"
+           id="tspan3008"
+           sodipodi:role="line">e</tspan></text>
+      <path
+         transform="translate(51.11460,115.2886)"
+         d="M 322.85714 442.36218 A 22.857143 18.571428 0 1 1  277.14286,442.36218 A 22.857143 18.571428 0 1 1  322.85714 442.36218 z"
+         sodipodi:ry="18.571428"
+         sodipodi:rx="22.857143"
+         sodipodi:cy="442.36218"
+         sodipodi:cx="300.00000"
+         id="path3010"
+         style="fill:#780000;fill-opacity:0.48627451;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+         sodipodi:type="arc" />
+      <text
+         id="text3012"
+         y="570.53583"
+         x="345.11462"
+         style="font-size:36.000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:0.78431374;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Domestic Manners;text-anchor:start;writing-mode:lr-tb"
+         xml:space="preserve"><tspan
+           y="570.53583"
+           x="345.11462"
+           id="tspan3014"
+           sodipodi:role="line">l</tspan></text>
+      <path
+         transform="matrix(1.060519,0.000000,0.000000,1.000000,20.91431,134.7886)"
+         d="M 382.85716 436.64789 A 24.285715 21.428572 0 1 1  334.28573,436.64789 A 24.285715 21.428572 0 1 1  382.85716 436.64789 z"
+         sodipodi:ry="21.428572"
+         sodipodi:rx="24.285715"
+         sodipodi:cy="436.64789"
+         sodipodi:cx="358.57144"
+         id="path3016"
+         style="fill:#780000;fill-opacity:0.48627451;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+         sodipodi:type="arc" />
+      <text
+         id="text3018"
+         y="575.03583"
+         x="392.11462"
+         style="font-size:36.000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:0.78431374;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Domestic Manners;text-anchor:start;writing-mode:lr-tb"
+         xml:space="preserve"><tspan
+           y="575.03583"
+           x="392.11462"
+           id="tspan3020"
+           sodipodi:role="line">p</tspan></text>
+      <path
+         transform="translate(13.11460,121.2886)"
+         d="M 394.28573 513.79077 A 65.714287 52.857143 0 1 1  262.85715,513.79077 A 65.714287 52.857143 0 1 1  394.28573 513.79077 z"
+         sodipodi:ry="52.857143"
+         sodipodi:rx="65.714287"
+         sodipodi:cy="513.79077"
+         sodipodi:cx="328.57144"
+         id="path3024"
+         style="fill:#000050;fill-opacity:0.31372550;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+         sodipodi:type="arc" />
+      <text
+         id="text3026"
+         y="655.03577"
+         x="317.61459"
+         style="font-size:64.000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#000000;fill-opacity:0.78431374;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Domestic Manners;text-anchor:start;writing-mode:lr-tb"
+         xml:space="preserve"><tspan
+           y="655.03577"
+           x="317.61459"
+           id="tspan3028"
+           sodipodi:role="line">W</tspan></text>
+    </g>
+  </g>
+</svg>
diff --git a/matitaB/matita/html/index.html b/matitaB/matita/html/index.html
new file mode 100644 (file)
index 0000000..21ffb0e
--- /dev/null
@@ -0,0 +1,124 @@
+<html>
+
+<head>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="jquery.tooltip.min.js"></script>
+<script type="text/javascript" src="utf8MacroTable.js"></script>
+<script type="text/javascript" src="matitaweb.js"></script>
+<script type="text/javascript" src="layout.js"></script>
+<link rel="stylesheet" type="text/css" href="matitaweb.css"/>
+<link rel="stylesheet" type="text/css" href="jquery.tooltip.css"/>
+
+<link href="treeview/xmlTree.css" type="text/css" rel="stylesheet"/>
+<script src="treeview/xmlTree.js" type="text/javascript"></script>
+
+</head>
+
+<body onLoad="initialize();">
+<textarea id="unescape" style="display:none;"></textarea>
+<div id="sandbox" style="display:none;"></div>
+
+<div class="matitaapparea" id="matitaapparea">
+
+<div class="titlebar" id="titlebar">
+  <div class="mainTitle"><H2 id="matitaTitle">Matita - &lt;&lt;Filename&gt;&gt;</H2></div>
+  <div class="mainRight" id="matitaLogout"><A id="hlogout" href="/logout.html">Log out</A></div>
+</div>
+
+
+<div class="toparea" id="toparea">
+<div class="navibar">
+           <A href="javascript:advanceForm1()"><IMG class="topimg" src="icons/advance.png" 
+                                                    id="advance" alt="Advance" 
+                                                    title="Execute one step of the script."></A>
+          <A href="javascript:retract()"><IMG class="topimg" src="icons/retract.png" 
+                                              id="retract" alt="Retract"
+                                               title="Undo execution of one step of the script."></A>
+          <A href="javascript:gotoTop()"><IMG class="topimg" src="icons/top.png" 
+                                                 id="top" alt="Top" title="Undo execution of the whole script."></A>
+          <A href="javascript:gotoPos()"><IMG class="topimg" src="icons/position.png" 
+                                               id="cursor" alt="Play"
+                                               title="Execute the script until the current position of the cursor."></A>
+          <A href="javascript:gotoBottom()"><IMG class="topimg" src="icons/bottom.png" 
+                                                 id="bottom" alt="Bottom" title="Execute the whole script."></A>
+</div>
+<div class="toolbar">
+  <table>
+  <tr>
+    <td>
+          <INPUT type="BUTTON" value="New" id="newbutton" ONCLICK="newDialog()">
+          <INPUT type="BUTTON" value="Open" id="showdialog" ONCLICK="openDialog()">
+          <INPUT type="BUTTON" value="Save" id="savebutton" ONCLICK="saveFile()">
+          <INPUT type="BUTTON" value="Save as" id="saveasbutton" ONCLICK="saveDialog()">
+    </td>
+  </tr>
+  <tr>
+    <td>
+          <INPUT type="BUTTON" value="Upload" id="uploadbutton" ONCLICK="uploadDialog()">
+           <INPUT type="BUTTON" value="Commit" id="commitbutton" ONCLICK="commitAll()">
+           <INPUT type="BUTTON" value="Update" id="updatebutton" ONCLICK="updateAll()">
+           <INPUT type="BUTTON" value="Log" id="logbutton" ONCLICK="showLog()">
+           <INPUT type="BUTTON" value="Del hrefs" id="delintbutton" ONCLICK="strip_interpr()">
+<!--      <INPUT type="BUTTON" value="show sequent" id="showseq" ONCLICK="showSequent()">
+          <INPUT type="BUTTON" value="hide sequent" id="hideseq" ONCLICK="hideSequent()">
+          <INPUT type="BUTTON" value="selection test" id="hideseq" ONCLICK="test()"> -->
+    </td>
+  </tr>
+  </table> 
+
+</div>
+<div class="caption"><p><img align="bottom" class="topimg" src="icons/matita-text.png"></p></div>
+</div>
+
+<div class="workarea" id="workarea">
+<div class="scriptarea" id="scriptcell">
+  <!-- the script --> 
+  <!-- 
+  The two DIVs "locked" and "unlocked" MUST be on the same line (since they are 
+  inside a PRE tag, a CR will be reflected in the document presentation)
+  -->
+  <div style="width:100%; height:100%; overflow:auto;">
+  <pre><div contentEditable="false" id="locked" style="background-color:#bfbfff; display:inline;"></div><div contentEditable="true" id="unlocked" style="display:inline">(* script *)</div></pre></div>
+  <!-- the script (end) --> 
+</div>
+<div class="sidearea" id="sidearea">
+ <div class="framed" id="disambcell"></div>
+ <div class="framed" id="goalcell">
+  <div id="goals"></div>
+  <div class="context">
+  <pre id="goalview"></pre>
+  </div>
+ </div>
+</div>
+</div>
+
+<!-- <div class="bottomarea">
+       <textarea id="logarea" style="width:100%; height:100%"></textarea>
+</div> -->
+
+</div>
+
+<div class="dialog" id="dialogBox" style="display: none;">
+  <div class="diaTitle" id="dialogTitle"></div>
+  <div class="diaClose" id="dialogClose"><H2><A class="butClose" href="javascript:abortDialog('dialogBox')">X</A></H2></div>
+  <INPUT type="button" id="dialogNewdir" value="Create dir..." ONCLICK="createDir()" style="width:150px"><br/>
+  <div class="scroll" id="dialogContent"></div>
+  <INPUT class="diaFile" type="text" id="dialogFilename">
+  <INPUT type="button" id="dialogSelect" value="OK" ONCLICK="dialogOK()" style="width:70px">
+</div>
+
+<div class="upload" id="uploadBox" style="display: none;">
+  <div class="dialogTitle" id="uploadTitle"></div>
+  <div class="diaClose" id="uploadClose"><H2><A class="butClose" href="javascript:abortDialog('uploadBox')">X</A></H2></div>
+  <INPUT class="diaFile" type="file" id="uploadFilename">
+  <INPUT type="button" id="uploadSelect" value="OK" ONCLICK="uploadOK()" style="width:70px">
+</div>
+
+<!-- Mask to cover the whole screen --> 
+  <div id="mask"></div> 
+  
+<!-- Mask to cover the toolbar --> 
+  <div id="whitemask"></div> 
+
+ </body>
+</html> 
diff --git a/matitaB/matita/html/jquery.js b/matitaB/matita/html/jquery.js
new file mode 100644 (file)
index 0000000..628ed9b
--- /dev/null
@@ -0,0 +1,4 @@
+/*! jQuery v1.6.4 http://jquery.com/ | http://jquery.org/license */
+(function(a,b){function cu(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cr(a){if(!cg[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ch||(ch=c.createElement("iframe"),ch.frameBorder=ch.width=ch.height=0),b.appendChild(ch);if(!ci||!ch.createElement)ci=(ch.contentWindow||ch.contentDocument).document,ci.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),ci.close();d=ci.createElement(a),ci.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ch)}cg[a]=e}return cg[a]}function cq(a,b){var c={};f.each(cm.concat.apply([],cm.slice(0,b)),function(){c[this]=a});return c}function cp(){cn=b}function co(){setTimeout(cp,0);return cn=f.now()}function cf(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ce(){try{return new a.XMLHttpRequest}catch(b){}}function b$(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function bZ(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function bY(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bA.test(a)?d(a,e):bY(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)bY(a+"["+e+"]",b[e],c,d);else d(a,b)}function bX(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function bW(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bP,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bW(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bW(a,c,d,e,"*",g));return l}function bV(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bL),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function by(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?bt:bu;if(d>0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bv(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function bl(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bd,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bk(a){f.nodeName(a,"input")?bj(a):"getElementsByTagName"in a&&f.grep(a.getElementsByTagName("input"),bj)}function bj(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bi(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bh(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bg(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)f.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function bf(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function V(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(Q.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function U(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function M(a,b){return(a&&a!=="*"?a+".":"")+b.replace(y,"`").replace(z,"&")}function L(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;i<s.length;i++)g=s[i],g.origType.replace(w,"")===a.type?q.push(g.selector):s.splice(i--,1);e=f(a.target).closest(q,a.currentTarget);for(j=0,k=e.length;j<k;j++){m=e[j];for(i=0;i<s.length;i++){g=s[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,d=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,d=f(a.relatedTarget).closest(g.selector)[0],d&&f.contains(h,d)&&(d=h);(!d||d!==h)&&p.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++){e=p[j];if(c&&e.level>c)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function J(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function D(){return!0}function C(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function K(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(K,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z]|[0-9])/ig,x=/^-ms-/,y=function(a,b){return(b+"").toUpperCase()},z=d.userAgent,A,B,C,D=Object.prototype.toString,E=Object.prototype.hasOwnProperty,F=Array.prototype.push,G=Array.prototype.slice,H=String.prototype.trim,I=Array.prototype.indexOf,J={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.4",length:0,size:function(){return this.length},toArray:function(){return G.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?F.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),B.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(G.apply(this,arguments),"slice",G.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:F,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;B.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!B){B=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",C,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",C),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&K()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):J[D.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!E.call(a,"constructor")&&!E.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||E.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(x,"ms-").replace(w,y)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:H?function(a){return a==null?"":H.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?F.call(c,a):e.merge(c,a)}return c},inArray:function(a,b){if(!b)return-1;if(I)return I.call(b,a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=G.call(arguments,2),g=function(){return a.apply(c,f.concat(G.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){J["[object "+b+"]"]=b.toLowerCase()}),A=e.uaMatch(z),A.browser&&(e.browser[A.browser]=!0,e.browser.version=A.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?C=function(){c.removeEventListener("DOMContentLoaded",C,!1),e.ready()}:c.attachEvent&&(C=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",C),e.ready())});return e}(),g="done fail isResolved isRejected promise then always pipe".split(" "),h=[].slice;f.extend({_Deferred:function(){var a=[],b,c,d,e={done:function(){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this},resolveWith:function(e,f){if(!d&&!b&&!c){f=f||[],c=1;try{while(a[0])a.shift().apply(e,f)}finally{b=[e,f],c=0}}return this},resolve:function(){e.resolveWith(this,arguments);return this},isResolved:function(){return!!c||!!b},cancel:function(){d=1,a=[];return this}};return e},Deferred:function(a){var b=f._Deferred(),c=f._Deferred(),d;f.extend(b,{then:function(a,c){b.done(a).fail(c);return this},always:function(){return b.done.apply(b,arguments).fail.apply(this,arguments)},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,pipe:function(a,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[c,"reject"]},function(a,c){var e=c[0],g=c[1],h;f.isFunction(e)?b[a](function(){h=e.apply(this,arguments),h&&f.isFunction(h.promise)?h.promise().then(d.resolve,d.reject):d[g+"With"](this===b?d:this,[h])}):b[a](d[g])})}).promise()},promise:function(a){if(a==null){if(d)return d;d=a={}}var c=g.length;while(c--)a[g[c]]=b[g[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){function i(a){return function(c){b[a]=arguments.length>1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c<d;c++)b[c]&&f.isFunction(b[c].promise)?b[c].promise().then(i(c),g.reject):--e;e||g.resolveWith(g,b)}else g!==a&&g.resolveWith(g,d?[a]:[]);return g.promise()}}),f.support=function(){var a=c.createElement("div"),b=c.documentElement,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;a.setAttribute("className","t"),a.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.firstChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},m&&f.extend(p,{position:"absolute",left:"-1000px",top:"-1000px"});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0),o.innerHTML="",n.removeChild(o);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;o=l=g=h=m=j=a=i=null;return k}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i=f.expando,j=typeof c=="string",k=a.nodeType,l=k?f.cache:a,m=k?a[f.expando]:a[f.expando]&&f.expando;if((!m||e&&m&&l[m]&&!l[m][i])&&j&&d===b)return;m||(k?a[f.expando]=m=++f.uuid:m=f.expando),l[m]||(l[m]={},k||(l[m].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?l[m][i]=f.extend(l[m][i],c):l[m]=f.extend(l[m],c);g=l[m],e&&(g[i]||(g[i]={}),g=g[i]),d!==b&&(g[f.camelCase(c)]=d);if(c==="events"&&!g[c])return g[i]&&g[i].events;j?(h=g[c],h==null&&(h=g[f.camelCase(c)])):h=g;return h}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e=f.expando,g=a.nodeType,h=g?f.cache:a,i=g?a[f.expando]:f.expando;if(!h[i])return;if(b){d=c?h[i][e]:h[i];if(d){d[b]||(b=f.camelCase(b)),delete d[b];if(!l(d))return}}if(c){delete h[i][e];if(!l(h[i]))return}var j=h[i][e];f.support.deleteExpando||!h.setInterval?delete h[i]:h[i]=null,j?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=j):g&&(f.support.deleteExpando?delete a[f.expando]:a.removeAttribute?a.removeAttribute(f.expando):a[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h<i;h++)g=e[h].name,g.indexOf("data-")===0&&(g=f.camelCase(g.substring(5)),k(this[0],g,d[g]))}}return d}if(typeof a=="object")return this.each(function(){f.data(this,a)});var j=a.split(".");j[1]=j[1]?"."+j[1]:"";if(c===b){d=this.triggerHandler("getData"+j[1]+"!",[j[0]]),d===b&&this.length&&(d=f.data(this[0],a),d=k(this[0],a,d));return d===b&&j[1]?this.data(j[0]):d}return this.each(function(){var b=f(this),d=[j[0],c];b.triggerHandler("setData"+j[1]+"!",d),f.data(this,a,c),b.triggerHandler("changeData"+j[1]+"!",d)})},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,c){a&&(c=(c||"fx")+"mark",f.data(a,c,(f.data(a,c,b,!0)||0)+1,!0))},_unmark:function(a,c,d){a!==!0&&(d=c,c=a,a=!1);if(c){d=d||"fx";var e=d+"mark",g=a?0:(f.data(c,e,b,!0)||1)-1;g?f.data(c,e,g,!0):(f.removeData(c,e,!0),m(c,d,"mark"))}},queue:function(a,c,d){if(a){c=(c||"fx")+"queue";var e=f.data(a,c,b,!0);d&&(!e||f.isArray(d)?e=f.data(a,c,f.makeArray(d),!0):e.push(d));return e||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e;d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),d.call(a,function(){f.dequeue(a,b)})),c.length||(f.removeData(a,b+"queue",!0),m(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){typeof a!="string"&&(c=a,a="fx");if(c===b)return f.queue(this[0],a);return this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){f.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f._Deferred(),!0))h++,l.done(m);m();return d.promise()}});var n=/[\n\t\r]/g,o=/\s+/,p=/\r/g,q=/^(?:button|input)$/i,r=/^(?:button|input|object|select|textarea)$/i,s=/^a(?:rea)?$/i,t=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,u,v;f.fn.extend({attr:function(a,b){return f.access(this,a,b,!0,f.attr)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,a,b,!0,f.prop)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(o);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(o);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(n," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(o);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(n," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;d=e.value;return typeof d=="string"?d.replace(p,""):d==null?"":d}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h<i;h++){var j=e[h];if(j.selected&&(f.support.optDisabled?!j.disabled:j.getAttribute("disabled")===null)&&(!j.parentNode.disabled||!f.nodeName(j.parentNode,"optgroup"))){b=f(j).val();if(g)return b;d.push(b)}}if(g&&!d.length&&e.length)return f(e[c]).val();return d},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);j&&(c=f.attrFix[c]||c,i=f.attrHooks[c],i||(t.test(c)?i=v:u&&(i=u)));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j&&(h=i.get(a,c))!==null)return h;h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.attr(a,b,""),a.removeAttribute(b),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(u&&f.nodeName(a,"button"))return u.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(u&&f.nodeName(a,"button"))return u.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);i&&(c=f.propFix[c]||c,h=f.propHooks[c]);return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==null?g:a[c]},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabIndex=f.propHooks.tabIndex,v={get:function(a,c){var d;return f.prop(a,c)===!0||(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},f.support.getSetAttribute||(u=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var w=/\.(.*)$/,x=/^(?:textarea|input|select)$/i,y=/\./g,z=/ /g,A=/[^\w\s.|`]/g,B=function(a){return a.replace(A,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=C;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=C);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),B).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))f.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=f.event.special[h]||{};for(j=e||0;j<p.length;j++){q=p[j];if(d.guid===q.guid){if(l||n.test(q.namespace))e==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q);if(e!=null)break}}if(p.length===0||e!=null&&p.length===1)(!o.teardown||o.teardown.call(a,m)===!1)&&f.removeEvent(a,h,s.handle),g=null,delete 
+t[h]}if(f.isEmptyObject(t)){var u=s.handle;u&&(u.elem=null),delete s.events,delete s.handle,f.isEmptyObject(s)&&f.removeData(a,b,!0)}}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){var h=c.type||c,i=[],j;h.indexOf("!")>=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d!=null?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h<i;h++){var j=d[h];if(e||c.namespace_re.test(j.namespace)){c.handler=j.handler,c.data=j.data,c.handleObj=j;var k=j.handler.apply(this,g);k!==b&&(c.result=k,k===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped())break}}return c.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[f.expando])return a;var d=a;a=f.Event(d);for(var e=this.props.length,g;e;)g=this.props[--e],a[g]=d[g];a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=a.target.ownerDocument||c,i=h.documentElement,j=h.body;a.pageX=a.clientX+(i&&i.scrollLeft||j&&j.scrollLeft||0)-(i&&i.clientLeft||j&&j.clientLeft||0),a.pageY=a.clientY+(i&&i.scrollTop||j&&j.scrollTop||0)-(i&&i.clientTop||j&&j.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKey=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:1e8,proxy:f.proxy,special:{ready:{setup:f.bindReady,teardown:f.noop},live:{add:function(a){f.event.add(this,M(a.origType,a.selector),f.extend({},a,{handler:L,guid:a.handler.guid}))},remove:function(a){f.event.remove(this,M(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!this.preventDefault)return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?D:C):this.type=a,b&&f.extend(this,b),this.timeStamp=f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=D;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=D;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=D,this.stopPropagation()},isDefaultPrevented:C,isPropagationStopped:C,isImmediatePropagationStopped:C};var E=function(a){var b=a.relatedTarget,c=!1,d=a.type;a.type=a.data,b!==this&&(b&&(c=f.contains(this,b)),c||(f.event.handle.apply(this,arguments),a.type=d))},F=function(a){a.type=a.data,f.event.handle.apply(this,arguments)};f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={setup:function(c){f.event.add(this,b,c&&c.selector?F:E,a)},teardown:function(a){f.event.remove(this,b,a&&a.selector?F:E)}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(a,b){if(!f.nodeName(this,"form"))f.event.add(this,"click.specialSubmit",function(a){var b=a.target,c=f.nodeName(b,"input")||f.nodeName(b,"button")?b.type:"";(c==="submit"||c==="image")&&f(b).closest("form").length&&J("submit",this,arguments)}),f.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=f.nodeName(b,"input")||f.nodeName(b,"button")?b.type:"";(c==="text"||c==="password")&&f(b).closest("form").length&&a.keyCode===13&&J("submit",this,arguments)});else return!1},teardown:function(a){f.event.remove(this,".specialSubmit")}});if(!f.support.changeBubbles){var G,H=function(a){var b=f.nodeName(a,"input")?a.type:"",c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},I=function(c){var d=c.target,e,g;if(!!x.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=H(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:I,beforedeactivate:I,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&I.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&I.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",H(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in G)f.event.add(this,c+".specialChange",G[c]);return x.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return x.test(this.nodeName)}},G=f.event.special.change.filters,G.focus=G.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i<j;i++)f.event.add(this[i],a,g,d);return this}}),f.fn.extend({unbind:function(a,b){if(typeof a=="object"&&!a.preventDefault)for(var c in a)this.unbind(c,a[c]);else for(var d=0,e=this.length;d<e;d++)f.event.remove(this[d],a,b);return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f.data(this,"lastToggle"+a.guid)||0)%d;f.data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var K={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};f.each(["live","die"],function(a,c){f.fn[c]=function(a,d,e,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:f(this.context);if(typeof a=="object"&&!a.preventDefault){for(var o in a)n[c](o,d,a[o],m);return this}if(c==="die"&&!a&&g&&g.charAt(0)==="."){n.unbind(g);return this}if(d===!1||f.isFunction(d))e=d||C,d=b;a=(a||"").split(" ");while((h=a[i++])!=null){j=w.exec(h),k="",j&&(k=j[0],h=h.replace(w,""));if(h==="hover"){a.push("mouseenter"+k,"mouseleave"+k);continue}l=h,K[h]?(a.push(K[h]+k),h=h+k):h=(K[h]||h)+k;if(c==="live")for(var p=0,q=n.length;p<q;p++)f.event.add(n[p],"live."+M(h,m),{data:d,selector:m,handler:e,origType:h,origHandler:e,preType:l});else n.unbind("live."+M(h,m),e)}return this}}),f.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!="string"){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.splice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter)if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\")continue;j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(!f)g=o=!0;else if(f===!0)continue}if(f)for(var s=0;(p=j[s])!=null;s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g)return[];break}}if(a===h)if(g==null)k.error(a);else break;h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},"":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("parentNode",b,f,a,e,c)},"~":function(a,b,c){var e,f=d++,g=u;typeof b=="string"&&!j.test(b)&&(b=b.toLowerCase(),e=b,g=t),g("previousSibling",b,f,a,e,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}k.error(e)},CHILD:function(a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling)if(d.nodeType===1)return!1;if(c==="first")return!0;d=a;case"last":while(d=d.nextSibling)if(d.nodeType===1)return!1;return!0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)d.nodeType===1&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c<f;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(r=function(a,b){if(a===b){g=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++)k(a,f[g],d);return k.filter(e,d)};f.find=k,f.expr=k.selectors,f.expr[":"]=f.expr.filters,f.unique=k.uniqueSort,f.text=k.getText,f.isXMLDoc=k.isXML,f.contains=k.contains}();var N=/Until$/,O=/^(?:parents|prevUntil|prevAll)/,P=/,/,Q=/^.[^:#\[\.,]*$/,R=Array.prototype.slice,S=f.expr.match.POS,T={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(V(this,a,!1),"not",a)},filter:function(a){return this.pushStack(V(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d<e;d++)i=a[d],j[i]||(j[i]=S.test(i)?f(i,b||this.context):i);while(g&&g.ownerDocument&&g!==b){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=S.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(l?l.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(U(c[0])||U(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=R.call(arguments);N.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!T[a]?f.unique(e):e,(this.length>1||P.test(d))&&O.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|object|embed|option|style)/i,bb=/checked\s*(?:[^=]|=\s*.checked.)/i,bc=/\/(java|ecma)script/i,bd=/^\s*<!(?:\[CDATA\[|\-\-)/,be={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};be.optgroup=be.option,be.tbody=be.tfoot=be.colgroup=be.caption=be.thead,be.th=be.td,f.support.htmlSerialize||(be._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!be[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(var c=0,d=this.length;c<d;c++)this[c].nodeType===1&&(f.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(e){this.empty().append(a)}}else f.isFunction(a)?this.each(function(b){var c=f(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bb.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bf(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,bl)}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i;b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof a[0]=="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!ba.test(a[0])&&(f.support.checkClone||!bb.test(a[0]))&&(g=!0,h=f.fragments[a[0]],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean
+(a,i,e,d)),g&&(f.fragments[a[0]]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bh(a,d),e=bi(a),g=bi(d);for(h=0;e[h];++h)g[h]&&bh(e[h],g[h])}if(b){bg(a,d);if(c){e=bi(a),g=bi(d);for(h=0;e[h];++h)bg(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1></$2>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=be[l]||be._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]==="<table>"&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i<r;i++)bk(k[i]);else bk(k);k.nodeType?h.push(k):h=f.merge(h,k)}if(d){g=function(a){return!a.type||bc.test(a.type)};for(j=0;h[j];j++)if(e&&f.nodeName(h[j],"script")&&(!h[j].type||h[j].type.toLowerCase()==="text/javascript"))e.push(h[j].parentNode?h[j].parentNode.removeChild(h[j]):h[j]);else{if(h[j].nodeType===1){var s=f.grep(h[j].getElementsByTagName("script"),g);h.splice.apply(h,[j+1,0].concat(s))}d.appendChild(h[j])}}return h},cleanData:function(a){var b,c,d=f.cache,e=f.expando,g=f.event.special,h=f.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&f.noData[j.nodeName.toLowerCase()])continue;c=j[f.expando];if(c){b=d[c]&&d[c][e];if(b&&b.events){for(var k in b.events)g[k]?f.event.remove(j,k):f.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[f.expando]:j.removeAttribute&&j.removeAttribute(f.expando),delete d[c]}}}});var bm=/alpha\([^)]*\)/i,bn=/opacity=([^)]*)/,bo=/([A-Z]|^ms)/g,bp=/^-?\d+(?:px)?$/i,bq=/^-?\d/,br=/^([\-+])=([\-+.\de]+)/,bs={position:"absolute",visibility:"hidden",display:"block"},bt=["Left","Right"],bu=["Top","Bottom"],bv,bw,bx;f.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return f.access(this,a,c,!0,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)})},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bv(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=br.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(bv)return bv(a,c)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]}}),f.curCSS=f.css,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){var e;if(c){if(a.offsetWidth!==0)return by(a,b,d);f.swap(a,bs,function(){e=by(a,b,d)});return e}},set:function(a,b){if(!bp.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bn.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bm,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bm.test(g)?g.replace(bm,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bv(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bw=function(a,c){var d,e,g;c=c.replace(bo,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bx=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bp.test(d)&&bq.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bv=bw||bx,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bz=/%20/g,bA=/\[\]$/,bB=/\r?\n/g,bC=/#.*$/,bD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bE=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bF=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bG=/^(?:GET|HEAD)$/,bH=/^\/\//,bI=/\?/,bJ=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bK=/^(?:select|textarea)/i,bL=/\s+/,bM=/([?&])_=[^&]*/,bN=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bO=f.fn.load,bP={},bQ={},bR,bS,bT=["*/"]+["*"];try{bR=e.href}catch(bU){bR=c.createElement("a"),bR.href="",bR=bR.href}bS=bN.exec(bR.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bO)return bO.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bJ,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bK.test(this.nodeName)||bE.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bB,"\r\n")}}):{name:b.name,value:c.replace(bB,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?bX(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),bX(a,b);return a},ajaxSettings:{url:bR,isLocal:bF.test(bS[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bT},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bV(bP),ajaxTransport:bV(bQ),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?bZ(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=b$(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bD.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bC,"").replace(bH,bS[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bL),d.crossDomain==null&&(r=bN.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bS[1]&&r[2]==bS[2]&&(r[3]||(r[1]==="http:"?80:443))==(bS[3]||(bS[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bW(bP,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bG.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bI.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bM,"$1_="+x);d.url=y+(y===d.url?(bI.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bT+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bW(bQ,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){s<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)bY(g,a[g],c,e);return d.join("&").replace(bz,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var b_=f.now(),ca=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+b_++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ca.test(b.url)||e&&ca.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ca,l),b.url===j&&(e&&(k=k.replace(ca,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cb=a.ActiveXObject?function(){for(var a in cd)cd[a](0,1)}:!1,cc=0,cd;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ce()||cf()}:ce,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cb&&delete cd[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cc,cb&&(cd||(cd={},f(a).unload(cb)),cd[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cg={},ch,ci,cj=/^(?:toggle|show|hide)$/,ck=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cl,cm=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cn;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cq("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),e===""&&f.css(d,"display")==="none"&&f._data(d,"olddisplay",cr(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cq("hide",3),a,b,c);for(var d=0,e=this.length;d<e;d++)if(this[d].style){var g=f.css(this[d],"display");g!=="none"&&!f._data(this[d],"olddisplay")&&f._data(this[d],"olddisplay",g)}for(d=0;d<e;d++)this[d].style&&(this[d].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(cq("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return this[e.queue===!1?"each":"queue"](function(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]),h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(f.support.inlineBlockNeedsLayout?(j=cr(this.nodeName),j==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1)):this.style.display="inline-block"))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)k=new f.fx(this,b,i),h=a[i],cj.test(h)?k[h==="toggle"?d?"show":"hide":h]():(l=ck.exec(h),m=k.cur(),l?(n=parseFloat(l[2]),o=l[3]||(f.cssNumber[i]?"":"px"),o!=="px"&&(f.style(this,i,(n||1)+o),m=(n||1)/k.cur()*m,f.style(this,i,m+o)),l[1]&&(n=(l[1]==="-="?-1:1)*n+m),k.custom(m,n,o)):k.custom(m,h,""));return!0})},stop:function(a,b){a&&this.queue([]),this.each(function(){var a=f.timers,c=a.length;b||f._unmark(!0,this);while(c--)a[c].elem===this&&(b&&a[c](!0),a.splice(c,1))}),b||this.dequeue();return this}}),f.each({slideDown:cq("show",1),slideUp:cq("hide",1),slideToggle:cq("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default,d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue!==!1?f.dequeue(this):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function g(a){return d.step(a)}var d=this,e=f.fx;this.startTime=cn||co(),this.start=a,this.end=b,this.unit=c||this.unit||(f.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,g.elem=this.elem,g()&&f.timers.push(g)&&!cl&&(cl=setInterval(e.tick,e.interval))},show:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=cn||co(),c=!0,d=this.elem,e=this.options,g,h;if(a||b>=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b<a.length;++b)a[b]()||a.splice(b--,1);a.length||f.fx.stop()},interval:13,stop:function(){clearInterval(cl),cl=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cs=/^t(?:able|d|h)$/i,ct=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?f.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(d){}var e=b.ownerDocument,g=e.documentElement;if(!c||!f.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=e.body,i=cu(e),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||f.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||f.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:f.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){f.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return f.offset.bodyOffset(b);f.offset.initialize();var c,d=b.offsetParent,e=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(f.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===d&&(l+=b.offsetTop,m+=b.offsetLeft,f.offset.doesNotAddBorder&&(!f.offset.doesAddBorderForTableAndCells||!cs.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),e=d,d=b.offsetParent),f.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;f.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},f.offset={initialize:function(){var a=c.body,b=c.createElement("div"),d,e,g,h,i=parseFloat(f.css(a,"marginTop"))||0,j="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=ct.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!ct.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cu(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cu(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a&&a.style?parseFloat(f.css(a,d,"padding")):null},f.fn["outer"+c]=function(a){var b=this[0];return b&&b.style?parseFloat(f.css(b,d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNaN(j)?i:j}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window);
\ No newline at end of file
diff --git a/matitaB/matita/html/jquery.tooltip.css b/matitaB/matita/html/jquery.tooltip.css
new file mode 100644 (file)
index 0000000..feeca83
--- /dev/null
@@ -0,0 +1,9 @@
+#tooltip {
+       position: absolute;
+       z-index: 3000;
+       border: 1px solid #111;
+       background-color: #ffffbf;
+       padding: 5px;
+       /* opacity: 0.85; */
+}
+#tooltip h3, #tooltip div { margin: 0; }
diff --git a/matitaB/matita/html/jquery.tooltip.min.js b/matitaB/matita/html/jquery.tooltip.min.js
new file mode 100644 (file)
index 0000000..a8d0cc6
--- /dev/null
@@ -0,0 +1,19 @@
+/*
+ * jQuery Tooltip plugin 1.3
+ *
+ * http://bassistance.de/jquery-plugins/jquery-plugin-tooltip/
+ * http://docs.jquery.com/Plugins/Tooltip
+ *
+ * Copyright (c) 2006 - 2008 Jörn Zaefferer
+ *
+ * $Id: jquery.tooltip.js 5741 2008-06-21 15:22:16Z joern.zaefferer $
+ * 
+ * Dual licensed under the MIT and GPL licenses:
+ *   http://www.opensource.org/licenses/mit-license.php
+ *   http://www.gnu.org/licenses/gpl.html
+ */;(function($){var helper={},current,title,tID,IE=$.browser.msie&&/MSIE\s(5\.5|6\.)/.test(navigator.userAgent),track=false;$.tooltip={blocked:false,defaults:{delay:200,fade:false,showURL:true,extraClass:"",top:15,left:15,id:"tooltip"},block:function(){$.tooltip.blocked=!$.tooltip.blocked;}};$.fn.extend({tooltip:function(settings){settings=$.extend({},$.tooltip.defaults,settings);createHelper(settings);return this.each(function(){$.data(this,"tooltip",settings);this.tOpacity=helper.parent.css("opacity");this.tooltipText=this.title;$(this).removeAttr("title");this.alt="";}).mouseover(save).mouseout(hide).click(hide);},fixPNG:IE?function(){return this.each(function(){var image=$(this).css('backgroundImage');if(image.match(/^url\(["']?(.*\.png)["']?\)$/i)){image=RegExp.$1;$(this).css({'backgroundImage':'none','filter':"progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src='"+image+"')"}).each(function(){var position=$(this).css('position');if(position!='absolute'&&position!='relative')$(this).css('position','relative');});}});}:function(){return this;},unfixPNG:IE?function(){return this.each(function(){$(this).css({'filter':'',backgroundImage:''});});}:function(){return this;},hideWhenEmpty:function(){return this.each(function(){$(this)[$(this).html()?"show":"hide"]();});},url:function(){return this.attr('href')||this.attr('src');}});function createHelper(settings){if(helper.parent)return;helper.parent=$('<div id="'+settings.id+'"><h3></h3><div class="body"></div><div class="url"></div></div>').appendTo(document.body).hide();if($.fn.bgiframe)helper.parent.bgiframe();helper.title=$('h3',helper.parent);helper.body=$('div.body',helper.parent);helper.url=$('div.url',helper.parent);}function settings(element){return $.data(element,"tooltip");}function handle(event){if(settings(this).delay)tID=setTimeout(show,settings(this).delay);else
+show();track=!!settings(this).track;$(document.body).bind('mousemove',update);update(event);}function save(){if($.tooltip.blocked||this==current||(!this.tooltipText&&!settings(this).bodyHandler))return;current=this;title=this.tooltipText;if(settings(this).bodyHandler){helper.title.hide();var bodyContent=settings(this).bodyHandler.call(this);if(bodyContent.nodeType||bodyContent.jquery){helper.body.empty().append(bodyContent)}else{helper.body.html(bodyContent);}helper.body.show();}else if(settings(this).showBody){var parts=title.split(settings(this).showBody);helper.title.html(parts.shift()).show();helper.body.empty();for(var i=0,part;(part=parts[i]);i++){if(i>0)helper.body.append("<br/>");helper.body.append(part);}helper.body.hideWhenEmpty();}else{helper.title.html(title).show();helper.body.hide();}if(settings(this).showURL&&$(this).url())helper.url.html($(this).url().replace('http://','')).show();else
+helper.url.hide();helper.parent.addClass(settings(this).extraClass);if(settings(this).fixPNG)helper.parent.fixPNG();handle.apply(this,arguments);}function show(){tID=null;if((!IE||!$.fn.bgiframe)&&settings(current).fade){if(helper.parent.is(":animated"))helper.parent.stop().show().fadeTo(settings(current).fade,current.tOpacity);else
+helper.parent.is(':visible')?helper.parent.fadeTo(settings(current).fade,current.tOpacity):helper.parent.fadeIn(settings(current).fade);}else{helper.parent.show();}update();}function update(event){if($.tooltip.blocked)return;if(event&&event.target.tagName=="OPTION"){return;}if(!track&&helper.parent.is(":visible")){$(document.body).unbind('mousemove',update)}if(current==null){$(document.body).unbind('mousemove',update);return;}helper.parent.removeClass("viewport-right").removeClass("viewport-bottom");var left=helper.parent[0].offsetLeft;var top=helper.parent[0].offsetTop;if(event){left=event.pageX+settings(current).left;top=event.pageY+settings(current).top;var right='auto';if(settings(current).positionLeft){right=$(window).width()-left;left='auto';}helper.parent.css({left:left,right:right,top:top});}var v=viewport(),h=helper.parent[0];if(v.x+v.cx<h.offsetLeft+h.offsetWidth){left-=h.offsetWidth+20+settings(current).left;helper.parent.css({left:left+'px'}).addClass("viewport-right");}if(v.y+v.cy<h.offsetTop+h.offsetHeight){top-=h.offsetHeight+20+settings(current).top;helper.parent.css({top:top+'px'}).addClass("viewport-bottom");}}function viewport(){return{x:$(window).scrollLeft(),y:$(window).scrollTop(),cx:$(window).width(),cy:$(window).height()};}function hide(event){if($.tooltip.blocked)return;if(tID)clearTimeout(tID);current=null;var tsettings=settings(this);function complete(){helper.parent.removeClass(tsettings.extraClass).hide().css("opacity","");}if((!IE||!$.fn.bgiframe)&&tsettings.fade){if(helper.parent.is(':animated'))helper.parent.stop().fadeTo(tsettings.fade,0,complete);else
+helper.parent.stop().fadeOut(tsettings.fade,complete);}else
+complete();if(settings(this).fixPNG)helper.parent.unfixPNG();}})(jQuery);
\ No newline at end of file
diff --git a/matitaB/matita/html/layout.js b/matitaB/matita/html/layout.js
new file mode 100644 (file)
index 0000000..1952115
--- /dev/null
@@ -0,0 +1,101 @@
+function resizeItem(item,w,h){  
+  item.style.height = h + "px";
+//  item.style.minHeight = h + "px";
+//  item.style.maxHeight = h + "px";
+  item.style.width = w + "px";
+//  item.style.minWidth = w + "px";
+//  item.style.maxWidth = w + "px";
+}
+
+function int_of_px(px) {
+  if(px.length > 2 && px.substr(px.length-2) == "px") {
+    return parseInt(px.substr(0,px.length-2));
+  } else { return px; }
+}
+
+function initializeLayout() {
+
+       apparea.resize = function(w,h) {
+               workarea.resize(w,h);
+               resizeItem(apparea,w,h);
+       }
+
+       workarea.resize = function(w,h) {
+               // proper height = window - (title + top)
+               var myh = int_of_px(window.getComputedStyle(apparea,null).height) - 
+                       (titlebar.offsetHeight + toparea.offsetHeight);
+               scriptcell.resize(w,myh);
+               sidearea.resize(w,myh);
+               resizeItem(workarea,w,myh);
+       }
+
+       scriptcell.resize = function(w,h) {
+               if (matita.proofMode || matita.disambMode) {
+                       resizeItem(scriptcell,(w*2)/3,h);
+               } else {
+                       resizeItem(scriptcell,w,h);
+               }
+       }
+       
+       sidearea.resize = function(w,h) {
+               disambcell.resize(w/3,h);
+               goalcell.resize(w/3,h);
+               resizeItem(sidearea,w/3,h);
+       }
+
+       disambcell.resize = function(w,h) {
+               if (matita.proofMode) {
+                       resizeItem(disambcell,w,h/2);
+               } else {
+                       resizeItem(disambcell,w,h);
+               }
+       }
+
+       goalcell.resize = function(w,h) {
+               if (matita.disambMode) {
+                       resizeItem(goalcell,w,h/2);
+               } else {
+                       resizeItem(goalcell,w,h);
+               }
+       }
+
+       $(window).bind("resize", resize);
+
+       // resize();
+
+}
+
+function resize() {
+       // var htmlheight = int_of_px(window.getComputedStyle(body.parentNode,null).height);  
+       // var htmlwidth = int_of_px(window.getComputedStyle(body.parentNode,null).width);
+       // apparea.resize(htmlwidth,htmlheight);
+       apparea.resize($(window).width(),$(window).height());
+}
+
+function updateSide() {
+       scriptcell.resize(workarea.clientWidth,workarea.clientHeight);
+       sidearea.resize(workarea.clientWidth,workarea.clientHeight);
+       updateDisamb();
+       updateGoal();
+       if (matita.proofMode || matita.disambMode) {
+               sidearea.style.display = "inline-block";
+       } else {
+               sidearea.style.display = "none";
+       }
+}
+
+function updateDisamb() {
+       if (matita.disambMode) {
+               disambcell.style.display = "inline-block";
+       } else {
+               disambcell.style.display = "none";
+       }
+}
+
+function updateGoal() {
+       if (matita.proofMode) {
+               goalcell.style.display = "inline-block";
+       } else {
+               goalcell.style.display = "none";
+       }
+}
diff --git a/matitaB/matita/html/login.html b/matitaB/matita/html/login.html
new file mode 100644 (file)
index 0000000..1184349
--- /dev/null
@@ -0,0 +1,29 @@
+<html>
+<head>
+</head>
+                 
+<head></head>
+
+<body>
+<H1>Matita web: Login</H1>
+<FORM action="login" method="post">
+<table>
+  <tr>
+  <td>User id: </td>
+  <td><INPUT type="TEXT" name="userid"></td>
+  </tr>
+  <tr>
+  <td>Password: </td>
+  <td><INPUT type="PASSWORD" name="password"></td>
+  </tr>
+</table>
+
+<INPUT type="SUBMIT" value="Login">
+<INPUT type="RESET" value="Reset">
+</FORM>
+
+<p>Matitaweb is currently being tested on Mozilla Firefox v.8.0 and Google Chrome v. 15.0.874.</p>
+
+</body>
+</html> 
+
diff --git a/matitaB/matita/html/logout.html b/matitaB/matita/html/logout.html
new file mode 100644 (file)
index 0000000..df0ae20
--- /dev/null
@@ -0,0 +1,15 @@
+<html>
+<head>
+</head>
+                 
+<head>
+<script type="text/javascript" src="matitaweb.js"></script>
+</head>
+
+<body onLoad="delete_session();">
+       <p>Logout succeeded!</p>
+
+       <p><A href="/login.html">Start a new session</A></p>
+</body>
+</html> 
+
diff --git a/matitaB/matita/html/matitaweb.css b/matitaB/matita/html/matitaweb.css
new file mode 100644 (file)
index 0000000..a3619e6
--- /dev/null
@@ -0,0 +1,278 @@
+body {
+       border:0px;
+       padding:0px;
+       margin:0px;
+}
+
+div#matitaapparea {
+       border:0px;
+       padding:0px;
+       margin:0px;
+       position:fixed;
+}
+
+div.upload {
+       position:absolute;
+       top: 50%;
+       left: 50%;
+       width:450px;
+       height:50px;
+       margin-top: -250px; /*set to a negative number 1/2 of your height*/
+       margin-left: -225px; /*set to a negative number 1/2 of your width*/
+       border: 1px solid #ccc;
+       padding: 3px;
+       background-color: #f3f3f3;
+}
+
+div.titlebar {
+       display: block;
+       margin:0px;
+       border:0px;
+       width:100%;
+       height: 32px;
+       background-color: #007fff;
+       color: white;
+}
+
+div.mainTitle {
+       display: block;
+       margin-left: 3px;
+       margin-right: auto;
+       max-width: 600px;
+       max-height: 32px;
+        float: left;
+        line-height: 32px;
+        vertical-align: middle;
+}
+
+div.mainRight {
+       display: block;
+       max-width: 600px;
+       max-height: 32px;
+        line-height: 32px;
+       display: block;
+       margin-left: auto;
+       margin-right: 3px;
+        float: right;
+        vertical-align: middle;
+}
+
+div.dialog {
+       position:absolute;
+       width:450px;
+       height:500px;
+       border: 1px solid #ccc;
+       padding: 3px;
+       background-color: #f3f3f3;
+       z-index: 9999;
+}
+
+div.diaTitle {
+       display: block;
+       margin-left: 3px;
+       margin-right: auto;
+       width: 414px;
+       background-color: #007fff;
+       color: white;
+        float: left;
+        line-height: 32px;
+}
+
+div.diaClose {
+       display: block;
+       margin-left: auto;
+       margin-right: 3px;
+        background-color: red;
+       width: 30px;
+       color: white;
+        float: right;
+        text-align: center;
+        vertical-align: middle;
+        line-height: 32px
+}
+
+#mask {
+       position:absolute;
+       left:0;
+       top:0;
+       z-index:9000;
+       background-color:#000;
+       display:none;
+}
+
+#whitemask {
+       position:absolute;
+       left:0;
+       top:0;
+       z-index:9000;
+       background-color:#ffffff;
+       display:none;
+}
+
+
+a#hlogout {
+  color: inherit;
+  font-weight: bold;
+}
+
+a.butClose {
+  color: inherit;
+}
+
+input.diaFile {
+       margin-left: 3px;
+       margin-right: auto;
+       width: 370px;
+}
+
+div.scroll {
+       display: block;
+       margin-left: auto;
+       margin-right: auto;
+       border: 1px solid #ccc;
+       height:415px; 
+       width:442px; 
+       overflow:auto;
+       background-color: white;
+       color:black;
+}
+
+div.matitaapparea {
+       display: block;
+       margin-left: auto;
+       margin-right: auto;
+       height:100%;
+       width:100%; 
+       background-color: white;
+       color:black;
+}
+
+div.toparea {
+       display: block;
+       padding:4px;
+       margin-left: auto;
+       margin-right: auto;
+       height:64px; 
+       width:100%; 
+        line-height:64px;
+/*        float:left;*/
+}
+
+div.bottomarea {
+       display: block;
+       margin-left: auto;
+       margin-right: auto;
+       height:15%; 
+       width:100%; 
+}
+
+div.workarea {
+       display: block;
+       border:0px;
+       padding:0px;
+       margin:0px;
+       /*margin-left: auto;
+       margin-right: auto;*/
+       height:84%; 
+       width:100%; 
+}
+
+div.navibar {
+       display: inline-block;
+       margin-left: auto;
+       margin-right: auto;
+       height:100%; 
+       width:370px; 
+       float:left; 
+}
+
+div.toolbar {
+       display: inline-block;
+       margin-left: auto;
+       margin-right: auto;
+       height:100%; 
+       width:400px;
+        float:left; 
+}
+
+div.caption {
+       display: inline-block;
+       margin-left: auto;
+       margin-right: auto;
+       height:100%; 
+       width:220px; 
+       text-align: center;
+        float:right; 
+}
+
+img.topimg {
+       bottom:0px;
+        border:none;
+}
+
+div.scriptarea {
+       display: inline-block;
+       border:0px;
+       padding:0px;
+       margin:0px;
+/*     margin-left: auto;
+       margin-right: auto;*/
+       height:100%; 
+       width:67%;
+/*        min-width:67%;
+        max-width:67%; */
+        float:left;
+}
+
+div.sidearea {
+       display: inline-block;
+       border:0px;
+       padding:0px;
+       margin:0px;
+       /*margin-left: auto;
+       margin-right: auto;*/
+       height:100%; 
+       width:33%;
+/*        min-width:33%;
+        max-width:33%;  */
+        float:right;
+}
+
+div.framed { 
+       border: 2px solid DarkGray;
+       overflow: auto;
+}
+
+div.context {
+       overflow: auto;
+}
+
+span.autotactic {
+       color: green;
+       font-weight: bold;
+}
+
+span.autotrace {
+       display:none;
+}
+
+span.activegoal {
+       color: red;
+       font-weight: bold;
+}
+
+span.error {
+        color:red;
+        text-decoration: none;
+        border-bottom: 2px dashed;
+}
+
+span.passivegoal {
+       color: blue;
+}
+
+h2 {
+       border: 0px;
+       padding: 1px;
+       display: inline;
+}
diff --git a/matitaB/matita/html/matitaweb.js b/matitaB/matita/html/matitaweb.js
new file mode 100644 (file)
index 0000000..d367b6b
--- /dev/null
@@ -0,0 +1,1584 @@
+var locked;
+var unlocked;
+var workarea;
+var scriptcell;
+var goalcell;
+var goals;
+var goalview;
+var filename;
+var logarea;
+var advanceButton;
+var retractButton;
+var cursorButton;
+var bottomButton;
+var dialogBox;
+var dialogTitle;
+var dialogContent;
+var metasenv = "";
+var lockedbackup = "";
+var matita;
+
+function text_of_html(h)
+{
+  if(document.all) {
+     return h.innerText;
+  } else {
+     return h.textContent;
+  }
+}
+
+function unescape_html(s)
+{
+  u = document.getElementById("unescape");
+  u.innerHTML = s;
+  return text_of_html(u)
+}
+
+function filterByClass (elements,cname){
+  var itemsfound = new Array;
+  for(var i=0;i<elements.length;i++){
+    if(elements[i].className == cname){
+      itemsfound.push(elements[i]);
+    }
+  }
+  return itemsfound;
+}
+
+function initialize()
+{
+  if (readCookie("session") == null) {
+    window.location = "/login.html"
+  } else {
+    body = document.body;
+    titlebar = document.getElementById("titlebar");
+    matitaTitle = document.getElementById("matitaTitle");
+    apparea = document.getElementById("matitaapparea");
+    locked = document.getElementById("locked");
+    unlocked = document.getElementById("unlocked");
+    toparea = document.getElementById("toparea");
+    workarea = document.getElementById("workarea");
+    scriptcell = document.getElementById("scriptcell");
+    sidearea = document.getElementById("sidearea");
+    disambcell = document.getElementById("disambcell");
+    goalcell = document.getElementById("goalcell");
+    goals = document.getElementById("goals");
+    goalview = document.getElementById("goalview");
+    filename = document.getElementById("filename");
+    logarea = document.getElementById("logarea");
+    advanceButton = document.getElementById("advance");
+    retractButton = document.getElementById("retract");
+    cursorButton = document.getElementById("cursor");
+    bottomButton = document.getElementById("bottom");
+    dialogBox = document.getElementById("dialogBox");
+    uploadBox = document.getElementById("uploadBox");
+    dialogTitle = document.getElementById("dialogTitle");
+    dialogContent = document.getElementById("dialogContent");
+
+    matita = new Object();
+    matita.disambMode = matita.proofMode = false;
+
+    // hide sequent view at start
+    initializeLayout();
+    updateSide();
+
+    changeFile("test.ma");
+
+    // initialize keyboard events in the unlocked script
+    init_keyboard(unlocked);
+
+    init_autotraces();
+
+  }
+}
+
+function init_autotraces() {
+    $("#unlocked .autotactic").tooltip({ 
+      delay: 0, 
+      showURL: false, 
+      bodyHandler: function() { 
+        return (trace_of($(this)[0])); 
+      }
+    });
+    $("#locked .autotactic").tooltip({ 
+      delay: 0, 
+      showURL: false, 
+      bodyHandler: function() { 
+        return (trace_of($(this)[0]));
+      }
+    });
+}
+
+function trace_of(node) {
+  return text_of_html(filterByClass(node.childNodes,"autotrace")[0]);
+}
+
+function changeFile(name) {
+    current_fname = name;
+    matitaTitle.innerHTML = "Matita - cic:/matita/" + name;
+}
+
+function init_keyboard(target)
+{
+    if (target.addEventListener)
+    {
+//       target.addEventListener("keydown",keydown,false);
+       target.addEventListener("keypress",keypress,false);
+//       target.addEventListener("keyup",keyup,false);
+//       target.addEventListener("textInput",textinput,false);
+    }
+    else if (target.attachEvent)
+    {
+//       target.attachEvent("onkeydown", keydown);
+       target.attachEvent("onkeypress", keypress);
+//       target.attachEvent("onkeyup", keyup);
+//       target.attachEvent("ontextInput", textinput);
+    }
+    else
+    {
+//       target.onkeydown= keydown;
+       target.onkeypress= keypress;
+//       target.onkeyup= keyup;
+//       target.ontextinput= textinput;   // probably doesn't work
+    }
+}
+
+function keyval(n)
+{
+    if (n == null) return 'undefined';
+    var s= '' + n;
+    if (n >= 32 && n < 127) s+= ' (' + String.fromCharCode(n) + ')';
+    while (s.length < 9) s+= ' ';
+    return s;
+}
+function string_of_key(n)
+{
+    if (n == null) return 'undefined';
+    return String.fromCharCode(n);
+}
+
+function pressmesg(w,e)
+{
+   debug(w + '  keyCode=' + keyval(e.keyCode) +
+                 ' which=' + keyval(e.which) +
+                 ' charCode=' + keyval(e.charCode) +
+                '\n          shiftKey='+e.shiftKey
+             + ' ctrlKey='+e.ctrlKey
+             + ' altKey='+e.altKey
+             + ' metaKey='+e.metaKey);
+}
+function suppressdefault(e,flag)
+{
+   if (flag)
+   {
+       if (e.preventDefault) e.preventDefault();
+       if (e.stopPropagation) e.stopPropagation();
+   }
+   return !flag;
+}
+
+function restoreSelection(r) {
+    unlocked.focus();
+    if (r != null) {
+        if (window.getSelection)//non IE and there is already a selection
+        {
+            var s = window.getSelection();
+            if (s.rangeCount > 0) 
+                s.removeAllRanges();
+            s.addRange(r);
+        }
+        else 
+            if (document.createRange)//non IE and no selection
+            {
+                window.getSelection().addRange(r);
+            }
+            else 
+                if (document.selection)//IE
+                {
+                    r.select();
+                }
+    }
+}
+
+function lookup_tex(texmacro)
+{
+  texmacro = texmacro.substring(1);
+  return unescape(macro2utf8[texmacro]);
+}
+
+function strip_tags(tagname,classname) 
+{
+    var tags = unlocked.getElementsByTagName(tagname);
+    var tlen = tags.length; // preserving the value from removeChild operations
+    if (is_defined(classname)) {
+       tags = filterByClass(tags,classname);
+    }
+    for (i = 0; i < tlen; i++) {
+        var children = tags[i].childNodes;
+        for (j = 0; j < children.length; j++) {
+            tags[i].parentNode.insertBefore(children[j],tags[i]);
+       }
+    }
+    for (var i = 0; i < tlen; i++) {
+      tags[0].parentNode.removeChild(tags[0]);
+    }
+}
+
+function strip_interpr() {
+       strip_tags("A");
+       alert("strip_interpr ended");
+}
+function keypress(e)
+{
+   if (!e) e= event;
+   pressmesg('keypress',e);
+   var s = string_of_key(e.charCode);
+   strip_tags("span","error");
+   if (s == " ") {
+       j = getCursorPos();
+       i = unlocked.innerHTML.html_to_matita().lastIndexOf('\\',j);
+               if (i >= 0) {
+         match = unlocked.innerHTML.html_to_matita().substring(i,j);
+         sym = unescape_html(lookup_tex(match));
+         if (sym != "undefined") {
+             if (window.getSelection) { // non IE
+                savedRange.setStart(savedsc,savedso - (j-i));
+                savedRange.deleteContents();
+                savedRange.insertNode(document.createTextNode(sym));
+                savedsc.parentNode.normalize();
+                if (savedRange.collapsed) { // Mozilla
+                  savedRange.setEnd(savedsc,savedRange.endOffset + sym.length);
+                }
+                savedRange.collapse(false);
+             } else {
+                savedRange.moveStart(i-j);
+                savedRange.text(sym);
+                savedRange.collapse(false);
+             }
+             restoreSelection(savedRange); 
+                    return suppressdefault(e,true);
+         }
+         else {
+             // restoreSelection(0); 
+            return suppressdefault(e,false);
+         }
+       }
+       else return suppressdefault(e,false);
+   } else {
+       return suppressdefault(e,false);
+   }
+}
+var logtxt = "";
+
+function debug(txt)
+{
+        // internet explorer (v.9) doesn't work with innerHTML
+       // but google chrome's innerText is, in a sense, "write only"
+       // what should we do?
+        // logarea.innerText = txt + "\n" + logarea.innerText;
+        logtxt = /* logtxt + "\n" +*/ txt;
+}
+
+function showLog() {
+  logWin = window.open( "", "Matita Log",
+     "width=600,height=450,status,scrollbars,resizable,screenX=20,screenY=40,left=20,top=40");
+  logWin.document.write('<html><head><title>Matita Log' + '</title></head>');  
+  logWin.document.write('<body><textarea style="width:100%;height:100%;">' +
+    logtxt + '</textarea></body></html>');
+  logWin.document.close(); 
+}
+
+function listhd(l)
+{
+       ar = l.split("#");
+        debug("hd of '" + l + "' = '" + ar[0] + "'");
+        return (ar[0]);
+}
+
+function listtl(l)
+{
+        i = l.indexOf("#");
+        tl = l.substr(i+1);
+        debug("tl of '" + l + "' = '" + tl + "'");
+        return (tl);
+}
+
+function listcons(x,l)
+{
+        debug("cons '" + x + "' on '" + l + "'");
+       return (x + "#" + l);
+}
+
+function listnil()
+{
+       return ("");
+}
+
+function list_append(l1,l2)
+{ return (l1 + l2) }
+
+function is_nil(l)
+{
+       return (l == "");
+}
+
+function fold_left (f,acc,l)
+{
+       if (is_nil(l))
+           { debug("'" + l + "' is fold end");
+          return (acc); }
+        else
+          { debug("'" + l + "' is fold cons");
+             return(fold_left (f,f(acc,(listhd(l))),listtl(l))); }
+}
+
+function listiter (f,l)
+{
+       if (is_nil(l))
+        { debug("'" + l + "' is nil");
+          return;
+        }
+       else
+       {
+           debug("'" + l + "' is not nil");
+          f(listhd(l));
+          listiter(f,listtl(l));
+        }
+}
+
+function listmap (f,l)
+{
+        debug("listmap on " + l);
+       if (is_nil(l)) 
+           { debug("returning listnil");
+            return(listnil());
+           }
+       else 
+          { debug("cons f(hd) map(f,tl)");
+            return(f(listhd(l)) + "#" + listmap(f,listtl(l)));
+           }
+}
+
+var statements = listnil();
+
+var goalarray;
+var metalist = listnil();
+
+function pairmap (f,p)
+{
+  debug("pairmap of '" + p + "'");
+  ar = p.split("|");
+  return (f(ar[0],ar[1])); 
+}
+
+function tripletmap (f,p)
+{
+  debug("tripletmap of '" + p + "'");
+  ar = p.split("|");
+  return (f(ar[0],ar[1],ar[2])); 
+}
+
+function fst (p)
+{
+  debug("fst");
+  return (pairmap (function (a,b) { return (a); }, p));
+}
+
+function p13 (p)
+{
+  debug("p13");
+  return (tripletmap (function (a,b,c) { return (a); }, p));
+}
+
+function p23 (p)
+{
+  debug("p23");
+  return (tripletmap (function (a,b,c) { return (b); }, p));
+}
+
+function p33 (p)
+{
+  debug("f33");
+  return (tripletmap (function (a,b,c) { return (c); }, p));
+}
+
+function populate_goalarray(menv)
+{
+  debug("metasenv.length = " + menv.length);
+  if (menv.length == 0) {
+      try {
+          hideSequent();
+      } catch (err) { };
+  } else {
+      showSequent();
+      goalarray = new Array();
+      metalist = listnil();
+      var tmp_goallist = "";
+      for (i = 0; i < menv.length; i++) {
+        metano = menv[i].getAttribute("number");
+       metaname = menv[i].childNodes[0].childNodes[0].data;
+       goal = menv[i].childNodes[1].childNodes[0].data;
+        debug ("found meta n. " + metano);
+        debug ("found goal\nBEGIN" + goal + "\nEND");
+        goalarray[metano] = goal;
+        tmp_goallist = " <A href=\"javascript:switch_goal(" + metano + ")\">" + metaname + "</A>" + tmp_goallist;
+        metalist = listcons(metano,metalist);
+        debug ("goalarray[\"" + metano + "\"] = " + goalarray[metano]); 
+      }
+      goals.innerHTML = tmp_goallist;
+      debug("new metalist is '" + metalist + "'");
+      if (is_nil(metalist)) {
+        switch_goal();
+      }
+      else {
+        switch_goal(listhd(metalist));
+      }
+  }
+}
+
+function switch_goal(meta)
+{
+  if (typeof meta == "undefined") {
+    goalview.innerHTML = "";
+  }
+  else {
+    debug("switch_goal " + meta + "\n" + goalarray[meta]);
+    goalview.innerHTML = "<B>Goal ?" + meta + ":</B>\n\n" + goalarray[meta];
+  }
+}
+
+// the following is used to avoid escaping unicode, which results in 
+// the server being unable to unescape the string
+String.prototype.sescape = function() {
+       var patt1 = /%/gi;
+       var patt2 = /=/gi;
+       var patt3 = /&/gi;
+       var patt4 = /\+/gi;
+       var result = this;
+       result = result.replace(patt1,"%25");
+       result = result.replace(patt2,"%3D");
+       result = result.replace(patt3,"%26");
+       result = result.replace(patt4,"%2B");
+       return (result);
+}
+
+String.prototype.html_to_matita = function()
+{
+       var patt1 = /<br(\/|)>/gi;
+       var patt2 = /</gi
+       var patt3 = />/gi
+       var patt4 = /&lt;/gi;
+       var patt5 = /&gt;/gi;
+       var patt6 = /&nbsp;/gi;
+       var result = this;
+       result = result.replace(patt1,"\n");
+       result = result.replace(patt2,"\005");
+       result = result.replace(patt3,"\006");
+       result = result.replace(patt4,"<");
+       result = result.replace(patt5,">");
+       result = result.replace(patt6," ");
+       return (unescape(result));
+}
+
+String.prototype.matita_to_html = function()
+{
+       var patt1 = /</gi
+       var patt2 = />/gi
+       var patt3 = /\005/gi;
+       var patt4 = /\006/gi;
+       var result = this;
+       result = result.replace(patt1,"&lt;");
+       result = result.replace(patt2,"&gt;");
+       result = result.replace(patt3,"<");
+       result = result.replace(patt4,">");
+       return (unescape(result));
+}
+
+function is_defined(x)
+{
+       return (typeof x != "undefined");
+}
+
+/* servicename: name of the service being called
+ * reqbody: text of the request
+ * processResponse: processes the server response
+ *     (takes the response text in input, undefined in case of error)
+ */
+function callServer(servicename,processResponse,reqbody)
+{
+       var req = null; 
+        // pause();
+       if (window.XMLHttpRequest)
+       {
+               req = new XMLHttpRequest();
+       } 
+       else if (window.ActiveXObject) 
+       {
+               try {
+                               req = new ActiveXObject("Msxml2.XMLHTTP");
+               } catch (e)
+               {
+                       try {
+                               req = new ActiveXObject("Microsoft.XMLHTTP");
+                               } catch (e) {}
+               }
+       }
+       req.onreadystatechange = function()
+       { 
+
+               rs = req.readyState;
+
+               if(rs == 4)
+               {
+                       stat = req.status;
+                       stxt = req.statusText;
+                       if(stat == 200)
+                       {
+                         debug(req.responseText);
+                         if (window.DOMParser) {
+                            parser=new DOMParser();
+                            xmlDoc=parser.parseFromString(req.responseText,"text/xml");
+                          }
+                         else // Internet Explorer
+                          {
+                            xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
+                            xmlDoc.async="false";
+                            xmlDoc.loadXML(req.responseText);
+                          }    
+                         processResponse(xmlDoc);
+                       } else {
+                         processResponse();
+                       }
+               } 
+       };
+       req.open("POST", servicename); // + escape(unlocked.innerHTML), true);
+        req.setRequestHeader("Content-type","application/x-www-form-urlencoded");      
+       if (reqbody) {
+               req.send(reqbody); 
+       } else {
+               req.send();
+       }
+  
+}
+
+function advOneStep(xml) {
+        var parsed = xml.getElementsByTagName("parsed")[0];
+       var ambiguity = xml.getElementsByTagName("ambiguity")[0];
+       var disamberr = xml.getElementsByTagName("disamberror")[0];
+        if (is_defined(parsed)) {
+       // debug("advance: received response\nBEGIN\n" + req.responseText + "\nEND");
+           var len = parseInt(parsed.getAttribute("length"));
+            // len0 = unlocked.innerHTML.length;
+           var unescaped = unlocked.innerHTML.html_to_matita();
+           var parsedtxt = parsed.childNodes[0].wholeText;
+           //parsedtxt = unescaped.substr(0,len); 
+           var unparsedtxt = unescaped.substr(len);
+           lockedbackup += parsedtxt;
+           locked.innerHTML = lockedbackup;
+           unlocked.innerHTML = unparsedtxt.matita_to_html();
+           // len1 = unlocked.innerHTML.length;
+           // len2 = len0 - len1;
+           var len2 = parsedtxt.length;
+           metasenv = xml.getElementsByTagName("meta");
+           statements = listcons(len2,statements);
+           unlocked.scrollIntoView(true);
+           return len;
+       }
+       else if (is_defined(ambiguity)) {
+           var start = parseInt(ambiguity.getAttribute("start"));
+           var stop = parseInt(ambiguity.getAttribute("stop"));
+           var choices = xml.getElementsByTagName("choice");
+
+           matita.ambiguityStart = start;
+           matita.ambiguityStop = stop;
+           matita.unlockedbackup = unlocked.innerHTML.html_to_matita();
+           matita.interpretations = [];
+       
+           var unlockedtxt = unlocked.innerHTML.html_to_matita();
+           var pre = unlockedtxt.substring(0,start).matita_to_html();
+           var mid = unlockedtxt.substring(start,stop).matita_to_html();
+           var post = unlockedtxt.substring(stop).matita_to_html();
+           unlocked.innerHTML = pre + 
+                   "<span class=\"error\" title=\"disambiguation error\">" +
+                   mid + "</span>" + post;
+
+           var title = "<H3>Ambiguous input</H3>";
+           disambcell.innerHTML = title;
+           for (i = 0;i < choices.length;i++) {
+               matita.interpretations[i] = new Object();
+
+               var href = choices[i].getAttribute("href");
+               var title = choices[i].getAttribute("title");
+               var desc = choices[i].childNodes[0].nodeValue;
+
+               matita.interpretations[i].href = href;
+               matita.interpretations[i].title = title;
+               matita.interpretations[i].desc = desc;
+               
+               var choice = document.createElement("input");
+               choice.setAttribute("type","radio");
+               choice.setAttribute("name","interpr");
+               choice.setAttribute("href",href);
+               choice.setAttribute("title",title);
+               if (i == 0) choice.setAttribute("checked","");
+               
+               disambcell.appendChild(choice);
+               disambcell.appendChild(document.createTextNode(desc));
+               disambcell.appendChild(document.createElement("br"));
+           }
+
+           var okbutton = document.createElement("input");
+           okbutton.setAttribute("type","button");
+           okbutton.setAttribute("value","OK");
+           okbutton.setAttribute("onclick","do_disambiguate()");
+           var cancelbutton = document.createElement("input");
+           cancelbutton.setAttribute("type","button");
+           cancelbutton.setAttribute("value","Cancel");
+           cancelbutton.setAttribute("onclick","cancel_disambiguate()");
+
+           disambcell.appendChild(okbutton);
+           disambcell.appendChild(cancelbutton);
+
+           matita.disambMode = true;
+           updateSide();
+           throw "Stop";
+       }
+       else if (is_defined(disamberr)) {
+            // must be fixed in a daemon: it makes sense to return a 
+            // disambiguation error with no choices
+            if (disamberr.childNodes.length > 0) {
+              set_cps(disamberr.childNodes);
+              matita.unlockedbackup = unlocked.innerHTML.html_to_matita();
+              matita.disambMode = true;
+              next_cp(0);
+            }
+           throw "Stop";
+       }
+        else {
+            var error = xml.getElementsByTagName("error")[0]; 
+           unlocked.innerHTML = error.childNodes[0].wholeText;
+           // debug(xml.childNodes[0].nodeValue);
+           throw "Stop";
+       }
+
+}
+
+function advanceForm1()
+{
+       processor = function(xml) {
+           try {
+               if (is_defined(xml)) {
+                   advOneStep(xml);
+                    populate_goalarray(metasenv);
+                   init_autotraces();
+               } else {
+                       debug("advance failed");
+               }
+           } catch (e) { 
+                   // nothing to do 
+           };
+            resume();
+       };
+       pause();
+        callServer("advance",processor,"body=" + (unlocked.innerHTML.html_to_matita()).sescape());
+  
+}
+
+// get or set <choicepoint>'s (in case of disamb error)
+function get_cps() {
+       return matita.choicepoints
+}
+
+function set_cps(cps) {
+       matita.choicepoints = cps;
+}
+
+// get radio buttons for <choice>'s in a given cp
+function get_choice_opts(i) {
+   var res = [];
+   var choices = get_cps()[i].childNodes;
+   for (var j = 0;j < choices.length;j++) {
+      var href = choices[j].getAttribute("href");
+      var title = choices[j].getAttribute("title");
+      var desc;
+      if (is_defined(title) && title != null) {
+          desc = title;
+      } else if (is_defined(href) && href != null) {
+          desc = href;
+      } else {
+          desc = null;
+      }
+  
+      res[j] = document.createElement("input");
+      res[j].setAttribute("type","radio");
+      res[j].setAttribute("name","choice");
+      res[j].setAttribute("choicepointno",i);
+      res[j].setAttribute("choiceno",j);
+      res[j].setAttribute("href",href);
+      res[j].setAttribute("title",title);
+      if (desc != null) res[j].setAttribute("desc",desc);
+      
+      if (j == 0) res[j].setAttribute("checked","");
+  }
+  return res;
+}
+
+// get radio buttons for <failure>'s in a given choice
+function get_failure_opts(i,j) {
+   var res = [];
+   var failures = get_cps()[i].childNodes[j].childNodes;
+   for (var k = 0;k < failures.length;k++) {
+      var start = failures[k].getAttribute("start");
+      var stop = failures[k].getAttribute("stop");
+      var title = failures[k].getAttribute("title");
+  
+      res[k] = document.createElement("input");
+      res[k].setAttribute("type","radio");
+      res[k].setAttribute("name","failure");
+      res[k].setAttribute("choicepointno",i);
+      res[k].setAttribute("choiceno",j);
+      res[k].setAttribute("failureno",k);
+      res[k].setAttribute("start",start);
+      res[k].setAttribute("stop",stop);
+      res[k].setAttribute("title",title);
+      
+      if (k == 0) res[k].setAttribute("checked","");
+  }
+  return res;
+}
+
+function next_cp(curcp) {
+       var cp = get_cps()[curcp];
+       var start = parseInt(cp.getAttribute("start"));
+       var stop = parseInt(cp.getAttribute("stop"));
+
+       matita.errorStart = start;
+       matita.errorStop = stop;
+       // matita.unlockedbackup = unlocked.innerHTML.html_to_matita();
+       
+       var unlockedtxt = matita.unlockedbackup;
+       var pre = unlockedtxt.substring(0,start).matita_to_html();
+       var mid = unlockedtxt.substring(start,stop).matita_to_html();
+       var post = unlockedtxt.substring(stop).matita_to_html();
+       unlocked.innerHTML = pre + 
+               "<span class=\"error\" title=\"error location\">" +
+               mid + "</span>" + post;
+
+       var title = "<H3>Error diagnostics</H3>";
+       disambcell.innerHTML = title;
+       var choices = get_choice_opts(curcp);
+       for (var i = 0;i < choices.length;i++) {
+           disambcell.appendChild(choices[i]);
+           var desc = choices[i].getAttribute("desc");
+            if (!is_defined(desc) || desc == null) {
+                   desc = "Interpretation " + i;
+            }
+           disambcell.appendChild(document.createTextNode(desc));
+           disambcell.appendChild(document.createElement("br"));
+       }
+       
+       // update index of the next choicepoint
+       new_curcp = (curcp + 1) % get_cps().length;
+
+       var okbutton = document.createElement("input");
+       okbutton.setAttribute("type","button");
+       okbutton.setAttribute("value","OK");
+       okbutton.setAttribute("onclick","show_failures()");
+       var cancelbutton = document.createElement("input");
+       cancelbutton.setAttribute("type","button");
+       cancelbutton.setAttribute("value","Close");
+       cancelbutton.setAttribute("onclick","cancel_disambiguate()");
+       var tryagainbutton = document.createElement("input");
+       tryagainbutton.setAttribute("type","button");
+       if (new_curcp > 0) {
+            tryagainbutton.setAttribute("value","Try something else");
+       } else {
+           tryagainbutton.setAttribute("value","Restart");
+       }
+       tryagainbutton.setAttribute("onclick","next_cp(" + new_curcp + ")");
+
+       disambcell.appendChild(okbutton);
+       disambcell.appendChild(tryagainbutton);
+       disambcell.appendChild(cancelbutton);
+
+       //disable_toparea();
+
+       //matita.disambMode = true;
+       updateSide();
+       
+}
+
+function show_failures() {
+
+       var choice = document.getElementsByName("choice")[get_checked_index("choice")];
+       var cpno = parseInt(choice.getAttribute("choicepointno"));
+       var choiceno = parseInt(choice.getAttribute("choiceno"));
+       var choicedesc = choice.getAttribute("desc");
+
+       var title = "<H3>Error diagnostics</H3>";
+       var subtitle;
+        if (is_defined(choicedesc) && choicedesc != null) {
+               subtitle  = "<p>Errors at node " + cpno + " = " + choicedesc + "</p>";
+        } else {
+               subtitle = "<p>Global errors:</p>";
+       }
+
+       disambcell.innerHTML = title + subtitle;
+       var failures = get_failure_opts(cpno,choiceno);
+       for (var i = 0;i < failures.length;i++) {
+           disambcell.appendChild(failures[i]);
+           disambcell.appendChild(document.createTextNode(failures[i].getAttribute("title")));
+           disambcell.appendChild(document.createElement("br"));
+       }
+       
+       var okbutton = document.createElement("input");
+       okbutton.setAttribute("type","button");
+       okbutton.setAttribute("value","Show error loc");
+       okbutton.setAttribute("onclick","show_err()");
+       var cancelbutton = document.createElement("input");
+       cancelbutton.setAttribute("type","button");
+       cancelbutton.setAttribute("value","Close");
+       cancelbutton.setAttribute("onclick","cancel_disambiguate()");
+       var backbutton = document.createElement("input");
+       backbutton.setAttribute("type","button");
+        backbutton.setAttribute("value","<< Back");
+       backbutton.setAttribute("onclick","next_cp(" + cpno + ")");
+
+       disambcell.appendChild(backbutton);
+       disambcell.appendChild(okbutton);
+       disambcell.appendChild(cancelbutton);
+       
+}
+
+function show_err() {
+       var radios = document.getElementsByName("failure");
+       for (i = 0; i < radios.length; i++) {
+           if (radios[i].checked) {
+               var start = radios[i].getAttribute("start");
+               var stop = radios[i].getAttribute("stop");
+               var title = radios[i].getAttribute("title");
+               var unlockedtxt = matita.unlockedbackup;
+               var pre = unlockedtxt.substring(0,start).matita_to_html();
+               var mid = unlockedtxt.substring(start,stop).matita_to_html();
+               var post = unlockedtxt.substring(stop).matita_to_html();
+               unlocked.innerHTML = pre + 
+                       "<span class=\"error\" title=\"Disambiguation failure\">" +
+                       mid + "</span>" + post;
+               break;
+           }
+       }
+}
+
+function gotoBottom()
+{
+       processor = function(xml) {
+               if (is_defined(xml)) {
+                       // debug("goto bottom: received response\nBEGIN\n" + req.responseText + "\nEND");
+                       var parsed = xml.getElementsByTagName("parsed");
+                       var localized = xml.getElementsByTagName("localized")[0];
+                       var ambiguity = xml.getElementsByTagName("ambiguity")[0];
+                       var generic_err = xml.getElementsByTagName("error")[0];
+                       var disamberr = xml.getElementsByTagName("disamberror")[0];
+                       for (var i = 0;i < parsed.length; i++) {
+                         var len = parsed[i].getAttribute("length");
+                         // len0 = unlocked.innerHTML.length;
+                         var unescaped = unlocked.innerHTML.html_to_matita();
+                         // the browser may decide to split textnodes: use wholeText!
+                         var parsedtxt = parsed[i].childNodes[0].wholeText;
+                         //parsedtxt = unescaped.substr(0,len); 
+                         var unparsedtxt = unescaped.substr(len);
+                         lockedbackup += parsedtxt;
+                         locked.innerHTML = lockedbackup; //.matita_to_html();
+                         unlocked.innerHTML = unparsedtxt.matita_to_html();
+                         // len1 = unlocked.innerHTML.length;
+                         var len2 = parsedtxt.length;
+                         statements = listcons(len2,statements);
+                       }
+                       unlocked.scrollIntoView(true);
+                       metasenv = xml.getElementsByTagName("meta");
+                       init_autotraces();
+                       populate_goalarray(metasenv);
+
+                       if (is_defined(ambiguity)) {
+                           var start = parseInt(ambiguity.getAttribute("start"));
+                           var stop = parseInt(ambiguity.getAttribute("stop"));
+                           var choices = xml.getElementsByTagName("choice");
+
+                           matita.ambiguityStart = start;
+                           matita.ambiguityStop = stop;
+                           matita.unlockedbackup = unlocked.innerHTML.html_to_matita();
+                           matita.interpretations = [];
+                       
+                           var unlockedtxt = unlocked.innerHTML.html_to_matita();
+                           var pre = unlockedtxt.substring(0,start).matita_to_html();
+                           var mid = unlockedtxt.substring(start,stop).matita_to_html();
+                           var post = unlockedtxt.substring(stop).matita_to_html();
+                           unlocked.innerHTML = pre + 
+                                   "<span class=\"error\" title=\"disambiguation error\">" +
+                                   mid + "</span>" + post;
+
+                           var title = "<H3>Ambiguous input</H3>";
+                           disambcell.innerHTML = title;
+                           for (i = 0;i < choices.length;i++) {
+                               matita.interpretations[i] = new Object();
+
+                               var href = choices[i].getAttribute("href");
+                               var title = choices[i].getAttribute("title");
+                               var desc = choices[i].childNodes[0].nodeValue;
+
+                               matita.interpretations[i].href = href;
+                               matita.interpretations[i].title = title;
+                               matita.interpretations[i].desc = desc;
+                               
+                               var choice = document.createElement("input");
+                               choice.setAttribute("type","radio");
+                               choice.setAttribute("name","interpr");
+                               choice.setAttribute("href",href);
+                               choice.setAttribute("title",title);
+                               if (i == 0) choice.setAttribute("checked","");
+                               
+                               disambcell.appendChild(choice);
+                               disambcell.appendChild(document.createTextNode(desc));
+                               disambcell.appendChild(document.createElement("br"));
+                           }
+
+                           var okbutton = document.createElement("input");
+                           okbutton.setAttribute("type","button");
+                           okbutton.setAttribute("value","OK");
+                           okbutton.setAttribute("onclick","do_disambiguate()");
+                           var cancelbutton = document.createElement("input");
+                           cancelbutton.setAttribute("type","button");
+                           cancelbutton.setAttribute("value","Cancel");
+                           cancelbutton.setAttribute("onclick","cancel_disambiguate()");
+
+                           disambcell.appendChild(okbutton);
+                           disambcell.appendChild(cancelbutton);
+
+                           matita.disambMode = true;
+                           updateSide();
+                       }
+                       else if (is_defined(disamberr)) {
+                           // must be fixed in a daemon: it makes sense to return a 
+                           // disambiguation error with no choices
+                           if (disamberr.childNodes.length > 0) {
+                             set_cps(disamberr.childNodes);
+                             matita.unlockedbackup = unlocked.innerHTML.html_to_matita();
+                             matita.disambMode = true;
+                             next_cp(0);
+                           }
+                           throw "Stop";
+                       }
+                       else if (is_defined(localized)) {
+                           unlocked.innerHTML = localized.childNodes[0].wholeText;
+                       }
+                       else if (is_defined(generic_err)) {
+                           debug("Unmanaged error:\n" ^ generic_err.childNodes[0].wholeText);
+                       }
+               } else {
+                       debug("goto bottom failed");
+               } 
+                resume();
+       };
+       pause();
+       callServer("bottom",processor,"body=" + (unlocked.innerHTML.html_to_matita()).sescape());
+}
+
+
+function gotoTop()
+{
+       processor = function(xml) {
+               if (is_defined(xml)) {
+                 if (xml.childNodes[0].textContent != "ok") {
+                     debug("goto top failed");
+                  }
+                  else
+                        statements = listnil();
+                       /*
+                        lockedlen = locked.innerHTML.length - statementlen;
+                       statement = locked.innerHTML.substr(lockedlen, statementlen);
+                        locked.innerHTML = locked.innerHTML.substr(0,lockedlen);
+                       unlocked.innerHTML = statement + unlocked.innerHTML;
+                       */
+                       unlocked.innerHTML = lockedbackup + unlocked.innerHTML;
+                       lockedbackup = "";
+                        locked.innerHTML = lockedbackup;
+                       init_autotraces();
+                        hideSequent();
+                        unlocked.scrollIntoView(true);
+               } else {
+                       debug("goto top failed");
+               } 
+                resume();
+       };
+       pause();
+       callServer("top",processor,"body=" + (unlocked.innerHTML.html_to_matita()).sescape());
+  
+}
+
+function gotoPos(offset)
+{
+        if (!is_defined(offset)) {
+               offset = getCursorPos();
+        }
+       processor = function(xml) {
+               if (is_defined(xml)) {
+                   try {
+                       /*
+                       parsed = xml.getElementsByTagName("parsed")[0];
+                       len = parseInt(parsed.getAttribute("length"));
+                       // len0 = unlocked.innerHTML.length;
+                       unescaped = unlocked.innerHTML.html_to_matita();
+                       parsedtxt = parsed.childNodes[0].wholeText;
+                       //parsedtxt = unescaped.substr(0,len); 
+                       unparsedtxt = unescaped.substr(len);
+                       lockedbackup += parsedtxt;
+                       locked.innerHTML = lockedbackup; //.matita_to_html();
+                       unlocked.innerHTML = unparsedtxt.matita_to_html();
+                       // len1 = unlocked.innerHTML.length;
+                       len2 = parsedtxt.length;
+                       metasenv = xml.getElementsByTagName("meta");
+                       // populate_goalarray(metasenv);
+                       statements = listcons(len2,statements);
+                       unlocked.scrollIntoView(true);
+                       // la populate non andrebbe fatta a ogni passo
+                       */
+                       var len = advOneStep(xml);
+                       if (offset <= len) {
+                               init_autotraces();
+                               populate_goalarray(metasenv);
+                               resume();
+                       } else {
+                               gotoPos(offset - len);
+                       }
+                   } catch (er) {
+                       init_autotraces();
+                       populate_goalarray(metasenv);
+                       resume();
+                   }
+               } else {
+                       init_autotraces();
+                       unlocked.scrollIntoView(true);
+                       populate_goalarray(metasenv);
+                       resume();
+               }
+       }
+       pause();
+       callServer("advance",processor,"body=" + (unlocked.innerHTML.html_to_matita()).sescape());
+}
+
+function retract()
+{
+       processor = function(xml) {
+               if (typeof xml != "undefined") {
+                       // debug("advance: received response\nBEGIN\n" + req.responseText + "\nEND");
+                       statementlen = parseInt(listhd(statements));
+                        statements = listtl(statements);
+                       /*
+                        lockedlen = locked.innerHTML.length - statementlen;
+                       statement = locked.innerHTML.substr(lockedlen, statementlen);
+                        locked.innerHTML = locked.innerHTML.substr(0,lockedlen);
+                       unlocked.innerHTML = statement + unlocked.innerHTML;
+                       */
+                        lockedlen = lockedbackup.length - statementlen;
+                       statement = lockedbackup.substr(lockedlen, statementlen);
+                       lockedbackup = lockedbackup.substr(0,lockedlen);
+                        locked.innerHTML = lockedbackup;
+                       unlocked.innerHTML = statement + unlocked.innerHTML;
+                       metasenv = xml.getElementsByTagName("meta");
+                       init_autotraces();
+                        populate_goalarray(metasenv);
+                        unlocked.scrollIntoView(true);
+               } else {
+                       debug("retract failed");
+               }
+               resume();
+       };
+       pause();
+        callServer("retract",processor);
+}
+
+function openFile()
+{ 
+       processor = function(xml)
+       {
+               if (is_defined(xml)) {  
+                       lockedbackup = "";
+                       locked.innerHTML = lockedbackup;
+                       unlocked.innerHTML = xml.documentElement.wholeText;
+               } else {
+                       debug("file open failed");
+               }
+       };
+       callServer("open",processor,"file=" + escape(filename.value)); 
+}
+
+function retrieveFile(thefile)
+{ 
+       processor = function(xml)
+       {
+               if (is_defined(xml)) {  
+                       changeFile(thefile);
+                        matita.disambMode = false;
+                        matita.proofMode = false;
+                       updateSide();
+                       lockedbackup = ""
+                       locked.innerHTML = lockedbackup;
+                        // code originally used in google chrome (problems with mozilla)
+                       // debug(xml.getElementsByTagName("file")[0].childNodes[0].nodeValue);
+                       // unlocked.innerHTML = xml.getElementsByTagName("file")[0].childNodes[0].nodeValue;
+                       debug(xml.childNodes[0].textContent);
+                        if (document.all) { // IE
+                          unlocked.innerHTML = xml.childNodes[0].text;
+                        } else {
+                          unlocked.innerHTML = xml.childNodes[0].textContent;
+                        }
+                       init_autotraces();
+
+               } else {
+                       debug("file open failed");
+               }
+       };
+       abortDialog("dialogBox");
+       callServer("open",processor,"file=" + escape(thefile)); 
+}
+
+function showLibrary(title,callback,reloadDialog)
+{ 
+       var req = null;
+        dialogBox.reload = reloadDialog; 
+        // pause();
+       if (window.XMLHttpRequest)
+       {
+               req = new XMLHttpRequest();
+       } 
+       else if (window.ActiveXObject) 
+       {
+               try {
+                               req = new ActiveXObject("Msxml2.XMLHTTP");
+               } catch (e)
+               {
+                       try {
+                               req = new ActiveXObject("Microsoft.XMLHTTP");
+                               } catch (e) {}
+               }
+       }
+       req.onreadystatechange = function()
+       { 
+
+               rs = req.readyState;
+
+               if(rs == 4)
+               {
+                       stat = req.status;
+                       stxt = req.statusText;
+                       if(stat == 200)
+                       {
+                         debug(req.responseText);
+                          showDialog("<H2>" + title + "</H2>",req.responseText, callback);
+                       } 
+               } 
+       };
+       req.open("POST", "viewlib"); // + escape(unlocked.innerHTML), true);
+        req.setRequestHeader("Content-type","application/x-www-form-urlencoded");      
+       req.send();
+  
+}
+
+function uploadDialog()
+{  
+        uploadBox.style.display = "block";
+}
+
+function uploadOK()
+{   
+   var file = document.getElementById("uploadFilename").files[0];
+//   if (file) { 
+//       var filecontent = file.getAsText("UTF-8");
+//       locked.innerHTML = lockedbackup;
+//       unlocked.innerHTML = filecontent;
+//       uploadBox.style.display = "none";
+//   }
+   if (file) { 
+      var reader = new FileReader();
+      reader.onerror = function (evt) {
+          debug("file open failed");
+      }
+      reader.onload = function (evt) {
+          lockedbackup = "";
+           locked.innerHTML = lockedbackup
+           unlocked.innerHTML = "";
+           unlocked.appendChild(document.createTextNode(evt.target.result));
+           uploadBox.style.display = "none";
+      }
+      try { reader.readAsText(file, "UTF-8"); }
+      catch (err) { /* nothing to do */ };
+      uploadBox.style.display = "none";
+   }
+}
+
+function openDialog()
+{  
+       callback = function (fname) { retrieveFile(fname); };
+       showLibrary("Open file", callback, openDialog);
+}
+
+function saveDialog()
+{  
+       callback = function (fname) { 
+         abortDialog("dialogBox");
+          saveFile(fname,
+                  (locked.innerHTML.html_to_matita()).sescape(),
+                  (unlocked.innerHTML.html_to_matita()).sescape(),
+                  false,saveDialog); 
+        };
+       showLibrary("Save file as", callback, saveDialog);
+}
+
+function newDialog()
+{
+       callback = function (fname) { 
+         abortDialog("dialogBox");
+         saveFile(fname,"","",false,newDialog,true);
+       };
+       showLibrary("Create new file", callback, newDialog);
+}
+
+
+function saveFile(fname,lockedtxt,unlockedtxt,force,reloadDialog,reloadFile)
+{
+        if (!is_defined(reloadFile)) { reloadFile = true };
+        if (!is_defined(fname)) {
+            fname = current_fname;
+           lockedtxt = (locked.innerHTML.html_to_matita()).sescape();
+           unlockedtxt = (unlocked.innerHTML.html_to_matita()).sescape();
+           force = true;
+           // when force is true, reloadDialog is not needed 
+        }
+       processor = function(xml) {
+               if (is_defined(xml)) {
+                 if (xml.childNodes[0].textContent != "ok") {
+                    if (confirm("File already exists. All existing data will be lost.\nDo you want to proceed anyway?")) {
+                       saveFile(fname,lockedtxt,unlockedtxt,true,reloadDialog,reloadFile);
+                   } else {
+                      reloadDialog();
+                   }
+                 } else {
+                   changeFile(fname);
+                   debug("file saved!");
+                    if (reloadFile) { retrieveFile(fname); }
+                 }
+               } else {
+                       debug("save file failed");
+               }
+               resume();
+       };
+       if (is_defined(fname)) {
+          pause();
+          callServer("save",processor,"file=" + escape(fname) + 
+                                   "&locked=" + lockedtxt +
+                                   "&unlocked=" + unlockedtxt +
+                                   "&force=" + force);
+       }
+       else { debug("no file selected"); }
+}
+
+function createDir() {
+   abortDialog("dialogBox");
+   dirname = prompt("New directory name:\ncic:/matita/","newdir");
+   if (dirname != null) {
+       processor = function(xml) {
+               if (is_defined(xml)) {
+                 if (xml.childNodes[0].textContent != "ok") {
+                      alert("An error occurred :-(");
+                 }
+               } else {
+                      alert("An error occurred :-(");
+               }
+                dialogBox.reload();
+       };
+        pause();
+        callServer("save",processor,"file=" + escape(dirname) + 
+                                    "&locked=&unlocked=&force=false&dir=true");
+   } else {
+      dialogBox.reload();
+   }
+}
+
+function commitAll()
+{
+       processor = function(xml) {
+               if (is_defined(xml)) {
+                        debug(xml.getElementsByTagName("details")[0].textContent);
+                       alert("Commit executed: see details in the log.\n\n" +
+                              "NOTICE: this message does NOT imply (yet) that the commit was successful.");
+               } else {
+                       alert("Commit failed!");
+               }
+               resume();
+       };
+        pause();
+        callServer("commit",processor);
+}
+
+function updateAll()
+{
+       processor = function(xml) {
+               if (is_defined(xml)) {
+                       alert("Update executed.\n\n" +
+                              "Details:\n" +
+                              xml.getElementsByTagName("details")[0].textContent);
+               } else {
+                       alert("Update failed!");
+               }
+               resume();
+       };
+        pause();
+        callServer("update",processor);
+}
+
+var goalcell;
+
+function hideSequent() {
+       matita.proofMode = false;
+       updateSide();
+}
+
+function showSequent() {
+       matita.proofMode = true;
+       updateSide();
+}
+
+function showDialog(title,content,callback) {
+  dialogTitle.innerHTML = title;
+  dialogContent.innerHTML = content;
+  dialogBox.callback = callback;
+
+  //Get the screen height and width
+  var maskHeight = $(document).height();
+  var maskWidth = $(window).width();
+  
+  //Set heigth and width to mask to fill up the whole screen
+  $('#mask').css({'width':maskWidth,'height':maskHeight});
+  
+  //transition effect          
+  $('#mask').fadeIn(100);      
+  $('#mask').fadeTo(200,0.8);  
+  
+  //Get the window height and width
+  var winH = $(window).height();
+  var winW = $(window).width();
+  
+  //Set the popup window to center
+  $('#dialogBox').css('top',  winH/2-$('#dialogBox').height()/2);
+  $('#dialogBox').css('left', winW/2-$('#dialogBox').width()/2);
+  
+  //transition effect
+  $('#dialogBox').fadeIn(200); 
+
+  dialogBox.style.display = "block";
+}
+
+function abortDialog(dialog) {
+  document.getElementById(dialog).style.display = "none";
+  $('#mask').hide();
+}
+
+function removeElement(id) {
+  var element = document.getElementById(id);
+  element.parentNode.removeChild(element);
+} 
+
+var savedsc;
+var savedso;
+
+function getCursorPos() {
+  var cursorPos;
+  if (window.getSelection) {
+    var selObj = window.getSelection();
+    savedRange = selObj.getRangeAt(0);
+    savedsc = savedRange.startContainer;
+    savedso = savedRange.startOffset;
+    //cursorPos =  findNode(selObj.anchorNode.parentNode.childNodes, selObj.anchorNode) + selObj.anchorOffset;
+    cursorPos =  findNode(unlocked.childNodes, selObj.anchorNode,0) + selObj.anchorOffset;
+    /* FIXME the following works wrong in Opera when the document is longer than 32767 chars */
+    return(cursorPos);
+  }
+  else if (document.selection) {
+    savedRange = document.selection.createRange();
+    var bookmark = savedRange.getBookmark();
+    /* FIXME the following works wrong when the document is longer than 65535 chars */
+    cursorPos = bookmark.charCodeAt(2) - 11; /* Undocumented function [3] */
+    return(cursorPos);
+  }
+}
+
+function findNode(list, node, acc) {
+  for (var i = 0; i < list.length; i++) {
+    if (list[i] == node) {
+   //   debug("success " + i);
+      return acc;
+    }
+    if (list[i].hasChildNodes()) {
+       try {
+   //      debug("recursion on node " + i);
+         return (findNode(list[i].childNodes,node,acc))
+       }
+       catch (e) { /* debug("recursion failed"); */ }
+    }
+    sandbox = document.getElementById("sandbox");
+    dup = list[i].cloneNode(true);
+    sandbox.appendChild(dup);
+//    debug("fail " + i + ": " + sandbox.innerHTML);
+    acc += sandbox.innerHTML.html_to_matita().length;
+    sandbox.removeChild(dup);
+  }
+  throw "not found";
+}
+
+function test () {
+  debug("cursor test: " + unlocked.innerHTML.substr(0,getCursorPos()));
+}
+
+function get_checked_index(name) {
+       var radios = document.getElementsByName(name);
+       for (i = 0; i < radios.length; i++) {
+           if (radios[i].checked) {
+                   return i;
+           }
+       }
+       return null;
+}
+
+function cancel_disambiguate() {
+       matita.disambMode = false;
+        resume();
+       // enable_toparea();
+       // enable_editing();
+        strip_tags("span","error");
+       updateSide();
+}
+
+function do_disambiguate() {
+       var i = get_checked_index("interpr");
+       if (i != null) {
+           var pre = matita.unlockedbackup
+                     .substring(0,matita.ambiguityStart).matita_to_html();
+           var mid = matita.unlockedbackup
+                     .substring(matita.ambiguityStart,matita.ambiguityStop)
+                     .matita_to_html();
+           var post = matita.unlockedbackup
+                      .substring(matita.ambiguityStop).matita_to_html();
+
+           var href = matita.interpretations[i].href;
+           var title = matita.interpretations[i].title;
+
+           if (is_defined(title)) {
+                mid = "<A href=\"" + href + "\" title=\"" + title + "\">" + mid + "</A>";
+           } else {
+                mid = "<A href=\"" + href + "\">" + mid + "</A>";
+           }
+
+           unlocked.innerHTML = pre + mid + post;
+
+           matita.disambMode = false;
+           enable_toparea();
+           enable_editing();
+           updateSide();
+       }
+}
+
+function do_showerror() {
+       var i = get_checked_index("choice");
+       if (i != null) {
+           var pre = matita.unlockedbackup
+                     .substring(0,matita.ambiguityStart).matita_to_html();
+           var mid = matita.unlockedbackup
+                     .substring(matita.ambiguityStart,matita.ambiguityStop)
+                     .matita_to_html();
+           var post = matita.unlockedbackup
+                      .substring(matita.ambiguityStop).matita_to_html();
+
+           var href = matita.interpretations[i].href;
+           var title = matita.interpretations[i].title;
+
+           if (is_defined(title)) {
+                mid = "<A href=\"" + href + "\" title=\"" + title + "\">" + mid + "</A>";
+           } else {
+                mid = "<A href=\"" + href + "\">" + mid + "</A>";
+           }
+
+           unlocked.innerHTML = pre + mid + post;
+
+       }
+}
+
+function readCookie(name) {
+       var nameEQ = name + "=";
+       var ca = document.cookie.split(';');
+       for(var i=0;i < ca.length;i++) {
+               var c = ca[i];
+               while (c.charAt(0)==' ') c = c.substring(1,c.length);
+               if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
+       }
+       return null;
+}
+
+function delete_cookie ( cookie_name )
+{
+  var cookie_date = new Date();  // current date & time
+  cookie_date.setTime ( cookie_date.getTime() - 1 );
+  document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
+}
+
+function delete_session()
+{
+       delete_cookie("session");
+}
+
+function disable_toparea() {
+       var offset = $('#toparea').offset();
+        $('#whitemask').css('top',offset.top);
+        $('#whitemask').css('left',offset.left);
+        $('#whitemask').css('width',$('#toparea').outerWidth() + "px");
+        $('#whitemask').css('height',$('#toparea').outerHeight() + "px");
+       $('#whitemask').fadeTo('fast',0.7);
+}
+
+function enable_toparea() {
+       $('#whitemask').hide();
+}
+
+function disable_editing() {
+       unlocked.contentEditable = false;
+}
+
+function enable_editing() {
+       unlocked.contentEditable = true;
+}
+
+function pause()
+{
+       // advanceButton.disabled = true;
+        // retractButton.disabled = true;
+        // cursorButton.disabled = true;
+        // bottomButton.disabled = true;
+       disable_toparea();
+       disable_editing();
+}
+
+function resume()
+{
+       // advanceButton.disabled = false;
+        // retractButton.disabled = false;
+        // cursorButton.disabled = false;
+        // bottomButton.disabled = false;
+        if (!matita.disambMode) {
+               enable_toparea();
+               enable_editing();
+        }
+}
+
diff --git a/matitaB/matita/html/treeview/closed.gif b/matitaB/matita/html/treeview/closed.gif
new file mode 100644 (file)
index 0000000..7d451c3
Binary files /dev/null and b/matitaB/matita/html/treeview/closed.gif differ
diff --git a/matitaB/matita/html/treeview/doc.gif b/matitaB/matita/html/treeview/doc.gif
new file mode 100644 (file)
index 0000000..4aca545
Binary files /dev/null and b/matitaB/matita/html/treeview/doc.gif differ
diff --git a/matitaB/matita/html/treeview/open.gif b/matitaB/matita/html/treeview/open.gif
new file mode 100644 (file)
index 0000000..0ab3c81
Binary files /dev/null and b/matitaB/matita/html/treeview/open.gif differ
diff --git a/matitaB/matita/html/treeview/xmlTree.css b/matitaB/matita/html/treeview/xmlTree.css
new file mode 100644 (file)
index 0000000..9fee00e
--- /dev/null
@@ -0,0 +1,19 @@
+body{\r
+       font: 10pt Verdana,sans-serif;\r
+       color: navy;\r
+}\r
+.trigger{\r
+       cursor: pointer;\r
+       cursor: hand;\r
+       display: block;\r
+}\r
+.branch{\r
+       display: none;\r
+       margin-left: 16px;\r
+}\r
+a{\r
+       text-decoration: none;\r
+}\r
+a:hover{\r
+       text-decoration: underline;\r
+}\r
diff --git a/matitaB/matita/html/treeview/xmlTree.js b/matitaB/matita/html/treeview/xmlTree.js
new file mode 100644 (file)
index 0000000..c1a5c99
--- /dev/null
@@ -0,0 +1,33 @@
+var openImg = new Image();\r
+openImg.src = "treeview/open.gif";\r
+var closedImg = new Image();\r
+closedImg.src = "treeview/closed.gif";\r
+\r
+var diaFilename = document.getElementById("dialogFilename");\r
+\r
+function showBranch(branch,path){\r
+       var objBranch = document.getElementById(branch).style;\r
+       if(objBranch.display=="block")\r
+               objBranch.display="none";\r
+       else\r
+               objBranch.display="block";\r
+       swapFolder('I' + branch);\r
+       // codice per mostrare il path nella casella di testo\r
+       selectFile(path);\r
+}\r
+\r
+function swapFolder(img){\r
+       objImg = document.getElementById(img);\r
+       if(objImg.src.indexOf('treeview/closed.gif')>-1)\r
+               objImg.src = openImg.src;\r
+       else\r
+               objImg.src = closedImg.src;\r
+}\r
+\r
+function selectFile(path) {\r
+       dialogFilename.value = path;\r
+}\r
+\r
+function dialogOK() {\r
+          dialogBox.callback(document.getElementById("dialogFilename").value);\r
+}\r
diff --git a/matitaB/matita/html/utf8MacroTable.js b/matitaB/matita/html/utf8MacroTable.js
new file mode 100644 (file)
index 0000000..19df800
--- /dev/null
@@ -0,0 +1,4261 @@
+/* GENERATED by make_table: DO NOT EDIT! */
+var macro2utf8 = new Object();
+var utf82macro = new Object();
+macro2utf8["nscr"] = "&#120003;";
+utf82macro["&#120003;"] = "nscr";
+macro2utf8["LJcy"] = "&#1033;";
+utf82macro["&#1033;"] = "LJcy";
+macro2utf8["dd"] = "&#8518;";
+utf82macro["&#8518;"] = "dd";
+macro2utf8["Omacr"] = "&#332;";
+utf82macro["&#332;"] = "Omacr";
+macro2utf8["npreceq"] = "&#10927;&#824;";
+utf82macro["&#10927;&#824;"] = "npreceq";
+macro2utf8["Gcirc"] = "&#284;";
+utf82macro["&#284;"] = "Gcirc";
+macro2utf8["utilde"] = "&#361;";
+utf82macro["&#361;"] = "utilde";
+macro2utf8["rdca"] = "&#10551;";
+utf82macro["&#10551;"] = "rdca";
+macro2utf8["racute"] = "&#341;";
+utf82macro["&#341;"] = "racute";
+macro2utf8["mstpos"] = "&#8766;";
+utf82macro["&#8766;"] = "mstpos";
+macro2utf8["supnE"] = "&#8843;";
+utf82macro["&#8843;"] = "supnE";
+macro2utf8["NotLessLess"] = "&#8810;&#824;&#65024;";
+utf82macro["&#8810;&#824;&#65024;"] = "NotLessLess";
+macro2utf8["iiint"] = "&#8749;";
+utf82macro["&#8749;"] = "iiint";
+macro2utf8["uscr"] = "&#120010;";
+utf82macro["&#120010;"] = "uscr";
+macro2utf8["Sfr"] = "&#120086;";
+utf82macro["&#120086;"] = "Sfr";
+macro2utf8["nsupseteqq"] = "&#8841;";
+utf82macro["&#8841;"] = "nsupseteqq";
+macro2utf8["nwarrow"] = "&#8598;";
+utf82macro["&#8598;"] = "nwarrow";
+macro2utf8["twoheadrightarrow"] = "&#8608;";
+utf82macro["&#8608;"] = "twoheadrightarrow";
+macro2utf8["sccue"] = "&#8829;";
+utf82macro["&#8829;"] = "sccue";
+macro2utf8["NotSquareSuperset"] = "&#8848;&#824;";
+utf82macro["&#8848;&#824;"] = "NotSquareSuperset";
+macro2utf8["ee"] = "&#8519;";
+utf82macro["&#8519;"] = "ee";
+macro2utf8["boxbox"] = "&#10697;";
+utf82macro["&#10697;"] = "boxbox";
+macro2utf8["andand"] = "&#10837;";
+utf82macro["&#10837;"] = "andand";
+macro2utf8["LeftVectorBar"] = "&#10578;";
+utf82macro["&#10578;"] = "LeftVectorBar";
+macro2utf8["eg"] = "&#10906;";
+utf82macro["&#10906;"] = "eg";
+macro2utf8["csc"] = "csc";
+utf82macro["csc"] = "csc";
+macro2utf8["NotRightTriangleEqual"] = "&#8941;";
+utf82macro["&#8941;"] = "NotRightTriangleEqual";
+macro2utf8["filig"] = "&#64257;";
+utf82macro["&#64257;"] = "filig";
+macro2utf8["atilde"] = "&#227;";
+utf82macro["&#227;"] = "atilde";
+macro2utf8["ring"] = "&#730;";
+utf82macro["&#730;"] = "ring";
+macro2utf8["congdot"] = "&#10861;";
+utf82macro["&#10861;"] = "congdot";
+macro2utf8["gE"] = "&#8807;";
+utf82macro["&#8807;"] = "gE";
+macro2utf8["rcedil"] = "&#343;";
+utf82macro["&#343;"] = "rcedil";
+macro2utf8["el"] = "&#10905;";
+utf82macro["&#10905;"] = "el";
+macro2utf8["HorizontalLine"] = "&#9472;";
+utf82macro["&#9472;"] = "HorizontalLine";
+macro2utf8["incare"] = "&#8453;";
+utf82macro["&#8453;"] = "incare";
+macro2utf8["hoarr"] = "&#8703;";
+utf82macro["&#8703;"] = "hoarr";
+macro2utf8["SOFTcy"] = "&#1068;";
+utf82macro["&#1068;"] = "SOFTcy";
+macro2utf8["conint"] = "&#8750;";
+utf82macro["&#8750;"] = "conint";
+macro2utf8["OverParenthesis"] = "&#65077;";
+utf82macro["&#65077;"] = "OverParenthesis";
+macro2utf8["Uogon"] = "&#370;";
+utf82macro["&#370;"] = "Uogon";
+macro2utf8["supne"] = "&#8843;";
+utf82macro["&#8843;"] = "supne";
+macro2utf8["num"] = "#";
+utf82macro["#"] = "num";
+macro2utf8["zcy"] = "&#1079;";
+utf82macro["&#1079;"] = "zcy";
+macro2utf8["Hfr"] = "&#8460;";
+utf82macro["&#8460;"] = "Hfr";
+macro2utf8["dtri"] = "&#9663;";
+utf82macro["&#9663;"] = "dtri";
+macro2utf8["FilledSmallSquare"] = "&#9726;";
+utf82macro["&#9726;"] = "FilledSmallSquare";
+macro2utf8["SucceedsEqual"] = "&#8829;";
+utf82macro["&#8829;"] = "SucceedsEqual";
+macro2utf8["leftthreetimes"] = "&#8907;";
+utf82macro["&#8907;"] = "leftthreetimes";
+macro2utf8["ycirc"] = "&#375;";
+utf82macro["&#375;"] = "ycirc";
+macro2utf8["sqcup"] = "&#8852;";
+utf82macro["&#8852;"] = "sqcup";
+macro2utf8["DoubleLeftArrow"] = "&#8656;";
+utf82macro["&#8656;"] = "DoubleLeftArrow";
+macro2utf8["gtrless"] = "&#8823;";
+utf82macro["&#8823;"] = "gtrless";
+macro2utf8["ge"] = "&#8805;";
+utf82macro["&#8805;"] = "ge";
+macro2utf8["Product"] = "&#8719;";
+utf82macro["&#8719;"] = "Product";
+macro2utf8["NotExists"] = "&#8708;";
+utf82macro["&#8708;"] = "NotExists";
+macro2utf8["gg"] = "&#8811;";
+utf82macro["&#8811;"] = "gg";
+macro2utf8["curlyvee"] = "&#8910;";
+utf82macro["&#8910;"] = "curlyvee";
+macro2utf8["ntrianglerighteq"] = "&#8941;";
+utf82macro["&#8941;"] = "ntrianglerighteq";
+macro2utf8["Colon"] = "&#8759;";
+utf82macro["&#8759;"] = "Colon";
+macro2utf8["rbrke"] = "&#10636;";
+utf82macro["&#10636;"] = "rbrke";
+macro2utf8["LeftDownVector"] = "&#8643;";
+utf82macro["&#8643;"] = "LeftDownVector";
+macro2utf8["gl"] = "&#8823;";
+utf82macro["&#8823;"] = "gl";
+macro2utf8["lrcorner"] = "&#8991;";
+utf82macro["&#8991;"] = "lrcorner";
+macro2utf8["mapstodown"] = "&#8615;";
+utf82macro["&#8615;"] = "mapstodown";
+macro2utf8["excl"] = "!";
+utf82macro["!"] = "excl";
+macro2utf8["cdots"] = "&#8943;";
+utf82macro["&#8943;"] = "cdots";
+macro2utf8["larr"] = "&#8592;";
+utf82macro["&#8592;"] = "larr";
+macro2utf8["dtdot"] = "&#8945;";
+utf82macro["&#8945;"] = "dtdot";
+macro2utf8["kgreen"] = "&#312;";
+utf82macro["&#312;"] = "kgreen";
+macro2utf8["rtri"] = "&#9657;";
+utf82macro["&#9657;"] = "rtri";
+macro2utf8["rbarr"] = "&#10509;";
+utf82macro["&#10509;"] = "rbarr";
+macro2utf8["ocy"] = "&#1086;";
+utf82macro["&#1086;"] = "ocy";
+macro2utf8["gt"] = "&#62;";
+utf82macro["&#62;"] = "gt";
+macro2utf8["DownLeftRightVector"] = "&#10576;";
+utf82macro["&#10576;"] = "DownLeftRightVector";
+macro2utf8["cup"] = "&#8746;";
+utf82macro["&#8746;"] = "cup";
+macro2utf8["updownarrow"] = "&#8597;";
+utf82macro["&#8597;"] = "updownarrow";
+macro2utf8["Imacr"] = "&#298;";
+utf82macro["&#298;"] = "Imacr";
+macro2utf8["cross"] = "&#10007;";
+utf82macro["&#10007;"] = "cross";
+macro2utf8["Acirc"] = "&#194;";
+utf82macro["&#194;"] = "Acirc";
+macro2utf8["lvertneqq"] = "&#8808;&#65024;";
+utf82macro["&#8808;&#65024;"] = "lvertneqq";
+macro2utf8["ccaps"] = "&#10829;";
+utf82macro["&#10829;"] = "ccaps";
+macro2utf8["NotLeftTriangleEqual"] = "&#8940;";
+utf82macro["&#8940;"] = "NotLeftTriangleEqual";
+macro2utf8["IJlig"] = "&#306;";
+utf82macro["&#306;"] = "IJlig";
+macro2utf8["boxplus"] = "&#8862;";
+utf82macro["&#8862;"] = "boxplus";
+macro2utf8["epsilon"] = "&#1013;";
+utf82macro["&#1013;"] = "epsilon";
+macro2utf8["zfr"] = "&#120119;";
+utf82macro["&#120119;"] = "zfr";
+macro2utf8["late"] = "&#10925;";
+utf82macro["&#10925;"] = "late";
+macro2utf8["ic"] = "&#8203;";
+utf82macro["&#8203;"] = "ic";
+macro2utf8["lrhar"] = "&#8651;";
+utf82macro["&#8651;"] = "lrhar";
+macro2utf8["gsim"] = "&#8819;";
+utf82macro["&#8819;"] = "gsim";
+macro2utf8["inf"] = "inf";
+utf82macro["inf"] = "inf";
+macro2utf8["top"] = "&#8868;";
+utf82macro["&#8868;"] = "top";
+macro2utf8["odsold"] = "&#10684;";
+utf82macro["&#10684;"] = "odsold";
+macro2utf8["circlearrowright"] = "&#8635;";
+utf82macro["&#8635;"] = "circlearrowright";
+macro2utf8["rtimes"] = "&#8906;";
+utf82macro["&#8906;"] = "rtimes";
+macro2utf8["ii"] = "&#8520;";
+utf82macro["&#8520;"] = "ii";
+macro2utf8["DoubleRightTee"] = "&#8872;";
+utf82macro["&#8872;"] = "DoubleRightTee";
+macro2utf8["dcy"] = "&#1076;";
+utf82macro["&#1076;"] = "dcy";
+macro2utf8["boxdL"] = "&#9557;";
+utf82macro["&#9557;"] = "boxdL";
+macro2utf8["duhar"] = "&#10607;";
+utf82macro["&#10607;"] = "duhar";
+macro2utf8["vert"] = "|";
+utf82macro["|"] = "vert";
+macro2utf8["sacute"] = "&#347;";
+utf82macro["&#347;"] = "sacute";
+macro2utf8["in"] = "&#8712;";
+utf82macro["&#8712;"] = "in";
+macro2utf8["Assign"] = "&#8788;";
+utf82macro["&#8788;"] = "Assign";
+macro2utf8["nsim"] = "&#8769;";
+utf82macro["&#8769;"] = "nsim";
+macro2utf8["boxdR"] = "&#9554;";
+utf82macro["&#9554;"] = "boxdR";
+macro2utf8["o"] = "&#959;";
+utf82macro["&#959;"] = "o";
+macro2utf8["radic"] = "&#8730;";
+utf82macro["&#8730;"] = "radic";
+macro2utf8["it"] = "&#8290;";
+utf82macro["&#8290;"] = "it";
+macro2utf8["int"] = "&#8747;";
+utf82macro["&#8747;"] = "int";
+macro2utf8["cwint"] = "&#8753;";
+utf82macro["&#8753;"] = "cwint";
+macro2utf8["ForAll"] = "&#8704;";
+utf82macro["&#8704;"] = "ForAll";
+macro2utf8["simplus"] = "&#10788;";
+utf82macro["&#10788;"] = "simplus";
+macro2utf8["isindot"] = "&#8949;";
+utf82macro["&#8949;"] = "isindot";
+macro2utf8["rightthreetimes"] = "&#8908;";
+utf82macro["&#8908;"] = "rightthreetimes";
+macro2utf8["supseteqq"] = "&#8839;";
+utf82macro["&#8839;"] = "supseteqq";
+macro2utf8["bnot"] = "&#8976;";
+utf82macro["&#8976;"] = "bnot";
+macro2utf8["rppolint"] = "&#10770;";
+utf82macro["&#10770;"] = "rppolint";
+macro2utf8["def"] = "&#8797;";
+utf82macro["&#8797;"] = "def";
+macro2utf8["TScy"] = "&#1062;";
+utf82macro["&#1062;"] = "TScy";
+macro2utf8["lE"] = "&#8806;";
+utf82macro["&#8806;"] = "lE";
+macro2utf8["ffilig"] = "&#64259;";
+utf82macro["&#64259;"] = "ffilig";
+macro2utf8["deg"] = "deg";
+utf82macro["deg"] = "deg";
+macro2utf8["{"] = "{";
+utf82macro["{"] = "{";
+macro2utf8["RightVector"] = "&#8640;";
+utf82macro["&#8640;"] = "RightVector";
+macro2utf8["ofr"] = "&#120108;";
+utf82macro["&#120108;"] = "ofr";
+macro2utf8["|"] = "|";
+utf82macro["|"] = "|";
+macro2utf8["liminf"] = "liminf";
+utf82macro["liminf"] = "liminf";
+macro2utf8["}"] = "}";
+utf82macro["}"] = "}";
+macro2utf8["LeftUpTeeVector"] = "&#10592;";
+utf82macro["&#10592;"] = "LeftUpTeeVector";
+macro2utf8["scirc"] = "&#349;";
+utf82macro["&#349;"] = "scirc";
+macro2utf8["scedil"] = "&#351;";
+utf82macro["&#351;"] = "scedil";
+macro2utf8["ufisht"] = "&#10622;";
+utf82macro["&#10622;"] = "ufisht";
+macro2utf8["LeftUpDownVector"] = "&#10577;";
+utf82macro["&#10577;"] = "LeftUpDownVector";
+macro2utf8["questeq"] = "&#8799;";
+utf82macro["&#8799;"] = "questeq";
+macro2utf8["leftarrow"] = "&#8592;";
+utf82macro["&#8592;"] = "leftarrow";
+macro2utf8["Ycy"] = "&#1067;";
+utf82macro["&#1067;"] = "Ycy";
+macro2utf8["Coproduct"] = "&#8720;";
+utf82macro["&#8720;"] = "Coproduct";
+macro2utf8["det"] = "det";
+utf82macro["det"] = "det";
+macro2utf8["boxdl"] = "&#9488;";
+utf82macro["&#9488;"] = "boxdl";
+macro2utf8["Aopf"] = "&#120120;";
+utf82macro["&#120120;"] = "Aopf";
+macro2utf8["srarr"] = "&#8594;&#65024;";
+utf82macro["&#8594;&#65024;"] = "srarr";
+macro2utf8["lbrke"] = "&#10635;";
+utf82macro["&#10635;"] = "lbrke";
+macro2utf8["boxdr"] = "&#9484;";
+utf82macro["&#9484;"] = "boxdr";
+macro2utf8["Ntilde"] = "&#209;";
+utf82macro["&#209;"] = "Ntilde";
+macro2utf8["gnap"] = "&#10890;";
+utf82macro["&#10890;"] = "gnap";
+macro2utf8["Cap"] = "&#8914;";
+utf82macro["&#8914;"] = "Cap";
+macro2utf8["swarhk"] = "&#10534;";
+utf82macro["&#10534;"] = "swarhk";
+macro2utf8["ogt"] = "&#10689;";
+utf82macro["&#10689;"] = "ogt";
+macro2utf8["emptyset"] = "&#8709;&#65024;";
+utf82macro["&#8709;&#65024;"] = "emptyset";
+macro2utf8["harrw"] = "&#8621;";
+utf82macro["&#8621;"] = "harrw";
+macro2utf8["lbarr"] = "&#10508;";
+utf82macro["&#10508;"] = "lbarr";
+macro2utf8["Tilde"] = "&#8764;";
+utf82macro["&#8764;"] = "Tilde";
+macro2utf8["delta"] = "&#948;";
+utf82macro["&#948;"] = "delta";
+macro2utf8["Hopf"] = "&#8461;";
+utf82macro["&#8461;"] = "Hopf";
+macro2utf8["dfr"] = "&#120097;";
+utf82macro["&#120097;"] = "dfr";
+macro2utf8["le"] = "&#8804;";
+utf82macro["&#8804;"] = "le";
+macro2utf8["lg"] = "lg";
+utf82macro["lg"] = "lg";
+macro2utf8["ohm"] = "&#8486;";
+utf82macro["&#8486;"] = "ohm";
+macro2utf8["Jsercy"] = "&#1032;";
+utf82macro["&#1032;"] = "Jsercy";
+macro2utf8["quaternions"] = "&#8461;";
+utf82macro["&#8461;"] = "quaternions";
+macro2utf8["DoubleLongLeftArrow"] = "&#62841;";
+utf82macro["&#62841;"] = "DoubleLongLeftArrow";
+macro2utf8["Ncy"] = "&#1053;";
+utf82macro["&#1053;"] = "Ncy";
+macro2utf8["nabla"] = "&#8711;";
+utf82macro["&#8711;"] = "nabla";
+macro2utf8["ltcir"] = "&#10873;";
+utf82macro["&#10873;"] = "ltcir";
+macro2utf8["ll"] = "&#8810;";
+utf82macro["&#8810;"] = "ll";
+macro2utf8["ln"] = "ln";
+utf82macro["ln"] = "ln";
+macro2utf8["rmoust"] = "&#9137;";
+utf82macro["&#9137;"] = "rmoust";
+macro2utf8["Oopf"] = "&#120134;";
+utf82macro["&#120134;"] = "Oopf";
+macro2utf8["nbsp"] = "&#160;";
+utf82macro["&#160;"] = "nbsp";
+macro2utf8["Kcedil"] = "&#310;";
+utf82macro["&#310;"] = "Kcedil";
+macro2utf8["vdots"] = "&#8942;";
+utf82macro["&#8942;"] = "vdots";
+macro2utf8["NotLessTilde"] = "&#8820;";
+utf82macro["&#8820;"] = "NotLessTilde";
+macro2utf8["lt"] = "&#60;";
+utf82macro["&#60;"] = "lt";
+macro2utf8["djcy"] = "&#1106;";
+utf82macro["&#1106;"] = "djcy";
+macro2utf8["DownRightTeeVector"] = "&#10591;";
+utf82macro["&#10591;"] = "DownRightTeeVector";
+macro2utf8["Ograve"] = "&#210;";
+utf82macro["&#210;"] = "Ograve";
+macro2utf8["boxhD"] = "&#9573;";
+utf82macro["&#9573;"] = "boxhD";
+macro2utf8["nsime"] = "&#8772;";
+utf82macro["&#8772;"] = "nsime";
+macro2utf8["egsdot"] = "&#10904;";
+utf82macro["&#10904;"] = "egsdot";
+macro2utf8["mDDot"] = "&#8762;";
+utf82macro["&#8762;"] = "mDDot";
+macro2utf8["bigodot"] = "&#8857;";
+utf82macro["&#8857;"] = "bigodot";
+macro2utf8["Vopf"] = "&#120141;";
+utf82macro["&#120141;"] = "Vopf";
+macro2utf8["looparrowright"] = "&#8620;";
+utf82macro["&#8620;"] = "looparrowright";
+macro2utf8["yucy"] = "&#1102;";
+utf82macro["&#1102;"] = "yucy";
+macro2utf8["trade"] = "&#8482;";
+utf82macro["&#8482;"] = "trade";
+macro2utf8["Yfr"] = "&#120092;";
+utf82macro["&#120092;"] = "Yfr";
+macro2utf8["kjcy"] = "&#1116;";
+utf82macro["&#1116;"] = "kjcy";
+macro2utf8["mp"] = "&#8723;";
+utf82macro["&#8723;"] = "mp";
+macro2utf8["leftrightarrows"] = "&#8646;";
+utf82macro["&#8646;"] = "leftrightarrows";
+macro2utf8["uharl"] = "&#8639;";
+utf82macro["&#8639;"] = "uharl";
+macro2utf8["ncap"] = "&#10819;";
+utf82macro["&#10819;"] = "ncap";
+macro2utf8["Iogon"] = "&#302;";
+utf82macro["&#302;"] = "Iogon";
+macro2utf8["NotSubset"] = "&#8836;";
+utf82macro["&#8836;"] = "NotSubset";
+macro2utf8["Bumpeq"] = "&#8782;";
+utf82macro["&#8782;"] = "Bumpeq";
+macro2utf8["mu"] = "&#956;";
+utf82macro["&#956;"] = "mu";
+macro2utf8["FilledVerySmallSquare"] = "&#62875;";
+utf82macro["&#62875;"] = "FilledVerySmallSquare";
+macro2utf8["breve"] = "&#728;";
+utf82macro["&#728;"] = "breve";
+macro2utf8["boxhU"] = "&#9576;";
+utf82macro["&#9576;"] = "boxhU";
+macro2utf8["Sigma"] = "&#931;";
+utf82macro["&#931;"] = "Sigma";
+macro2utf8["uharr"] = "&#8638;";
+utf82macro["&#8638;"] = "uharr";
+macro2utf8["xrArr"] = "&#62842;";
+utf82macro["&#62842;"] = "xrArr";
+macro2utf8["ne"] = "&#8800;";
+utf82macro["&#8800;"] = "ne";
+macro2utf8["oS"] = "&#9416;";
+utf82macro["&#9416;"] = "oS";
+macro2utf8["xodot"] = "&#8857;";
+utf82macro["&#8857;"] = "xodot";
+macro2utf8["ni"] = "&#8715;";
+utf82macro["&#8715;"] = "ni";
+macro2utf8["mdash"] = "&#8212;";
+utf82macro["&#8212;"] = "mdash";
+macro2utf8["Verbar"] = "&#8214;";
+utf82macro["&#8214;"] = "Verbar";
+macro2utf8["die"] = "&#168;";
+utf82macro["&#168;"] = "die";
+macro2utf8["veebar"] = "&#8891;";
+utf82macro["&#8891;"] = "veebar";
+macro2utf8["UpArrowBar"] = "&#10514;";
+utf82macro["&#10514;"] = "UpArrowBar";
+macro2utf8["Ncaron"] = "&#327;";
+utf82macro["&#327;"] = "Ncaron";
+macro2utf8["RightArrowBar"] = "&#8677;";
+utf82macro["&#8677;"] = "RightArrowBar";
+macro2utf8["LongLeftArrow"] = "&#62838;";
+utf82macro["&#62838;"] = "LongLeftArrow";
+macro2utf8["rceil"] = "&#8969;";
+utf82macro["&#8969;"] = "rceil";
+macro2utf8["LeftDownVectorBar"] = "&#10585;";
+utf82macro["&#10585;"] = "LeftDownVectorBar";
+macro2utf8["umacr"] = "&#363;";
+utf82macro["&#363;"] = "umacr";
+macro2utf8["Hacek"] = "&#711;";
+utf82macro["&#711;"] = "Hacek";
+macro2utf8["odblac"] = "&#337;";
+utf82macro["&#337;"] = "odblac";
+macro2utf8["lmidot"] = "&#320;";
+utf82macro["&#320;"] = "lmidot";
+macro2utf8["dopf"] = "&#120149;";
+utf82macro["&#120149;"] = "dopf";
+macro2utf8["boxhd"] = "&#9516;";
+utf82macro["&#9516;"] = "boxhd";
+macro2utf8["dim"] = "dim";
+utf82macro["dim"] = "dim";
+macro2utf8["vnsub"] = "&#8836;";
+utf82macro["&#8836;"] = "vnsub";
+macro2utf8["Bscr"] = "&#8492;";
+utf82macro["&#8492;"] = "Bscr";
+macro2utf8["plussim"] = "&#10790;";
+utf82macro["&#10790;"] = "plussim";
+macro2utf8["doublebarwedge"] = "&#8966;";
+utf82macro["&#8966;"] = "doublebarwedge";
+macro2utf8["nu"] = "&#957;";
+utf82macro["&#957;"] = "nu";
+macro2utf8["eqcolon"] = "&#8789;";
+utf82macro["&#8789;"] = "eqcolon";
+macro2utf8["luruhar"] = "&#10598;";
+utf82macro["&#10598;"] = "luruhar";
+macro2utf8["Nfr"] = "&#120081;";
+utf82macro["&#120081;"] = "Nfr";
+macro2utf8["preceq"] = "&#10927;";
+utf82macro["&#10927;"] = "preceq";
+macro2utf8["LeftTee"] = "&#8867;";
+utf82macro["&#8867;"] = "LeftTee";
+macro2utf8["div"] = "&#247;";
+utf82macro["&#247;"] = "div";
+macro2utf8["nVDash"] = "&#8879;";
+utf82macro["&#8879;"] = "nVDash";
+macro2utf8["kopf"] = "&#120156;";
+utf82macro["&#120156;"] = "kopf";
+macro2utf8["Iscr"] = "&#8464;";
+utf82macro["&#8464;"] = "Iscr";
+macro2utf8["vnsup"] = "&#8837;";
+utf82macro["&#8837;"] = "vnsup";
+macro2utf8["gneq"] = "&#8809;";
+utf82macro["&#8809;"] = "gneq";
+macro2utf8["backepsilon"] = "&#1014;";
+utf82macro["&#1014;"] = "backepsilon";
+macro2utf8["boxhu"] = "&#9524;";
+utf82macro["&#9524;"] = "boxhu";
+macro2utf8["ominus"] = "&#8854;";
+utf82macro["&#8854;"] = "ominus";
+macro2utf8["or"] = "&#8744;";
+utf82macro["&#8744;"] = "or";
+macro2utf8["lesdot"] = "&#10879;";
+utf82macro["&#10879;"] = "lesdot";
+macro2utf8["RightVectorBar"] = "&#10579;";
+utf82macro["&#10579;"] = "RightVectorBar";
+macro2utf8["tcedil"] = "&#355;";
+utf82macro["&#355;"] = "tcedil";
+macro2utf8["hstrok"] = "&#295;";
+utf82macro["&#295;"] = "hstrok";
+macro2utf8["nrarrc"] = "&#10547;&#824;";
+utf82macro["&#10547;&#824;"] = "nrarrc";
+macro2utf8["ropf"] = "&#120163;";
+utf82macro["&#120163;"] = "ropf";
+macro2utf8["diamond"] = "&#8900;";
+utf82macro["&#8900;"] = "diamond";
+macro2utf8["smid"] = "&#8739;&#65024;";
+utf82macro["&#8739;&#65024;"] = "smid";
+macro2utf8["nltri"] = "&#8938;";
+utf82macro["&#8938;"] = "nltri";
+macro2utf8["Pscr"] = "&#119979;";
+utf82macro["&#119979;"] = "Pscr";
+macro2utf8["vartheta"] = "&#977;";
+utf82macro["&#977;"] = "vartheta";
+macro2utf8["therefore"] = "&#8756;";
+utf82macro["&#8756;"] = "therefore";
+macro2utf8["pi"] = "&#960;";
+utf82macro["&#960;"] = "pi";
+macro2utf8["ntrianglelefteq"] = "&#8940;";
+utf82macro["&#8940;"] = "ntrianglelefteq";
+macro2utf8["nearrow"] = "&#8599;";
+utf82macro["&#8599;"] = "nearrow";
+macro2utf8["pm"] = "&#177;";
+utf82macro["&#177;"] = "pm";
+macro2utf8["natural"] = "&#9838;";
+utf82macro["&#9838;"] = "natural";
+macro2utf8["ucy"] = "&#1091;";
+utf82macro["&#1091;"] = "ucy";
+macro2utf8["olt"] = "&#10688;";
+utf82macro["&#10688;"] = "olt";
+macro2utf8["Cfr"] = "&#8493;";
+utf82macro["&#8493;"] = "Cfr";
+macro2utf8["yopf"] = "&#120170;";
+utf82macro["&#120170;"] = "yopf";
+macro2utf8["Otilde"] = "&#213;";
+utf82macro["&#213;"] = "Otilde";
+macro2utf8["ntriangleleft"] = "&#8938;";
+utf82macro["&#8938;"] = "ntriangleleft";
+macro2utf8["pr"] = "&#8826;";
+utf82macro["&#8826;"] = "pr";
+macro2utf8["Wscr"] = "&#119986;";
+utf82macro["&#119986;"] = "Wscr";
+macro2utf8["midcir"] = "&#10992;";
+utf82macro["&#10992;"] = "midcir";
+macro2utf8["Lacute"] = "&#313;";
+utf82macro["&#313;"] = "Lacute";
+macro2utf8["DoubleDot"] = "&#168;";
+utf82macro["&#168;"] = "DoubleDot";
+macro2utf8["Tstrok"] = "&#358;";
+utf82macro["&#358;"] = "Tstrok";
+macro2utf8["nrarrw"] = "&#8605;&#824;";
+utf82macro["&#8605;&#824;"] = "nrarrw";
+macro2utf8["uArr"] = "&#8657;";
+utf82macro["&#8657;"] = "uArr";
+macro2utf8["nLtv"] = "&#8810;&#824;&#65024;";
+utf82macro["&#8810;&#824;&#65024;"] = "nLtv";
+macro2utf8["rangle"] = "&#9002;";
+utf82macro["&#9002;"] = "rangle";
+macro2utf8["olcir"] = "&#10686;";
+utf82macro["&#10686;"] = "olcir";
+macro2utf8["Auml"] = "&#196;";
+utf82macro["&#196;"] = "Auml";
+macro2utf8["Succeeds"] = "&#8827;";
+utf82macro["&#8827;"] = "Succeeds";
+macro2utf8["DoubleLongLeftRightArrow"] = "&#62843;";
+utf82macro["&#62843;"] = "DoubleLongLeftRightArrow";
+macro2utf8["TSHcy"] = "&#1035;";
+utf82macro["&#1035;"] = "TSHcy";
+macro2utf8["gammad"] = "&#988;";
+utf82macro["&#988;"] = "gammad";
+macro2utf8["epsiv"] = "&#603;";
+utf82macro["&#603;"] = "epsiv";
+macro2utf8["notinva"] = "&#8713;&#824;";
+utf82macro["&#8713;&#824;"] = "notinva";
+macro2utf8["notinvb"] = "&#8951;";
+utf82macro["&#8951;"] = "notinvb";
+macro2utf8["eqvparsl"] = "&#10725;";
+utf82macro["&#10725;"] = "eqvparsl";
+macro2utf8["notinvc"] = "&#8950;";
+utf82macro["&#8950;"] = "notinvc";
+macro2utf8["nsubE"] = "&#8840;";
+utf82macro["&#8840;"] = "nsubE";
+macro2utf8["supplus"] = "&#10944;";
+utf82macro["&#10944;"] = "supplus";
+macro2utf8["RightUpDownVector"] = "&#10575;";
+utf82macro["&#10575;"] = "RightUpDownVector";
+macro2utf8["Tab"] = "\t";
+utf82macro["\t"] = "Tab";
+macro2utf8["Lcedil"] = "&#315;";
+utf82macro["&#315;"] = "Lcedil";
+macro2utf8["backslash"] = "\\";
+utf82macro["\\"] = "backslash";
+macro2utf8["pointint"] = "&#10773;";
+utf82macro["&#10773;"] = "pointint";
+macro2utf8["jcy"] = "&#1081;";
+utf82macro["&#1081;"] = "jcy";
+macro2utf8["iocy"] = "&#1105;";
+utf82macro["&#1105;"] = "iocy";
+macro2utf8["escr"] = "&#8495;";
+utf82macro["&#8495;"] = "escr";
+macro2utf8["submult"] = "&#10945;";
+utf82macro["&#10945;"] = "submult";
+macro2utf8["iiota"] = "&#8489;";
+utf82macro["&#8489;"] = "iiota";
+macro2utf8["lceil"] = "&#8968;";
+utf82macro["&#8968;"] = "lceil";
+macro2utf8["omacr"] = "&#333;";
+utf82macro["&#333;"] = "omacr";
+macro2utf8["gneqq"] = "&#8809;";
+utf82macro["&#8809;"] = "gneqq";
+macro2utf8["gcirc"] = "&#285;";
+utf82macro["&#285;"] = "gcirc";
+macro2utf8["dotsquare"] = "&#8865;";
+utf82macro["&#8865;"] = "dotsquare";
+macro2utf8["ccaron"] = "&#269;";
+utf82macro["&#269;"] = "ccaron";
+macro2utf8["Square"] = "&#9633;";
+utf82macro["&#9633;"] = "Square";
+macro2utf8["RightDownTeeVector"] = "&#10589;";
+utf82macro["&#10589;"] = "RightDownTeeVector";
+macro2utf8["Ouml"] = "&#214;";
+utf82macro["&#214;"] = "Ouml";
+macro2utf8["lurdshar"] = "&#10570;";
+utf82macro["&#10570;"] = "lurdshar";
+macro2utf8["SuchThat"] = "&#8715;";
+utf82macro["&#8715;"] = "SuchThat";
+macro2utf8["setminus"] = "&#8726;";
+utf82macro["&#8726;"] = "setminus";
+macro2utf8["lscr"] = "&#8467;";
+utf82macro["&#8467;"] = "lscr";
+macro2utf8["LessLess"] = "&#10913;";
+utf82macro["&#10913;"] = "LessLess";
+macro2utf8["Sub"] = "&#8912;";
+utf82macro["&#8912;"] = "Sub";
+macro2utf8["sc"] = "&#8827;";
+utf82macro["&#8827;"] = "sc";
+macro2utf8["rx"] = "&#8478;";
+utf82macro["&#8478;"] = "rx";
+macro2utf8["RightFloor"] = "&#8971;";
+utf82macro["&#8971;"] = "RightFloor";
+macro2utf8["blacksquare"] = "&#9642;";
+utf82macro["&#9642;"] = "blacksquare";
+macro2utf8["ufr"] = "&#120114;";
+utf82macro["&#120114;"] = "ufr";
+macro2utf8["block"] = "&#9608;";
+utf82macro["&#9608;"] = "block";
+macro2utf8["dots"] = "&#8230;";
+utf82macro["&#8230;"] = "dots";
+macro2utf8["nvsim"] = "&#8769;&#824;";
+utf82macro["&#8769;&#824;"] = "nvsim";
+macro2utf8["caret"] = "&#8257;";
+utf82macro["&#8257;"] = "caret";
+macro2utf8["demptyv"] = "&#10673;";
+utf82macro["&#10673;"] = "demptyv";
+macro2utf8["Sum"] = "&#8721;";
+utf82macro["&#8721;"] = "Sum";
+macro2utf8["sscr"] = "&#120008;";
+utf82macro["&#120008;"] = "sscr";
+macro2utf8["nsube"] = "&#8840;";
+utf82macro["&#8840;"] = "nsube";
+macro2utf8["Sup"] = "&#8913;";
+utf82macro["&#8913;"] = "Sup";
+macro2utf8["ccupssm"] = "&#10832;";
+utf82macro["&#10832;"] = "ccupssm";
+macro2utf8["Because"] = "&#8757;";
+utf82macro["&#8757;"] = "Because";
+macro2utf8["harrcir"] = "&#10568;";
+utf82macro["&#10568;"] = "harrcir";
+macro2utf8["capbrcup"] = "&#10825;";
+utf82macro["&#10825;"] = "capbrcup";
+macro2utf8["RightUpVectorBar"] = "&#10580;";
+utf82macro["&#10580;"] = "RightUpVectorBar";
+macro2utf8["caps"] = "&#8745;&#65024;";
+utf82macro["&#8745;&#65024;"] = "caps";
+macro2utf8["ohbar"] = "&#10677;";
+utf82macro["&#10677;"] = "ohbar";
+macro2utf8["laemptyv"] = "&#10676;";
+utf82macro["&#10676;"] = "laemptyv";
+macro2utf8["uacute"] = "&#250;";
+utf82macro["&#250;"] = "uacute";
+macro2utf8["straightphi"] = "&#966;";
+utf82macro["&#966;"] = "straightphi";
+macro2utf8["RightDoubleBracket"] = "&#12315;";
+utf82macro["&#12315;"] = "RightDoubleBracket";
+macro2utf8["zscr"] = "&#120015;";
+utf82macro["&#120015;"] = "zscr";
+macro2utf8["uogon"] = "&#371;";
+utf82macro["&#371;"] = "uogon";
+macro2utf8["Uarr"] = "&#8607;";
+utf82macro["&#8607;"] = "Uarr";
+macro2utf8["nsucc"] = "&#8833;";
+utf82macro["&#8833;"] = "nsucc";
+macro2utf8["RBarr"] = "&#10512;";
+utf82macro["&#10512;"] = "RBarr";
+macro2utf8["NotRightTriangleBar"] = "&#10704;&#824;";
+utf82macro["&#10704;&#824;"] = "NotRightTriangleBar";
+macro2utf8["to"] = "&#8594;";
+utf82macro["&#8594;"] = "to";
+macro2utf8["rpar"] = ")";
+utf82macro[")"] = "rpar";
+macro2utf8["rdsh"] = "&#8627;";
+utf82macro["&#8627;"] = "rdsh";
+macro2utf8["jfr"] = "&#120103;";
+utf82macro["&#120103;"] = "jfr";
+macro2utf8["ldquor"] = "&#8222;";
+utf82macro["&#8222;"] = "ldquor";
+macro2utf8["bsime"] = "&#8909;";
+utf82macro["&#8909;"] = "bsime";
+macro2utf8["lAtail"] = "&#10523;";
+utf82macro["&#10523;"] = "lAtail";
+macro2utf8["Hcirc"] = "&#292;";
+utf82macro["&#292;"] = "Hcirc";
+macro2utf8["aacute"] = "&#225;";
+utf82macro["&#225;"] = "aacute";
+macro2utf8["dot"] = "&#729;";
+utf82macro["&#729;"] = "dot";
+macro2utf8["Tcy"] = "&#1058;";
+utf82macro["&#1058;"] = "Tcy";
+macro2utf8["nsub"] = "&#8836;";
+utf82macro["&#8836;"] = "nsub";
+macro2utf8["kappa"] = "&#954;";
+utf82macro["&#954;"] = "kappa";
+macro2utf8["ovbar"] = "&#9021;";
+utf82macro["&#9021;"] = "ovbar";
+macro2utf8["shcy"] = "&#1096;";
+utf82macro["&#1096;"] = "shcy";
+macro2utf8["kappav"] = "&#1008;";
+utf82macro["&#1008;"] = "kappav";
+macro2utf8["ropar"] = "&#12313;";
+utf82macro["&#12313;"] = "ropar";
+macro2utf8["gtcc"] = "&#10919;";
+utf82macro["&#10919;"] = "gtcc";
+macro2utf8["ecolon"] = "&#8789;";
+utf82macro["&#8789;"] = "ecolon";
+macro2utf8["circledast"] = "&#8859;";
+utf82macro["&#8859;"] = "circledast";
+macro2utf8["colon"] = ":";
+utf82macro[":"] = "colon";
+macro2utf8["timesbar"] = "&#10801;";
+utf82macro["&#10801;"] = "timesbar";
+macro2utf8["precnsim"] = "&#8936;";
+utf82macro["&#8936;"] = "precnsim";
+macro2utf8["ord"] = "&#10845;";
+utf82macro["&#10845;"] = "ord";
+macro2utf8["real"] = "&#8476;";
+utf82macro["&#8476;"] = "real";
+macro2utf8["nexists"] = "&#8708;";
+utf82macro["&#8708;"] = "nexists";
+macro2utf8["nsup"] = "&#8837;";
+utf82macro["&#8837;"] = "nsup";
+macro2utf8["zhcy"] = "&#1078;";
+utf82macro["&#1078;"] = "zhcy";
+macro2utf8["imacr"] = "&#299;";
+utf82macro["&#299;"] = "imacr";
+macro2utf8["egrave"] = "&#232;";
+utf82macro["&#232;"] = "egrave";
+macro2utf8["acirc"] = "&#226;";
+utf82macro["&#226;"] = "acirc";
+macro2utf8["grave"] = "`";
+utf82macro["`"] = "grave";
+macro2utf8["biguplus"] = "&#8846;";
+utf82macro["&#8846;"] = "biguplus";
+macro2utf8["HumpEqual"] = "&#8783;";
+utf82macro["&#8783;"] = "HumpEqual";
+macro2utf8["GreaterSlantEqual"] = "&#10878;";
+utf82macro["&#10878;"] = "GreaterSlantEqual";
+macro2utf8["capand"] = "&#10820;";
+utf82macro["&#10820;"] = "capand";
+macro2utf8["yuml"] = "&#255;";
+utf82macro["&#255;"] = "yuml";
+macro2utf8["orv"] = "&#10843;";
+utf82macro["&#10843;"] = "orv";
+macro2utf8["Icy"] = "&#1048;";
+utf82macro["&#1048;"] = "Icy";
+macro2utf8["rightharpoondown"] = "&#8641;";
+utf82macro["&#8641;"] = "rightharpoondown";
+macro2utf8["upsilon"] = "&#965;";
+utf82macro["&#965;"] = "upsilon";
+macro2utf8["preccurlyeq"] = "&#8828;";
+utf82macro["&#8828;"] = "preccurlyeq";
+macro2utf8["ShortUpArrow"] = "&#8963;&#65024;";
+utf82macro["&#8963;&#65024;"] = "ShortUpArrow";
+macro2utf8["searhk"] = "&#10533;";
+utf82macro["&#10533;"] = "searhk";
+macro2utf8["commat"] = "@";
+utf82macro["@"] = "commat";
+macro2utf8["Sqrt"] = "&#8730;";
+utf82macro["&#8730;"] = "Sqrt";
+macro2utf8["wp"] = "&#8472;";
+utf82macro["&#8472;"] = "wp";
+macro2utf8["succnapprox"] = "&#8937;";
+utf82macro["&#8937;"] = "succnapprox";
+macro2utf8["wr"] = "&#8768;";
+utf82macro["&#8768;"] = "wr";
+macro2utf8["NotTildeTilde"] = "&#8777;";
+utf82macro["&#8777;"] = "NotTildeTilde";
+macro2utf8["dcaron"] = "&#271;";
+utf82macro["&#271;"] = "dcaron";
+macro2utf8["Tfr"] = "&#120087;";
+utf82macro["&#120087;"] = "Tfr";
+macro2utf8["bigwedge"] = "&#8896;";
+utf82macro["&#8896;"] = "bigwedge";
+macro2utf8["DScy"] = "&#1029;";
+utf82macro["&#1029;"] = "DScy";
+macro2utf8["nrtrie"] = "&#8941;";
+utf82macro["&#8941;"] = "nrtrie";
+macro2utf8["esim"] = "&#8770;";
+utf82macro["&#8770;"] = "esim";
+macro2utf8["Not"] = "&#10988;";
+utf82macro["&#10988;"] = "Not";
+macro2utf8["xmap"] = "&#62845;";
+utf82macro["&#62845;"] = "xmap";
+macro2utf8["rect"] = "&#9645;";
+utf82macro["&#9645;"] = "rect";
+macro2utf8["Fouriertrf"] = "&#8497;";
+utf82macro["&#8497;"] = "Fouriertrf";
+macro2utf8["xi"] = "&#958;";
+utf82macro["&#958;"] = "xi";
+macro2utf8["NotTilde"] = "&#8769;";
+utf82macro["&#8769;"] = "NotTilde";
+macro2utf8["gbreve"] = "&#287;";
+utf82macro["&#287;"] = "gbreve";
+macro2utf8["par"] = "&#8741;";
+utf82macro["&#8741;"] = "par";
+macro2utf8["ddots"] = "&#8945;";
+utf82macro["&#8945;"] = "ddots";
+macro2utf8["nhArr"] = "&#8654;";
+utf82macro["&#8654;"] = "nhArr";
+macro2utf8["lsim"] = "&#8818;";
+utf82macro["&#8818;"] = "lsim";
+macro2utf8["RightCeiling"] = "&#8969;";
+utf82macro["&#8969;"] = "RightCeiling";
+macro2utf8["nedot"] = "&#8800;&#65024;";
+utf82macro["&#8800;&#65024;"] = "nedot";
+macro2utf8["thksim"] = "&#8764;&#65024;";
+utf82macro["&#8764;&#65024;"] = "thksim";
+macro2utf8["lEg"] = "&#8922;";
+utf82macro["&#8922;"] = "lEg";
+macro2utf8["Ifr"] = "&#8465;";
+utf82macro["&#8465;"] = "Ifr";
+macro2utf8["emsp"] = "&#8195;";
+utf82macro["&#8195;"] = "emsp";
+macro2utf8["lopar"] = "&#12312;";
+utf82macro["&#12312;"] = "lopar";
+macro2utf8["iiiint"] = "&#10764;";
+utf82macro["&#10764;"] = "iiiint";
+macro2utf8["straightepsilon"] = "&#949;";
+utf82macro["&#949;"] = "straightepsilon";
+macro2utf8["intlarhk"] = "&#10775;";
+utf82macro["&#10775;"] = "intlarhk";
+macro2utf8["image"] = "&#8465;";
+utf82macro["&#8465;"] = "image";
+macro2utf8["sqsubseteq"] = "&#8849;";
+utf82macro["&#8849;"] = "sqsubseteq";
+macro2utf8["lnapprox"] = "&#10889;";
+utf82macro["&#10889;"] = "lnapprox";
+macro2utf8["Leftrightarrow"] = "&#8660;";
+utf82macro["&#8660;"] = "Leftrightarrow";
+macro2utf8["cemptyv"] = "&#10674;";
+utf82macro["&#10674;"] = "cemptyv";
+macro2utf8["alpha"] = "&#945;";
+utf82macro["&#945;"] = "alpha";
+macro2utf8["uml"] = "&#168;";
+utf82macro["&#168;"] = "uml";
+macro2utf8["barwedge"] = "&#8892;";
+utf82macro["&#8892;"] = "barwedge";
+macro2utf8["KHcy"] = "&#1061;";
+utf82macro["&#1061;"] = "KHcy";
+macro2utf8["tilde"] = "&#732;";
+utf82macro["&#732;"] = "tilde";
+macro2utf8["Superset"] = "&#8835;";
+utf82macro["&#8835;"] = "Superset";
+macro2utf8["gesles"] = "&#10900;";
+utf82macro["&#10900;"] = "gesles";
+macro2utf8["bigoplus"] = "&#8853;";
+utf82macro["&#8853;"] = "bigoplus";
+macro2utf8["boxuL"] = "&#9563;";
+utf82macro["&#9563;"] = "boxuL";
+macro2utf8["rbbrk"] = "&#12309;";
+utf82macro["&#12309;"] = "rbbrk";
+macro2utf8["nrightarrow"] = "&#8603;";
+utf82macro["&#8603;"] = "nrightarrow";
+macro2utf8["hkswarow"] = "&#10534;";
+utf82macro["&#10534;"] = "hkswarow";
+macro2utf8["DiacriticalDoubleAcute"] = "&#733;";
+utf82macro["&#733;"] = "DiacriticalDoubleAcute";
+macro2utf8["nbumpe"] = "&#8783;&#824;";
+utf82macro["&#8783;&#824;"] = "nbumpe";
+macro2utf8["uhblk"] = "&#9600;";
+utf82macro["&#9600;"] = "uhblk";
+macro2utf8["NotSupersetEqual"] = "&#8841;";
+utf82macro["&#8841;"] = "NotSupersetEqual";
+macro2utf8["ntgl"] = "&#8825;";
+utf82macro["&#8825;"] = "ntgl";
+macro2utf8["Fopf"] = "&#120125;";
+utf82macro["&#120125;"] = "Fopf";
+macro2utf8["boxuR"] = "&#9560;";
+utf82macro["&#9560;"] = "boxuR";
+macro2utf8["swarr"] = "&#8601;";
+utf82macro["&#8601;"] = "swarr";
+macro2utf8["nsqsube"] = "&#8930;";
+utf82macro["&#8930;"] = "nsqsube";
+macro2utf8["pluscir"] = "&#10786;";
+utf82macro["&#10786;"] = "pluscir";
+macro2utf8["pcy"] = "&#1087;";
+utf82macro["&#1087;"] = "pcy";
+macro2utf8["leqslant"] = "&#10877;";
+utf82macro["&#10877;"] = "leqslant";
+macro2utf8["lnap"] = "&#10889;";
+utf82macro["&#10889;"] = "lnap";
+macro2utf8["lthree"] = "&#8907;";
+utf82macro["&#8907;"] = "lthree";
+macro2utf8["smte"] = "&#10924;";
+utf82macro["&#10924;"] = "smte";
+macro2utf8["olcross"] = "&#10683;";
+utf82macro["&#10683;"] = "olcross";
+macro2utf8["nvrArr"] = "&#8655;";
+utf82macro["&#8655;"] = "nvrArr";
+macro2utf8["andslope"] = "&#10840;";
+utf82macro["&#10840;"] = "andslope";
+macro2utf8["MediumSpace"] = "&#8287;";
+utf82macro["&#8287;"] = "MediumSpace";
+macro2utf8["boxvH"] = "&#9578;";
+utf82macro["&#9578;"] = "boxvH";
+macro2utf8["Nacute"] = "&#323;";
+utf82macro["&#323;"] = "Nacute";
+macro2utf8["nGtv"] = "&#8811;&#824;&#65024;";
+utf82macro["&#8811;&#824;&#65024;"] = "nGtv";
+macro2utf8["Mopf"] = "&#120132;";
+utf82macro["&#120132;"] = "Mopf";
+macro2utf8["dfisht"] = "&#10623;";
+utf82macro["&#10623;"] = "dfisht";
+macro2utf8["boxvL"] = "&#9569;";
+utf82macro["&#9569;"] = "boxvL";
+macro2utf8["pertenk"] = "&#8241;";
+utf82macro["&#8241;"] = "pertenk";
+macro2utf8["NotPrecedes"] = "&#8832;";
+utf82macro["&#8832;"] = "NotPrecedes";
+macro2utf8["profalar"] = "&#9006;";
+utf82macro["&#9006;"] = "profalar";
+macro2utf8["roplus"] = "&#10798;";
+utf82macro["&#10798;"] = "roplus";
+macro2utf8["boxvR"] = "&#9566;";
+utf82macro["&#9566;"] = "boxvR";
+macro2utf8["utrif"] = "&#9652;";
+utf82macro["&#9652;"] = "utrif";
+macro2utf8["uHar"] = "&#10595;";
+utf82macro["&#10595;"] = "uHar";
+macro2utf8["nltrie"] = "&#8940;";
+utf82macro["&#8940;"] = "nltrie";
+macro2utf8["NotNestedGreaterGreater"] = "&#9378;&#824;";
+utf82macro["&#9378;&#824;"] = "NotNestedGreaterGreater";
+macro2utf8["smtes"] = "&#10924;&#65024;";
+utf82macro["&#10924;&#65024;"] = "smtes";
+macro2utf8["LeftAngleBracket"] = "&#9001;";
+utf82macro["&#9001;"] = "LeftAngleBracket";
+macro2utf8["iogon"] = "&#303;";
+utf82macro["&#303;"] = "iogon";
+macro2utf8["ExponentialE"] = "&#8519;";
+utf82macro["&#8519;"] = "ExponentialE";
+macro2utf8["Topf"] = "&#120139;";
+utf82macro["&#120139;"] = "Topf";
+macro2utf8["GreaterEqual"] = "&#8805;";
+utf82macro["&#8805;"] = "GreaterEqual";
+macro2utf8["DownTee"] = "&#8868;";
+utf82macro["&#8868;"] = "DownTee";
+macro2utf8["boxul"] = "&#9496;";
+utf82macro["&#9496;"] = "boxul";
+macro2utf8["wreath"] = "&#8768;";
+utf82macro["&#8768;"] = "wreath";
+macro2utf8["sigma"] = "&#963;";
+utf82macro["&#963;"] = "sigma";
+macro2utf8["ENG"] = "&#330;";
+utf82macro["&#330;"] = "ENG";
+macro2utf8["Ncedil"] = "&#325;";
+utf82macro["&#325;"] = "Ncedil";
+macro2utf8["ecy"] = "&#1101;";
+utf82macro["&#1101;"] = "ecy";
+macro2utf8["nsubset"] = "&#8836;";
+utf82macro["&#8836;"] = "nsubset";
+macro2utf8["LessFullEqual"] = "&#8806;";
+utf82macro["&#8806;"] = "LessFullEqual";
+macro2utf8["bsolb"] = "&#10693;";
+utf82macro["&#10693;"] = "bsolb";
+macro2utf8["boxur"] = "&#9492;";
+utf82macro["&#9492;"] = "boxur";
+macro2utf8["ThinSpace"] = "&#8201;";
+utf82macro["&#8201;"] = "ThinSpace";
+macro2utf8["supdsub"] = "&#10968;";
+utf82macro["&#10968;"] = "supdsub";
+macro2utf8["colone"] = "&#8788;";
+utf82macro["&#8788;"] = "colone";
+macro2utf8["curren"] = "&#164;";
+utf82macro["&#164;"] = "curren";
+macro2utf8["boxvh"] = "&#9532;";
+utf82macro["&#9532;"] = "boxvh";
+macro2utf8["ecaron"] = "&#283;";
+utf82macro["&#283;"] = "ecaron";
+macro2utf8["UnderBrace"] = "&#65080;";
+utf82macro["&#65080;"] = "UnderBrace";
+macro2utf8["caron"] = "&#711;";
+utf82macro["&#711;"] = "caron";
+macro2utf8["ultri"] = "&#9720;";
+utf82macro["&#9720;"] = "ultri";
+macro2utf8["boxvl"] = "&#9508;";
+utf82macro["&#9508;"] = "boxvl";
+macro2utf8["scap"] = "&#8831;";
+utf82macro["&#8831;"] = "scap";
+macro2utf8["boxvr"] = "&#9500;";
+utf82macro["&#9500;"] = "boxvr";
+macro2utf8["bopf"] = "&#120147;";
+utf82macro["&#120147;"] = "bopf";
+macro2utf8["pfr"] = "&#120109;";
+utf82macro["&#120109;"] = "pfr";
+macro2utf8["nspar"] = "&#8742;&#65024;";
+utf82macro["&#8742;&#65024;"] = "nspar";
+macro2utf8["NegativeMediumSpace"] = "&#8287;&#65024;";
+utf82macro["&#8287;&#65024;"] = "NegativeMediumSpace";
+macro2utf8["simgE"] = "&#10912;";
+utf82macro["&#10912;"] = "simgE";
+macro2utf8["nvDash"] = "&#8877;";
+utf82macro["&#8877;"] = "nvDash";
+macro2utf8["NotGreaterFullEqual"] = "&#8816;";
+utf82macro["&#8816;"] = "NotGreaterFullEqual";
+macro2utf8["uparrow"] = "&#8593;";
+utf82macro["&#8593;"] = "uparrow";
+macro2utf8["nsupset"] = "&#8837;";
+utf82macro["&#8837;"] = "nsupset";
+macro2utf8["simeq"] = "&#8771;";
+utf82macro["&#8771;"] = "simeq";
+macro2utf8["Zcy"] = "&#1047;";
+utf82macro["&#1047;"] = "Zcy";
+macro2utf8["RightTriangle"] = "&#8883;";
+utf82macro["&#8883;"] = "RightTriangle";
+macro2utf8["Lang"] = "&#12298;";
+utf82macro["&#12298;"] = "Lang";
+macro2utf8["Ucirc"] = "&#219;";
+utf82macro["&#219;"] = "Ucirc";
+macro2utf8["iopf"] = "&#120154;";
+utf82macro["&#120154;"] = "iopf";
+macro2utf8["leftrightsquigarrow"] = "&#8621;";
+utf82macro["&#8621;"] = "leftrightsquigarrow";
+macro2utf8["Gscr"] = "&#119970;";
+utf82macro["&#119970;"] = "Gscr";
+macro2utf8["lfloor"] = "&#8970;";
+utf82macro["&#8970;"] = "lfloor";
+macro2utf8["lbbrk"] = "&#12308;";
+utf82macro["&#12308;"] = "lbbrk";
+macro2utf8["bigvee"] = "&#8897;";
+utf82macro["&#8897;"] = "bigvee";
+macro2utf8["ordf"] = "&#170;";
+utf82macro["&#170;"] = "ordf";
+macro2utf8["rsquo"] = "&#8217;";
+utf82macro["&#8217;"] = "rsquo";
+macro2utf8["parallel"] = "&#8741;";
+utf82macro["&#8741;"] = "parallel";
+macro2utf8["half"] = "&#189;";
+utf82macro["&#189;"] = "half";
+macro2utf8["supseteq"] = "&#8839;";
+utf82macro["&#8839;"] = "supseteq";
+macro2utf8["ngeqq"] = "&#8817;";
+utf82macro["&#8817;"] = "ngeqq";
+macro2utf8["popf"] = "&#120161;";
+utf82macro["&#120161;"] = "popf";
+macro2utf8["NonBreakingSpace"] = "&#160;";
+utf82macro["&#160;"] = "NonBreakingSpace";
+macro2utf8["softcy"] = "&#1100;";
+utf82macro["&#1100;"] = "softcy";
+macro2utf8["ordm"] = "&#186;";
+utf82macro["&#186;"] = "ordm";
+macro2utf8["Nscr"] = "&#119977;";
+utf82macro["&#119977;"] = "Nscr";
+macro2utf8["owns"] = "&#8715;";
+utf82macro["&#8715;"] = "owns";
+macro2utf8["phi"] = "&#981;";
+utf82macro["&#981;"] = "phi";
+macro2utf8["efr"] = "&#120098;";
+utf82macro["&#120098;"] = "efr";
+macro2utf8["nesear"] = "&#10536;";
+utf82macro["&#10536;"] = "nesear";
+macro2utf8["marker"] = "&#9646;";
+utf82macro["&#9646;"] = "marker";
+macro2utf8["lneq"] = "&#8808;";
+utf82macro["&#8808;"] = "lneq";
+macro2utf8["parallet"] = "????";
+utf82macro["????"] = "parallet";
+macro2utf8["ndash"] = "&#8211;";
+utf82macro["&#8211;"] = "ndash";
+macro2utf8["DoubleLeftTee"] = "&#10980;";
+utf82macro["&#10980;"] = "DoubleLeftTee";
+macro2utf8["lArr"] = "&#8656;";
+utf82macro["&#8656;"] = "lArr";
+macro2utf8["becaus"] = "&#8757;";
+utf82macro["&#8757;"] = "becaus";
+macro2utf8["RightTee"] = "&#8866;";
+utf82macro["&#8866;"] = "RightTee";
+macro2utf8["Ocy"] = "&#1054;";
+utf82macro["&#1054;"] = "Ocy";
+macro2utf8["ntlg"] = "&#8824;";
+utf82macro["&#8824;"] = "ntlg";
+macro2utf8["cacute"] = "&#263;";
+utf82macro["&#263;"] = "cacute";
+macro2utf8["wopf"] = "&#120168;";
+utf82macro["&#120168;"] = "wopf";
+macro2utf8["Cup"] = "&#8915;";
+utf82macro["&#8915;"] = "Cup";
+macro2utf8["Uscr"] = "&#119984;";
+utf82macro["&#119984;"] = "Uscr";
+macro2utf8["NotHumpEqual"] = "&#8783;&#824;";
+utf82macro["&#8783;&#824;"] = "NotHumpEqual";
+macro2utf8["rnmid"] = "&#10990;";
+utf82macro["&#10990;"] = "rnmid";
+macro2utf8["nsupE"] = "&#8841;";
+utf82macro["&#8841;"] = "nsupE";
+macro2utf8["bemptyv"] = "&#10672;";
+utf82macro["&#10672;"] = "bemptyv";
+macro2utf8["lsqb"] = "[";
+utf82macro["["] = "lsqb";
+macro2utf8["nrarr"] = "&#8603;";
+utf82macro["&#8603;"] = "nrarr";
+macro2utf8["egs"] = "&#8925;";
+utf82macro["&#8925;"] = "egs";
+macro2utf8["reals"] = "&#8477;";
+utf82macro["&#8477;"] = "reals";
+macro2utf8["CupCap"] = "&#8781;";
+utf82macro["&#8781;"] = "CupCap";
+macro2utf8["Oacute"] = "&#211;";
+utf82macro["&#211;"] = "Oacute";
+macro2utf8["Zfr"] = "&#8488;";
+utf82macro["&#8488;"] = "Zfr";
+macro2utf8["ReverseEquilibrium"] = "&#8651;";
+utf82macro["&#8651;"] = "ReverseEquilibrium";
+macro2utf8["ccedil"] = "&#231;";
+utf82macro["&#231;"] = "ccedil";
+macro2utf8["bigtriangleup"] = "&#9651;";
+utf82macro["&#9651;"] = "bigtriangleup";
+macro2utf8["piv"] = "&#982;";
+utf82macro["&#982;"] = "piv";
+macro2utf8["cirscir"] = "&#10690;";
+utf82macro["&#10690;"] = "cirscir";
+macro2utf8["exists"] = "&#8707;";
+utf82macro["&#8707;"] = "exists";
+macro2utf8["Uarrocir"] = "&#10569;";
+utf82macro["&#10569;"] = "Uarrocir";
+macro2utf8["Dcy"] = "&#1044;";
+utf82macro["&#1044;"] = "Dcy";
+macro2utf8["cscr"] = "&#119992;";
+utf82macro["&#119992;"] = "cscr";
+macro2utf8["zcaron"] = "&#382;";
+utf82macro["&#382;"] = "zcaron";
+macro2utf8["isinE"] = "&#8953;";
+utf82macro["&#8953;"] = "isinE";
+macro2utf8["gtcir"] = "&#10874;";
+utf82macro["&#10874;"] = "gtcir";
+macro2utf8["hookrightarrow"] = "&#8618;";
+utf82macro["&#8618;"] = "hookrightarrow";
+macro2utf8["Int"] = "&#8748;";
+utf82macro["&#8748;"] = "Int";
+macro2utf8["nsupe"] = "&#8841;";
+utf82macro["&#8841;"] = "nsupe";
+macro2utf8["dotplus"] = "&#8724;";
+utf82macro["&#8724;"] = "dotplus";
+macro2utf8["ncup"] = "&#10818;";
+utf82macro["&#10818;"] = "ncup";
+macro2utf8["jscr"] = "&#119999;";
+utf82macro["&#119999;"] = "jscr";
+macro2utf8["angmsdaa"] = "&#10664;";
+utf82macro["&#10664;"] = "angmsdaa";
+macro2utf8["Iukcy"] = "&#1030;";
+utf82macro["&#1030;"] = "Iukcy";
+macro2utf8["flat"] = "&#9837;";
+utf82macro["&#9837;"] = "flat";
+macro2utf8["bNot"] = "&#10989;";
+utf82macro["&#10989;"] = "bNot";
+macro2utf8["angmsdab"] = "&#10665;";
+utf82macro["&#10665;"] = "angmsdab";
+macro2utf8["angmsdac"] = "&#10666;";
+utf82macro["&#10666;"] = "angmsdac";
+macro2utf8["xdtri"] = "&#9661;";
+utf82macro["&#9661;"] = "xdtri";
+macro2utf8["iota"] = "&#953;";
+utf82macro["&#953;"] = "iota";
+macro2utf8["angmsdad"] = "&#10667;";
+utf82macro["&#10667;"] = "angmsdad";
+macro2utf8["angmsdae"] = "&#10668;";
+utf82macro["&#10668;"] = "angmsdae";
+macro2utf8["rightarrowtail"] = "&#8611;";
+utf82macro["&#8611;"] = "rightarrowtail";
+macro2utf8["angmsdaf"] = "&#10669;";
+utf82macro["&#10669;"] = "angmsdaf";
+macro2utf8["Ocirc"] = "&#212;";
+utf82macro["&#212;"] = "Ocirc";
+macro2utf8["angmsdag"] = "&#10670;";
+utf82macro["&#10670;"] = "angmsdag";
+macro2utf8["Ofr"] = "&#120082;";
+utf82macro["&#120082;"] = "Ofr";
+macro2utf8["maltese"] = "&#10016;";
+utf82macro["&#10016;"] = "maltese";
+macro2utf8["angmsdah"] = "&#10671;";
+utf82macro["&#10671;"] = "angmsdah";
+macro2utf8["Del"] = "&#8711;";
+utf82macro["&#8711;"] = "Del";
+macro2utf8["Barwed"] = "&#8966;";
+utf82macro["&#8966;"] = "Barwed";
+macro2utf8["drbkarow"] = "&#10512;";
+utf82macro["&#10512;"] = "drbkarow";
+macro2utf8["qscr"] = "&#120006;";
+utf82macro["&#120006;"] = "qscr";
+macro2utf8["ETH"] = "&#208;";
+utf82macro["&#208;"] = "ETH";
+macro2utf8["operp"] = "&#10681;";
+utf82macro["&#10681;"] = "operp";
+macro2utf8["daleth"] = "&#8504;";
+utf82macro["&#8504;"] = "daleth";
+macro2utf8["bull"] = "&#8226;";
+utf82macro["&#8226;"] = "bull";
+macro2utf8["simlE"] = "&#10911;";
+utf82macro["&#10911;"] = "simlE";
+macro2utf8["lsquo"] = "&#8216;";
+utf82macro["&#8216;"] = "lsquo";
+macro2utf8["Larr"] = "&#8606;";
+utf82macro["&#8606;"] = "Larr";
+macro2utf8["curarr"] = "&#8631;";
+utf82macro["&#8631;"] = "curarr";
+macro2utf8["blacktriangleleft"] = "&#9666;";
+utf82macro["&#9666;"] = "blacktriangleleft";
+macro2utf8["hellip"] = "&#8230;";
+utf82macro["&#8230;"] = "hellip";
+macro2utf8["DoubleVerticalBar"] = "&#8741;";
+utf82macro["&#8741;"] = "DoubleVerticalBar";
+macro2utf8["rBarr"] = "&#10511;";
+utf82macro["&#10511;"] = "rBarr";
+macro2utf8["chcy"] = "&#1095;";
+utf82macro["&#1095;"] = "chcy";
+macro2utf8["varpi"] = "&#982;";
+utf82macro["&#982;"] = "varpi";
+macro2utf8["Cconint"] = "&#8752;";
+utf82macro["&#8752;"] = "Cconint";
+macro2utf8["xlarr"] = "&#62838;";
+utf82macro["&#62838;"] = "xlarr";
+macro2utf8["xscr"] = "&#120013;";
+utf82macro["&#120013;"] = "xscr";
+macro2utf8["DoubleLongRightArrow"] = "&#62842;";
+utf82macro["&#62842;"] = "DoubleLongRightArrow";
+macro2utf8["CounterClockwiseContourIntegral"] = "&#8755;";
+utf82macro["&#8755;"] = "CounterClockwiseContourIntegral";
+macro2utf8["urcrop"] = "&#8974;";
+utf82macro["&#8974;"] = "urcrop";
+macro2utf8["RightAngleBracket"] = "&#9002;";
+utf82macro["&#9002;"] = "RightAngleBracket";
+macro2utf8["Rcaron"] = "&#344;";
+utf82macro["&#344;"] = "Rcaron";
+macro2utf8["latail"] = "&#10521;";
+utf82macro["&#10521;"] = "latail";
+macro2utf8["pitchfork"] = "&#8916;";
+utf82macro["&#8916;"] = "pitchfork";
+macro2utf8["nvinfin"] = "&#10718;";
+utf82macro["&#10718;"] = "nvinfin";
+macro2utf8["hcirc"] = "&#293;";
+utf82macro["&#293;"] = "hcirc";
+macro2utf8["nexist"] = "&#8708;";
+utf82macro["&#8708;"] = "nexist";
+macro2utf8["checkmark"] = "&#10003;";
+utf82macro["&#10003;"] = "checkmark";
+macro2utf8["tridot"] = "&#9708;";
+utf82macro["&#9708;"] = "tridot";
+macro2utf8["vcy"] = "&#1074;";
+utf82macro["&#1074;"] = "vcy";
+macro2utf8["isins"] = "&#8948;";
+utf82macro["&#8948;"] = "isins";
+macro2utf8["fllig"] = "&#64258;";
+utf82macro["&#64258;"] = "fllig";
+macro2utf8["Dfr"] = "&#120071;";
+utf82macro["&#120071;"] = "Dfr";
+macro2utf8["hercon"] = "&#8889;";
+utf82macro["&#8889;"] = "hercon";
+macro2utf8["gEl"] = "&#8923;";
+utf82macro["&#8923;"] = "gEl";
+macro2utf8["bump"] = "&#8782;";
+utf82macro["&#8782;"] = "bump";
+macro2utf8["aleph"] = "&#8501;";
+utf82macro["&#8501;"] = "aleph";
+macro2utf8["Ubreve"] = "&#364;";
+utf82macro["&#364;"] = "Ubreve";
+macro2utf8["isinv"] = "&#8712;";
+utf82macro["&#8712;"] = "isinv";
+macro2utf8["smile"] = "&#8995;";
+utf82macro["&#8995;"] = "smile";
+macro2utf8["llcorner"] = "&#8990;";
+utf82macro["&#8990;"] = "llcorner";
+macro2utf8["boxH"] = "&#9552;";
+utf82macro["&#9552;"] = "boxH";
+macro2utf8["ecir"] = "&#8790;";
+utf82macro["&#8790;"] = "ecir";
+macro2utf8["varnothing"] = "&#8709;";
+utf82macro["&#8709;"] = "varnothing";
+macro2utf8["iuml"] = "&#239;";
+utf82macro["&#239;"] = "iuml";
+macro2utf8["mlcp"] = "&#10971;";
+utf82macro["&#10971;"] = "mlcp";
+macro2utf8["leftrightharpoons"] = "&#8651;";
+utf82macro["&#8651;"] = "leftrightharpoons";
+macro2utf8["ncong"] = "&#8775;";
+utf82macro["&#8775;"] = "ncong";
+macro2utf8["Vert"] = "&#8214;";
+utf82macro["&#8214;"] = "Vert";
+macro2utf8["vee"] = "&#8744;";
+utf82macro["&#8744;"] = "vee";
+macro2utf8["star"] = "&#8902;";
+utf82macro["&#8902;"] = "star";
+macro2utf8["boxV"] = "&#9553;";
+utf82macro["&#9553;"] = "boxV";
+macro2utf8["LeftRightArrow"] = "&#8596;";
+utf82macro["&#8596;"] = "LeftRightArrow";
+macro2utf8["leftrightarrow"] = "&#8596;";
+utf82macro["&#8596;"] = "leftrightarrow";
+macro2utf8["lstrok"] = "&#322;";
+utf82macro["&#322;"] = "lstrok";
+macro2utf8["ell"] = "&#8467;";
+utf82macro["&#8467;"] = "ell";
+macro2utf8["VerticalSeparator"] = "&#10072;";
+utf82macro["&#10072;"] = "VerticalSeparator";
+macro2utf8["Ubrcy"] = "&#1038;";
+utf82macro["&#1038;"] = "Ubrcy";
+macro2utf8["NotGreater"] = "&#8815;";
+utf82macro["&#8815;"] = "NotGreater";
+macro2utf8["Abreve"] = "&#258;";
+utf82macro["&#258;"] = "Abreve";
+macro2utf8["TildeTilde"] = "&#8776;";
+utf82macro["&#8776;"] = "TildeTilde";
+macro2utf8["CircleTimes"] = "&#8855;";
+utf82macro["&#8855;"] = "CircleTimes";
+macro2utf8["subsetneq"] = "&#8842;";
+utf82macro["&#8842;"] = "subsetneq";
+macro2utf8["ltcc"] = "&#10918;";
+utf82macro["&#10918;"] = "ltcc";
+macro2utf8["els"] = "&#8924;";
+utf82macro["&#8924;"] = "els";
+macro2utf8["succneqq"] = "&#10934;";
+utf82macro["&#10934;"] = "succneqq";
+macro2utf8["kcy"] = "&#1082;";
+utf82macro["&#1082;"] = "kcy";
+macro2utf8["nshortmid"] = "&#8740;&#65024;";
+utf82macro["&#8740;&#65024;"] = "nshortmid";
+macro2utf8["mldr"] = "&#8230;";
+utf82macro["&#8230;"] = "mldr";
+macro2utf8["harr"] = "&#8596;";
+utf82macro["&#8596;"] = "harr";
+macro2utf8["gimel"] = "&#8503;";
+utf82macro["&#8503;"] = "gimel";
+macro2utf8["Otimes"] = "&#10807;";
+utf82macro["&#10807;"] = "Otimes";
+macro2utf8["vsubnE"] = "&#8842;&#65024;";
+utf82macro["&#8842;&#65024;"] = "vsubnE";
+macro2utf8["ltdot"] = "&#8918;";
+utf82macro["&#8918;"] = "ltdot";
+macro2utf8["boxh"] = "&#9472;";
+utf82macro["&#9472;"] = "boxh";
+macro2utf8["notin"] = "&#8713;";
+utf82macro["&#8713;"] = "notin";
+macro2utf8["RuleDelayed"] = "&#10740;";
+utf82macro["&#10740;"] = "RuleDelayed";
+macro2utf8["sqsube"] = "&#8849;";
+utf82macro["&#8849;"] = "sqsube";
+macro2utf8["macr"] = "&#175;";
+utf82macro["&#175;"] = "macr";
+macro2utf8["Icirc"] = "&#206;";
+utf82macro["&#206;"] = "Icirc";
+macro2utf8["comma"] = ",";
+utf82macro[","] = "comma";
+macro2utf8["Cayleys"] = "&#8493;";
+utf82macro["&#8493;"] = "Cayleys";
+macro2utf8["rightleftharpoons"] = "&#8652;";
+utf82macro["&#8652;"] = "rightleftharpoons";
+macro2utf8["Rarrtl"] = "&#10518;";
+utf82macro["&#10518;"] = "Rarrtl";
+macro2utf8["SquareSubsetEqual"] = "&#8849;";
+utf82macro["&#8849;"] = "SquareSubsetEqual";
+macro2utf8["NotGreaterEqual"] = "&#8817;&#8421;";
+utf82macro["&#8817;&#8421;"] = "NotGreaterEqual";
+macro2utf8["vfr"] = "&#120115;";
+utf82macro["&#120115;"] = "vfr";
+macro2utf8["utri"] = "&#9653;";
+utf82macro["&#9653;"] = "utri";
+macro2utf8["simne"] = "&#8774;";
+utf82macro["&#8774;"] = "simne";
+macro2utf8["LeftUpVectorBar"] = "&#10584;";
+utf82macro["&#10584;"] = "LeftUpVectorBar";
+macro2utf8["hksearow"] = "&#10533;";
+utf82macro["&#10533;"] = "hksearow";
+macro2utf8["boxv"] = "&#9474;";
+utf82macro["&#9474;"] = "boxv";
+macro2utf8["curvearrowleft"] = "&#8630;";
+utf82macro["&#8630;"] = "curvearrowleft";
+macro2utf8["eng"] = "&#331;";
+utf82macro["&#331;"] = "eng";
+macro2utf8["gtrarr"] = "&#10616;";
+utf82macro["&#10616;"] = "gtrarr";
+macro2utf8["iecy"] = "&#1077;";
+utf82macro["&#1077;"] = "iecy";
+macro2utf8["varr"] = "&#8597;";
+utf82macro["&#8597;"] = "varr";
+macro2utf8["lBarr"] = "&#10510;";
+utf82macro["&#10510;"] = "lBarr";
+macro2utf8["ker"] = "ker";
+utf82macro["ker"] = "ker";
+macro2utf8["imath"] = "&#305;";
+utf82macro["&#305;"] = "imath";
+macro2utf8["Dstrok"] = "&#272;";
+utf82macro["&#272;"] = "Dstrok";
+macro2utf8["rlarr"] = "&#8644;";
+utf82macro["&#8644;"] = "rlarr";
+macro2utf8["leftleftarrows"] = "&#8647;";
+utf82macro["&#8647;"] = "leftleftarrows";
+macro2utf8["DifferentialD"] = "&#8518;";
+utf82macro["&#8518;"] = "DifferentialD";
+macro2utf8["because"] = "&#8757;";
+utf82macro["&#8757;"] = "because";
+macro2utf8["ulcrop"] = "&#8975;";
+utf82macro["&#8975;"] = "ulcrop";
+macro2utf8["prE"] = "&#10927;";
+utf82macro["&#10927;"] = "prE";
+macro2utf8["oast"] = "&#8859;";
+utf82macro["&#8859;"] = "oast";
+macro2utf8["DotEqual"] = "&#8784;";
+utf82macro["&#8784;"] = "DotEqual";
+macro2utf8["vsubne"] = "&#8842;&#65024;";
+utf82macro["&#8842;&#65024;"] = "vsubne";
+macro2utf8["hbar"] = "&#8463;&#65024;";
+utf82macro["&#8463;&#65024;"] = "hbar";
+macro2utf8["subset"] = "&#8834;";
+utf82macro["&#8834;"] = "subset";
+macro2utf8["UpTeeArrow"] = "&#8613;";
+utf82macro["&#8613;"] = "UpTeeArrow";
+macro2utf8["LeftFloor"] = "&#8970;";
+utf82macro["&#8970;"] = "LeftFloor";
+macro2utf8["kfr"] = "&#120104;";
+utf82macro["&#120104;"] = "kfr";
+macro2utf8["nisd"] = "&#8954;";
+utf82macro["&#8954;"] = "nisd";
+macro2utf8["scnE"] = "&#10934;";
+utf82macro["&#10934;"] = "scnE";
+macro2utf8["Ucy"] = "&#1059;";
+utf82macro["&#1059;"] = "Ucy";
+macro2utf8["nprec"] = "&#8832;";
+utf82macro["&#8832;"] = "nprec";
+macro2utf8["ltrPar"] = "&#10646;";
+utf82macro["&#10646;"] = "ltrPar";
+macro2utf8["Scaron"] = "&#352;";
+utf82macro["&#352;"] = "Scaron";
+macro2utf8["InvisibleComma"] = "&#8203;";
+utf82macro["&#8203;"] = "InvisibleComma";
+macro2utf8["SquareUnion"] = "&#8852;";
+utf82macro["&#8852;"] = "SquareUnion";
+macro2utf8["ffllig"] = "&#64260;";
+utf82macro["&#64260;"] = "ffllig";
+macro2utf8["approxeq"] = "&#8778;";
+utf82macro["&#8778;"] = "approxeq";
+macro2utf8["yacute"] = "&#253;";
+utf82macro["&#253;"] = "yacute";
+macro2utf8["pre"] = "&#10927;";
+utf82macro["&#10927;"] = "pre";
+macro2utf8["nsqsupe"] = "&#8931;";
+utf82macro["&#8931;"] = "nsqsupe";
+macro2utf8["supset"] = "&#8835;";
+utf82macro["&#8835;"] = "supset";
+macro2utf8["bsolhsub"] = "\\&#8834;";
+utf82macro["\\&#8834;"] = "bsolhsub";
+macro2utf8["nshortparallel"] = "&#8742;&#65024;";
+utf82macro["&#8742;&#65024;"] = "nshortparallel";
+macro2utf8["lozenge"] = "&#9674;";
+utf82macro["&#9674;"] = "lozenge";
+macro2utf8["lnot"] = "&#172;";
+utf82macro["&#172;"] = "lnot";
+macro2utf8["Dopf"] = "&#120123;";
+utf82macro["&#120123;"] = "Dopf";
+macro2utf8["leftharpoonup"] = "&#8636;";
+utf82macro["&#8636;"] = "leftharpoonup";
+macro2utf8["Jcy"] = "&#1049;";
+utf82macro["&#1049;"] = "Jcy";
+macro2utf8["rightarrow"] = "&#8594;";
+utf82macro["&#8594;"] = "rightarrow";
+macro2utf8["ntriangleright"] = "&#8939;";
+utf82macro["&#8939;"] = "ntriangleright";
+macro2utf8["Ccirc"] = "&#264;";
+utf82macro["&#264;"] = "Ccirc";
+macro2utf8["eacute"] = "&#233;";
+utf82macro["&#233;"] = "eacute";
+macro2utf8["acute"] = "&#180;";
+utf82macro["&#180;"] = "acute";
+macro2utf8["Precedes"] = "&#8826;";
+utf82macro["&#8826;"] = "Precedes";
+macro2utf8["middot"] = "&#183;";
+utf82macro["&#183;"] = "middot";
+macro2utf8["lHar"] = "&#10594;";
+utf82macro["&#10594;"] = "lHar";
+macro2utf8["eparsl"] = "&#10723;";
+utf82macro["&#10723;"] = "eparsl";
+macro2utf8["psi"] = "&#968;";
+utf82macro["&#968;"] = "psi";
+macro2utf8["parsl"] = "&#8741;&#65024;";
+utf82macro["&#8741;&#65024;"] = "parsl";
+macro2utf8["UpperLeftArrow"] = "&#8598;";
+utf82macro["&#8598;"] = "UpperLeftArrow";
+macro2utf8["oror"] = "&#10838;";
+utf82macro["&#10838;"] = "oror";
+macro2utf8["Kopf"] = "&#120130;";
+utf82macro["&#120130;"] = "Kopf";
+macro2utf8["apacir"] = "&#10863;";
+utf82macro["&#10863;"] = "apacir";
+macro2utf8["dharl"] = "&#8643;";
+utf82macro["&#8643;"] = "dharl";
+macro2utf8["nequiv"] = "&#8802;";
+utf82macro["&#8802;"] = "nequiv";
+macro2utf8["rightleftarrows"] = "&#8644;";
+utf82macro["&#8644;"] = "rightleftarrows";
+macro2utf8["UnderParenthesis"] = "&#65078;";
+utf82macro["&#65078;"] = "UnderParenthesis";
+macro2utf8["notni"] = "&#8716;";
+utf82macro["&#8716;"] = "notni";
+macro2utf8["dagger"] = "&#8224;";
+utf82macro["&#8224;"] = "dagger";
+macro2utf8["dharr"] = "&#8642;";
+utf82macro["&#8642;"] = "dharr";
+macro2utf8["twoheadleftarrow"] = "&#8606;";
+utf82macro["&#8606;"] = "twoheadleftarrow";
+macro2utf8["frac12"] = "&#189;";
+utf82macro["&#189;"] = "frac12";
+macro2utf8["varsubsetneqq"] = "&#8842;&#65024;";
+utf82macro["&#8842;&#65024;"] = "varsubsetneqq";
+macro2utf8["frac13"] = "&#8531;";
+utf82macro["&#8531;"] = "frac13";
+macro2utf8["Ufr"] = "&#120088;";
+utf82macro["&#120088;"] = "Ufr";
+macro2utf8["NestedLessLess"] = "&#8810;";
+utf82macro["&#8810;"] = "NestedLessLess";
+macro2utf8["llarr"] = "&#8647;";
+utf82macro["&#8647;"] = "llarr";
+macro2utf8["frac14"] = "&#188;";
+utf82macro["&#188;"] = "frac14";
+macro2utf8["frac15"] = "&#8533;";
+utf82macro["&#8533;"] = "frac15";
+macro2utf8["Ropf"] = "&#8477;";
+utf82macro["&#8477;"] = "Ropf";
+macro2utf8["frac16"] = "&#8537;";
+utf82macro["&#8537;"] = "frac16";
+macro2utf8["lrtri"] = "&#8895;";
+utf82macro["&#8895;"] = "lrtri";
+macro2utf8["frac18"] = "&#8539;";
+utf82macro["&#8539;"] = "frac18";
+macro2utf8["cedil"] = "&#184;";
+utf82macro["&#184;"] = "cedil";
+macro2utf8["subsim"] = "&#10951;";
+utf82macro["&#10951;"] = "subsim";
+macro2utf8["PrecedesTilde"] = "&#8830;";
+utf82macro["&#8830;"] = "PrecedesTilde";
+macro2utf8["igrave"] = "&#236;";
+utf82macro["&#236;"] = "igrave";
+macro2utf8["gjcy"] = "&#1107;";
+utf82macro["&#1107;"] = "gjcy";
+macro2utf8["LeftVector"] = "&#8636;";
+utf82macro["&#8636;"] = "LeftVector";
+macro2utf8["notniva"] = "&#8716;";
+utf82macro["&#8716;"] = "notniva";
+macro2utf8["notnivb"] = "&#8958;";
+utf82macro["&#8958;"] = "notnivb";
+macro2utf8["ogon"] = "&#731;";
+utf82macro["&#731;"] = "ogon";
+macro2utf8["notnivc"] = "&#8957;";
+utf82macro["&#8957;"] = "notnivc";
+macro2utf8["Yopf"] = "&#120144;";
+utf82macro["&#120144;"] = "Yopf";
+macro2utf8["there4"] = "&#8756;";
+utf82macro["&#8756;"] = "there4";
+macro2utf8["udarr"] = "&#8645;";
+utf82macro["&#8645;"] = "udarr";
+macro2utf8["bkarow"] = "&#10509;";
+utf82macro["&#10509;"] = "bkarow";
+macro2utf8["frac23"] = "&#8532;";
+utf82macro["&#8532;"] = "frac23";
+macro2utf8["frac25"] = "&#8534;";
+utf82macro["&#8534;"] = "frac25";
+macro2utf8["njcy"] = "&#1114;";
+utf82macro["&#1114;"] = "njcy";
+macro2utf8["Dashv"] = "&#10980;";
+utf82macro["&#10980;"] = "Dashv";
+macro2utf8["eta"] = "&#951;";
+utf82macro["&#951;"] = "eta";
+macro2utf8["bcong"] = "&#8780;";
+utf82macro["&#8780;"] = "bcong";
+macro2utf8["Ugrave"] = "&#217;";
+utf82macro["&#217;"] = "Ugrave";
+macro2utf8["csube"] = "&#10961;";
+utf82macro["&#10961;"] = "csube";
+macro2utf8["clubs"] = "&#9827;";
+utf82macro["&#9827;"] = "clubs";
+macro2utf8["supmult"] = "&#10946;";
+utf82macro["&#10946;"] = "supmult";
+macro2utf8["MinusPlus"] = "&#8723;";
+utf82macro["&#8723;"] = "MinusPlus";
+macro2utf8["Jfr"] = "&#120077;";
+utf82macro["&#120077;"] = "Jfr";
+macro2utf8["ensp"] = "&#8194;";
+utf82macro["&#8194;"] = "ensp";
+macro2utf8["ucirc"] = "&#251;";
+utf82macro["&#251;"] = "ucirc";
+macro2utf8["supsim"] = "&#10952;";
+utf82macro["&#10952;"] = "supsim";
+macro2utf8["eth"] = "&#240;";
+utf82macro["&#240;"] = "eth";
+macro2utf8["OverBrace"] = "&#65079;";
+utf82macro["&#65079;"] = "OverBrace";
+macro2utf8["Dot"] = "&#168;";
+utf82macro["&#168;"] = "Dot";
+macro2utf8["xcap"] = "&#8898;";
+utf82macro["&#8898;"] = "xcap";
+macro2utf8["vangrt"] = "&#8894;";
+utf82macro["&#8894;"] = "vangrt";
+macro2utf8["NotSubsetEqual"] = "&#8840;";
+utf82macro["&#8840;"] = "NotSubsetEqual";
+macro2utf8["frac34"] = "&#190;";
+utf82macro["&#190;"] = "frac34";
+macro2utf8["frac35"] = "&#8535;";
+utf82macro["&#8535;"] = "frac35";
+macro2utf8["planck"] = "&#8463;&#65024;";
+utf82macro["&#8463;&#65024;"] = "planck";
+macro2utf8["lnsim"] = "&#8934;";
+utf82macro["&#8934;"] = "lnsim";
+macro2utf8["gopf"] = "&#120152;";
+utf82macro["&#120152;"] = "gopf";
+macro2utf8["frac38"] = "&#8540;";
+utf82macro["&#8540;"] = "frac38";
+macro2utf8["DotDot"] = "&#8412;";
+utf82macro["&#8412;"] = "DotDot";
+macro2utf8["mapstoup"] = "&#8613;";
+utf82macro["&#8613;"] = "mapstoup";
+macro2utf8["Escr"] = "&#8496;";
+utf82macro["&#8496;"] = "Escr";
+macro2utf8["Integral"] = "&#8747;";
+utf82macro["&#8747;"] = "Integral";
+macro2utf8["Agrave"] = "&#192;";
+utf82macro["&#192;"] = "Agrave";
+macro2utf8["longleftarrow"] = "????;";
+utf82macro["????;"] = "longleftarrow";
+macro2utf8["Tcaron"] = "&#356;";
+utf82macro["&#356;"] = "Tcaron";
+macro2utf8["nopf"] = "&#120159;";
+utf82macro["&#120159;"] = "nopf";
+macro2utf8["LongLeftRightArrow"] = "&#62840;";
+utf82macro["&#62840;"] = "LongLeftRightArrow";
+macro2utf8["Emacr"] = "&#274;";
+utf82macro["&#274;"] = "Emacr";
+macro2utf8["omid"] = "&#10678;";
+utf82macro["&#10678;"] = "omid";
+macro2utf8["spades"] = "&#9824;";
+utf82macro["&#9824;"] = "spades";
+macro2utf8["naturals"] = "&#8469;";
+utf82macro["&#8469;"] = "naturals";
+macro2utf8["Lscr"] = "&#8466;";
+utf82macro["&#8466;"] = "Lscr";
+macro2utf8["udblac"] = "&#369;";
+utf82macro["&#369;"] = "udblac";
+macro2utf8["SucceedsTilde"] = "&#8831;";
+utf82macro["&#8831;"] = "SucceedsTilde";
+macro2utf8["frac45"] = "&#8536;";
+utf82macro["&#8536;"] = "frac45";
+macro2utf8["clubsuit"] = "&#9827;";
+utf82macro["&#9827;"] = "clubsuit";
+macro2utf8["mumap"] = "&#8888;";
+utf82macro["&#8888;"] = "mumap";
+macro2utf8["vltri"] = "&#8882;";
+utf82macro["&#8882;"] = "vltri";
+macro2utf8["LeftArrowBar"] = "&#8676;";
+utf82macro["&#8676;"] = "LeftArrowBar";
+macro2utf8["zacute"] = "&#378;";
+utf82macro["&#378;"] = "zacute";
+macro2utf8["szlig"] = "&#223;";
+utf82macro["&#223;"] = "szlig";
+macro2utf8["suplarr"] = "&#10619;";
+utf82macro["&#10619;"] = "suplarr";
+macro2utf8["RightDownVector"] = "&#8642;";
+utf82macro["&#8642;"] = "RightDownVector";
+macro2utf8["male"] = "&#9794;";
+utf82macro["&#9794;"] = "male";
+macro2utf8["RightDownVectorBar"] = "&#10581;";
+utf82macro["&#10581;"] = "RightDownVectorBar";
+macro2utf8["gdot"] = "&#289;";
+utf82macro["&#289;"] = "gdot";
+macro2utf8["nleqq"] = "&#8816;";
+utf82macro["&#8816;"] = "nleqq";
+macro2utf8["uopf"] = "&#120166;";
+utf82macro["&#120166;"] = "uopf";
+macro2utf8["YIcy"] = "&#1031;";
+utf82macro["&#1031;"] = "YIcy";
+macro2utf8["Sscr"] = "&#119982;";
+utf82macro["&#119982;"] = "Sscr";
+macro2utf8["empty"] = "&#8709;&#65024;";
+utf82macro["&#8709;&#65024;"] = "empty";
+macro2utf8["Vdash"] = "&#8873;";
+utf82macro["&#8873;"] = "Vdash";
+macro2utf8["sqsubset"] = "&#8847;";
+utf82macro["&#8847;"] = "sqsubset";
+macro2utf8["efDot"] = "&#8786;";
+utf82macro["&#8786;"] = "efDot";
+macro2utf8["times"] = "&#215;";
+utf82macro["&#215;"] = "times";
+macro2utf8["Oslash"] = "&#216;";
+utf82macro["&#216;"] = "Oslash";
+macro2utf8["itilde"] = "&#297;";
+utf82macro["&#297;"] = "itilde";
+macro2utf8["frac56"] = "&#8538;";
+utf82macro["&#8538;"] = "frac56";
+macro2utf8["numero"] = "&#8470;";
+utf82macro["&#8470;"] = "numero";
+macro2utf8["malt"] = "&#10016;";
+utf82macro["&#10016;"] = "malt";
+macro2utf8["npart"] = "&#8706;&#824;";
+utf82macro["&#8706;&#824;"] = "npart";
+macro2utf8["frac58"] = "&#8541;";
+utf82macro["&#8541;"] = "frac58";
+macro2utf8["Zscr"] = "&#119989;";
+utf82macro["&#119989;"] = "Zscr";
+macro2utf8["integers"] = "&#8484;";
+utf82macro["&#8484;"] = "integers";
+macro2utf8["CloseCurlyQuote"] = "&#8217;";
+utf82macro["&#8217;"] = "CloseCurlyQuote";
+macro2utf8["NewLine"] = "\n";
+utf82macro["\n"] = "NewLine";
+macro2utf8["fcy"] = "&#1092;";
+utf82macro["&#1092;"] = "fcy";
+macro2utf8["nwarr"] = "&#8598;";
+utf82macro["&#8598;"] = "nwarr";
+macro2utf8["thicksim"] = "&#8764;&#65024;";
+utf82macro["&#8764;&#65024;"] = "thicksim";
+macro2utf8["nprcue"] = "&#8928;";
+utf82macro["&#8928;"] = "nprcue";
+macro2utf8["lcub"] = "{";
+utf82macro["{"] = "lcub";
+macro2utf8["forall"] = "&#8704;";
+utf82macro["&#8704;"] = "forall";
+macro2utf8["plusacir"] = "&#10787;";
+utf82macro["&#10787;"] = "plusacir";
+macro2utf8["ascr"] = "&#119990;";
+utf82macro["&#119990;"] = "ascr";
+macro2utf8["plustwo"] = "&#10791;";
+utf82macro["&#10791;"] = "plustwo";
+macro2utf8["Utilde"] = "&#360;";
+utf82macro["&#360;"] = "Utilde";
+macro2utf8["lambda"] = "&#955;";
+utf82macro["&#955;"] = "lambda";
+macro2utf8["odash"] = "&#8861;";
+utf82macro["&#8861;"] = "odash";
+macro2utf8["iukcy"] = "&#1110;";
+utf82macro["&#1110;"] = "iukcy";
+macro2utf8["sqsupset"] = "&#8848;";
+utf82macro["&#8848;"] = "sqsupset";
+macro2utf8["Racute"] = "&#340;";
+utf82macro["&#340;"] = "Racute";
+macro2utf8["Longleftarrow"] = "????";
+utf82macro["????"] = "Longleftarrow";
+macro2utf8["capcap"] = "&#10827;";
+utf82macro["&#10827;"] = "capcap";
+macro2utf8["ocirc"] = "&#244;";
+utf82macro["&#244;"] = "ocirc";
+macro2utf8["nless"] = "&#8814;";
+utf82macro["&#8814;"] = "nless";
+macro2utf8["Wedge"] = "&#8896;";
+utf82macro["&#8896;"] = "Wedge";
+macro2utf8["qfr"] = "&#120110;";
+utf82macro["&#120110;"] = "qfr";
+macro2utf8["natur"] = "&#9838;";
+utf82macro["&#9838;"] = "natur";
+macro2utf8["hscr"] = "&#119997;";
+utf82macro["&#119997;"] = "hscr";
+macro2utf8["ldca"] = "&#10550;";
+utf82macro["&#10550;"] = "ldca";
+macro2utf8["ClockwiseContourIntegral"] = "&#8754;";
+utf82macro["&#8754;"] = "ClockwiseContourIntegral";
+macro2utf8["exp"] = "exp";
+utf82macro["exp"] = "exp";
+macro2utf8["RightTeeArrow"] = "&#8614;";
+utf82macro["&#8614;"] = "RightTeeArrow";
+macro2utf8["orarr"] = "&#8635;";
+utf82macro["&#8635;"] = "orarr";
+macro2utf8["tanh"] = "tanh";
+utf82macro["tanh"] = "tanh";
+macro2utf8["frac78"] = "&#8542;";
+utf82macro["&#8542;"] = "frac78";
+macro2utf8["Atilde"] = "&#195;";
+utf82macro["&#195;"] = "Atilde";
+macro2utf8["arcsin"] = "arcsin";
+utf82macro["arcsin"] = "arcsin";
+macro2utf8["Rcedil"] = "&#342;";
+utf82macro["&#342;"] = "Rcedil";
+macro2utf8["oscr"] = "&#8500;";
+utf82macro["&#8500;"] = "oscr";
+macro2utf8["InvisibleTimes"] = "&#8290;";
+utf82macro["&#8290;"] = "InvisibleTimes";
+macro2utf8["sime"] = "&#8771;";
+utf82macro["&#8771;"] = "sime";
+macro2utf8["simg"] = "&#10910;";
+utf82macro["&#10910;"] = "simg";
+macro2utf8["Conint"] = "&#8751;";
+utf82macro["&#8751;"] = "Conint";
+macro2utf8["Yuml"] = "&#376;";
+utf82macro["&#376;"] = "Yuml";
+macro2utf8["rlhar"] = "&#8652;";
+utf82macro["&#8652;"] = "rlhar";
+macro2utf8["rarrbfs"] = "&#10528;";
+utf82macro["&#10528;"] = "rarrbfs";
+macro2utf8["siml"] = "&#10909;";
+utf82macro["&#10909;"] = "siml";
+macro2utf8["DownRightVectorBar"] = "&#10583;";
+utf82macro["&#10583;"] = "DownRightVectorBar";
+macro2utf8["vscr"] = "&#120011;";
+utf82macro["&#120011;"] = "vscr";
+macro2utf8["divide"] = "&#247;";
+utf82macro["&#247;"] = "divide";
+macro2utf8["PlusMinus"] = "&#177;";
+utf82macro["&#177;"] = "PlusMinus";
+macro2utf8["ffr"] = "&#120099;";
+utf82macro["&#120099;"] = "ffr";
+macro2utf8["DownLeftTeeVector"] = "&#10590;";
+utf82macro["&#10590;"] = "DownLeftTeeVector";
+macro2utf8["EmptySmallSquare"] = "&#9725;";
+utf82macro["&#9725;"] = "EmptySmallSquare";
+macro2utf8["SHCHcy"] = "&#1065;";
+utf82macro["&#1065;"] = "SHCHcy";
+macro2utf8["cirmid"] = "&#10991;";
+utf82macro["&#10991;"] = "cirmid";
+macro2utf8["sigmav"] = "&#962;";
+utf82macro["&#962;"] = "sigmav";
+macro2utf8["csub"] = "&#10959;";
+utf82macro["&#10959;"] = "csub";
+macro2utf8["npar"] = "&#8742;";
+utf82macro["&#8742;"] = "npar";
+macro2utf8["bsemi"] = "&#8271;";
+utf82macro["&#8271;"] = "bsemi";
+macro2utf8["swArr"] = "&#8665;";
+utf82macro["&#8665;"] = "swArr";
+macro2utf8["Pcy"] = "&#1055;";
+utf82macro["&#1055;"] = "Pcy";
+macro2utf8["sinh"] = "sinh";
+utf82macro["sinh"] = "sinh";
+macro2utf8["lharul"] = "&#10602;";
+utf82macro["&#10602;"] = "lharul";
+macro2utf8["Jukcy"] = "&#1028;";
+utf82macro["&#1028;"] = "Jukcy";
+macro2utf8["permil"] = "&#8240;";
+utf82macro["&#8240;"] = "permil";
+macro2utf8["ndivides"] = "&#8740;";
+utf82macro["&#8740;"] = "ndivides";
+macro2utf8["Aring"] = "&#197;";
+utf82macro["&#197;"] = "Aring";
+macro2utf8["longmapsto"] = "????";
+utf82macro["????"] = "longmapsto";
+macro2utf8["Esim"] = "&#10867;";
+utf82macro["&#10867;"] = "Esim";
+macro2utf8["csup"] = "&#10960;";
+utf82macro["&#10960;"] = "csup";
+macro2utf8["trie"] = "&#8796;";
+utf82macro["&#8796;"] = "trie";
+macro2utf8["ubrcy"] = "&#1118;";
+utf82macro["&#1118;"] = "ubrcy";
+macro2utf8["NotEqualTilde"] = "&#8770;&#824;";
+utf82macro["&#8770;&#824;"] = "NotEqualTilde";
+macro2utf8["dotminus"] = "&#8760;";
+utf82macro["&#8760;"] = "dotminus";
+macro2utf8["diamondsuit"] = "&#9826;";
+utf82macro["&#9826;"] = "diamondsuit";
+macro2utf8["xnis"] = "&#8955;";
+utf82macro["&#8955;"] = "xnis";
+macro2utf8["Eogon"] = "&#280;";
+utf82macro["&#280;"] = "Eogon";
+macro2utf8["cuvee"] = "&#8910;";
+utf82macro["&#8910;"] = "cuvee";
+macro2utf8["DZcy"] = "&#1039;";
+utf82macro["&#1039;"] = "DZcy";
+macro2utf8["nRightarrow"] = "&#8655;";
+utf82macro["&#8655;"] = "nRightarrow";
+macro2utf8["sqsupe"] = "&#8850;";
+utf82macro["&#8850;"] = "sqsupe";
+macro2utf8["nsccue"] = "&#8929;";
+utf82macro["&#8929;"] = "nsccue";
+macro2utf8["drcrop"] = "&#8972;";
+utf82macro["&#8972;"] = "drcrop";
+macro2utf8["DownBreve"] = "&#785;";
+utf82macro["&#785;"] = "DownBreve";
+macro2utf8["Ecy"] = "&#1069;";
+utf82macro["&#1069;"] = "Ecy";
+macro2utf8["rdquor"] = "&#8221;";
+utf82macro["&#8221;"] = "rdquor";
+macro2utf8["rAtail"] = "&#10524;";
+utf82macro["&#10524;"] = "rAtail";
+macro2utf8["icirc"] = "&#238;";
+utf82macro["&#238;"] = "icirc";
+macro2utf8["gacute"] = "&#501;";
+utf82macro["&#501;"] = "gacute";
+macro2utf8["hyphen"] = "&#8208;";
+utf82macro["&#8208;"] = "hyphen";
+macro2utf8["uuml"] = "&#252;";
+utf82macro["&#252;"] = "uuml";
+macro2utf8["thorn"] = "&#254;";
+utf82macro["&#254;"] = "thorn";
+macro2utf8["ltri"] = "&#9667;";
+utf82macro["&#9667;"] = "ltri";
+macro2utf8["eqslantgtr"] = "&#8925;";
+utf82macro["&#8925;"] = "eqslantgtr";
+macro2utf8["DoubleContourIntegral"] = "&#8751;";
+utf82macro["&#8751;"] = "DoubleContourIntegral";
+macro2utf8["lescc"] = "&#10920;";
+utf82macro["&#10920;"] = "lescc";
+macro2utf8["DiacriticalGrave"] = "`";
+utf82macro["`"] = "DiacriticalGrave";
+macro2utf8["NotPrecedesEqual"] = "&#10927;&#824;";
+utf82macro["&#10927;&#824;"] = "NotPrecedesEqual";
+macro2utf8["RightArrow"] = "&#8594;";
+utf82macro["&#8594;"] = "RightArrow";
+macro2utf8["race"] = "&#10714;";
+utf82macro["&#10714;"] = "race";
+macro2utf8["topbot"] = "&#9014;";
+utf82macro["&#9014;"] = "topbot";
+macro2utf8["Pfr"] = "&#120083;";
+utf82macro["&#120083;"] = "Pfr";
+macro2utf8["napprox"] = "&#8777;";
+utf82macro["&#8777;"] = "napprox";
+macro2utf8["Sacute"] = "&#346;";
+utf82macro["&#346;"] = "Sacute";
+macro2utf8["cupor"] = "&#10821;";
+utf82macro["&#10821;"] = "cupor";
+macro2utf8["OverBar"] = "&#175;";
+utf82macro["&#175;"] = "OverBar";
+macro2utf8["bepsi"] = "&#1014;";
+utf82macro["&#1014;"] = "bepsi";
+macro2utf8["plankv"] = "&#8463;";
+utf82macro["&#8463;"] = "plankv";
+macro2utf8["lap"] = "&#8818;";
+utf82macro["&#8818;"] = "lap";
+macro2utf8["orslope"] = "&#10839;";
+utf82macro["&#10839;"] = "orslope";
+macro2utf8["beta"] = "&#946;";
+utf82macro["&#946;"] = "beta";
+macro2utf8["ShortDownArrow"] = "&#8964;&#65024;";
+utf82macro["&#8964;&#65024;"] = "ShortDownArrow";
+macro2utf8["perp"] = "&#8869;";
+utf82macro["&#8869;"] = "perp";
+macro2utf8["lat"] = "&#10923;";
+utf82macro["&#10923;"] = "lat";
+macro2utf8["CenterDot"] = "&#183;";
+utf82macro["&#183;"] = "CenterDot";
+macro2utf8["urcorner"] = "&#8989;";
+utf82macro["&#8989;"] = "urcorner";
+macro2utf8["models"] = "&#8871;";
+utf82macro["&#8871;"] = "models";
+macro2utf8["beth"] = "&#8502;";
+utf82macro["&#8502;"] = "beth";
+macro2utf8["subE"] = "&#8838;";
+utf82macro["&#8838;"] = "subE";
+macro2utf8["subnE"] = "&#8842;";
+utf82macro["&#8842;"] = "subnE";
+macro2utf8["ldots"] = "&#8230;";
+utf82macro["&#8230;"] = "ldots";
+macro2utf8["yacy"] = "&#1103;";
+utf82macro["&#1103;"] = "yacy";
+macro2utf8["udhar"] = "&#10606;";
+utf82macro["&#10606;"] = "udhar";
+macro2utf8["Scedil"] = "&#350;";
+utf82macro["&#350;"] = "Scedil";
+macro2utf8["subsub"] = "&#10965;";
+utf82macro["&#10965;"] = "subsub";
+macro2utf8["nvrtrie"] = "&#8941;&#824;";
+utf82macro["&#8941;&#824;"] = "nvrtrie";
+macro2utf8["Phi"] = "&#934;";
+utf82macro["&#934;"] = "Phi";
+macro2utf8["Efr"] = "&#120072;";
+utf82macro["&#120072;"] = "Efr";
+macro2utf8["larrfs"] = "&#10525;";
+utf82macro["&#10525;"] = "larrfs";
+macro2utf8["angle"] = "&#8736;";
+utf82macro["&#8736;"] = "angle";
+macro2utf8["TildeFullEqual"] = "&#8773;";
+utf82macro["&#8773;"] = "TildeFullEqual";
+macro2utf8["Jcirc"] = "&#308;";
+utf82macro["&#308;"] = "Jcirc";
+macro2utf8["THORN"] = "&#222;";
+utf82macro["&#222;"] = "THORN";
+macro2utf8["acE"] = "&#10715;";
+utf82macro["&#10715;"] = "acE";
+macro2utf8["Longleftrightarrow"] = "????";
+utf82macro["????"] = "Longleftrightarrow";
+macro2utf8["xuplus"] = "&#8846;";
+utf82macro["&#8846;"] = "xuplus";
+macro2utf8["searr"] = "&#8600;";
+utf82macro["&#8600;"] = "searr";
+macro2utf8["gvertneqq"] = "&#8809;&#65024;";
+utf82macro["&#8809;&#65024;"] = "gvertneqq";
+macro2utf8["subsup"] = "&#10963;";
+utf82macro["&#10963;"] = "subsup";
+macro2utf8["NotSucceedsEqual"] = "&#10928;&#824;";
+utf82macro["&#10928;&#824;"] = "NotSucceedsEqual";
+macro2utf8["gtrsim"] = "&#8819;";
+utf82macro["&#8819;"] = "gtrsim";
+macro2utf8["nrArr"] = "&#8655;";
+utf82macro["&#8655;"] = "nrArr";
+macro2utf8["NotSquareSupersetEqual"] = "&#8931;";
+utf82macro["&#8931;"] = "NotSquareSupersetEqual";
+macro2utf8["notindot"] = "&#8950;&#65024;";
+utf82macro["&#8950;&#65024;"] = "notindot";
+macro2utf8["HARDcy"] = "&#1066;";
+utf82macro["&#1066;"] = "HARDcy";
+macro2utf8["jmath"] = "j&#65024;";
+utf82macro["j&#65024;"] = "jmath";
+macro2utf8["aelig"] = "&#230;";
+utf82macro["&#230;"] = "aelig";
+macro2utf8["slarr"] = "&#8592;&#65024;";
+utf82macro["&#8592;&#65024;"] = "slarr";
+macro2utf8["dlcrop"] = "&#8973;";
+utf82macro["&#8973;"] = "dlcrop";
+macro2utf8["sube"] = "&#8838;";
+utf82macro["&#8838;"] = "sube";
+macro2utf8["cuepr"] = "&#8926;";
+utf82macro["&#8926;"] = "cuepr";
+macro2utf8["supsub"] = "&#10964;";
+utf82macro["&#10964;"] = "supsub";
+macro2utf8["trianglelefteq"] = "&#8884;";
+utf82macro["&#8884;"] = "trianglelefteq";
+macro2utf8["subne"] = "&#8842;";
+utf82macro["&#8842;"] = "subne";
+macro2utf8["between"] = "&#8812;";
+utf82macro["&#8812;"] = "between";
+macro2utf8["measuredangle"] = "&#8737;";
+utf82macro["&#8737;"] = "measuredangle";
+macro2utf8["swnwar"] = "&#10538;";
+utf82macro["&#10538;"] = "swnwar";
+macro2utf8["lcy"] = "&#1083;";
+utf82macro["&#1083;"] = "lcy";
+macro2utf8["ccirc"] = "&#265;";
+utf82macro["&#265;"] = "ccirc";
+macro2utf8["larrhk"] = "&#8617;";
+utf82macro["&#8617;"] = "larrhk";
+macro2utf8["DiacriticalTilde"] = "&#732;";
+utf82macro["&#732;"] = "DiacriticalTilde";
+macro2utf8["brvbar"] = "&#166;";
+utf82macro["&#166;"] = "brvbar";
+macro2utf8["triangledown"] = "&#9663;";
+utf82macro["&#9663;"] = "triangledown";
+macro2utf8["dtrif"] = "&#9662;";
+utf82macro["&#9662;"] = "dtrif";
+macro2utf8["Bopf"] = "&#120121;";
+utf82macro["&#120121;"] = "Bopf";
+macro2utf8["xwedge"] = "&#8896;";
+utf82macro["&#8896;"] = "xwedge";
+macro2utf8["rightsquigarrow"] = "&#8605;";
+utf82macro["&#8605;"] = "rightsquigarrow";
+macro2utf8["acd"] = "&#8767;";
+utf82macro["&#8767;"] = "acd";
+macro2utf8["supsup"] = "&#10966;";
+utf82macro["&#10966;"] = "supsup";
+macro2utf8["UpEquilibrium"] = "&#10606;";
+utf82macro["&#10606;"] = "UpEquilibrium";
+macro2utf8["succ"] = "&#8827;";
+utf82macro["&#8827;"] = "succ";
+macro2utf8["eqslantless"] = "&#8924;";
+utf82macro["&#8924;"] = "eqslantless";
+macro2utf8["coprod"] = "&#8720;";
+utf82macro["&#8720;"] = "coprod";
+macro2utf8["OpenCurlyDoubleQuote"] = "&#8220;";
+utf82macro["&#8220;"] = "OpenCurlyDoubleQuote";
+macro2utf8["NotGreaterSlantEqual"] = "&#8817;";
+utf82macro["&#8817;"] = "NotGreaterSlantEqual";
+macro2utf8["solb"] = "&#10692;";
+utf82macro["&#10692;"] = "solb";
+macro2utf8["HumpDownHump"] = "&#8782;";
+utf82macro["&#8782;"] = "HumpDownHump";
+macro2utf8["gtrapprox"] = "&#8819;";
+utf82macro["&#8819;"] = "gtrapprox";
+macro2utf8["Iopf"] = "&#120128;";
+utf82macro["&#120128;"] = "Iopf";
+macro2utf8["leg"] = "&#8922;";
+utf82macro["&#8922;"] = "leg";
+macro2utf8["wfr"] = "&#120116;";
+utf82macro["&#120116;"] = "wfr";
+macro2utf8["mapstoleft"] = "&#8612;";
+utf82macro["&#8612;"] = "mapstoleft";
+macro2utf8["gnapprox"] = "&#10890;";
+utf82macro["&#10890;"] = "gnapprox";
+macro2utf8["lgE"] = "&#10897;";
+utf82macro["&#10897;"] = "lgE";
+macro2utf8["CloseCurlyDoubleQuote"] = "&#8221;";
+utf82macro["&#8221;"] = "CloseCurlyDoubleQuote";
+macro2utf8["NotNestedLessLess"] = "&#9377;&#824;";
+utf82macro["&#9377;&#824;"] = "NotNestedLessLess";
+macro2utf8["acy"] = "&#1072;";
+utf82macro["&#1072;"] = "acy";
+macro2utf8["leq"] = "&#8804;";
+utf82macro["&#8804;"] = "leq";
+macro2utf8["Popf"] = "&#8473;";
+utf82macro["&#8473;"] = "Popf";
+macro2utf8["les"] = "&#10877;";
+utf82macro["&#10877;"] = "les";
+macro2utf8["succcurlyeq"] = "&#8829;";
+utf82macro["&#8829;"] = "succcurlyeq";
+macro2utf8["heartsuit"] = "&#9825;";
+utf82macro["&#9825;"] = "heartsuit";
+macro2utf8["angmsd"] = "&#8737;";
+utf82macro["&#8737;"] = "angmsd";
+macro2utf8["cuesc"] = "&#8927;";
+utf82macro["&#8927;"] = "cuesc";
+macro2utf8["lesseqgtr"] = "&#8922;";
+utf82macro["&#8922;"] = "lesseqgtr";
+macro2utf8["vartriangleright"] = "&#8883;";
+utf82macro["&#8883;"] = "vartriangleright";
+macro2utf8["csupe"] = "&#10962;";
+utf82macro["&#10962;"] = "csupe";
+macro2utf8["rthree"] = "&#8908;";
+utf82macro["&#8908;"] = "rthree";
+macro2utf8["Idot"] = "&#304;";
+utf82macro["&#304;"] = "Idot";
+macro2utf8["gtdot"] = "&#8919;";
+utf82macro["&#8919;"] = "gtdot";
+macro2utf8["dashv"] = "&#8867;";
+utf82macro["&#8867;"] = "dashv";
+macro2utf8["Odblac"] = "&#336;";
+utf82macro["&#336;"] = "Odblac";
+macro2utf8["Lmidot"] = "&#319;";
+utf82macro["&#319;"] = "Lmidot";
+macro2utf8["andd"] = "&#10844;";
+utf82macro["&#10844;"] = "andd";
+macro2utf8["Wopf"] = "&#120142;";
+utf82macro["&#120142;"] = "Wopf";
+macro2utf8["nvltrie"] = "&#8940;&#824;";
+utf82macro["&#8940;&#824;"] = "nvltrie";
+macro2utf8["nhpar"] = "&#10994;";
+utf82macro["&#10994;"] = "nhpar";
+macro2utf8["geqslant"] = "&#10878;";
+utf82macro["&#10878;"] = "geqslant";
+macro2utf8["xlArr"] = "&#62841;";
+utf82macro["&#62841;"] = "xlArr";
+macro2utf8["SquareSubset"] = "&#8847;";
+utf82macro["&#8847;"] = "SquareSubset";
+macro2utf8["intcal"] = "&#8890;";
+utf82macro["&#8890;"] = "intcal";
+macro2utf8["ljcy"] = "&#1113;";
+utf82macro["&#1113;"] = "ljcy";
+macro2utf8["lfr"] = "&#120105;";
+utf82macro["&#120105;"] = "lfr";
+macro2utf8["gtlPar"] = "&#10645;";
+utf82macro["&#10645;"] = "gtlPar";
+macro2utf8["zigrarr"] = "&#8669;";
+utf82macro["&#8669;"] = "zigrarr";
+macro2utf8["nvap"] = "&#8777;&#824;";
+utf82macro["&#8777;&#824;"] = "nvap";
+macro2utf8["boxtimes"] = "&#8864;";
+utf82macro["&#8864;"] = "boxtimes";
+macro2utf8["raquo"] = "&#187;";
+utf82macro["&#187;"] = "raquo";
+macro2utf8["CircleMinus"] = "&#8854;";
+utf82macro["&#8854;"] = "CircleMinus";
+macro2utf8["centerdot"] = "&#183;";
+utf82macro["&#183;"] = "centerdot";
+macro2utf8["xoplus"] = "&#8853;";
+utf82macro["&#8853;"] = "xoplus";
+macro2utf8["simdot"] = "&#10858;";
+utf82macro["&#10858;"] = "simdot";
+macro2utf8["Vcy"] = "&#1042;";
+utf82macro["&#1042;"] = "Vcy";
+macro2utf8["profline"] = "&#8978;";
+utf82macro["&#8978;"] = "profline";
+macro2utf8["ltquest"] = "&#10875;";
+utf82macro["&#10875;"] = "ltquest";
+macro2utf8["andv"] = "&#10842;";
+utf82macro["&#10842;"] = "andv";
+macro2utf8["lessgtr"] = "&#8822;";
+utf82macro["&#8822;"] = "lessgtr";
+macro2utf8["lesdoto"] = "&#10881;";
+utf82macro["&#10881;"] = "lesdoto";
+macro2utf8["NotSquareSubset"] = "&#8847;&#824;";
+utf82macro["&#8847;&#824;"] = "NotSquareSubset";
+macro2utf8["bullet"] = "&#8226;";
+utf82macro["&#8226;"] = "bullet";
+macro2utf8["rarrsim"] = "&#10612;";
+utf82macro["&#10612;"] = "rarrsim";
+macro2utf8["Tcedil"] = "&#354;";
+utf82macro["&#354;"] = "Tcedil";
+macro2utf8["Hstrok"] = "&#294;";
+utf82macro["&#294;"] = "Hstrok";
+macro2utf8["eopf"] = "&#120150;";
+utf82macro["&#120150;"] = "eopf";
+macro2utf8["Theta"] = "&#920;";
+utf82macro["&#920;"] = "Theta";
+macro2utf8["Cscr"] = "&#119966;";
+utf82macro["&#119966;"] = "Cscr";
+macro2utf8["emacr"] = "&#275;";
+utf82macro["&#275;"] = "emacr";
+macro2utf8["UnionPlus"] = "&#8846;";
+utf82macro["&#8846;"] = "UnionPlus";
+macro2utf8["Vee"] = "&#8897;";
+utf82macro["&#8897;"] = "Vee";
+macro2utf8["arctan"] = "arctan";
+utf82macro["arctan"] = "arctan";
+macro2utf8["afr"] = "&#120094;";
+utf82macro["&#120094;"] = "afr";
+macro2utf8["thinsp"] = "&#8201;";
+utf82macro["&#8201;"] = "thinsp";
+macro2utf8["bottom"] = "&#8869;";
+utf82macro["&#8869;"] = "bottom";
+macro2utf8["lopf"] = "&#120157;";
+utf82macro["&#120157;"] = "lopf";
+macro2utf8["larrlp"] = "&#8619;";
+utf82macro["&#8619;"] = "larrlp";
+macro2utf8["lbrace"] = "{";
+utf82macro["{"] = "lbrace";
+macro2utf8["Jscr"] = "&#119973;";
+utf82macro["&#119973;"] = "Jscr";
+macro2utf8["Kcy"] = "&#1050;";
+utf82macro["&#1050;"] = "Kcy";
+macro2utf8["shortparallel"] = "&#8741;&#65024;";
+utf82macro["&#8741;&#65024;"] = "shortparallel";
+macro2utf8["hairsp"] = "&#8202;";
+utf82macro["&#8202;"] = "hairsp";
+macro2utf8["osol"] = "&#8856;";
+utf82macro["&#8856;"] = "osol";
+macro2utf8["lbrack"] = "[";
+utf82macro["["] = "lbrack";
+macro2utf8["hArr"] = "&#8660;";
+utf82macro["&#8660;"] = "hArr";
+macro2utf8["vdash"] = "&#8866;";
+utf82macro["&#8866;"] = "vdash";
+macro2utf8["UpDownArrow"] = "&#8597;";
+utf82macro["&#8597;"] = "UpDownArrow";
+macro2utf8["edot"] = "&#279;";
+utf82macro["&#279;"] = "edot";
+macro2utf8["vzigzag"] = "&#10650;";
+utf82macro["&#10650;"] = "vzigzag";
+macro2utf8["sopf"] = "&#120164;";
+utf82macro["&#120164;"] = "sopf";
+macro2utf8["NotLessGreater"] = "&#8824;";
+utf82macro["&#8824;"] = "NotLessGreater";
+macro2utf8["Qscr"] = "&#119980;";
+utf82macro["&#119980;"] = "Qscr";
+macro2utf8["Gammad"] = "&#988;";
+utf82macro["&#988;"] = "Gammad";
+macro2utf8["SubsetEqual"] = "&#8838;";
+utf82macro["&#8838;"] = "SubsetEqual";
+macro2utf8["uplus"] = "&#8846;";
+utf82macro["&#8846;"] = "uplus";
+macro2utf8["LeftTriangle"] = "&#8882;";
+utf82macro["&#8882;"] = "LeftTriangle";
+macro2utf8["ange"] = "&#10660;";
+utf82macro["&#10660;"] = "ange";
+macro2utf8["lim"] = "lim";
+utf82macro["lim"] = "lim";
+macro2utf8["triangleright"] = "&#9657;";
+utf82macro["&#9657;"] = "triangleright";
+macro2utf8["angrt"] = "&#8735;";
+utf82macro["&#8735;"] = "angrt";
+macro2utf8["rfloor"] = "&#8971;";
+utf82macro["&#8971;"] = "rfloor";
+macro2utf8["bigtriangledown"] = "&#9661;";
+utf82macro["&#9661;"] = "bigtriangledown";
+macro2utf8["ofcir"] = "&#10687;";
+utf82macro["&#10687;"] = "ofcir";
+macro2utf8["Vfr"] = "&#120089;";
+utf82macro["&#120089;"] = "Vfr";
+macro2utf8["zopf"] = "&#120171;";
+utf82macro["&#120171;"] = "zopf";
+macro2utf8["UpArrowDownArrow"] = "&#8645;";
+utf82macro["&#8645;"] = "UpArrowDownArrow";
+macro2utf8["Xscr"] = "&#119987;";
+utf82macro["&#119987;"] = "Xscr";
+macro2utf8["digamma"] = "&#988;";
+utf82macro["&#988;"] = "digamma";
+macro2utf8["SmallCircle"] = "&#8728;";
+utf82macro["&#8728;"] = "SmallCircle";
+macro2utf8["vArr"] = "&#8661;";
+utf82macro["&#8661;"] = "vArr";
+macro2utf8["eqsim"] = "&#8770;";
+utf82macro["&#8770;"] = "eqsim";
+macro2utf8["downharpoonright"] = "&#8642;";
+utf82macro["&#8642;"] = "downharpoonright";
+macro2utf8["Ccaron"] = "&#268;";
+utf82macro["&#268;"] = "Ccaron";
+macro2utf8["sdot"] = "&#8901;";
+utf82macro["&#8901;"] = "sdot";
+macro2utf8["frown"] = "&#8994;";
+utf82macro["&#8994;"] = "frown";
+macro2utf8["angst"] = "&#8491;";
+utf82macro["&#8491;"] = "angst";
+macro2utf8["lesges"] = "&#10899;";
+utf82macro["&#10899;"] = "lesges";
+macro2utf8["iacute"] = "&#237;";
+utf82macro["&#237;"] = "iacute";
+macro2utf8["wedge"] = "&#8743;";
+utf82macro["&#8743;"] = "wedge";
+macro2utf8["ssetmn"] = "&#8726;&#65024;";
+utf82macro["&#8726;&#65024;"] = "ssetmn";
+macro2utf8["rotimes"] = "&#10805;";
+utf82macro["&#10805;"] = "rotimes";
+macro2utf8["laquo"] = "&#171;";
+utf82macro["&#171;"] = "laquo";
+macro2utf8["bigstar"] = "&#9733;";
+utf82macro["&#9733;"] = "bigstar";
+macro2utf8["Rrightarrow"] = "&#8667;";
+utf82macro["&#8667;"] = "Rrightarrow";
+macro2utf8["erDot"] = "&#8787;";
+utf82macro["&#8787;"] = "erDot";
+macro2utf8["subseteq"] = "&#8838;";
+utf82macro["&#8838;"] = "subseteq";
+macro2utf8["leftharpoondown"] = "&#8637;";
+utf82macro["&#8637;"] = "leftharpoondown";
+macro2utf8["infin"] = "&#8734;";
+utf82macro["&#8734;"] = "infin";
+macro2utf8["zdot"] = "&#380;";
+utf82macro["&#380;"] = "zdot";
+macro2utf8["solbar"] = "&#9023;";
+utf82macro["&#9023;"] = "solbar";
+macro2utf8["Iuml"] = "&#207;";
+utf82macro["&#207;"] = "Iuml";
+macro2utf8["Kfr"] = "&#120078;";
+utf82macro["&#120078;"] = "Kfr";
+macro2utf8["fscr"] = "&#119995;";
+utf82macro["&#119995;"] = "fscr";
+macro2utf8["DJcy"] = "&#1026;";
+utf82macro["&#1026;"] = "DJcy";
+macro2utf8["veeeq"] = "&#8794;";
+utf82macro["&#8794;"] = "veeeq";
+macro2utf8["Star"] = "&#8902;";
+utf82macro["&#8902;"] = "Star";
+macro2utf8["lsquor"] = "&#8218;";
+utf82macro["&#8218;"] = "lsquor";
+macro2utf8["Uacute"] = "&#218;";
+utf82macro["&#218;"] = "Uacute";
+macro2utf8["weierp"] = "&#8472;";
+utf82macro["&#8472;"] = "weierp";
+macro2utf8["rang"] = "&#9002;";
+utf82macro["&#9002;"] = "rang";
+macro2utf8["hamilt"] = "&#8459;";
+utf82macro["&#8459;"] = "hamilt";
+macro2utf8["angsph"] = "&#8738;";
+utf82macro["&#8738;"] = "angsph";
+macro2utf8["YUcy"] = "&#1070;";
+utf82macro["&#1070;"] = "YUcy";
+macro2utf8["Wcirc"] = "&#372;";
+utf82macro["&#372;"] = "Wcirc";
+macro2utf8["supsetneq"] = "&#8843;";
+utf82macro["&#8843;"] = "supsetneq";
+macro2utf8["gap"] = "&#8819;";
+utf82macro["&#8819;"] = "gap";
+macro2utf8["mscr"] = "&#120002;";
+utf82macro["&#120002;"] = "mscr";
+macro2utf8["KJcy"] = "&#1036;";
+utf82macro["&#1036;"] = "KJcy";
+macro2utf8["qprime"] = "&#8279;";
+utf82macro["&#8279;"] = "qprime";
+macro2utf8["EqualTilde"] = "&#8770;";
+utf82macro["&#8770;"] = "EqualTilde";
+macro2utf8["vBar"] = "&#10984;";
+utf82macro["&#10984;"] = "vBar";
+macro2utf8["larrpl"] = "&#10553;";
+utf82macro["&#10553;"] = "larrpl";
+macro2utf8["nvge"] = "&#8817;";
+utf82macro["&#8817;"] = "nvge";
+macro2utf8["approx"] = "&#8776;";
+utf82macro["&#8776;"] = "approx";
+macro2utf8["lnE"] = "&#8808;";
+utf82macro["&#8808;"] = "lnE";
+macro2utf8["NotGreaterLess"] = "&#8825;";
+utf82macro["&#8825;"] = "NotGreaterLess";
+macro2utf8["epar"] = "&#8917;";
+utf82macro["&#8917;"] = "epar";
+macro2utf8["bigotimes"] = "&#8855;";
+utf82macro["&#8855;"] = "bigotimes";
+macro2utf8["xharr"] = "&#62840;";
+utf82macro["&#62840;"] = "xharr";
+macro2utf8["roang"] = "&#62809;";
+utf82macro["&#62809;"] = "roang";
+macro2utf8["xcup"] = "&#8899;";
+utf82macro["&#8899;"] = "xcup";
+macro2utf8["tscr"] = "&#120009;";
+utf82macro["&#120009;"] = "tscr";
+macro2utf8["thkap"] = "&#8776;&#65024;";
+utf82macro["&#8776;&#65024;"] = "thkap";
+macro2utf8["Aacute"] = "&#193;";
+utf82macro["&#193;"] = "Aacute";
+macro2utf8["rcy"] = "&#1088;";
+utf82macro["&#1088;"] = "rcy";
+macro2utf8["jukcy"] = "&#1108;";
+utf82macro["&#1108;"] = "jukcy";
+macro2utf8["hookleftarrow"] = "&#8617;";
+utf82macro["&#8617;"] = "hookleftarrow";
+macro2utf8["napid"] = "&#8779;&#824;";
+utf82macro["&#8779;&#824;"] = "napid";
+macro2utf8["tscy"] = "&#1094;";
+utf82macro["&#1094;"] = "tscy";
+macro2utf8["nvgt"] = "&#8815;";
+utf82macro["&#8815;"] = "nvgt";
+macro2utf8["lpar"] = "(";
+utf82macro["("] = "lpar";
+macro2utf8["ldsh"] = "&#8626;";
+utf82macro["&#8626;"] = "ldsh";
+macro2utf8["aring"] = "&#229;";
+utf82macro["&#229;"] = "aring";
+macro2utf8["nGg"] = "&#8921;&#824;";
+utf82macro["&#8921;&#824;"] = "nGg";
+macro2utf8["LessEqualGreater"] = "&#8922;";
+utf82macro["&#8922;"] = "LessEqualGreater";
+macro2utf8["gcd"] = "gcd";
+utf82macro["gcd"] = "gcd";
+macro2utf8["oplus"] = "&#8853;";
+utf82macro["&#8853;"] = "oplus";
+macro2utf8["lcaron"] = "&#318;";
+utf82macro["&#318;"] = "lcaron";
+macro2utf8["DownArrow"] = "&#8595;";
+utf82macro["&#8595;"] = "DownArrow";
+macro2utf8["xutri"] = "&#9651;";
+utf82macro["&#9651;"] = "xutri";
+macro2utf8["Psi"] = "&#936;";
+utf82macro["&#936;"] = "Psi";
+macro2utf8["lesssim"] = "&#8818;";
+utf82macro["&#8818;"] = "lesssim";
+macro2utf8["topcir"] = "&#10993;";
+utf82macro["&#10993;"] = "topcir";
+macro2utf8["puncsp"] = "&#8200;";
+utf82macro["&#8200;"] = "puncsp";
+macro2utf8["origof"] = "&#8886;";
+utf82macro["&#8886;"] = "origof";
+macro2utf8["gnsim"] = "&#8935;";
+utf82macro["&#8935;"] = "gnsim";
+macro2utf8["eogon"] = "&#281;";
+utf82macro["&#281;"] = "eogon";
+macro2utf8["spar"] = "&#8741;&#65024;";
+utf82macro["&#8741;&#65024;"] = "spar";
+macro2utf8["LowerRightArrow"] = "&#8600;";
+utf82macro["&#8600;"] = "LowerRightArrow";
+macro2utf8["Lleftarrow"] = "&#8666;";
+utf82macro["&#8666;"] = "Lleftarrow";
+macro2utf8["nGt"] = "&#8811;&#824;";
+utf82macro["&#8811;&#824;"] = "nGt";
+macro2utf8["euml"] = "&#235;";
+utf82macro["&#235;"] = "euml";
+macro2utf8["reg"] = "&#174;";
+utf82macro["&#174;"] = "reg";
+macro2utf8["exponentiale"] = "&#8519;";
+utf82macro["&#8519;"] = "exponentiale";
+macro2utf8["qint"] = "&#10764;";
+utf82macro["&#10764;"] = "qint";
+macro2utf8["sqcups"] = "&#8852;&#65024;";
+utf82macro["&#8852;&#65024;"] = "sqcups";
+macro2utf8["lne"] = "&#8808;";
+utf82macro["&#8808;"] = "lne";
+macro2utf8["LessSlantEqual"] = "&#10877;";
+utf82macro["&#10877;"] = "LessSlantEqual";
+macro2utf8["Egrave"] = "&#200;";
+utf82macro["&#200;"] = "Egrave";
+macro2utf8["orderof"] = "&#8500;";
+utf82macro["&#8500;"] = "orderof";
+macro2utf8["cirE"] = "&#10691;";
+utf82macro["&#10691;"] = "cirE";
+macro2utf8["nleqslant"] = "&#8816;";
+utf82macro["&#8816;"] = "nleqslant";
+macro2utf8["gcy"] = "&#1075;";
+utf82macro["&#1075;"] = "gcy";
+macro2utf8["curvearrowright"] = "&#8631;";
+utf82macro["&#8631;"] = "curvearrowright";
+macro2utf8["ratail"] = "&#8611;";
+utf82macro["&#8611;"] = "ratail";
+macro2utf8["emsp13"] = "&#8196;";
+utf82macro["&#8196;"] = "emsp13";
+macro2utf8["sdotb"] = "&#8865;";
+utf82macro["&#8865;"] = "sdotb";
+macro2utf8["horbar"] = "&#8213;";
+utf82macro["&#8213;"] = "horbar";
+macro2utf8["emsp14"] = "&#8197;";
+utf82macro["&#8197;"] = "emsp14";
+macro2utf8["npre"] = "&#10927;&#824;";
+utf82macro["&#10927;&#824;"] = "npre";
+macro2utf8["rbrksld"] = "&#10638;";
+utf82macro["&#10638;"] = "rbrksld";
+macro2utf8["sdote"] = "&#10854;";
+utf82macro["&#10854;"] = "sdote";
+macro2utf8["varsupsetneqq"] = "&#8843;&#65024;";
+utf82macro["&#8843;&#65024;"] = "varsupsetneqq";
+macro2utf8["VeryThinSpace"] = "&#8202;";
+utf82macro["&#8202;"] = "VeryThinSpace";
+macro2utf8["DownArrowBar"] = "&#10515;";
+utf82macro["&#10515;"] = "DownArrowBar";
+macro2utf8["Rightarrow"] = "&#8658;";
+utf82macro["&#8658;"] = "Rightarrow";
+macro2utf8["ocir"] = "&#8858;";
+utf82macro["&#8858;"] = "ocir";
+macro2utf8["NotHumpDownHump"] = "&#8782;&#824;";
+utf82macro["&#8782;&#824;"] = "NotHumpDownHump";
+macro2utf8["darr"] = "&#8595;";
+utf82macro["&#8595;"] = "darr";
+macro2utf8["geqq"] = "&#8807;";
+utf82macro["&#8807;"] = "geqq";
+macro2utf8["sup1"] = "&#185;";
+utf82macro["&#185;"] = "sup1";
+macro2utf8["log"] = "log";
+utf82macro["log"] = "log";
+macro2utf8["sup2"] = "&#178;";
+utf82macro["&#178;"] = "sup2";
+macro2utf8["micro"] = "&#181;";
+utf82macro["&#181;"] = "micro";
+macro2utf8["amp"] = "&#38;";
+utf82macro["&#38;"] = "amp";
+macro2utf8["arccos"] = "arccos";
+utf82macro["arccos"] = "arccos";
+macro2utf8["sup3"] = "&#179;";
+utf82macro["&#179;"] = "sup3";
+macro2utf8["GreaterTilde"] = "&#8819;";
+utf82macro["&#8819;"] = "GreaterTilde";
+macro2utf8["circeq"] = "&#8791;";
+utf82macro["&#8791;"] = "circeq";
+macro2utf8["rfr"] = "&#120111;";
+utf82macro["&#120111;"] = "rfr";
+macro2utf8["dash"] = "&#8208;";
+utf82macro["&#8208;"] = "dash";
+macro2utf8["rbrkslu"] = "&#10640;";
+utf82macro["&#10640;"] = "rbrkslu";
+macro2utf8["Dcaron"] = "&#270;";
+utf82macro["&#270;"] = "Dcaron";
+macro2utf8["and"] = "&#8743;";
+utf82macro["&#8743;"] = "and";
+macro2utf8["Vbar"] = "&#10987;";
+utf82macro["&#10987;"] = "Vbar";
+macro2utf8["angzarr"] = "&#9084;";
+utf82macro["&#9084;"] = "angzarr";
+macro2utf8["gel"] = "&#8923;";
+utf82macro["&#8923;"] = "gel";
+macro2utf8["ang"] = "&#8736;";
+utf82macro["&#8736;"] = "ang";
+macro2utf8["lor"] = "&#8744;";
+utf82macro["&#8744;"] = "lor";
+macro2utf8["circ"] = "&#8728;";
+utf82macro["&#8728;"] = "circ";
+macro2utf8["upharpoonright"] = "&#8638;";
+utf82macro["&#8638;"] = "upharpoonright";
+macro2utf8["dblac"] = "&#733;";
+utf82macro["&#733;"] = "dblac";
+macro2utf8["subsetneqq"] = "&#8842;";
+utf82macro["&#8842;"] = "subsetneqq";
+macro2utf8["rhard"] = "&#8641;";
+utf82macro["&#8641;"] = "rhard";
+macro2utf8["Intersection"] = "&#8898;";
+utf82macro["&#8898;"] = "Intersection";
+macro2utf8["cire"] = "&#8791;";
+utf82macro["&#8791;"] = "cire";
+macro2utf8["apE"] = "&#8778;";
+utf82macro["&#8778;"] = "apE";
+macro2utf8["sung"] = "&#9834;";
+utf82macro["&#9834;"] = "sung";
+macro2utf8["geq"] = "&#8805;";
+utf82macro["&#8805;"] = "geq";
+macro2utf8["succsim"] = "&#8831;";
+utf82macro["&#8831;"] = "succsim";
+macro2utf8["ges"] = "&#10878;";
+utf82macro["&#10878;"] = "ges";
+macro2utf8["Gbreve"] = "&#286;";
+utf82macro["&#286;"] = "Gbreve";
+macro2utf8["intercal"] = "&#8890;";
+utf82macro["&#8890;"] = "intercal";
+macro2utf8["supE"] = "&#8839;";
+utf82macro["&#8839;"] = "supE";
+macro2utf8["NotCupCap"] = "&#8813;";
+utf82macro["&#8813;"] = "NotCupCap";
+macro2utf8["loz"] = "&#9674;";
+utf82macro["&#9674;"] = "loz";
+macro2utf8["capcup"] = "&#10823;";
+utf82macro["&#10823;"] = "capcup";
+macro2utf8["larrtl"] = "&#8610;";
+utf82macro["&#8610;"] = "larrtl";
+macro2utf8["AElig"] = "&#198;";
+utf82macro["&#198;"] = "AElig";
+macro2utf8["rarr"] = "&#8594;";
+utf82macro["&#8594;"] = "rarr";
+macro2utf8["varkappa"] = "&#1008;";
+utf82macro["&#1008;"] = "varkappa";
+macro2utf8["upsi"] = "&#965;";
+utf82macro["&#965;"] = "upsi";
+macro2utf8["loang"] = "&#62808;";
+utf82macro["&#62808;"] = "loang";
+macro2utf8["looparrowleft"] = "&#8619;";
+utf82macro["&#8619;"] = "looparrowleft";
+macro2utf8["IOcy"] = "&#1025;";
+utf82macro["&#1025;"] = "IOcy";
+macro2utf8["backprime"] = "&#8245;";
+utf82macro["&#8245;"] = "backprime";
+macro2utf8["sstarf"] = "&#8902;";
+utf82macro["&#8902;"] = "sstarf";
+macro2utf8["rharu"] = "&#8640;";
+utf82macro["&#8640;"] = "rharu";
+macro2utf8["gesl"] = "&#8923;&#65024;";
+utf82macro["&#8923;&#65024;"] = "gesl";
+macro2utf8["xotime"] = "&#8855;";
+utf82macro["&#8855;"] = "xotime";
+macro2utf8["minus"] = "&#8722;";
+utf82macro["&#8722;"] = "minus";
+macro2utf8["gvnE"] = "&#8809;&#65024;";
+utf82macro["&#8809;&#65024;"] = "gvnE";
+macro2utf8["gfr"] = "&#120100;";
+utf82macro["&#120100;"] = "gfr";
+macro2utf8["lfisht"] = "&#10620;";
+utf82macro["&#10620;"] = "lfisht";
+macro2utf8["jcirc"] = "&#309;";
+utf82macro["&#309;"] = "jcirc";
+macro2utf8["roarr"] = "&#8702;";
+utf82macro["&#8702;"] = "roarr";
+macro2utf8["rho"] = "&#961;";
+utf82macro["&#961;"] = "rho";
+macro2utf8["nvle"] = "&#8816;";
+utf82macro["&#8816;"] = "nvle";
+macro2utf8["sect"] = "&#167;";
+utf82macro["&#167;"] = "sect";
+macro2utf8["ggg"] = "&#8921;";
+utf82macro["&#8921;"] = "ggg";
+macro2utf8["plusb"] = "&#8862;";
+utf82macro["&#8862;"] = "plusb";
+macro2utf8["NotTildeFullEqual"] = "&#8775;";
+utf82macro["&#8775;"] = "NotTildeFullEqual";
+macro2utf8["NegativeVeryThinSpace"] = "&#8202;&#65024;";
+utf82macro["&#8202;&#65024;"] = "NegativeVeryThinSpace";
+macro2utf8["ape"] = "&#8778;";
+utf82macro["&#8778;"] = "ape";
+macro2utf8["pluse"] = "&#10866;";
+utf82macro["&#10866;"] = "pluse";
+macro2utf8["dollar"] = "$";
+utf82macro["$"] = "dollar";
+macro2utf8["divonx"] = "&#8903;";
+utf82macro["&#8903;"] = "divonx";
+macro2utf8["partial"] = "&#8706;";
+utf82macro["&#8706;"] = "partial";
+macro2utf8["DoubleLeftRightArrow"] = "&#8660;";
+utf82macro["&#8660;"] = "DoubleLeftRightArrow";
+macro2utf8["varepsilon"] = "&#949;";
+utf82macro["&#949;"] = "varepsilon";
+macro2utf8["supe"] = "&#8839;";
+utf82macro["&#8839;"] = "supe";
+macro2utf8["nvlt"] = "&#8814;";
+utf82macro["&#8814;"] = "nvlt";
+macro2utf8["angrtvb"] = "&#10653;&#65024;";
+utf82macro["&#10653;&#65024;"] = "angrtvb";
+macro2utf8["gets"] = "&#8592;";
+utf82macro["&#8592;"] = "gets";
+macro2utf8["nparallel"] = "&#8742;";
+utf82macro["&#8742;"] = "nparallel";
+macro2utf8["varphi"] = "&#966;";
+utf82macro["&#966;"] = "varphi";
+macro2utf8["nsupseteq"] = "&#8841;";
+utf82macro["&#8841;"] = "nsupseteq";
+macro2utf8["circledR"] = "&#174;";
+utf82macro["&#174;"] = "circledR";
+macro2utf8["circledS"] = "&#9416;";
+utf82macro["&#9416;"] = "circledS";
+macro2utf8["primes"] = "&#8473;";
+utf82macro["&#8473;"] = "primes";
+macro2utf8["cuwed"] = "&#8911;";
+utf82macro["&#8911;"] = "cuwed";
+macro2utf8["cupcap"] = "&#10822;";
+utf82macro["&#10822;"] = "cupcap";
+macro2utf8["nLl"] = "&#8920;&#824;";
+utf82macro["&#8920;&#824;"] = "nLl";
+macro2utf8["lozf"] = "&#10731;";
+utf82macro["&#10731;"] = "lozf";
+macro2utf8["ShortLeftArrow"] = "&#8592;&#65024;";
+utf82macro["&#8592;&#65024;"] = "ShortLeftArrow";
+macro2utf8["nLt"] = "&#8810;&#824;";
+utf82macro["&#8810;&#824;"] = "nLt";
+macro2utf8["lesdotor"] = "&#10883;";
+utf82macro["&#10883;"] = "lesdotor";
+macro2utf8["Fcy"] = "&#1060;";
+utf82macro["&#1060;"] = "Fcy";
+macro2utf8["scnsim"] = "&#8937;";
+utf82macro["&#8937;"] = "scnsim";
+macro2utf8["VerticalLine"] = "|";
+utf82macro["|"] = "VerticalLine";
+macro2utf8["nwArr"] = "&#8662;";
+utf82macro["&#8662;"] = "nwArr";
+macro2utf8["LeftTeeArrow"] = "&#8612;";
+utf82macro["&#8612;"] = "LeftTeeArrow";
+macro2utf8["iprod"] = "&#10812;";
+utf82macro["&#10812;"] = "iprod";
+macro2utf8["lsh"] = "&#8624;";
+utf82macro["&#8624;"] = "lsh";
+macro2utf8["Congruent"] = "&#8801;";
+utf82macro["&#8801;"] = "Congruent";
+macro2utf8["NotLeftTriangle"] = "&#8938;";
+utf82macro["&#8938;"] = "NotLeftTriangle";
+macro2utf8["rdldhar"] = "&#10601;";
+utf82macro["&#10601;"] = "rdldhar";
+macro2utf8["varpropto"] = "&#8733;";
+utf82macro["&#8733;"] = "varpropto";
+macro2utf8["nvlArr"] = "&#8653;";
+utf82macro["&#8653;"] = "nvlArr";
+macro2utf8["arg"] = "arg";
+utf82macro["arg"] = "arg";
+macro2utf8["lhard"] = "&#8637;";
+utf82macro["&#8637;"] = "lhard";
+macro2utf8["surd"] = "????";
+utf82macro["????"] = "surd";
+macro2utf8["napos"] = "&#329;";
+utf82macro["&#329;"] = "napos";
+macro2utf8["lparlt"] = "&#10643;";
+utf82macro["&#10643;"] = "lparlt";
+macro2utf8["hslash"] = "&#8463;";
+utf82macro["&#8463;"] = "hslash";
+macro2utf8["Gopf"] = "&#120126;";
+utf82macro["&#120126;"] = "Gopf";
+macro2utf8["SHcy"] = "&#1064;";
+utf82macro["&#1064;"] = "SHcy";
+macro2utf8["triangle"] = "&#9653;";
+utf82macro["&#9653;"] = "triangle";
+macro2utf8["Qfr"] = "&#120084;";
+utf82macro["&#120084;"] = "Qfr";
+macro2utf8["DiacriticalAcute"] = "&#180;";
+utf82macro["&#180;"] = "DiacriticalAcute";
+macro2utf8["tbrk"] = "&#9140;";
+utf82macro["&#9140;"] = "tbrk";
+macro2utf8["Implies"] = "&#8658;";
+utf82macro["&#8658;"] = "Implies";
+macro2utf8["comp"] = "&#8705;";
+utf82macro["&#8705;"] = "comp";
+macro2utf8["ddarr"] = "&#8650;";
+utf82macro["&#8650;"] = "ddarr";
+macro2utf8["Colone"] = "&#10868;";
+utf82macro["&#10868;"] = "Colone";
+macro2utf8["smashp"] = "&#10803;";
+utf82macro["&#10803;"] = "smashp";
+macro2utf8["ccups"] = "&#10828;";
+utf82macro["&#10828;"] = "ccups";
+macro2utf8["triangleq"] = "&#8796;";
+utf82macro["&#8796;"] = "triangleq";
+macro2utf8["NotSquareSubsetEqual"] = "&#8930;";
+utf82macro["&#8930;"] = "NotSquareSubsetEqual";
+macro2utf8["Nopf"] = "&#8469;";
+utf82macro["&#8469;"] = "Nopf";
+macro2utf8["ZHcy"] = "&#1046;";
+utf82macro["&#1046;"] = "ZHcy";
+macro2utf8["map"] = "&#8614;";
+utf82macro["&#8614;"] = "map";
+macro2utf8["lharu"] = "&#8636;";
+utf82macro["&#8636;"] = "lharu";
+macro2utf8["glE"] = "&#10898;";
+utf82macro["&#10898;"] = "glE";
+macro2utf8["cong"] = "&#8773;";
+utf82macro["&#8773;"] = "cong";
+macro2utf8["Ecaron"] = "&#282;";
+utf82macro["&#282;"] = "Ecaron";
+macro2utf8["Uring"] = "&#366;";
+utf82macro["&#366;"] = "Uring";
+macro2utf8["blacktriangleright"] = "&#9656;";
+utf82macro["&#9656;"] = "blacktriangleright";
+macro2utf8["ntilde"] = "&#241;";
+utf82macro["&#241;"] = "ntilde";
+macro2utf8["max"] = "max";
+utf82macro["max"] = "max";
+macro2utf8["loarr"] = "&#8701;";
+utf82macro["&#8701;"] = "loarr";
+macro2utf8["LeftArrow"] = "&#8592;";
+utf82macro["&#8592;"] = "LeftArrow";
+macro2utf8["Gdot"] = "&#288;";
+utf82macro["&#288;"] = "Gdot";
+macro2utf8["Uopf"] = "&#120140;";
+utf82macro["&#120140;"] = "Uopf";
+macro2utf8["bigsqcup"] = "&#8852;";
+utf82macro["&#8852;"] = "bigsqcup";
+macro2utf8["wedgeq"] = "&#8793;";
+utf82macro["&#8793;"] = "wedgeq";
+macro2utf8["RoundImplies"] = "&#10608;";
+utf82macro["&#10608;"] = "RoundImplies";
+macro2utf8["prap"] = "&#8830;";
+utf82macro["&#8830;"] = "prap";
+macro2utf8["gescc"] = "&#10921;";
+utf82macro["&#10921;"] = "gescc";
+macro2utf8["realine"] = "&#8475;";
+utf82macro["&#8475;"] = "realine";
+macro2utf8["ast"] = "*";
+utf82macro["*"] = "ast";
+macro2utf8["subedot"] = "&#10947;";
+utf82macro["&#10947;"] = "subedot";
+macro2utf8["LeftTeeVector"] = "&#10586;";
+utf82macro["&#10586;"] = "LeftTeeVector";
+macro2utf8["female"] = "&#9792;";
+utf82macro["&#9792;"] = "female";
+macro2utf8["circlearrowleft"] = "&#8634;";
+utf82macro["&#8634;"] = "circlearrowleft";
+macro2utf8["Ffr"] = "&#120073;";
+utf82macro["&#120073;"] = "Ffr";
+macro2utf8["VDash"] = "&#8875;";
+utf82macro["&#8875;"] = "VDash";
+macro2utf8["jsercy"] = "&#1112;";
+utf82macro["&#1112;"] = "jsercy";
+macro2utf8["Proportional"] = "&#8733;";
+utf82macro["&#8733;"] = "Proportional";
+macro2utf8["OverBracket"] = "&#9140;";
+utf82macro["&#9140;"] = "OverBracket";
+macro2utf8["gla"] = "&#10917;";
+utf82macro["&#10917;"] = "gla";
+macro2utf8["NotElement"] = "&#8713;";
+utf82macro["&#8713;"] = "NotElement";
+macro2utf8["theta"] = "&#952;";
+utf82macro["&#952;"] = "theta";
+macro2utf8["kcedil"] = "&#311;";
+utf82macro["&#311;"] = "kcedil";
+macro2utf8["smeparsl"] = "&#10724;";
+utf82macro["&#10724;"] = "smeparsl";
+macro2utf8["rarrb"] = "&#8677;";
+utf82macro["&#8677;"] = "rarrb";
+macro2utf8["rarrc"] = "&#10547;";
+utf82macro["&#10547;"] = "rarrc";
+macro2utf8["ograve"] = "&#242;";
+utf82macro["&#242;"] = "ograve";
+macro2utf8["glj"] = "&#10916;";
+utf82macro["&#10916;"] = "glj";
+macro2utf8["infty"] = "&#8734;";
+utf82macro["&#8734;"] = "infty";
+macro2utf8["gnE"] = "&#8809;";
+utf82macro["&#8809;"] = "gnE";
+macro2utf8["copf"] = "&#120148;";
+utf82macro["&#120148;"] = "copf";
+macro2utf8["LeftArrowRightArrow"] = "&#8646;";
+utf82macro["&#8646;"] = "LeftArrowRightArrow";
+macro2utf8["cwconint"] = "&#8754;";
+utf82macro["&#8754;"] = "cwconint";
+macro2utf8["Ascr"] = "&#119964;";
+utf82macro["&#119964;"] = "Ascr";
+macro2utf8["NegativeThinSpace"] = "&#8201;&#65024;";
+utf82macro["&#8201;&#65024;"] = "NegativeThinSpace";
+macro2utf8["varsubsetneq"] = "&#8842;&#65024;";
+utf82macro["&#8842;&#65024;"] = "varsubsetneq";
+macro2utf8["trisb"] = "&#10701;";
+utf82macro["&#10701;"] = "trisb";
+macro2utf8["rightharpoonup"] = "&#8640;";
+utf82macro["&#8640;"] = "rightharpoonup";
+macro2utf8["imagline"] = "&#8464;";
+utf82macro["&#8464;"] = "imagline";
+macro2utf8["mcy"] = "&#1084;";
+utf82macro["&#1084;"] = "mcy";
+macro2utf8["Cacute"] = "&#262;";
+utf82macro["&#262;"] = "Cacute";
+macro2utf8["bumpeq"] = "&#8783;";
+utf82macro["&#8783;"] = "bumpeq";
+macro2utf8["jopf"] = "&#120155;";
+utf82macro["&#120155;"] = "jopf";
+macro2utf8["shchcy"] = "&#1097;";
+utf82macro["&#1097;"] = "shchcy";
+macro2utf8["rarrw"] = "&#8605;";
+utf82macro["&#8605;"] = "rarrw";
+macro2utf8["uuarr"] = "&#8648;";
+utf82macro["&#8648;"] = "uuarr";
+macro2utf8["doteq"] = "&#8784;";
+utf82macro["&#8784;"] = "doteq";
+macro2utf8["cudarrl"] = "&#10552;";
+utf82macro["&#10552;"] = "cudarrl";
+macro2utf8["varsigma"] = "&#962;";
+utf82macro["&#962;"] = "varsigma";
+macro2utf8["Hscr"] = "&#8459;";
+utf82macro["&#8459;"] = "Hscr";
+macro2utf8["DownArrowUpArrow"] = "&#8693;";
+utf82macro["&#8693;"] = "DownArrowUpArrow";
+macro2utf8["Ecirc"] = "&#202;";
+utf82macro["&#202;"] = "Ecirc";
+macro2utf8["DD"] = "&#8517;";
+utf82macro["&#8517;"] = "DD";
+macro2utf8["copy"] = "&#169;";
+utf82macro["&#169;"] = "copy";
+macro2utf8["SquareIntersection"] = "&#8851;";
+utf82macro["&#8851;"] = "SquareIntersection";
+macro2utf8["RightUpVector"] = "&#8638;";
+utf82macro["&#8638;"] = "RightUpVector";
+macro2utf8["NotSucceedsSlantEqual"] = "&#8929;";
+utf82macro["&#8929;"] = "NotSucceedsSlantEqual";
+macro2utf8["cudarrr"] = "&#10549;";
+utf82macro["&#10549;"] = "cudarrr";
+macro2utf8["verbar"] = "|";
+utf82macro["|"] = "verbar";
+macro2utf8["ncaron"] = "&#328;";
+utf82macro["&#328;"] = "ncaron";
+macro2utf8["prurel"] = "&#8880;";
+utf82macro["&#8880;"] = "prurel";
+macro2utf8["nearr"] = "&#8599;";
+utf82macro["&#8599;"] = "nearr";
+macro2utf8["cdot"] = "&#267;";
+utf82macro["&#267;"] = "cdot";
+macro2utf8["qopf"] = "&#120162;";
+utf82macro["&#120162;"] = "qopf";
+macro2utf8["SucceedsSlantEqual"] = "&#8829;";
+utf82macro["&#8829;"] = "SucceedsSlantEqual";
+macro2utf8["Oscr"] = "&#119978;";
+utf82macro["&#119978;"] = "Oscr";
+macro2utf8["xfr"] = "&#120117;";
+utf82macro["&#120117;"] = "xfr";
+macro2utf8["gne"] = "&#8809;";
+utf82macro["&#8809;"] = "gne";
+macro2utf8["Ccedil"] = "&#199;";
+utf82macro["&#199;"] = "Ccedil";
+macro2utf8["nlarr"] = "&#8602;";
+utf82macro["&#8602;"] = "nlarr";
+macro2utf8["inodot"] = "&#305;";
+utf82macro["&#305;"] = "inodot";
+macro2utf8["prec"] = "&#8826;";
+utf82macro["&#8826;"] = "prec";
+macro2utf8["percnt"] = "%";
+utf82macro["%"] = "percnt";
+macro2utf8["Exists"] = "&#8707;";
+utf82macro["&#8707;"] = "Exists";
+macro2utf8["bcy"] = "&#1073;";
+utf82macro["&#1073;"] = "bcy";
+macro2utf8["xopf"] = "&#120169;";
+utf82macro["&#120169;"] = "xopf";
+macro2utf8["nsimeq"] = "&#8772;";
+utf82macro["&#8772;"] = "nsimeq";
+macro2utf8["nrtri"] = "&#8939;";
+utf82macro["&#8939;"] = "nrtri";
+macro2utf8["barvee"] = "&#8893;";
+utf82macro["&#8893;"] = "barvee";
+macro2utf8["Vscr"] = "&#119985;";
+utf82macro["&#119985;"] = "Vscr";
+macro2utf8["Zcaron"] = "&#381;";
+utf82macro["&#381;"] = "Zcaron";
+macro2utf8["ReverseElement"] = "&#8715;";
+utf82macro["&#8715;"] = "ReverseElement";
+macro2utf8["npolint"] = "&#10772;";
+utf82macro["&#10772;"] = "npolint";
+macro2utf8["NotGreaterTilde"] = "&#8821;";
+utf82macro["&#8821;"] = "NotGreaterTilde";
+macro2utf8["lmoustache"] = "&#9136;";
+utf82macro["&#9136;"] = "lmoustache";
+macro2utf8["forkv"] = "&#10969;";
+utf82macro["&#10969;"] = "forkv";
+macro2utf8["rmoustache"] = "&#9137;";
+utf82macro["&#9137;"] = "rmoustache";
+macro2utf8["DownLeftVectorBar"] = "&#10582;";
+utf82macro["&#10582;"] = "DownLeftVectorBar";
+macro2utf8["cosh"] = "cosh";
+utf82macro["cosh"] = "cosh";
+macro2utf8["mfr"] = "&#120106;";
+utf82macro["&#120106;"] = "mfr";
+macro2utf8["LessGreater"] = "&#8822;";
+utf82macro["&#8822;"] = "LessGreater";
+macro2utf8["zeetrf"] = "&#8488;";
+utf82macro["&#8488;"] = "zeetrf";
+macro2utf8["DiacriticalDot"] = "&#729;";
+utf82macro["&#729;"] = "DiacriticalDot";
+macro2utf8["Poincareplane"] = "&#8460;";
+utf82macro["&#8460;"] = "Poincareplane";
+macro2utf8["curlyeqsucc"] = "&#8927;";
+utf82macro["&#8927;"] = "curlyeqsucc";
+macro2utf8["Equal"] = "&#10869;";
+utf82macro["&#10869;"] = "Equal";
+macro2utf8["divides"] = "&#8739;";
+utf82macro["&#8739;"] = "divides";
+macro2utf8["scpolint"] = "&#10771;";
+utf82macro["&#10771;"] = "scpolint";
+macro2utf8["ngsim"] = "&#8821;";
+utf82macro["&#8821;"] = "ngsim";
+macro2utf8["larrbfs"] = "&#10527;";
+utf82macro["&#10527;"] = "larrbfs";
+macro2utf8["HilbertSpace"] = "&#8459;";
+utf82macro["&#8459;"] = "HilbertSpace";
+macro2utf8["otilde"] = "&#245;";
+utf82macro["&#245;"] = "otilde";
+macro2utf8["larrb"] = "&#8676;";
+utf82macro["&#8676;"] = "larrb";
+macro2utf8["wcirc"] = "&#373;";
+utf82macro["&#373;"] = "wcirc";
+macro2utf8["dscr"] = "&#119993;";
+utf82macro["&#119993;"] = "dscr";
+macro2utf8["phmmat"] = "&#8499;";
+utf82macro["&#8499;"] = "phmmat";
+macro2utf8["lacute"] = "&#314;";
+utf82macro["&#314;"] = "lacute";
+macro2utf8["tstrok"] = "&#359;";
+utf82macro["&#359;"] = "tstrok";
+macro2utf8["NotDoubleVerticalBar"] = "&#8742;";
+utf82macro["&#8742;"] = "NotDoubleVerticalBar";
+macro2utf8["lagran"] = "&#8466;";
+utf82macro["&#8466;"] = "lagran";
+macro2utf8["NotRightTriangle"] = "&#8939;";
+utf82macro["&#8939;"] = "NotRightTriangle";
+macro2utf8["dscy"] = "&#1109;";
+utf82macro["&#1109;"] = "dscy";
+macro2utf8["rightrightarrows"] = "&#8649;";
+utf82macro["&#8649;"] = "rightrightarrows";
+macro2utf8["seArr"] = "&#8664;";
+utf82macro["&#8664;"] = "seArr";
+macro2utf8["RightTriangleBar"] = "&#10704;";
+utf82macro["&#10704;"] = "RightTriangleBar";
+macro2utf8["coth"] = "coth";
+utf82macro["coth"] = "coth";
+macro2utf8["swarrow"] = "&#8601;";
+utf82macro["&#8601;"] = "swarrow";
+macro2utf8["semi"] = ";";
+utf82macro[";"] = "semi";
+macro2utf8["kscr"] = "&#120000;";
+utf82macro["&#120000;"] = "kscr";
+macro2utf8["NotLessEqual"] = "&#8816;&#8421;";
+utf82macro["&#8816;&#8421;"] = "NotLessEqual";
+macro2utf8["cularr"] = "&#8630;";
+utf82macro["&#8630;"] = "cularr";
+macro2utf8["blacklozenge"] = "&#10731;";
+utf82macro["&#10731;"] = "blacklozenge";
+macro2utf8["realpart"] = "&#8476;";
+utf82macro["&#8476;"] = "realpart";
+macro2utf8["LeftTriangleEqual"] = "&#8884;";
+utf82macro["&#8884;"] = "LeftTriangleEqual";
+macro2utf8["bfr"] = "&#120095;";
+utf82macro["&#120095;"] = "bfr";
+macro2utf8["Uuml"] = "&#220;";
+utf82macro["&#220;"] = "Uuml";
+macro2utf8["longleftrightarrow"] = "????";
+utf82macro["????"] = "longleftrightarrow";
+macro2utf8["lcedil"] = "&#316;";
+utf82macro["&#316;"] = "lcedil";
+macro2utf8["complement"] = "&#8705;";
+utf82macro["&#8705;"] = "complement";
+macro2utf8["rscr"] = "&#120007;";
+utf82macro["&#120007;"] = "rscr";
+macro2utf8["mho"] = "&#8487;";
+utf82macro["&#8487;"] = "mho";
+macro2utf8["mcomma"] = "&#10793;";
+utf82macro["&#10793;"] = "mcomma";
+macro2utf8["wedbar"] = "&#10847;";
+utf82macro["&#10847;"] = "wedbar";
+macro2utf8["NotVerticalBar"] = "&#8740;";
+utf82macro["&#8740;"] = "NotVerticalBar";
+macro2utf8["Lcy"] = "&#1051;";
+utf82macro["&#1051;"] = "Lcy";
+macro2utf8["tprime"] = "&#8244;";
+utf82macro["&#8244;"] = "tprime";
+macro2utf8["precneqq"] = "&#10933;";
+utf82macro["&#10933;"] = "precneqq";
+macro2utf8["Downarrow"] = "&#8659;";
+utf82macro["&#8659;"] = "Downarrow";
+macro2utf8["rsh"] = "&#8625;";
+utf82macro["&#8625;"] = "rsh";
+macro2utf8["mid"] = "&#8739;";
+utf82macro["&#8739;"] = "mid";
+macro2utf8["blank"] = "&#9251;";
+utf82macro["&#9251;"] = "blank";
+macro2utf8["square"] = "&#9633;";
+utf82macro["&#9633;"] = "square";
+macro2utf8["squarf"] = "&#9642;";
+utf82macro["&#9642;"] = "squarf";
+macro2utf8["fflig"] = "&#64256;";
+utf82macro["&#64256;"] = "fflig";
+macro2utf8["downdownarrows"] = "&#8650;";
+utf82macro["&#8650;"] = "downdownarrows";
+macro2utf8["yscr"] = "&#120014;";
+utf82macro["&#120014;"] = "yscr";
+macro2utf8["subdot"] = "&#10941;";
+utf82macro["&#10941;"] = "subdot";
+macro2utf8["ShortRightArrow"] = "&#8594;&#65024;";
+utf82macro["&#8594;&#65024;"] = "ShortRightArrow";
+macro2utf8["NotCongruent"] = "&#8802;";
+utf82macro["&#8802;"] = "NotCongruent";
+macro2utf8["Gg"] = "&#8921;";
+utf82macro["&#8921;"] = "Gg";
+macro2utf8["Lstrok"] = "&#321;";
+utf82macro["&#321;"] = "Lstrok";
+macro2utf8["min"] = "max";
+utf82macro["max"] = "min";
+macro2utf8["Laplacetrf"] = "&#8466;";
+utf82macro["&#8466;"] = "Laplacetrf";
+macro2utf8["rarrap"] = "&#10613;";
+utf82macro["&#10613;"] = "rarrap";
+macro2utf8["NotLessSlantEqual"] = "&#8816;";
+utf82macro["&#8816;"] = "NotLessSlantEqual";
+macro2utf8["DoubleRightArrow"] = "&#8658;";
+utf82macro["&#8658;"] = "DoubleRightArrow";
+macro2utf8["Wfr"] = "&#120090;";
+utf82macro["&#120090;"] = "Wfr";
+macro2utf8["subrarr"] = "&#10617;";
+utf82macro["&#10617;"] = "subrarr";
+macro2utf8["numsp"] = "&#8199;";
+utf82macro["&#8199;"] = "numsp";
+macro2utf8["khcy"] = "&#1093;";
+utf82macro["&#1093;"] = "khcy";
+macro2utf8["oint"] = "&#8750;";
+utf82macro["&#8750;"] = "oint";
+macro2utf8["vprop"] = "&#8733;";
+utf82macro["&#8733;"] = "vprop";
+macro2utf8["hardcy"] = "&#1098;";
+utf82macro["&#1098;"] = "hardcy";
+macro2utf8["boxminus"] = "&#8863;";
+utf82macro["&#8863;"] = "boxminus";
+macro2utf8["GreaterLess"] = "&#8823;";
+utf82macro["&#8823;"] = "GreaterLess";
+macro2utf8["thetav"] = "&#977;";
+utf82macro["&#977;"] = "thetav";
+macro2utf8["scE"] = "&#8830;";
+utf82macro["&#8830;"] = "scE";
+macro2utf8["Gt"] = "&#8811;";
+utf82macro["&#8811;"] = "Gt";
+macro2utf8["Acy"] = "&#1040;";
+utf82macro["&#1040;"] = "Acy";
+macro2utf8["backcong"] = "&#8780;";
+utf82macro["&#8780;"] = "backcong";
+macro2utf8["gtquest"] = "&#10876;";
+utf82macro["&#10876;"] = "gtquest";
+macro2utf8["awint"] = "&#10769;";
+utf82macro["&#10769;"] = "awint";
+macro2utf8["profsurf"] = "&#8979;";
+utf82macro["&#8979;"] = "profsurf";
+macro2utf8["capdot"] = "&#10816;";
+utf82macro["&#10816;"] = "capdot";
+macro2utf8["supdot"] = "&#10942;";
+utf82macro["&#10942;"] = "supdot";
+macro2utf8["oelig"] = "&#339;";
+utf82macro["&#339;"] = "oelig";
+macro2utf8["doteqdot"] = "&#8785;";
+utf82macro["&#8785;"] = "doteqdot";
+macro2utf8["rharul"] = "&#10604;";
+utf82macro["&#10604;"] = "rharul";
+macro2utf8["cylcty"] = "&#9005;";
+utf82macro["&#9005;"] = "cylcty";
+macro2utf8["epsi"] = "&#949;";
+utf82macro["&#949;"] = "epsi";
+macro2utf8["eqcirc"] = "&#8790;";
+utf82macro["&#8790;"] = "eqcirc";
+macro2utf8["nLeftarrow"] = "&#8653;";
+utf82macro["&#8653;"] = "nLeftarrow";
+macro2utf8["rtrie"] = "&#8885;";
+utf82macro["&#8885;"] = "rtrie";
+macro2utf8["para"] = "&#182;";
+utf82macro["&#182;"] = "para";
+macro2utf8["Lfr"] = "&#120079;";
+utf82macro["&#120079;"] = "Lfr";
+macro2utf8["rtrif"] = "&#9656;";
+utf82macro["&#9656;"] = "rtrif";
+macro2utf8["NotReverseElement"] = "&#8716;";
+utf82macro["&#8716;"] = "NotReverseElement";
+macro2utf8["emptyv"] = "&#8709;";
+utf82macro["&#8709;"] = "emptyv";
+macro2utf8["nldr"] = "&#8229;";
+utf82macro["&#8229;"] = "nldr";
+macro2utf8["leqq"] = "&#8806;";
+utf82macro["&#8806;"] = "leqq";
+macro2utf8["CapitalDifferentialD"] = "&#8517;";
+utf82macro["&#8517;"] = "CapitalDifferentialD";
+macro2utf8["supsetneqq"] = "&#8843;";
+utf82macro["&#8843;"] = "supsetneqq";
+macro2utf8["boxDL"] = "&#9559;";
+utf82macro["&#9559;"] = "boxDL";
+macro2utf8["Im"] = "&#8465;";
+utf82macro["&#8465;"] = "Im";
+macro2utf8["sce"] = "&#8829;";
+utf82macro["&#8829;"] = "sce";
+macro2utf8["prsim"] = "&#8830;";
+utf82macro["&#8830;"] = "prsim";
+macro2utf8["diams"] = "&#9830;";
+utf82macro["&#9830;"] = "diams";
+macro2utf8["gtreqqless"] = "&#8923;";
+utf82macro["&#8923;"] = "gtreqqless";
+macro2utf8["boxDR"] = "&#9556;";
+utf82macro["&#9556;"] = "boxDR";
+macro2utf8["vartriangleleft"] = "&#8882;";
+utf82macro["&#8882;"] = "vartriangleleft";
+macro2utf8["SupersetEqual"] = "&#8839;";
+utf82macro["&#8839;"] = "SupersetEqual";
+macro2utf8["Omega"] = "&#937;";
+utf82macro["&#937;"] = "Omega";
+macro2utf8["nsubseteqq"] = "&#8840;";
+utf82macro["&#8840;"] = "nsubseteqq";
+macro2utf8["Subset"] = "&#8912;";
+utf82macro["&#8912;"] = "Subset";
+macro2utf8["ncongdot"] = "&#10861;&#824;";
+utf82macro["&#10861;&#824;"] = "ncongdot";
+macro2utf8["minusb"] = "&#8863;";
+utf82macro["&#8863;"] = "minusb";
+macro2utf8["ltimes"] = "&#8905;";
+utf82macro["&#8905;"] = "ltimes";
+macro2utf8["seswar"] = "&#10537;";
+utf82macro["&#10537;"] = "seswar";
+macro2utf8["part"] = "&#8706;";
+utf82macro["&#8706;"] = "part";
+macro2utf8["bumpE"] = "&#10926;";
+utf82macro["&#10926;"] = "bumpE";
+macro2utf8["minusd"] = "&#8760;";
+utf82macro["&#8760;"] = "minusd";
+macro2utf8["Amacr"] = "&#256;";
+utf82macro["&#256;"] = "Amacr";
+macro2utf8["nleq"] = "&#8816;";
+utf82macro["&#8816;"] = "nleq";
+macro2utf8["nles"] = "&#8816;";
+utf82macro["&#8816;"] = "nles";
+macro2utf8["NotLess"] = "&#8814;";
+utf82macro["&#8814;"] = "NotLess";
+macro2utf8["scy"] = "&#1089;";
+utf82macro["&#1089;"] = "scy";
+macro2utf8["iinfin"] = "&#10716;";
+utf82macro["&#10716;"] = "iinfin";
+macro2utf8["Afr"] = "&#120068;";
+utf82macro["&#120068;"] = "Afr";
+macro2utf8["isinsv"] = "&#8947;";
+utf82macro["&#8947;"] = "isinsv";
+macro2utf8["prnE"] = "&#10933;";
+utf82macro["&#10933;"] = "prnE";
+macro2utf8["lesg"] = "&#8922;&#65024;";
+utf82macro["&#8922;&#65024;"] = "lesg";
+macro2utf8["cups"] = "&#8746;&#65024;";
+utf82macro["&#8746;&#65024;"] = "cups";
+macro2utf8["thickapprox"] = "&#8776;&#65024;";
+utf82macro["&#8776;&#65024;"] = "thickapprox";
+macro2utf8["RightTeeVector"] = "&#10587;";
+utf82macro["&#10587;"] = "RightTeeVector";
+macro2utf8["LowerLeftArrow"] = "&#8601;";
+utf82macro["&#8601;"] = "LowerLeftArrow";
+macro2utf8["utdot"] = "&#8944;";
+utf82macro["&#8944;"] = "utdot";
+macro2utf8["homtht"] = "&#8763;";
+utf82macro["&#8763;"] = "homtht";
+macro2utf8["ddotseq"] = "&#10871;";
+utf82macro["&#10871;"] = "ddotseq";
+macro2utf8["bowtie"] = "&#8904;";
+utf82macro["&#8904;"] = "bowtie";
+macro2utf8["succnsim"] = "&#8937;";
+utf82macro["&#8937;"] = "succnsim";
+macro2utf8["boxDl"] = "&#9558;";
+utf82macro["&#9558;"] = "boxDl";
+macro2utf8["quot"] = "&#34;";
+utf82macro["&#34;"] = "quot";
+macro2utf8["lvnE"] = "&#8808;&#65024;";
+utf82macro["&#8808;&#65024;"] = "lvnE";
+macro2utf8["CircleDot"] = "&#8857;";
+utf82macro["&#8857;"] = "CircleDot";
+macro2utf8["lsime"] = "&#10893;";
+utf82macro["&#10893;"] = "lsime";
+macro2utf8["Yacute"] = "&#221;";
+utf82macro["&#221;"] = "Yacute";
+macro2utf8["esdot"] = "&#8784;";
+utf82macro["&#8784;"] = "esdot";
+macro2utf8["Supset"] = "&#8913;";
+utf82macro["&#8913;"] = "Supset";
+macro2utf8["lsimg"] = "&#10895;";
+utf82macro["&#10895;"] = "lsimg";
+macro2utf8["eDot"] = "&#8785;";
+utf82macro["&#8785;"] = "eDot";
+macro2utf8["sec"] = "sec";
+utf82macro["sec"] = "sec";
+macro2utf8["boxDr"] = "&#9555;";
+utf82macro["&#9555;"] = "boxDr";
+macro2utf8["plus"] = "+";
+utf82macro["+"] = "plus";
+macro2utf8["ddagger"] = "&#8225;";
+utf82macro["&#8225;"] = "ddagger";
+macro2utf8["Vdashl"] = "&#10982;";
+utf82macro["&#10982;"] = "Vdashl";
+macro2utf8["equest"] = "&#8799;";
+utf82macro["&#8799;"] = "equest";
+macro2utf8["quest"] = "?";
+utf82macro["?"] = "quest";
+macro2utf8["divideontimes"] = "&#8903;";
+utf82macro["&#8903;"] = "divideontimes";
+macro2utf8["nsmid"] = "&#8740;&#65024;";
+utf82macro["&#8740;&#65024;"] = "nsmid";
+macro2utf8["fnof"] = "&#402;";
+utf82macro["&#402;"] = "fnof";
+macro2utf8["bumpe"] = "&#8783;";
+utf82macro["&#8783;"] = "bumpe";
+macro2utf8["lhblk"] = "&#9604;";
+utf82macro["&#9604;"] = "lhblk";
+macro2utf8["prnap"] = "&#8936;";
+utf82macro["&#8936;"] = "prnap";
+macro2utf8["compfn"] = "&#8728;";
+utf82macro["&#8728;"] = "compfn";
+macro2utf8["nsucceq"] = "&#10928;&#824;";
+utf82macro["&#10928;&#824;"] = "nsucceq";
+macro2utf8["RightArrowLeftArrow"] = "&#8644;";
+utf82macro["&#8644;"] = "RightArrowLeftArrow";
+macro2utf8["sharp"] = "&#9839;";
+utf82macro["&#9839;"] = "sharp";
+macro2utf8["CHcy"] = "&#1063;";
+utf82macro["&#1063;"] = "CHcy";
+macro2utf8["dwangle"] = "&#10662;";
+utf82macro["&#10662;"] = "dwangle";
+macro2utf8["angrtvbd"] = "&#10653;";
+utf82macro["&#10653;"] = "angrtvbd";
+macro2utf8["period"] = ".";
+utf82macro["."] = "period";
+macro2utf8["phone"] = "&#9742;";
+utf82macro["&#9742;"] = "phone";
+macro2utf8["Eacute"] = "&#201;";
+utf82macro["&#201;"] = "Eacute";
+macro2utf8["dzigrarr"] = "&#62882;";
+utf82macro["&#62882;"] = "dzigrarr";
+macro2utf8["Ll"] = "&#8920;";
+utf82macro["&#8920;"] = "Ll";
+macro2utf8["succapprox"] = "&#8831;";
+utf82macro["&#8831;"] = "succapprox";
+macro2utf8["rarrfs"] = "&#10526;";
+utf82macro["&#10526;"] = "rarrfs";
+macro2utf8["dbkarow"] = "&#10511;";
+utf82macro["&#10511;"] = "dbkarow";
+macro2utf8["zeta"] = "&#950;";
+utf82macro["&#950;"] = "zeta";
+macro2utf8["Lt"] = "&#8810;";
+utf82macro["&#8810;"] = "Lt";
+macro2utf8["triminus"] = "&#10810;";
+utf82macro["&#10810;"] = "triminus";
+macro2utf8["odiv"] = "&#10808;";
+utf82macro["&#10808;"] = "odiv";
+macro2utf8["ltrie"] = "&#8884;";
+utf82macro["&#8884;"] = "ltrie";
+macro2utf8["Dagger"] = "&#8225;";
+utf82macro["&#8225;"] = "Dagger";
+macro2utf8["ltrif"] = "&#9666;";
+utf82macro["&#9666;"] = "ltrif";
+macro2utf8["boxHD"] = "&#9574;";
+utf82macro["&#9574;"] = "boxHD";
+macro2utf8["timesb"] = "&#8864;";
+utf82macro["&#8864;"] = "timesb";
+macro2utf8["check"] = "&#10003;";
+utf82macro["&#10003;"] = "check";
+macro2utf8["urcorn"] = "&#8989;";
+utf82macro["&#8989;"] = "urcorn";
+macro2utf8["timesd"] = "&#10800;";
+utf82macro["&#10800;"] = "timesd";
+macro2utf8["tshcy"] = "&#1115;";
+utf82macro["&#1115;"] = "tshcy";
+macro2utf8["sfr"] = "&#120112;";
+utf82macro["&#120112;"] = "sfr";
+macro2utf8["lmoust"] = "&#9136;";
+utf82macro["&#9136;"] = "lmoust";
+macro2utf8["ruluhar"] = "&#10600;";
+utf82macro["&#10600;"] = "ruluhar";
+macro2utf8["bne"] = "=&#8421;";
+utf82macro["=&#8421;"] = "bne";
+macro2utf8["prod"] = "&#8719;";
+utf82macro["&#8719;"] = "prod";
+macro2utf8["Eopf"] = "&#120124;";
+utf82macro["&#120124;"] = "Eopf";
+macro2utf8["scsim"] = "&#8831;";
+utf82macro["&#8831;"] = "scsim";
+macro2utf8["GreaterEqualLess"] = "&#8923;";
+utf82macro["&#8923;"] = "GreaterEqualLess";
+macro2utf8["Igrave"] = "&#204;";
+utf82macro["&#204;"] = "Igrave";
+macro2utf8["Longrightarrow"] = "&#8658;";
+utf82macro["&#8658;"] = "Longrightarrow";
+macro2utf8["bigcap"] = "&#8898;";
+utf82macro["&#8898;"] = "bigcap";
+macro2utf8["boxHU"] = "&#9577;";
+utf82macro["&#9577;"] = "boxHU";
+macro2utf8["uring"] = "&#367;";
+utf82macro["&#367;"] = "uring";
+macro2utf8["equivDD"] = "&#10872;";
+utf82macro["&#10872;"] = "equivDD";
+macro2utf8["prop"] = "&#8733;";
+utf82macro["&#8733;"] = "prop";
+macro2utf8["Lopf"] = "&#120131;";
+utf82macro["&#120131;"] = "Lopf";
+macro2utf8["ldrushar"] = "&#10571;";
+utf82macro["&#10571;"] = "ldrushar";
+macro2utf8["rarrhk"] = "&#8618;";
+utf82macro["&#8618;"] = "rarrhk";
+macro2utf8["Leftarrow"] = "&#8656;";
+utf82macro["&#8656;"] = "Leftarrow";
+macro2utf8["lltri"] = "&#9722;";
+utf82macro["&#9722;"] = "lltri";
+macro2utf8["NestedGreaterGreater"] = "&#8811;";
+utf82macro["&#8811;"] = "NestedGreaterGreater";
+macro2utf8["GreaterFullEqual"] = "&#8807;";
+utf82macro["&#8807;"] = "GreaterFullEqual";
+macro2utf8["robrk"] = "&#12315;";
+utf82macro["&#12315;"] = "robrk";
+macro2utf8["larrsim"] = "&#10611;";
+utf82macro["&#10611;"] = "larrsim";
+macro2utf8["boxHd"] = "&#9572;";
+utf82macro["&#9572;"] = "boxHd";
+macro2utf8["vDash"] = "&#8872;";
+utf82macro["&#8872;"] = "vDash";
+macro2utf8["hfr"] = "&#120101;";
+utf82macro["&#120101;"] = "hfr";
+macro2utf8["Edot"] = "&#278;";
+utf82macro["&#278;"] = "Edot";
+macro2utf8["Vvdash"] = "&#8874;";
+utf82macro["&#8874;"] = "Vvdash";
+macro2utf8["Sopf"] = "&#120138;";
+utf82macro["&#120138;"] = "Sopf";
+macro2utf8["upuparrows"] = "&#8648;";
+utf82macro["&#8648;"] = "upuparrows";
+macro2utf8["RightUpTeeVector"] = "&#10588;";
+utf82macro["&#10588;"] = "RightUpTeeVector";
+macro2utf8["DownLeftVector"] = "&#8637;";
+utf82macro["&#8637;"] = "DownLeftVector";
+macro2utf8["xhArr"] = "&#62843;";
+utf82macro["&#62843;"] = "xhArr";
+macro2utf8["triplus"] = "&#10809;";
+utf82macro["&#10809;"] = "triplus";
+macro2utf8["bot"] = "&#8869;";
+utf82macro["&#8869;"] = "bot";
+macro2utf8["Rcy"] = "&#1056;";
+utf82macro["&#1056;"] = "Rcy";
+macro2utf8["eDDot"] = "&#10871;";
+utf82macro["&#10871;"] = "eDDot";
+macro2utf8["subseteqq"] = "&#8838;";
+utf82macro["&#8838;"] = "subseteqq";
+macro2utf8["cirfnint"] = "&#10768;";
+utf82macro["&#10768;"] = "cirfnint";
+macro2utf8["spadesuit"] = "&#9824;";
+utf82macro["&#9824;"] = "spadesuit";
+macro2utf8["nacute"] = "&#324;";
+utf82macro["&#324;"] = "nacute";
+macro2utf8["Zopf"] = "&#8484;";
+utf82macro["&#8484;"] = "Zopf";
+macro2utf8["upharpoonleft"] = "&#8639;";
+utf82macro["&#8639;"] = "upharpoonleft";
+macro2utf8["shy"] = "&#173;";
+utf82macro["&#173;"] = "shy";
+macro2utf8["nparsl"] = "&#8741;&#65024;&#8421;";
+utf82macro["&#8741;&#65024;&#8421;"] = "nparsl";
+macro2utf8["boxHu"] = "&#9575;";
+utf82macro["&#9575;"] = "boxHu";
+macro2utf8["ThickSpace"] = "&#8201;&#8202;&#8202;";
+utf82macro["&#8201;&#8202;&#8202;"] = "ThickSpace";
+macro2utf8["Or"] = "&#10836;";
+utf82macro["&#10836;"] = "Or";
+macro2utf8["raemptyv"] = "&#10675;";
+utf82macro["&#10675;"] = "raemptyv";
+macro2utf8["Aogon"] = "&#260;";
+utf82macro["&#260;"] = "Aogon";
+macro2utf8["IEcy"] = "&#1045;";
+utf82macro["&#1045;"] = "IEcy";
+macro2utf8["sim"] = "&#8764;";
+utf82macro["&#8764;"] = "sim";
+macro2utf8["sin"] = "sin";
+utf82macro["sin"] = "sin";
+macro2utf8["copysr"] = "&#8471;";
+utf82macro["&#8471;"] = "copysr";
+macro2utf8["scnap"] = "&#8937;";
+utf82macro["&#8937;"] = "scnap";
+macro2utf8["rdquo"] = "&#8221;";
+utf82macro["&#8221;"] = "rdquo";
+macro2utf8["aopf"] = "&#120146;";
+utf82macro["&#120146;"] = "aopf";
+macro2utf8["Pi"] = "&#928;";
+utf82macro["&#928;"] = "Pi";
+macro2utf8["Udblac"] = "&#368;";
+utf82macro["&#368;"] = "Udblac";
+macro2utf8["expectation"] = "&#8496;";
+utf82macro["&#8496;"] = "expectation";
+macro2utf8["Zacute"] = "&#377;";
+utf82macro["&#377;"] = "Zacute";
+macro2utf8["urtri"] = "&#9721;";
+utf82macro["&#9721;"] = "urtri";
+macro2utf8["NotTildeEqual"] = "&#8772;";
+utf82macro["&#8772;"] = "NotTildeEqual";
+macro2utf8["ncedil"] = "&#326;";
+utf82macro["&#326;"] = "ncedil";
+macro2utf8["Gamma"] = "&#915;";
+utf82macro["&#915;"] = "Gamma";
+macro2utf8["ecirc"] = "&#234;";
+utf82macro["&#234;"] = "ecirc";
+macro2utf8["dsol"] = "&#10742;";
+utf82macro["&#10742;"] = "dsol";
+macro2utf8["Gcy"] = "&#1043;";
+utf82macro["&#1043;"] = "Gcy";
+macro2utf8["Pr"] = "Pr";
+utf82macro["Pr"] = "Pr";
+macro2utf8["Zdot"] = "&#379;";
+utf82macro["&#379;"] = "Zdot";
+macro2utf8["mnplus"] = "&#8723;";
+utf82macro["&#8723;"] = "mnplus";
+macro2utf8["hopf"] = "&#120153;";
+utf82macro["&#120153;"] = "hopf";
+macro2utf8["blacktriangledown"] = "&#9662;";
+utf82macro["&#9662;"] = "blacktriangledown";
+macro2utf8["LeftCeiling"] = "&#8968;";
+utf82macro["&#8968;"] = "LeftCeiling";
+macro2utf8["ulcorn"] = "&#8988;";
+utf82macro["&#8988;"] = "ulcorn";
+macro2utf8["searrow"] = "&#8600;";
+utf82macro["&#8600;"] = "searrow";
+macro2utf8["GreaterGreater"] = "&#10914;";
+utf82macro["&#10914;"] = "GreaterGreater";
+macro2utf8["Fscr"] = "&#8497;";
+utf82macro["&#8497;"] = "Fscr";
+macro2utf8["cupcup"] = "&#10826;";
+utf82macro["&#10826;"] = "cupcup";
+macro2utf8["NotEqual"] = "&#8800;";
+utf82macro["&#8800;"] = "NotEqual";
+macro2utf8["sext"] = "&#10038;";
+utf82macro["&#10038;"] = "sext";
+macro2utf8["CirclePlus"] = "&#8853;";
+utf82macro["&#8853;"] = "CirclePlus";
+macro2utf8["erarr"] = "&#10609;";
+utf82macro["&#10609;"] = "erarr";
+macro2utf8["dArr"] = "&#8659;";
+utf82macro["&#8659;"] = "dArr";
+macro2utf8["PrecedesSlantEqual"] = "&#8828;";
+utf82macro["&#8828;"] = "PrecedesSlantEqual";
+macro2utf8["Itilde"] = "&#296;";
+utf82macro["&#296;"] = "Itilde";
+macro2utf8["gesdoto"] = "&#10882;";
+utf82macro["&#10882;"] = "gesdoto";
+macro2utf8["Rang"] = "&#12299;";
+utf82macro["&#12299;"] = "Rang";
+macro2utf8["nwarhk"] = "&#10531;";
+utf82macro["&#10531;"] = "nwarhk";
+macro2utf8["minusdu"] = "&#10794;";
+utf82macro["&#10794;"] = "minusdu";
+macro2utf8["oopf"] = "&#120160;";
+utf82macro["&#120160;"] = "oopf";
+macro2utf8["Mscr"] = "&#8499;";
+utf82macro["&#8499;"] = "Mscr";
+macro2utf8["Rfr"] = "&#8476;";
+utf82macro["&#8476;"] = "Rfr";
+macro2utf8["langle"] = "&#9001;";
+utf82macro["&#9001;"] = "langle";
+macro2utf8["And"] = "&#10835;";
+utf82macro["&#10835;"] = "And";
+macro2utf8["bprime"] = "&#8245;";
+utf82macro["&#8245;"] = "bprime";
+macro2utf8["nLeftrightarrow"] = "&#8654;";
+utf82macro["&#8654;"] = "nLeftrightarrow";
+macro2utf8["Re"] = "&#8476;";
+utf82macro["&#8476;"] = "Re";
+macro2utf8["OpenCurlyQuote"] = "&#8216;";
+utf82macro["&#8216;"] = "OpenCurlyQuote";
+macro2utf8["vopf"] = "&#120167;";
+utf82macro["&#120167;"] = "vopf";
+macro2utf8["ulcorner"] = "&#8988;";
+utf82macro["&#8988;"] = "ulcorner";
+macro2utf8["nap"] = "&#8777;";
+utf82macro["&#8777;"] = "nap";
+macro2utf8["Tscr"] = "&#119983;";
+utf82macro["&#119983;"] = "Tscr";
+macro2utf8["gtreqless"] = "&#8923;";
+utf82macro["&#8923;"] = "gtreqless";
+macro2utf8["rarrlp"] = "&#8620;";
+utf82macro["&#8620;"] = "rarrlp";
+macro2utf8["Lambda"] = "&#923;";
+utf82macro["&#923;"] = "Lambda";
+macro2utf8["lobrk"] = "&#12314;";
+utf82macro["&#12314;"] = "lobrk";
+macro2utf8["rbrace"] = "}";
+utf82macro["}"] = "rbrace";
+macro2utf8["rArr"] = "&#8658;";
+utf82macro["&#8658;"] = "rArr";
+macro2utf8["coloneq"] = "&#8788;";
+utf82macro["&#8788;"] = "coloneq";
+macro2utf8["UpArrow"] = "&#8593;";
+utf82macro["&#8593;"] = "UpArrow";
+macro2utf8["odot"] = "&#8857;";
+utf82macro["&#8857;"] = "odot";
+macro2utf8["LeftDownTeeVector"] = "&#10593;";
+utf82macro["&#10593;"] = "LeftDownTeeVector";
+macro2utf8["complexes"] = "&#8450;";
+utf82macro["&#8450;"] = "complexes";
+macro2utf8["rbrack"] = "]";
+utf82macro["]"] = "rbrack";
+macro2utf8["DownTeeArrow"] = "&#8615;";
+utf82macro["&#8615;"] = "DownTeeArrow";
+macro2utf8["sqcap"] = "&#8851;";
+utf82macro["&#8851;"] = "sqcap";
+macro2utf8["Sc"] = "&#10940;";
+utf82macro["&#10940;"] = "Sc";
+macro2utf8["ycy"] = "&#1099;";
+utf82macro["&#1099;"] = "ycy";
+macro2utf8["Prime"] = "&#8243;";
+utf82macro["&#8243;"] = "Prime";
+macro2utf8["Gfr"] = "&#120074;";
+utf82macro["&#120074;"] = "Gfr";
+macro2utf8["trianglerighteq"] = "&#8885;";
+utf82macro["&#8885;"] = "trianglerighteq";
+macro2utf8["rangd"] = "&#10642;";
+utf82macro["&#10642;"] = "rangd";
+macro2utf8["gtrdot"] = "&#8919;";
+utf82macro["&#8919;"] = "gtrdot";
+macro2utf8["range"] = "&#10661;";
+utf82macro["&#10661;"] = "range";
+macro2utf8["rsqb"] = "]";
+utf82macro["]"] = "rsqb";
+macro2utf8["Euml"] = "&#203;";
+utf82macro["&#203;"] = "Euml";
+macro2utf8["Therefore"] = "&#8756;";
+utf82macro["&#8756;"] = "Therefore";
+macro2utf8["nesim"] = "&#8770;&#824;";
+utf82macro["&#8770;&#824;"] = "nesim";
+macro2utf8["order"] = "&#8500;";
+utf82macro["&#8500;"] = "order";
+macro2utf8["vsupnE"] = "&#8843;&#65024;";
+utf82macro["&#8843;&#65024;"] = "vsupnE";
+macro2utf8["awconint"] = "&#8755;";
+utf82macro["&#8755;"] = "awconint";
+macro2utf8["bscr"] = "&#119991;";
+utf82macro["&#119991;"] = "bscr";
+macro2utf8["lesseqqgtr"] = "&#8922;";
+utf82macro["&#8922;"] = "lesseqqgtr";
+macro2utf8["cap"] = "&#8745;";
+utf82macro["&#8745;"] = "cap";
+macro2utf8["ldquo"] = "&#8220;";
+utf82macro["&#8220;"] = "ldquo";
+macro2utf8["nsubseteq"] = "&#8840;";
+utf82macro["&#8840;"] = "nsubseteq";
+macro2utf8["rhov"] = "&#1009;";
+utf82macro["&#1009;"] = "rhov";
+macro2utf8["xvee"] = "&#8897;";
+utf82macro["&#8897;"] = "xvee";
+macro2utf8["olarr"] = "&#8634;";
+utf82macro["&#8634;"] = "olarr";
+macro2utf8["nang"] = "&#8736;&#824;";
+utf82macro["&#8736;&#824;"] = "nang";
+macro2utf8["uwangle"] = "&#10663;";
+utf82macro["&#10663;"] = "uwangle";
+macro2utf8["nlsim"] = "&#8820;";
+utf82macro["&#8820;"] = "nlsim";
+macro2utf8["smt"] = "&#10922;";
+utf82macro["&#10922;"] = "smt";
+macro2utf8["nVdash"] = "&#8878;";
+utf82macro["&#8878;"] = "nVdash";
+macro2utf8["napE"] = "&#10864;&#824;";
+utf82macro["&#10864;&#824;"] = "napE";
+macro2utf8["ngeq"] = "&#8817;";
+utf82macro["&#8817;"] = "ngeq";
+macro2utf8["iscr"] = "&#119998;";
+utf82macro["&#119998;"] = "iscr";
+macro2utf8["GJcy"] = "&#1027;";
+utf82macro["&#1027;"] = "GJcy";
+macro2utf8["nges"] = "&#8817;";
+utf82macro["&#8817;"] = "nges";
+macro2utf8["exist"] = "&#8707;";
+utf82macro["&#8707;"] = "exist";
+macro2utf8["cent"] = "&#162;";
+utf82macro["&#162;"] = "cent";
+macro2utf8["oacute"] = "&#243;";
+utf82macro["&#243;"] = "oacute";
+macro2utf8["Darr"] = "&#8609;";
+utf82macro["&#8609;"] = "Darr";
+macro2utf8["yen"] = "&#165;";
+utf82macro["&#165;"] = "yen";
+macro2utf8["bigcirc"] = "&#9711;";
+utf82macro["&#9711;"] = "bigcirc";
+macro2utf8["ncy"] = "&#1085;";
+utf82macro["&#1085;"] = "ncy";
+macro2utf8["midast"] = "*";
+utf82macro["*"] = "midast";
+macro2utf8["UpperRightArrow"] = "&#8599;";
+utf82macro["&#8599;"] = "UpperRightArrow";
+macro2utf8["precnapprox"] = "&#8936;";
+utf82macro["&#8936;"] = "precnapprox";
+macro2utf8["OElig"] = "&#338;";
+utf82macro["&#338;"] = "OElig";
+macro2utf8["hybull"] = "&#8259;";
+utf82macro["&#8259;"] = "hybull";
+macro2utf8["cupbrcap"] = "&#10824;";
+utf82macro["&#10824;"] = "cupbrcap";
+macro2utf8["rationals"] = "&#8474;";
+utf82macro["&#8474;"] = "rationals";
+macro2utf8["VerticalTilde"] = "&#8768;";
+utf82macro["&#8768;"] = "VerticalTilde";
+macro2utf8["pscr"] = "&#120005;";
+utf82macro["&#120005;"] = "pscr";
+macro2utf8["NJcy"] = "&#1034;";
+utf82macro["&#1034;"] = "NJcy";
+macro2utf8["NotSucceedsTilde"] = "&#8831;&#824;";
+utf82macro["&#8831;&#824;"] = "NotSucceedsTilde";
+macro2utf8["vsupne"] = "&#8843;&#65024;";
+utf82macro["&#8843;&#65024;"] = "vsupne";
+macro2utf8["Updownarrow"] = "&#8661;";
+utf82macro["&#8661;"] = "Updownarrow";
+macro2utf8["Lsh"] = "&#8624;";
+utf82macro["&#8624;"] = "Lsh";
+macro2utf8["rAarr"] = "&#8667;";
+utf82macro["&#8667;"] = "rAarr";
+macro2utf8["precapprox"] = "&#8830;";
+utf82macro["&#8830;"] = "precapprox";
+macro2utf8["rsquor"] = "&#8217;";
+utf82macro["&#8217;"] = "rsquor";
+macro2utf8["pound"] = "&#163;";
+utf82macro["&#163;"] = "pound";
+macro2utf8["lbrksld"] = "&#10639;";
+utf82macro["&#10639;"] = "lbrksld";
+macro2utf8["gesdot"] = "&#10880;";
+utf82macro["&#10880;"] = "gesdot";
+macro2utf8["Element"] = "&#8712;";
+utf82macro["&#8712;"] = "Element";
+macro2utf8["xcirc"] = "&#9711;";
+utf82macro["&#9711;"] = "xcirc";
+macro2utf8["wscr"] = "&#120012;";
+utf82macro["&#120012;"] = "wscr";
+macro2utf8["toea"] = "&#10536;";
+utf82macro["&#10536;"] = "toea";
+macro2utf8["setmn"] = "&#8726;";
+utf82macro["&#8726;"] = "setmn";
+macro2utf8["neg"] = "&#172;";
+utf82macro["&#172;"] = "neg";
+macro2utf8["sol"] = "/";
+utf82macro["/"] = "sol";
+macro2utf8["yfr"] = "&#120118;";
+utf82macro["&#120118;"] = "yfr";
+macro2utf8["DoubleDownArrow"] = "&#8659;";
+utf82macro["&#8659;"] = "DoubleDownArrow";
+macro2utf8["Rarr"] = "&#8608;";
+utf82macro["&#8608;"] = "Rarr";
+macro2utf8["ngE"] = "&#8817;";
+utf82macro["&#8817;"] = "ngE";
+macro2utf8["Upsi"] = "&#978;";
+utf82macro["&#978;"] = "Upsi";
+macro2utf8["opar"] = "&#10679;";
+utf82macro["&#10679;"] = "opar";
+macro2utf8["rarrpl"] = "&#10565;";
+utf82macro["&#10565;"] = "rarrpl";
+macro2utf8["auml"] = "&#228;";
+utf82macro["&#228;"] = "auml";
+macro2utf8["bmod"] = "mod";
+utf82macro["mod"] = "bmod";
+macro2utf8["SquareSuperset"] = "&#8848;";
+utf82macro["&#8848;"] = "SquareSuperset";
+macro2utf8["neq"] = "&#8800;";
+utf82macro["&#8800;"] = "neq";
+macro2utf8["circleddash"] = "&#8861;";
+utf82macro["&#8861;"] = "circleddash";
+macro2utf8["xrarr"] = "&#62839;";
+utf82macro["&#62839;"] = "xrarr";
+macro2utf8["barwed"] = "&#8892;";
+utf82macro["&#8892;"] = "barwed";
+macro2utf8["lbrkslu"] = "&#10637;";
+utf82macro["&#10637;"] = "lbrkslu";
+macro2utf8["planckh"] = "&#8462;";
+utf82macro["&#8462;"] = "planckh";
+macro2utf8["ldrdhar"] = "&#10599;";
+utf82macro["&#10599;"] = "ldrdhar";
+macro2utf8["circledcirc"] = "&#8858;";
+utf82macro["&#8858;"] = "circledcirc";
+macro2utf8["ctdot"] = "&#8943;";
+utf82macro["&#8943;"] = "ctdot";
+macro2utf8["fallingdotseq"] = "&#8786;";
+utf82macro["&#8786;"] = "fallingdotseq";
+macro2utf8["Map"] = "&#10501;";
+utf82macro["&#10501;"] = "Map";
+macro2utf8["VerticalBar"] = "&#8739;";
+utf82macro["&#8739;"] = "VerticalBar";
+macro2utf8["succeq"] = "&#8829;";
+utf82macro["&#8829;"] = "succeq";
+macro2utf8["tint"] = "&#8749;";
+utf82macro["&#8749;"] = "tint";
+macro2utf8["imof"] = "&#8887;";
+utf82macro["&#8887;"] = "imof";
+macro2utf8["diam"] = "&#8900;";
+utf82macro["&#8900;"] = "diam";
+macro2utf8["twixt"] = "&#8812;";
+utf82macro["&#8812;"] = "twixt";
+macro2utf8["NoBreak"] = "&#65279;";
+utf82macro["&#65279;"] = "NoBreak";
+macro2utf8["langd"] = "&#10641;";
+utf82macro["&#10641;"] = "langd";
+macro2utf8["Bernoullis"] = "&#8492;";
+utf82macro["&#8492;"] = "Bernoullis";
+macro2utf8["rcaron"] = "&#345;";
+utf82macro["&#345;"] = "rcaron";
+macro2utf8["hom"] = "hom";
+utf82macro["hom"] = "hom";
+macro2utf8["nfr"] = "&#120107;";
+utf82macro["&#120107;"] = "nfr";
+macro2utf8["backsimeq"] = "&#8909;";
+utf82macro["&#8909;"] = "backsimeq";
+macro2utf8["target"] = "&#8982;";
+utf82macro["&#8982;"] = "target";
+macro2utf8["ouml"] = "&#246;";
+utf82macro["&#246;"] = "ouml";
+macro2utf8["nge"] = "&#8817;&#8421;";
+utf82macro["&#8817;&#8421;"] = "nge";
+macro2utf8["LeftTriangleBar"] = "&#10703;";
+utf82macro["&#10703;"] = "LeftTriangleBar";
+macro2utf8["subplus"] = "&#10943;";
+utf82macro["&#10943;"] = "subplus";
+macro2utf8["parsim"] = "&#10995;";
+utf82macro["&#10995;"] = "parsim";
+macro2utf8["Gcedil"] = "&#290;";
+utf82macro["&#290;"] = "Gcedil";
+macro2utf8["bnequiv"] = "&#8801;&#8421;";
+utf82macro["&#8801;&#8421;"] = "bnequiv";
+macro2utf8["ubreve"] = "&#365;";
+utf82macro["&#365;"] = "ubreve";
+macro2utf8["iexcl"] = "&#161;";
+utf82macro["&#161;"] = "iexcl";
+macro2utf8["Xi"] = "&#926;";
+utf82macro["&#926;"] = "Xi";
+macro2utf8["omega"] = "&#969;";
+utf82macro["&#969;"] = "omega";
+macro2utf8["elsdot"] = "&#10903;";
+utf82macro["&#10903;"] = "elsdot";
+macro2utf8["propto"] = "&#8733;";
+utf82macro["&#8733;"] = "propto";
+macro2utf8["squ"] = "&#9633;";
+utf82macro["&#9633;"] = "squ";
+macro2utf8["Ycirc"] = "&#374;";
+utf82macro["&#374;"] = "Ycirc";
+macro2utf8["amacr"] = "&#257;";
+utf82macro["&#257;"] = "amacr";
+macro2utf8["curlyeqprec"] = "&#8926;";
+utf82macro["&#8926;"] = "curlyeqprec";
+macro2utf8["ngt"] = "&#8815;";
+utf82macro["&#8815;"] = "ngt";
+macro2utf8["plusdo"] = "&#8724;";
+utf82macro["&#8724;"] = "plusdo";
+macro2utf8["ngeqslant"] = "&#8817;";
+utf82macro["&#8817;"] = "ngeqslant";
+macro2utf8["LongRightArrow"] = "&#62839;";
+utf82macro["&#62839;"] = "LongRightArrow";
+macro2utf8["LeftUpVector"] = "&#8639;";
+utf82macro["&#8639;"] = "LeftUpVector";
+macro2utf8["asymp"] = "&#8781;";
+utf82macro["&#8781;"] = "asymp";
+macro2utf8["imped"] = "&#120131;";
+utf82macro["&#120131;"] = "imped";
+macro2utf8["tritime"] = "&#10811;";
+utf82macro["&#10811;"] = "tritime";
+macro2utf8["rpargt"] = "&#10644;";
+utf82macro["&#10644;"] = "rpargt";
+macro2utf8["DDotrahd"] = "&#10513;";
+utf82macro["&#10513;"] = "DDotrahd";
+macro2utf8["prnsim"] = "&#8936;";
+utf82macro["&#8936;"] = "prnsim";
+macro2utf8["plusdu"] = "&#10789;";
+utf82macro["&#10789;"] = "plusdu";
+macro2utf8["cfr"] = "&#120096;";
+utf82macro["&#120096;"] = "cfr";
+macro2utf8["abreve"] = "&#259;";
+utf82macro["&#259;"] = "abreve";
+macro2utf8["suphsol"] = "&#8835;/";
+utf82macro["&#8835;/"] = "suphsol";
+macro2utf8["NegativeThickSpace"] = "&#8197;&#65024;";
+utf82macro["&#8197;&#65024;"] = "NegativeThickSpace";
+macro2utf8["Mcy"] = "&#1052;";
+utf82macro["&#1052;"] = "Mcy";
+macro2utf8["uarr"] = "&#8593;";
+utf82macro["&#8593;"] = "uarr";
+macro2utf8["LeftRightVector"] = "&#10574;";
+utf82macro["&#10574;"] = "LeftRightVector";
+macro2utf8["lAarr"] = "&#8666;";
+utf82macro["&#8666;"] = "lAarr";
+macro2utf8["bsim"] = "&#8765;";
+utf82macro["&#8765;"] = "bsim";
+macro2utf8["simrarr"] = "&#10610;";
+utf82macro["&#10610;"] = "simrarr";
+macro2utf8["otimes"] = "&#8855;";
+utf82macro["&#8855;"] = "otimes";
+macro2utf8["NotSucceeds"] = "&#8833;";
+utf82macro["&#8833;"] = "NotSucceeds";
+macro2utf8["Cross"] = "&#10799;";
+utf82macro["&#10799;"] = "Cross";
+macro2utf8["downarrow"] = "&#8595;";
+utf82macro["&#8595;"] = "downarrow";
+macro2utf8["blacktriangle"] = "&#9652;";
+utf82macro["&#9652;"] = "blacktriangle";
+macro2utf8["TripleDot"] = "&#8411;";
+utf82macro["&#8411;"] = "TripleDot";
+macro2utf8["smallsetminus"] = "&#8726;&#65024;";
+utf82macro["&#8726;&#65024;"] = "smallsetminus";
+macro2utf8["supedot"] = "&#10948;";
+utf82macro["&#10948;"] = "supedot";
+macro2utf8["NotPrecedesSlantEqual"] = "&#8928;";
+utf82macro["&#8928;"] = "NotPrecedesSlantEqual";
+macro2utf8["neArr"] = "&#8663;";
+utf82macro["&#8663;"] = "neArr";
+macro2utf8["rarrtl"] = "&#8611;";
+utf82macro["&#8611;"] = "rarrtl";
+macro2utf8["isin"] = "&#8712;";
+utf82macro["&#8712;"] = "isin";
+macro2utf8["rrarr"] = "&#8649;";
+utf82macro["&#8649;"] = "rrarr";
+macro2utf8["Upsilon"] = "&#978;";
+utf82macro["&#978;"] = "Upsilon";
+macro2utf8["sqsub"] = "&#8847;";
+utf82macro["&#8847;"] = "sqsub";
+macro2utf8["boxUL"] = "&#9565;";
+utf82macro["&#9565;"] = "boxUL";
+macro2utf8["LessTilde"] = "&#8818;";
+utf82macro["&#8818;"] = "LessTilde";
+macro2utf8["Xfr"] = "&#120091;";
+utf82macro["&#120091;"] = "Xfr";
+macro2utf8["nis"] = "&#8956;";
+utf82macro["&#8956;"] = "nis";
+macro2utf8["chi"] = "&#967;";
+utf82macro["&#967;"] = "chi";
+macro2utf8["DownRightVector"] = "&#8641;";
+utf82macro["&#8641;"] = "DownRightVector";
+macro2utf8["niv"] = "&#8715;";
+utf82macro["&#8715;"] = "niv";
+macro2utf8["boxUR"] = "&#9562;";
+utf82macro["&#9562;"] = "boxUR";
+macro2utf8["nlArr"] = "&#8653;";
+utf82macro["&#8653;"] = "nlArr";
+macro2utf8["Bcy"] = "&#1041;";
+utf82macro["&#1041;"] = "Bcy";
+macro2utf8["tan"] = "tan";
+utf82macro["tan"] = "tan";
+macro2utf8["EmptyVerySmallSquare"] = "&#62876;";
+utf82macro["&#62876;"] = "EmptyVerySmallSquare";
+macro2utf8["dstrok"] = "&#273;";
+utf82macro["&#273;"] = "dstrok";
+macro2utf8["rfisht"] = "&#10621;";
+utf82macro["&#10621;"] = "rfisht";
+macro2utf8["easter"] = "&#8795;";
+utf82macro["&#8795;"] = "easter";
+macro2utf8["nlE"] = "&#8816;";
+utf82macro["&#8816;"] = "nlE";
+macro2utf8["Mellintrf"] = "&#8499;";
+utf82macro["&#8499;"] = "Mellintrf";
+macro2utf8["lotimes"] = "&#10804;";
+utf82macro["&#10804;"] = "lotimes";
+macro2utf8["sqsup"] = "&#8848;";
+utf82macro["&#8848;"] = "sqsup";
+macro2utf8["boxVH"] = "&#9580;";
+utf82macro["&#9580;"] = "boxVH";
+macro2utf8["bbrk"] = "&#9141;";
+utf82macro["&#9141;"] = "bbrk";
+macro2utf8["tau"] = "&#964;";
+utf82macro["&#964;"] = "tau";
+macro2utf8["UpTee"] = "&#8869;";
+utf82macro["&#8869;"] = "UpTee";
+macro2utf8["NotLeftTriangleBar"] = "&#10703;&#824;";
+utf82macro["&#10703;&#824;"] = "NotLeftTriangleBar";
+macro2utf8["boxVL"] = "&#9571;";
+utf82macro["&#9571;"] = "boxVL";
+macro2utf8["Proportion"] = "&#8759;";
+utf82macro["&#8759;"] = "Proportion";
+macro2utf8["equiv"] = "&#8801;";
+utf82macro["&#8801;"] = "equiv";
+macro2utf8["blk12"] = "&#9618;";
+utf82macro["&#9618;"] = "blk12";
+macro2utf8["blk14"] = "&#9617;";
+utf82macro["&#9617;"] = "blk14";
+macro2utf8["fpartint"] = "&#10765;";
+utf82macro["&#10765;"] = "fpartint";
+macro2utf8["boxVR"] = "&#9568;";
+utf82macro["&#9568;"] = "boxVR";
+macro2utf8["starf"] = "&#9733;";
+utf82macro["&#9733;"] = "starf";
+macro2utf8["risingdotseq"] = "&#8787;";
+utf82macro["&#8787;"] = "risingdotseq";
+macro2utf8["Equilibrium"] = "&#8652;";
+utf82macro["&#8652;"] = "Equilibrium";
+macro2utf8["ijlig"] = "&#307;";
+utf82macro["&#307;"] = "ijlig";
+macro2utf8["yicy"] = "&#1111;";
+utf82macro["&#1111;"] = "yicy";
+macro2utf8["sum"] = "&#8721;";
+utf82macro["&#8721;"] = "sum";
+macro2utf8["cir"] = "&#9675;";
+utf82macro["&#9675;"] = "cir";
+macro2utf8["telrec"] = "&#8981;";
+utf82macro["&#8981;"] = "telrec";
+macro2utf8["Mfr"] = "&#120080;";
+utf82macro["&#120080;"] = "Mfr";
+macro2utf8["dHar"] = "&#10597;";
+utf82macro["&#10597;"] = "dHar";
+macro2utf8["boxUl"] = "&#9564;";
+utf82macro["&#9564;"] = "boxUl";
+macro2utf8["apid"] = "&#8779;";
+utf82macro["&#8779;"] = "apid";
+macro2utf8["nleftarrow"] = "&#8602;";
+utf82macro["&#8602;"] = "nleftarrow";
+macro2utf8["curarrm"] = "&#10556;";
+utf82macro["&#10556;"] = "curarrm";
+macro2utf8["Scirc"] = "&#348;";
+utf82macro["&#348;"] = "Scirc";
+macro2utf8["Copf"] = "&#8450;";
+utf82macro["&#8450;"] = "Copf";
+macro2utf8["RightTriangleEqual"] = "&#8885;";
+utf82macro["&#8885;"] = "RightTriangleEqual";
+macro2utf8["boxUr"] = "&#9561;";
+utf82macro["&#9561;"] = "boxUr";
+macro2utf8["loplus"] = "&#10797;";
+utf82macro["&#10797;"] = "loplus";
+macro2utf8["varsupsetneq"] = "&#8843;&#65024;";
+utf82macro["&#8843;&#65024;"] = "varsupsetneq";
+macro2utf8["scaron"] = "&#353;";
+utf82macro["&#353;"] = "scaron";
+macro2utf8["Diamond"] = "&#8900;";
+utf82macro["&#8900;"] = "Diamond";
+macro2utf8["lowast"] = "&#8727;";
+utf82macro["&#8727;"] = "lowast";
+macro2utf8["nle"] = "&#8816;&#8421;";
+utf82macro["&#8816;&#8421;"] = "nle";
+macro2utf8["phiv"] = "&#981;";
+utf82macro["&#981;"] = "phiv";
+macro2utf8["gesdotol"] = "&#10884;";
+utf82macro["&#10884;"] = "gesdotol";
+macro2utf8["boxVh"] = "&#9579;";
+utf82macro["&#9579;"] = "boxVh";
+macro2utf8["nleftrightarrow"] = "&#8622;";
+utf82macro["&#8622;"] = "nleftrightarrow";
+macro2utf8["Jopf"] = "&#120129;";
+utf82macro["&#120129;"] = "Jopf";
+macro2utf8["boxVl"] = "&#9570;";
+utf82macro["&#9570;"] = "boxVl";
+macro2utf8["nearhk"] = "&#10532;";
+utf82macro["&#10532;"] = "nearhk";
+macro2utf8["vBarv"] = "&#10985;";
+utf82macro["&#10985;"] = "vBarv";
+macro2utf8["rHar"] = "&#10596;";
+utf82macro["&#10596;"] = "rHar";
+macro2utf8["boxVr"] = "&#9567;";
+utf82macro["&#9567;"] = "boxVr";
+macro2utf8["lessdot"] = "&#8918;";
+utf82macro["&#8918;"] = "lessdot";
+macro2utf8["LeftDoubleBracket"] = "&#12314;";
+utf82macro["&#12314;"] = "LeftDoubleBracket";
+macro2utf8["Delta"] = "&#916;";
+utf82macro["&#916;"] = "Delta";
+macro2utf8["limsup"] = "limsup";
+utf82macro["limsup"] = "limsup";
+macro2utf8["tcy"] = "&#1090;";
+utf82macro["&#1090;"] = "tcy";
+macro2utf8["nlt"] = "&#8814;";
+utf82macro["&#8814;"] = "nlt";
+macro2utf8["Cdot"] = "&#266;";
+utf82macro["&#266;"] = "Cdot";
+macro2utf8["blk34"] = "&#9619;";
+utf82macro["&#9619;"] = "blk34";
+macro2utf8["Bfr"] = "&#120069;";
+utf82macro["&#120069;"] = "Bfr";
+macro2utf8["lowbar"] = "_";
+utf82macro["_"] = "lowbar";
+macro2utf8["lneqq"] = "&#8808;";
+utf82macro["&#8808;"] = "lneqq";
+macro2utf8["TildeEqual"] = "&#8771;";
+utf82macro["&#8771;"] = "TildeEqual";
+macro2utf8["shortmid"] = "&#8739;&#65024;";
+utf82macro["&#8739;&#65024;"] = "shortmid";
+macro2utf8["Qopf"] = "&#8474;";
+utf82macro["&#8474;"] = "Qopf";
+macro2utf8["drcorn"] = "&#8991;";
+utf82macro["&#8991;"] = "drcorn";
+macro2utf8["ZeroWidthSpace"] = "&#8203;";
+utf82macro["&#8203;"] = "ZeroWidthSpace";
+macro2utf8["aogon"] = "&#261;";
+utf82macro["&#261;"] = "aogon";
+macro2utf8["Rsh"] = "&#8625;";
+utf82macro["&#8625;"] = "Rsh";
+macro2utf8["lrarr"] = "&#8646;";
+utf82macro["&#8646;"] = "lrarr";
+macro2utf8["cupdot"] = "&#8845;";
+utf82macro["&#8845;"] = "cupdot";
+macro2utf8["Xopf"] = "&#120143;";
+utf82macro["&#120143;"] = "Xopf";
+macro2utf8["Backslash"] = "&#8726;";
+utf82macro["&#8726;"] = "Backslash";
+macro2utf8["Union"] = "&#8899;";
+utf82macro["&#8899;"] = "Union";
+macro2utf8["ratio"] = "&#8758;";
+utf82macro["&#8758;"] = "ratio";
+macro2utf8["duarr"] = "&#8693;";
+utf82macro["&#8693;"] = "duarr";
+macro2utf8["lates"] = "&#10925;&#65024;";
+utf82macro["&#10925;&#65024;"] = "lates";
+macro2utf8["suphsub"] = "&#10967;";
+utf82macro["&#10967;"] = "suphsub";
+macro2utf8["squf"] = "&#9642;";
+utf82macro["&#9642;"] = "squf";
+macro2utf8["gamma"] = "&#947;";
+utf82macro["&#947;"] = "gamma";
+macro2utf8["lrhard"] = "&#10605;";
+utf82macro["&#10605;"] = "lrhard";
+macro2utf8["intprod"] = "&#10812;";
+utf82macro["&#10812;"] = "intprod";
+macro2utf8["ReverseUpEquilibrium"] = "&#10607;";
+utf82macro["&#10607;"] = "ReverseUpEquilibrium";
+macro2utf8["icy"] = "&#1080;";
+utf82macro["&#1080;"] = "icy";
+macro2utf8["quatint"] = "&#10774;";
+utf82macro["&#10774;"] = "quatint";
+macro2utf8["nbump"] = "&#8782;&#824;";
+utf82macro["&#8782;&#824;"] = "nbump";
+macro2utf8["downharpoonleft"] = "&#8643;";
+utf82macro["&#8643;"] = "downharpoonleft";
+macro2utf8["otimesas"] = "&#10806;";
+utf82macro["&#10806;"] = "otimesas";
+macro2utf8["nvHarr"] = "&#8654;";
+utf82macro["&#8654;"] = "nvHarr";
+macro2utf8["ContourIntegral"] = "&#8750;";
+utf82macro["&#8750;"] = "ContourIntegral";
+macro2utf8["bsol"] = "\\";
+utf82macro["\\"] = "bsol";
+macro2utf8["DoubleUpDownArrow"] = "&#8661;";
+utf82macro["&#8661;"] = "DoubleUpDownArrow";
+macro2utf8["disin"] = "&#8946;";
+utf82macro["&#8946;"] = "disin";
+macro2utf8["Breve"] = "&#728;";
+utf82macro["&#728;"] = "Breve";
+macro2utf8["YAcy"] = "&#1071;";
+utf82macro["&#1071;"] = "YAcy";
+macro2utf8["precsim"] = "&#8830;";
+utf82macro["&#8830;"] = "precsim";
+macro2utf8["NotGreaterGreater"] = "&#8811;&#824;&#65024;";
+utf82macro["&#8811;&#824;&#65024;"] = "NotGreaterGreater";
+macro2utf8["fopf"] = "&#120151;";
+utf82macro["&#120151;"] = "fopf";
+macro2utf8["SquareSupersetEqual"] = "&#8850;";
+utf82macro["&#8850;"] = "SquareSupersetEqual";
+macro2utf8["Dscr"] = "&#119967;";
+utf82macro["&#119967;"] = "Dscr";
+macro2utf8["gsime"] = "&#10894;";
+utf82macro["&#10894;"] = "gsime";
+macro2utf8["PartialD"] = "&#8706;";
+utf82macro["&#8706;"] = "PartialD";
+macro2utf8["Umacr"] = "&#362;";
+utf82macro["&#362;"] = "Umacr";
+macro2utf8["tfr"] = "&#120113;";
+utf82macro["&#120113;"] = "tfr";
+macro2utf8["cularrp"] = "&#10557;";
+utf82macro["&#10557;"] = "cularrp";
+macro2utf8["UnderBracket"] = "&#9141;";
+utf82macro["&#9141;"] = "UnderBracket";
+macro2utf8["ugrave"] = "&#249;";
+utf82macro["&#249;"] = "ugrave";
+macro2utf8["mopf"] = "&#120158;";
+utf82macro["&#120158;"] = "mopf";
+macro2utf8["gsiml"] = "&#10896;";
+utf82macro["&#10896;"] = "gsiml";
+macro2utf8["iquest"] = "&#191;";
+utf82macro["&#191;"] = "iquest";
+macro2utf8["nmid"] = "&#8740;";
+utf82macro["&#8740;"] = "nmid";
+macro2utf8["leftarrowtail"] = "&#8610;";
+utf82macro["&#8610;"] = "leftarrowtail";
+macro2utf8["not"] = "&#172;";
+utf82macro["&#172;"] = "not";
+macro2utf8["Kscr"] = "&#119974;";
+utf82macro["&#119974;"] = "Kscr";
+macro2utf8["xsqcup"] = "&#8852;";
+utf82macro["&#8852;"] = "xsqcup";
+macro2utf8["triangleleft"] = "&#9667;";
+utf82macro["&#9667;"] = "triangleleft";
+macro2utf8["amalg"] = "&#10815;";
+utf82macro["&#10815;"] = "amalg";
+macro2utf8["prcue"] = "&#8828;";
+utf82macro["&#8828;"] = "prcue";
+macro2utf8["ac"] = "&#10511;";
+utf82macro["&#10511;"] = "ac";
+macro2utf8["nharr"] = "&#8622;";
+utf82macro["&#8622;"] = "nharr";
+macro2utf8["dzcy"] = "&#1119;";
+utf82macro["&#1119;"] = "dzcy";
+macro2utf8["topf"] = "&#120165;";
+utf82macro["&#120165;"] = "topf";
+macro2utf8["iff"] = "&#8660;";
+utf82macro["&#8660;"] = "iff";
+macro2utf8["af"] = "&#8289;";
+utf82macro["&#8289;"] = "af";
+macro2utf8["Uparrow"] = "&#8657;";
+utf82macro["&#8657;"] = "Uparrow";
+macro2utf8["Iacute"] = "&#205;";
+utf82macro["&#205;"] = "Iacute";
+macro2utf8["Rscr"] = "&#8475;";
+utf82macro["&#8475;"] = "Rscr";
+macro2utf8["vrtri"] = "&#8883;";
+utf82macro["&#8883;"] = "vrtri";
+macro2utf8["multimap"] = "&#8888;";
+utf82macro["&#8888;"] = "multimap";
+macro2utf8["Hat"] = "&#770;";
+utf82macro["&#770;"] = "Hat";
+macro2utf8["rtriltri"] = "&#10702;";
+utf82macro["&#10702;"] = "rtriltri";
+macro2utf8["npr"] = "&#8832;";
+utf82macro["&#8832;"] = "npr";
+macro2utf8["agrave"] = "&#224;";
+utf82macro["&#224;"] = "agrave";
+macro2utf8["UnderBar"] = "&#818;";
+utf82macro["&#818;"] = "UnderBar";
+macro2utf8["prime"] = "&#8242;";
+utf82macro["&#8242;"] = "prime";
+macro2utf8["plusmn"] = "&#177;";
+utf82macro["&#177;"] = "plusmn";
+macro2utf8["eplus"] = "&#10865;";
+utf82macro["&#10865;"] = "eplus";
+macro2utf8["ap"] = "&#8776;";
+utf82macro["&#8776;"] = "ap";
+macro2utf8["dlcorn"] = "&#8990;";
+utf82macro["&#8990;"] = "dlcorn";
+macro2utf8["backsim"] = "&#8765;";
+utf82macro["&#8765;"] = "backsim";
+macro2utf8["ifr"] = "&#120102;";
+utf82macro["&#120102;"] = "ifr";
+macro2utf8["bigcup"] = "&#8899;";
+utf82macro["&#8899;"] = "bigcup";
+macro2utf8["tcaron"] = "&#357;";
+utf82macro["&#357;"] = "tcaron";
+macro2utf8["sqcaps"] = "&#8851;&#65024;";
+utf82macro["&#8851;&#65024;"] = "sqcaps";
+macro2utf8["equals"] = "=";
+utf82macro["="] = "equals";
+macro2utf8["curlywedge"] = "&#8911;";
+utf82macro["&#8911;"] = "curlywedge";
+macro2utf8["Yscr"] = "&#119988;";
+utf82macro["&#119988;"] = "Yscr";
+macro2utf8["longrightarrow"] = "????";
+utf82macro["????"] = "longrightarrow";
+macro2utf8["fork"] = "&#8916;";
+utf82macro["&#8916;"] = "fork";
+macro2utf8["cos"] = "cos";
+utf82macro["cos"] = "cos";
+macro2utf8["cot"] = "cot";
+utf82macro["cot"] = "cot";
+macro2utf8["ImaginaryI"] = "&#8520;";
+utf82macro["&#8520;"] = "ImaginaryI";
+macro2utf8["Scy"] = "&#1057;";
+utf82macro["&#1057;"] = "Scy";
+macro2utf8["mapsto"] = "&#8614;";
+utf82macro["&#8614;"] = "mapsto";
+macro2utf8["tdot"] = "&#8411;";
+utf82macro["&#8411;"] = "tdot";
+macro2utf8["vellip"] = "&#8942;";
+utf82macro["&#8942;"] = "vellip";
+macro2utf8["sqsupseteq"] = "&#8850;";
+utf82macro["&#8850;"] = "sqsupseteq";
+macro2utf8["nvdash"] = "&#8876;";
+utf82macro["&#8876;"] = "nvdash";
+macro2utf8["NotSuperset"] = "&#8837;";
+utf82macro["&#8837;"] = "NotSuperset";
+macro2utf8["DoubleUpArrow"] = "&#8657;";
+utf82macro["&#8657;"] = "DoubleUpArrow";
+macro2utf8["land"] = "&#8743;";
+utf82macro["&#8743;"] = "land";
+macro2utf8["topfork"] = "&#10970;";
+utf82macro["&#10970;"] = "topfork";
+macro2utf8["llhard"] = "&#10603;";
+utf82macro["&#10603;"] = "llhard";
+macro2utf8["apos"] = "'";
+utf82macro["'"] = "apos";
+macro2utf8["oslash"] = "&#248;";
+utf82macro["&#248;"] = "oslash";
+macro2utf8["lang"] = "&#9001;";
+utf82macro["&#9001;"] = "lang";
+macro2utf8["bernou"] = "&#8492;";
+utf82macro["&#8492;"] = "bernou";
+macro2utf8["varrho"] = "&#1009;";
+utf82macro["&#1009;"] = "varrho";
+macro2utf8["rcub"] = "}";
+utf82macro["}"] = "rcub";
+macro2utf8["Cedilla"] = "&#184;";
+utf82macro["&#184;"] = "Cedilla";
+macro2utf8["ApplyFunction"] = "&#8289;";
+utf82macro["&#8289;"] = "ApplyFunction";
+macro2utf8["nsce"] = "&#10928;&#824;";
+utf82macro["&#10928;&#824;"] = "nsce";
+macro2utf8["gscr"] = "&#8458;";
+utf82macro["&#8458;"] = "gscr";
+macro2utf8["imagpart"] = "&#8465;";
+utf82macro["&#8465;"] = "imagpart";
+macro2utf8["ngtr"] = "&#8815;";
+utf82macro["&#8815;"] = "ngtr";
+macro2utf8["nsc"] = "&#8833;";
+utf82macro["&#8833;"] = "nsc";
+macro2utf8["Barv"] = "&#10983;";
+utf82macro["&#10983;"] = "Barv";
+macro2utf8["tosa"] = "&#10537;";
+utf82macro["&#10537;"] = "tosa";
+macro2utf8["nwnear"] = "&#10535;";
+utf82macro["&#10535;"] = "nwnear";
+macro2utf8["ltlarr"] = "&#10614;";
+utf82macro["&#10614;"] = "ltlarr";
+macro2utf8["PrecedesEqual"] = "&#10927;";
+utf82macro["&#10927;"] = "PrecedesEqual";
+macro2utf8["lessapprox"] = "&#8818;";
+utf82macro["&#8818;"] = "lessapprox";
+macro2utf8["Lcaron"] = "&#317;";
+utf82macro["&#317;"] = "Lcaron";
index a3704ee4eb3056b16287f74f2d16847842afafc5..4eff42e4ce4d6f1df3808a7f7a57786aa8a37406 100644 (file)
@@ -32,65 +32,92 @@ type user = string * (string * string * session_id option)
 
 let user_tbl = (ref [] : user list ref)
 
-(* session table: session id, (user id, matita status, matita history *)
-type session = session_id * (string * MatitaEngine.status * MatitaEngine.status list)
+(* low users can't commit or update *)
+let luser_tbl = (ref [] : user list ref)
+
+(* session table: session id, (user id, matita status, matita history, commit privileges *)
+type session = session_id * (string * MatitaEngine.status * MatitaEngine.status list * bool)
 
 let session_tbl = (ref [] : session list ref)
 
 exception UsernameCollision of string
 exception InvalidPassword
 
-let lookup_user uid = List.assoc uid !user_tbl
+(* returns user entry and privileges *)
+let lookup_user uid = 
+  try List.assoc uid !user_tbl, true
+  with Not_found -> List.assoc uid !luser_tbl, false
+
+let user_of_session sid = let res,_,_,_ = List.assoc sid !session_tbl in res
 
-let user_of_session sid = let res,_,_ = List.assoc sid !session_tbl in res
+(* disable for debugging *)
+let prerr_endline _ = ()
 
+(* used for commits, so lusers are excluded *)
 let get_users () = List.map fst !user_tbl
 
 let create_session uid =
   let status = new MatitaEngine.status (Some uid) "cic:/matita" in
   let history = [status] in
-  let salt,pw,sid = List.assoc uid !user_tbl in
-  let clean_utbl = List.remove_assoc uid !user_tbl in
+  let (salt,pw,sid),cp = lookup_user uid in
   let new_session = Uuidm.create `V4 in
-  user_tbl := (uid,(salt,pw,Some new_session))::clean_utbl;
+  (if cp then
+    let clean_utbl = List.remove_assoc uid !user_tbl in
+    user_tbl := (uid,(salt,pw,Some new_session))::clean_utbl
+  else
+    let clean_lutbl = List.remove_assoc uid !luser_tbl in
+    luser_tbl := (uid,(salt,pw,Some new_session))::clean_lutbl);
   let clean_stbl = match sid with
     | Some sid' -> 
        List.remove_assoc sid' !session_tbl
     | _ -> !session_tbl
   in 
-  session_tbl := (new_session,(uid,status,history))::clean_stbl;
+  session_tbl := (new_session,(uid,status,history,cp))::clean_stbl;
   new_session
 ;;
 
 let get_session_owner sid =
-  let uid,_,_ = List.assoc sid !session_tbl
+  let uid,_,_,_ = List.assoc sid !session_tbl
   in uid
 
 let get_status sid =
-  let _,st,_ = List.assoc sid !session_tbl
+  let _,st,_,_ = List.assoc sid !session_tbl
   in st
 
 let get_history sid = 
-  let _,_,hist = List.assoc sid !session_tbl
+  let _,_,hist,_ = List.assoc sid !session_tbl
   in hist
 
+let get_commit_priv sid =
+  let _,_,_,cp = List.assoc sid !session_tbl
+  in cp
+
+let probe_commit_priv sid =
+  let _,_,_,cp = List.assoc sid !session_tbl in
+  if not cp then failwith "no commit privileges" 
+
 let set_status sid st =
-  let uid, oldst, hist = List.assoc sid !session_tbl in
-  session_tbl := (sid,(uid,st,hist))::(List.remove_assoc sid !session_tbl)
+  let uid, oldst, hist, cp = List.assoc sid !session_tbl in
+  session_tbl := (sid,(uid,st,hist,cp))::(List.remove_assoc sid !session_tbl)
    
 let set_history sid hist =
-  let uid, st, oldhist = List.assoc sid !session_tbl in
-  session_tbl := (sid,(uid,st,hist))::(List.remove_assoc sid !session_tbl)
+  let uid, st, oldhist, cp = List.assoc sid !session_tbl in
+  session_tbl := (sid,(uid,st,hist,cp))::(List.remove_assoc sid !session_tbl)
 
 let logout_user sid =
-  let uid,st,hist = List.assoc sid !session_tbl in
-  let salt,pw,_ = List.assoc uid !user_tbl in
-  user_tbl := (uid,(salt,pw,None))::List.remove_assoc uid !user_tbl;
+  let uid,st,hist,cp = List.assoc sid !session_tbl in
+  (if cp then 
+    let salt,pw,_ = List.assoc uid !user_tbl in
+    user_tbl := (uid,(salt,pw,None))::List.remove_assoc uid !user_tbl
+  else
+    let salt,pw,_ = List.assoc uid !luser_tbl in
+    luser_tbl := (uid,(salt,pw,None))::List.remove_assoc uid !luser_tbl);
   session_tbl := List.remove_assoc sid !session_tbl
 ;;
 
 let remove_user uid =
-  user_tbl := List.remove_assoc uid !user_tbl
+  user_tbl := List.remove_assoc uid !user_tbl;
+  luser_tbl := List.remove_assoc uid !luser_tbl
 ;;
 
 (* serialization and deserialization of the user table *)
@@ -103,9 +130,13 @@ let config_path () =
 
 let serialize () =
   let clean_utbl = List.map (fun (uid,(salt,pw,_)) -> uid,(salt,pw,None)) !user_tbl in
+  let clean_lutbl = List.map (fun (uid,(salt,pw,_)) -> uid,(salt,pw,None)) !luser_tbl in
   let utbl_ch = open_out (config_path () ^ "/usertable.dump") in
   Marshal.to_channel utbl_ch clean_utbl [];
   close_out utbl_ch;
+  let lutbl_ch = open_out (config_path () ^ "/lusertable.dump") in
+  Marshal.to_channel lutbl_ch clean_lutbl [];
+  close_out lutbl_ch
 ;;
 
 let deserialize () =
@@ -116,6 +147,13 @@ let deserialize () =
   with
     | Sys_error _ -> 
        user_tbl := []; serialize());
+  (try
+    let lutbl_ch = open_in (config_path () ^ "/lusertable.dump") in
+    luser_tbl := Marshal.from_channel lutbl_ch;
+    close_in lutbl_ch;
+  with
+    | Sys_error _ -> 
+       luser_tbl := []; serialize());
   (* old_sessions are now invalid *)
   session_tbl := [];
 ;;
@@ -152,7 +190,7 @@ let set_file_flag uid files_flags =
   write_ft uid (ft'@ft)
 ;;
 
-let add_user uid pw =
+let add_user uid pw cp =
   try
     let _ = lookup_user uid in
     raise (UsernameCollision uid)
@@ -163,12 +201,15 @@ let add_user uid pw =
     let sha256 = Cryptokit.Hash.sha256 () in
     sha256#add_string (salt ^ pw);
     let crypto_pw = sha256#result in
-    user_tbl := (uid,(salt,crypto_pw,None))::!user_tbl;
+    (if cp then
+      user_tbl := (uid,(salt,crypto_pw,None))::!user_tbl
+    else 
+      luser_tbl := (uid,(salt,crypto_pw,None))::!luser_tbl);
     write_ft uid ft;
     serialize ()
 ;;
 
-let add_user_no_checkout uid pw =
+let add_user_no_checkout uid pw cp =
   try
     let _ = lookup_user uid in
     raise (UsernameCollision uid)
@@ -179,13 +220,16 @@ let add_user_no_checkout uid pw =
     sha256#add_string (salt ^ pw);
     let crypto_pw = sha256#result in
     sha256#wipe;
-    user_tbl := (uid,(salt,crypto_pw,None))::!user_tbl;
+    (if cp then
+      user_tbl := (uid,(salt,crypto_pw,None))::!user_tbl
+    else 
+      luser_tbl := (uid,(salt,crypto_pw,None))::!luser_tbl);
     serialize ()
 ;;
 
 let check_pw uid pw =
   try
-    let salt,crypto_pw,_ = lookup_user uid in
+    let (salt,crypto_pw,_),_ = lookup_user uid in
     let sha256 = Cryptokit.Hash.sha256 () in
     sha256#add_string (salt ^ pw);
     let computed_pw = sha256#result in
@@ -197,6 +241,7 @@ let check_pw uid pw =
 
 let reset () =
   user_tbl := [];
+  luser_tbl := [];
   session_tbl := [];
   MatitaFilesystem.reset_lib ();
   serialize ();
index d2b1f591018d004052cef1a0c5ca7bfe65ed6499..d1f839df2c5d8639c1cb705fbe54ce749e0feb69 100644 (file)
@@ -28,7 +28,7 @@ type session_id = Uuidm.t
 exception UsernameCollision of string
 exception InvalidPassword
 
-val lookup_user : string -> (string * string * session_id option)
+val lookup_user : string -> (string * string * session_id option) * bool
 
 val user_of_session : session_id -> string
 
@@ -42,6 +42,10 @@ val get_status : session_id -> MatitaEngine.status
 
 val get_history : session_id -> MatitaEngine.status list
 
+val get_commit_priv : session_id -> bool
+
+val probe_commit_priv : session_id -> unit
+
 val set_status : session_id -> MatitaEngine.status -> unit
 
 val set_history : session_id -> MatitaEngine.status list -> unit
@@ -61,9 +65,9 @@ val write_ft : string -> (string * MatitaFilesystem.matita_flag) list -> unit
 val set_file_flag : 
   string -> (string * MatitaFilesystem.matita_flag option) list -> unit
 
-val add_user : string -> string -> unit
+val add_user : string -> string -> bool ->  unit
 
-val add_user_no_checkout : string -> string -> unit
+val add_user_no_checkout : string -> string -> bool ->  unit
 
 val check_pw : string -> string -> unit
 
index 1ea3cbb94267204b899d0497392d36eca0ea1dff..5d53a9c3e3395b09695d81a6325034812a75e44e 100644 (file)
@@ -25,6 +25,9 @@
 
 exception SvnError of string;;
 
+(* disable for debugging *)
+let prerr_endline _ = ()
+
 let exec_process cmd =
   let (stdout, stdin, stderr) as chs = Unix.open_process_full cmd [||] in
   let outlines = ref [] in
@@ -174,7 +177,10 @@ let checkout user =
   let rt_dir = Helm_registry.get "matita.rt_base_dir" in
   let repo = Helm_registry.get "matita.weblib" in
 
-  let errno, outlines, errlines = exec_process 
+  let errno, outlines, errlines = 
+    prerr_endline
+    ("svn co --non-interactive " ^ repo ^ " " ^ rt_dir ^ "/users/" ^ user ^ "/");
+     exec_process 
     ("svn co --non-interactive " ^ repo ^ " " ^ rt_dir ^ "/users/" ^ user ^ "/")
   in
   let files, anomalies = 
index 6307c5f69b00c58a6ce96c4cf3b1e0b6101b4198..7c5ab70a795848bb81796d664b5affeec95d5281 100644 (file)
@@ -274,7 +274,8 @@ let initialize_all () =
   status := 
     List.fold_left (fun s f -> f s) !status
     (conf_components @ other_components);
-  NCicLibrary.init ()
+   (* library for single user mode *)
+     NCicLibrary.init None
 
 let parse_cmdline_and_configuration_file () =
   status := List.fold_left (fun s f -> f s) !status conf_components
index 081ce316538b6563bf38b55650cf1b13e7f458f2..0c0f6cefda58da86b44c768b1d2d6c778d06004d 100644 (file)
@@ -6,6 +6,9 @@ exception Disamb_error of string
 
 module Stack = Continuationals.Stack
 
+(* disable for debug *)
+let prerr_endline _ = ()
+
 let rt_path () = Helm_registry.get "matita.rt_base_dir" 
 
 let libdir uid = (rt_path ()) ^ "/users/" ^ uid 
@@ -200,8 +203,8 @@ let eval_statement include_paths (* (buffer : GText.buffer) *) status (* script
       Printf.sprintf "\005A href=\"%s\"\006%s\005/A\006"
         (NReference.string_of_reference r) (NCicPp.r2s status true r)
     in
-    if trace = [] then "{}"
-    else String.concat ", " 
+    (*if trace = [] then "{}"
+    else*) String.concat ", " 
       (HExtlib.filter_map (function 
         | NotationPt.NRef r -> Some (href r) 
         | _ -> None)
@@ -345,8 +348,7 @@ let load_doc filename outchan =
   Http_daemon.respond ~headers:["Content-Type", contenttype] ~code:(`Code 200) ~body:s outchan
 ;;
 
-let retrieve (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) =
-  let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in
+let retrieve (cgi : Netcgi.cgi_activation) =
   let env = cgi#environment in
   (try 
     let sid = Uuidm.of_string (Netcgi.Cookie.value (env#cookie "session")) in
@@ -445,33 +447,54 @@ let advance0 sid text =
   let history = MatitaAuthentication.get_history sid in
   let status = status#reset_disambiguate_db () in
   let (st,new_statements,new_unparsed),parsed_len =
-    try
-      eval_statement !include_paths (*buffer*) status (`Raw text)
-    with
-    | HExtlib.Localized (floc,e) as exn ->
+    let rec do_exc = function
+    | HExtlib.Localized (floc,e) -> 
       let x, y = HExtlib.loc_of_floc floc in
-  prerr_endline (Printf.sprintf "ustring_sub caso 2: (%d,%d) parsed=%s" 0 x text);
       let pre = Netconversion.ustring_sub `Enc_utf8  0 x text in
-  prerr_endline (Printf.sprintf "ustring_sub caso 3: (%d,%d) parsed=%s" x (y-x) text);
       let err = Netconversion.ustring_sub `Enc_utf8  x (y-x) text in
-  prerr_endline (Printf.sprintf "ustring_sub caso 4: (%d,%d) parsed=%s" y (Netconversion.ustring_length `Enc_utf8 text - y) text);
       let post = Netconversion.ustring_sub `Enc_utf8 y 
          (Netconversion.ustring_length `Enc_utf8 text - y) text in
-      let _,title = MatitaExcPp.to_string exn in
+      let _,title = MatitaExcPp.to_string e in
       (* let title = "" in *)
       let marked = 
        pre ^ "\005span class=\"error\" title=\"" ^ title ^ "\"\006" ^ err ^ "\005/span\006" ^ post in
       let marked = Netencoding.Html.encode ~in_enc:`Enc_utf8 ~prefer_name:false 
       () (html_of_matita marked) in
-      raise (Emphasized_error marked) 
+      raise (Emphasized_error marked)
+    | Disambiguate.NoWellTypedInterpretation (floc,e) ->
+      let x, y = HExtlib.loc_of_floc floc in
+      let pre = Netconversion.ustring_sub `Enc_utf8  0 x text in
+      let err = Netconversion.ustring_sub `Enc_utf8  x (y-x) text in
+      let post = Netconversion.ustring_sub `Enc_utf8 y 
+         (Netconversion.ustring_length `Enc_utf8 text - y) text in
+      (*let _,title = MatitaExcPp.to_string e in*)
+      (* let title = "" in *)
+      let marked = 
+       pre ^ "\005span class=\"error\" title=\"" ^ e ^ "\"\006" ^ err ^ "\005/span\006" ^ post in
+      let marked = Netencoding.Html.encode ~in_enc:`Enc_utf8 ~prefer_name:false 
+      () (html_of_matita marked) in
+      raise (Emphasized_error marked)
+    | NCicRefiner.Uncertain m as exn ->
+      let floc, e = Lazy.force m in
+      let x, y = HExtlib.loc_of_floc floc in
+      let pre = Netconversion.ustring_sub `Enc_utf8  0 x text in
+      let err = Netconversion.ustring_sub `Enc_utf8  x (y-x) text in
+      let post = Netconversion.ustring_sub `Enc_utf8 y 
+         (Netconversion.ustring_length `Enc_utf8 text - y) text in
+      (* let _,title = MatitaExcPp.to_string e in *)
+      (* let title = "" in *)
+      let marked = 
+       pre ^ "\005span class=\"error\" title=\"" ^ e ^ "\"\006" ^ err ^ "\005/span\006" ^ post in
+      let marked = Netencoding.Html.encode ~in_enc:`Enc_utf8 ~prefer_name:false 
+      () (html_of_matita marked) in
+      raise (Emphasized_error marked)
     | NTacStatus.Error (s,None) as e ->
         prerr_endline 
-          ("NTacStatus.Error " ^ (Lazy.force s));
-        raise e
+          ("NTacStatus.Error " ^ (Lazy.force s)); raise e
     | NTacStatus.Error (s,Some exc) as e ->
         prerr_endline 
           ("NTacStatus.Error " ^ Lazy.force s ^ " -- " ^ (Printexc.to_string exc));
-        raise e
+        do_exc exc
     | GrafiteDisambiguate.Ambiguous_input (loc,choices) ->
       let x,y = HExtlib.loc_of_floc loc in
       let choice_of_alias = function
@@ -515,22 +538,32 @@ let advance0 sid text =
       in raise (Disamb_error strchoices)
    | GrafiteDisambiguate.Error l -> raise (Disamb_error (xml_of_disamb_error l))
    (* | End_of_file -> ...          *)
+   | e -> raise e
+   in
+
+    try
+      eval_statement !include_paths (*buffer*) status (`Raw text)
+    with e -> do_exc e
   in
   MatitaAuthentication.set_status sid st;
   MatitaAuthentication.set_history sid (st::history);
+(*  prerr_endline "previous timestamp";
+  status#print_timestamp();
+  prerr_endline "current timestamp";
+  st#print_timestamp(); *)
   parsed_len, 
     Netencoding.Html.encode ~in_enc:`Enc_utf8 ~prefer_name:false 
       () (html_of_matita new_statements), new_unparsed, st
 
-let register (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) =
-  let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in
+let register (cgi : Netcgi.cgi_activation) =
   let _env = cgi#environment in
   
   assert (cgi#arguments <> []);
   let uid = cgi#argument_value "userid" in
   let userpw = cgi#argument_value "password" in
-  (try 
-    MatitaAuthentication.add_user uid userpw;
+  (try
+    (* currently registering only unprivileged users *) 
+    MatitaAuthentication.add_user uid userpw false;
 (*    env#set_output_header_field "Location" "/index.html" *)
     cgi#out_channel#output_string
      ("<html><head><meta http-equiv=\"refresh\" content=\"2;url=/login.html\">"
@@ -554,8 +587,7 @@ let register (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) =
   cgi#out_channel#commit_work()
 ;;
 
-let login (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) =
-  let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in
+let login (cgi : Netcgi.cgi_activation) =
   let env = cgi#environment in
   
   assert (cgi#arguments <> []);
@@ -563,6 +595,7 @@ let login (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) =
   let userpw = cgi#argument_value "password" in
   (try 
       MatitaAuthentication.check_pw uid userpw;
+      NCicLibrary.init (Some uid);
       let ft = MatitaAuthentication.read_ft uid in
       let _ = MatitaFilesystem.html_of_library uid ft in
        let sid = MatitaAuthentication.create_session uid in
@@ -584,8 +617,7 @@ let login (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) =
   cgi#out_channel#commit_work()
 ;;
 
-let logout (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) =
-  let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in
+let logout (cgi : Netcgi.cgi_activation) =
   let env = cgi#environment in
   (try 
     let sid = Uuidm.of_string (Netcgi.Cookie.value (env#cookie "session")) in
@@ -609,8 +641,7 @@ let logout (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) =
 
 exception File_already_exists;;
 
-let save (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) =
-  let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in
+let save (cgi : Netcgi.cgi_activation) =
   let env = cgi#environment in
   (try 
     let sid = Uuidm.of_string (Netcgi.Cookie.value (env#cookie "session")) in
@@ -676,10 +707,12 @@ let save (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) =
   cgi#out_channel#commit_work()
 ;;
 
-let initiate_commit (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) =
-  let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in
-  let _env = cgi#environment in
+let initiate_commit (cgi : Netcgi.cgi_activation) =
+  let env = cgi#environment in
   (try
+    let sid = Uuidm.of_string (Netcgi.Cookie.value (env#cookie "session")) in
+    let sid = HExtlib.unopt sid in
+    MatitaAuthentication.probe_commit_priv sid;
     let out = do_global_commit () in
     cgi # set_header 
       ~cache:`No_cache 
@@ -699,13 +732,13 @@ let initiate_commit (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) =
   cgi#out_channel#commit_work()
 ;;
 
-let svn_update (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) =
-  let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in
+let svn_update (cgi : Netcgi.cgi_activation) =
   let env = cgi#environment in
   let sid = Uuidm.of_string (Netcgi.Cookie.value (env#cookie "session")) in
   let sid = HExtlib.unopt sid in
   let uid = MatitaAuthentication.user_of_session sid in
   (try
+    MatitaAuthentication.probe_commit_priv sid;
     let files,anomalies,(added,conflict,del,upd,merged) = 
       MatitaFilesystem.update_user uid 
     in
@@ -743,8 +776,9 @@ let svn_update (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) =
 
 (* returns the length of the executed text and an html representation of the
  * current metasenv*)
-let advance (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) =
-  let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in
+(*let advance  =*)
+let advance (cgi : Netcgi.cgi_activation) =
+  (* let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in *)
   let env = cgi#environment in
   (try 
     let sid = Uuidm.of_string (Netcgi.Cookie.value (env#cookie "session")) in
@@ -796,13 +830,11 @@ let advance (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) =
   cgi#out_channel#commit_work()
 ;;
 
-let gotoBottom (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) =
-  let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in
+let gotoBottom (cgi : Netcgi.cgi_activation) =
   let env = cgi#environment in
 (*  (try  *)
     let sid = Uuidm.of_string (Netcgi.Cookie.value (env#cookie "session")) in
     let sid = HExtlib.unopt sid in
-    let history = MatitaAuthentication.get_history sid in
 
     let error_msg = function
       | Emphasized_error text -> "<localized>" ^ text ^ "</localized>" 
@@ -819,11 +851,12 @@ let gotoBottom (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) =
         prerr_endline ("evaluating: " ^ first_line text);
         let plen,new_parsed,new_unparsed,_new_status = advance0 sid text in
         aux ((plen,new_parsed)::acc) new_unparsed
-      with e -> 
+      with e -> acc, error_msg e 
+        (* DON'T SERIALIZE NOW!!!
           let status = MatitaAuthentication.get_status sid in
           GrafiteTypes.Serializer.serialize 
             ~baseuri:(NUri.uri_of_string status#baseuri) status;
-          acc, error_msg e
+          acc, error_msg e *)
     in
     (* 
     cgi # set_header 
@@ -857,8 +890,7 @@ let gotoBottom (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) =
   cgi#out_channel#commit_work() 
 ;;
 
-let gotoTop (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) =
-  let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in
+let gotoTop (cgi : Netcgi.cgi_activation) =
   let env = cgi#environment in
   prerr_endline "executing goto Top";
   (try 
@@ -894,8 +926,7 @@ let gotoTop (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) =
   cgi#out_channel#commit_work() 
 ;;
 
-let retract (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) =
-  let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in
+let retract (cgi : Netcgi.cgi_activation) =
   let env = cgi#environment in
   (try  
     let sid = Uuidm.of_string (Netcgi.Cookie.value (env#cookie "session")) in
@@ -907,13 +938,18 @@ let retract (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) =
       ();
     *)
     let history = MatitaAuthentication.get_history sid in
+    let old_status = MatitaAuthentication.get_status sid in
     let new_history,new_status =
        match history with
          _::(status::_ as history) ->
           history, status
       | [_] -> (prerr_endline "singleton";failwith "retract")
       | _ -> (prerr_endline "nil"; assert false) in
-    prerr_endline ("prima della time travel");
+(*    prerr_endline "timestamp prima della retract";
+    old_status#print_timestamp ();
+    prerr_endline "timestamp della retract";
+    new_status#print_timestamp ();
+    prerr_endline ("prima della time travel"); *)
     NCicLibrary.time_travel new_status;
     prerr_endline ("dopo della time travel");
     MatitaAuthentication.set_history sid new_history;
@@ -934,8 +970,7 @@ let retract (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) =
 ;;
 
 
-let viewLib (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) =
-  let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in
+let viewLib (cgi : Netcgi.cgi_activation) =
   let env = cgi#environment in
   
     let sid = Uuidm.of_string (Netcgi.Cookie.value (env#cookie "session")) in
@@ -974,8 +1009,7 @@ let viewLib (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) =
   
 ;;
 
-let resetLib (cgi : Netcgi1_compat.Netcgi_types.cgi_activation) =
-  let cgi = Netcgi1_compat.Netcgi_types.of_compat_activation cgi in
+let resetLib (cgi : Netcgi.cgi_activation) =
   MatitaAuthentication.reset ();
     cgi # set_header 
       ~cache:`No_cache 
index 8c52197bce505aab2e399b971cd594be6262b67a..a5971a4aadf767ce4f6564d87c971f338a2f6475 100755 (executable)
@@ -1,2 +1,5 @@
 #!
-./matitadaemon -conf netplex.conf
+rm -f nohup.out
+echo running matitaweb
+#nohup ./matitadaemon -conf netplex.conf
+./matitadaemon -conf netplex.conf 2> /dev/null
index 30c138385e33b659b9c5f323273f7e79a8a2d8f7..068b30d708cfb0efb319a900887a10a009f66834 100644 (file)
@@ -220,7 +220,7 @@ function strip_tags(tagname,classname)
             tags[i].parentNode.insertBefore(children[j],tags[i]);
        }
     }
-    while (tags.length > 0) {
+    for (var i = 0;tags.length > i;i++) {
       tags[0].parentNode.removeChild(tags[0]);
     }
 }
@@ -582,7 +582,7 @@ function advOneStep(xml) {
            // len1 = unlocked.innerHTML.length;
            // len2 = len0 - len1;
            var len2 = parsedtxt.length;
-           var metasenv = xml.getElementsByTagName("meta");
+           metasenv = xml.getElementsByTagName("meta");
            statements = listcons(len2,statements);
            unlocked.scrollIntoView(true);
            return len;
@@ -642,18 +642,19 @@ function advOneStep(xml) {
            disambcell.appendChild(okbutton);
            disambcell.appendChild(cancelbutton);
 
-           disable_toparea();
-
            matita.disambMode = true;
            updateSide();
            throw "Stop";
        }
        else if (is_defined(disamberr)) {
-            set_cps(disamberr.childNodes);
-            matita.unlockedbackup = unlocked.innerHTML.html_to_matita();
-            matita.disambMode = true;
-            disable_toparea();
-            next_cp(0);
+            // must be fixed in a daemon: it makes sense to return a 
+            // disambiguation error with no choices
+            if (disamberr.childNodes.length > 0) {
+              set_cps(disamberr.childNodes);
+              matita.unlockedbackup = unlocked.innerHTML.html_to_matita();
+              matita.disambMode = true;
+              next_cp(0);
+            }
            throw "Stop";
        }
         else {
@@ -703,12 +704,12 @@ function get_choice_opts(i) {
       var href = choices[j].getAttribute("href");
       var title = choices[j].getAttribute("title");
       var desc;
-      if (is_defined(title)) {
+      if (is_defined(title) && title != null) {
           desc = title;
-      } else if (is_defined(href)) {
+      } else if (is_defined(href) && href != null) {
           desc = href;
       } else {
-          desc = "Preliminary error";
+          desc = null;
       }
   
       res[j] = document.createElement("input");
@@ -718,7 +719,7 @@ function get_choice_opts(i) {
       res[j].setAttribute("choiceno",j);
       res[j].setAttribute("href",href);
       res[j].setAttribute("title",title);
-      res[j].setAttribute("desc",desc);
+      if (desc != null) res[j].setAttribute("desc",desc);
       
       if (j == 0) res[j].setAttribute("checked","");
   }
@@ -763,15 +764,19 @@ function next_cp(curcp) {
        var mid = unlockedtxt.substring(start,stop).matita_to_html();
        var post = unlockedtxt.substring(stop).matita_to_html();
        unlocked.innerHTML = pre + 
-               "<span class=\"error\" title=\"disambiguation failed\">" +
+               "<span class=\"error\" title=\"error location\">" +
                mid + "</span>" + post;
 
-       var title = "<H3>Disambiguation failed</H3>";
+       var title = "<H3>Error diagnostics</H3>";
        disambcell.innerHTML = title;
        var choices = get_choice_opts(curcp);
        for (var i = 0;i < choices.length;i++) {
            disambcell.appendChild(choices[i]);
-           disambcell.appendChild(document.createTextNode(choices[i].getAttribute("desc")));
+           var desc = choices[i].getAttribute("desc");
+            if (!is_defined(desc) || desc == null) {
+                   desc = "Interpretation " + i;
+            }
+           disambcell.appendChild(document.createTextNode(desc));
            disambcell.appendChild(document.createElement("br"));
        }
        
@@ -813,8 +818,13 @@ function show_failures() {
        var choiceno = parseInt(choice.getAttribute("choiceno"));
        var choicedesc = choice.getAttribute("desc");
 
-       var title = "<H3>Disambiguation failed</H3>";
-       var subtitle = "<p>Errors at node " + cpno + " = " + choicedesc + "</p>";
+       var title = "<H3>Error diagnostics</H3>";
+       var subtitle;
+        if (is_defined(choicedesc) && choicedesc != null) {
+               subtitle  = "<p>Errors at node " + cpno + " = " + choicedesc + "</p>";
+        } else {
+               subtitle = "<p>Global errors:</p>";
+       }
 
        disambcell.innerHTML = title + subtitle;
        var failures = get_failure_opts(cpno,choiceno);
@@ -871,6 +881,7 @@ function gotoBottom()
                        var localized = xml.getElementsByTagName("localized")[0];
                        var ambiguity = xml.getElementsByTagName("ambiguity")[0];
                        var generic_err = xml.getElementsByTagName("error")[0];
+                       var disamberr = xml.getElementsByTagName("disamberror")[0];
                        for (var i = 0;i < parsed.length; i++) {
                          var len = parsed[i].getAttribute("length");
                          // len0 = unlocked.innerHTML.length;
@@ -946,16 +957,25 @@ function gotoBottom()
                            disambcell.appendChild(okbutton);
                            disambcell.appendChild(cancelbutton);
 
-                           disable_toparea();
-
                            matita.disambMode = true;
                            updateSide();
                        }
-                       if (is_defined(localized)) {
-                           unlocked.innerHTML = localized.wholeText;
+                       else if (is_defined(disamberr)) {
+                           // must be fixed in a daemon: it makes sense to return a 
+                           // disambiguation error with no choices
+                           if (disamberr.childNodes.length > 0) {
+                             set_cps(disamberr.childNodes);
+                             matita.unlockedbackup = unlocked.innerHTML.html_to_matita();
+                             matita.disambMode = true;
+                             next_cp(0);
+                           }
+                           throw "Stop";
+                       }
+                       else if (is_defined(localized)) {
+                           unlocked.innerHTML = localized.childNodes[0].wholeText;
                        }
-                       if (is_defined(generic_err)) {
-                           debug("Unmanaged error:\n" ^ generic_err.wholeText);
+                       else if (is_defined(generic_err)) {
+                           debug("Unmanaged error:\n" ^ generic_err.childNodes[0].wholeText);
                        }
                } else {
                        debug("goto bottom failed");
@@ -1076,10 +1096,8 @@ function retract()
                }
                resume();
        };
-       debug("retract 1");
        pause();
         callServer("retract",processor);
-       debug("retract 2");
 }
 
 function openFile()
@@ -1103,6 +1121,9 @@ function retrieveFile(thefile)
        {
                if (is_defined(xml)) {  
                        changeFile(thefile);
+                        matita.disambMode = false;
+                        matita.proofMode = false;
+                       updateSide();
                        lockedbackup = ""
                        locked.innerHTML = lockedbackup;
                         // code originally used in google chrome (problems with mozilla)
@@ -1120,7 +1141,7 @@ function retrieveFile(thefile)
                        debug("file open failed");
                }
        };
-       abortDialog();
+       abortDialog("dialogBox");
        callServer("open",processor,"file=" + escape(thefile)); 
 }
 
@@ -1174,26 +1195,28 @@ function uploadDialog()
 function uploadOK()
 {   
    var file = document.getElementById("uploadFilename").files[0];
-   if (file) { 
-       var filecontent = file.getAsText("UTF-8");
-       locked.innerHTML = lockedbackup;
-       unlocked.innerHTML = filecontent;
-       uploadBox.style.display = "none";
-   }
 //   if (file) { 
-//      var reader = new FileReader();
-//      reader.readAsText(file, "UTF-8");
-//       reader.onloadend = function (evt) {
-//        lockedbackup = "";
-//           locked.innerHTML = lockedbackup
-//           unlocked.innerHTML = evt.target.result;
-//           uploadBox.style.display = "none";
-//       }
-//       reader.onerror = function (evt) {
-//        debug("file open failed");
-//           uploadBox.style.display = "none";
-//      }
+//       var filecontent = file.getAsText("UTF-8");
+//       locked.innerHTML = lockedbackup;
+//       unlocked.innerHTML = filecontent;
+//       uploadBox.style.display = "none";
 //   }
+   if (file) { 
+      var reader = new FileReader();
+      reader.onerror = function (evt) {
+          debug("file open failed");
+      }
+      reader.onload = function (evt) {
+          lockedbackup = "";
+           locked.innerHTML = lockedbackup;
+           unlocked.innerHTML = "";
+           unlocked.appendChild(document.createTextNode(evt.target.result));
+           uploadBox.style.display = "none";
+      }
+      try { reader.readAsText(file, "UTF-8"); }
+      catch (err) { /* nothing to do */ };
+      uploadBox.style.display = "none";
+   }
 }
 
 function openDialog()
@@ -1205,7 +1228,7 @@ function openDialog()
 function saveDialog()
 {  
        callback = function (fname) { 
-         abortDialog();
+         abortDialog("dialogBox");
           saveFile(fname,
                   (locked.innerHTML.html_to_matita()).sescape(),
                   (unlocked.innerHTML.html_to_matita()).sescape(),
@@ -1217,7 +1240,7 @@ function saveDialog()
 function newDialog()
 {
        callback = function (fname) { 
-         abortDialog();
+         abortDialog("dialogBox");
          saveFile(fname,"","",false,newDialog,true);
        };
        showLibrary("Create new file", callback, newDialog);
@@ -1263,7 +1286,7 @@ function saveFile(fname,lockedtxt,unlockedtxt,force,reloadDialog,reloadFile)
 }
 
 function createDir() {
-   abortDialog();
+   abortDialog("dialogBox");
    dirname = prompt("New directory name:\ncic:/matita/","newdir");
    if (dirname != null) {
        processor = function(xml) {
@@ -1292,7 +1315,7 @@ function commitAll()
                        alert("Commit executed: see details in the log.\n\n" +
                               "NOTICE: this message does NOT imply (yet) that the commit was successful.");
                } else {
-                       alert("Commit failed!");
+                       alert("Commit failed!\n(maybe you don't have permissionis to commit?)");
                }
                resume();
        };
@@ -1308,7 +1331,7 @@ function updateAll()
                               "Details:\n" +
                               xml.getElementsByTagName("details")[0].textContent);
                } else {
-                       alert("Update failed!");
+                       alert("Update failed!\n(maybe you don't have permissions to update?)");
                }
                resume();
        };
@@ -1359,8 +1382,8 @@ function showDialog(title,content,callback) {
 }
 
 function abortDialog(dialog) {
+  document.getElementById(dialog).style.display = "none";
   $('#mask').hide();
-  dialogBox.style.display = "none";
 }
 
 function removeElement(id) {
@@ -1431,8 +1454,10 @@ function get_checked_index(name) {
 
 function cancel_disambiguate() {
        matita.disambMode = false;
-       enable_toparea();
-       enable_editing();
+        resume();
+       // enable_toparea();
+       // enable_editing();
+        strip_tags("span","error");
        updateSide();
 }
 
@@ -1550,7 +1575,9 @@ function resume()
         // retractButton.disabled = false;
         // cursorButton.disabled = false;
         // bottomButton.disabled = false;
-       enable_toparea();
-       enable_editing();
+        if (!matita.disambMode) {
+               enable_toparea();
+               enable_editing();
+        }
 }
 
index ccd9119a3a3e132b61c034c32567d8124a5e41ed..7bdad94f0e07579ee72c2720978b9d03bbb04b58 100644 (file)
@@ -27,7 +27,7 @@ netplex {
           path = "/";
           service {
             type = "file";
-            docroot = "/home/matitaweb/matita/matita";
+            docroot = "/home/matitaweb/matita/matita/html";
             media_types_file = "/etc/mime.types";
             enable_listings = true;
           }
index a8ea98f50aa405c73b05d2bb5cebcbb493ada006..19df800027d4275f2d76dde2925bdb5230205395 100644 (file)
@@ -57,8 +57,8 @@ macro2utf8["NotRightTriangleEqual"] = "&#8941;";
 utf82macro["&#8941;"] = "NotRightTriangleEqual";
 macro2utf8["filig"] = "&#64257;";
 utf82macro["&#64257;"] = "filig";
-macro2utf8["atilde"] = "&atilde;";
-utf82macro["&atilde;"] = "atilde";
+macro2utf8["atilde"] = "&#227;";
+utf82macro["&#227;"] = "atilde";
 macro2utf8["ring"] = "&#730;";
 utf82macro["&#730;"] = "ring";
 macro2utf8["congdot"] = "&#10861;";
@@ -103,14 +103,14 @@ macro2utf8["ycirc"] = "&#375;";
 utf82macro["&#375;"] = "ycirc";
 macro2utf8["sqcup"] = "&#8852;";
 utf82macro["&#8852;"] = "sqcup";
-macro2utf8["DoubleLeftArrow"] = "&lArr;";
-utf82macro["&lArr;"] = "DoubleLeftArrow";
+macro2utf8["DoubleLeftArrow"] = "&#8656;";
+utf82macro["&#8656;"] = "DoubleLeftArrow";
 macro2utf8["gtrless"] = "&#8823;";
 utf82macro["&#8823;"] = "gtrless";
-macro2utf8["ge"] = "&ge;";
-utf82macro["&ge;"] = "ge";
-macro2utf8["Product"] = "&prod;";
-utf82macro["&prod;"] = "Product";
+macro2utf8["ge"] = "&#8805;";
+utf82macro["&#8805;"] = "ge";
+macro2utf8["Product"] = "&#8719;";
+utf82macro["&#8719;"] = "Product";
 macro2utf8["NotExists"] = "&#8708;";
 utf82macro["&#8708;"] = "NotExists";
 macro2utf8["gg"] = "&#8811;";
@@ -135,8 +135,8 @@ macro2utf8["excl"] = "!";
 utf82macro["!"] = "excl";
 macro2utf8["cdots"] = "&#8943;";
 utf82macro["&#8943;"] = "cdots";
-macro2utf8["larr"] = "&larr;";
-utf82macro["&larr;"] = "larr";
+macro2utf8["larr"] = "&#8592;";
+utf82macro["&#8592;"] = "larr";
 macro2utf8["dtdot"] = "&#8945;";
 utf82macro["&#8945;"] = "dtdot";
 macro2utf8["kgreen"] = "&#312;";
@@ -147,20 +147,20 @@ macro2utf8["rbarr"] = "&#10509;";
 utf82macro["&#10509;"] = "rbarr";
 macro2utf8["ocy"] = "&#1086;";
 utf82macro["&#1086;"] = "ocy";
-macro2utf8["gt"] = "&gt;";
-utf82macro["&gt;"] = "gt";
+macro2utf8["gt"] = "&#62;";
+utf82macro["&#62;"] = "gt";
 macro2utf8["DownLeftRightVector"] = "&#10576;";
 utf82macro["&#10576;"] = "DownLeftRightVector";
-macro2utf8["cup"] = "&cup;";
-utf82macro["&cup;"] = "cup";
+macro2utf8["cup"] = "&#8746;";
+utf82macro["&#8746;"] = "cup";
 macro2utf8["updownarrow"] = "&#8597;";
 utf82macro["&#8597;"] = "updownarrow";
 macro2utf8["Imacr"] = "&#298;";
 utf82macro["&#298;"] = "Imacr";
 macro2utf8["cross"] = "&#10007;";
 utf82macro["&#10007;"] = "cross";
-macro2utf8["Acirc"] = "&Acirc;";
-utf82macro["&Acirc;"] = "Acirc";
+macro2utf8["Acirc"] = "&#194;";
+utf82macro["&#194;"] = "Acirc";
 macro2utf8["lvertneqq"] = "&#8808;&#65024;";
 utf82macro["&#8808;&#65024;"] = "lvertneqq";
 macro2utf8["ccaps"] = "&#10829;";
@@ -207,34 +207,34 @@ macro2utf8["vert"] = "|";
 utf82macro["|"] = "vert";
 macro2utf8["sacute"] = "&#347;";
 utf82macro["&#347;"] = "sacute";
-macro2utf8["in"] = "&isin;";
-utf82macro["&isin;"] = "in";
+macro2utf8["in"] = "&#8712;";
+utf82macro["&#8712;"] = "in";
 macro2utf8["Assign"] = "&#8788;";
 utf82macro["&#8788;"] = "Assign";
 macro2utf8["nsim"] = "&#8769;";
 utf82macro["&#8769;"] = "nsim";
 macro2utf8["boxdR"] = "&#9554;";
 utf82macro["&#9554;"] = "boxdR";
-macro2utf8["o"] = "&omicron;";
-utf82macro["&omicron;"] = "o";
-macro2utf8["radic"] = "&radic;";
-utf82macro["&radic;"] = "radic";
+macro2utf8["o"] = "&#959;";
+utf82macro["&#959;"] = "o";
+macro2utf8["radic"] = "&#8730;";
+utf82macro["&#8730;"] = "radic";
 macro2utf8["it"] = "&#8290;";
 utf82macro["&#8290;"] = "it";
-macro2utf8["int"] = "&int;";
-utf82macro["&int;"] = "int";
+macro2utf8["int"] = "&#8747;";
+utf82macro["&#8747;"] = "int";
 macro2utf8["cwint"] = "&#8753;";
 utf82macro["&#8753;"] = "cwint";
-macro2utf8["ForAll"] = "&forall;";
-utf82macro["&forall;"] = "ForAll";
+macro2utf8["ForAll"] = "&#8704;";
+utf82macro["&#8704;"] = "ForAll";
 macro2utf8["simplus"] = "&#10788;";
 utf82macro["&#10788;"] = "simplus";
 macro2utf8["isindot"] = "&#8949;";
 utf82macro["&#8949;"] = "isindot";
 macro2utf8["rightthreetimes"] = "&#8908;";
 utf82macro["&#8908;"] = "rightthreetimes";
-macro2utf8["supseteqq"] = "&supe;";
-utf82macro["&supe;"] = "supseteqq";
+macro2utf8["supseteqq"] = "&#8839;";
+utf82macro["&#8839;"] = "supseteqq";
 macro2utf8["bnot"] = "&#8976;";
 utf82macro["&#8976;"] = "bnot";
 macro2utf8["rppolint"] = "&#10770;";
@@ -273,8 +273,8 @@ macro2utf8["LeftUpDownVector"] = "&#10577;";
 utf82macro["&#10577;"] = "LeftUpDownVector";
 macro2utf8["questeq"] = "&#8799;";
 utf82macro["&#8799;"] = "questeq";
-macro2utf8["leftarrow"] = "&larr;";
-utf82macro["&larr;"] = "leftarrow";
+macro2utf8["leftarrow"] = "&#8592;";
+utf82macro["&#8592;"] = "leftarrow";
 macro2utf8["Ycy"] = "&#1067;";
 utf82macro["&#1067;"] = "Ycy";
 macro2utf8["Coproduct"] = "&#8720;";
@@ -285,14 +285,14 @@ macro2utf8["boxdl"] = "&#9488;";
 utf82macro["&#9488;"] = "boxdl";
 macro2utf8["Aopf"] = "&#120120;";
 utf82macro["&#120120;"] = "Aopf";
-macro2utf8["srarr"] = "&rarr;&#65024;";
-utf82macro["&rarr;&#65024;"] = "srarr";
+macro2utf8["srarr"] = "&#8594;&#65024;";
+utf82macro["&#8594;&#65024;"] = "srarr";
 macro2utf8["lbrke"] = "&#10635;";
 utf82macro["&#10635;"] = "lbrke";
 macro2utf8["boxdr"] = "&#9484;";
 utf82macro["&#9484;"] = "boxdr";
-macro2utf8["Ntilde"] = "&Ntilde;";
-utf82macro["&Ntilde;"] = "Ntilde";
+macro2utf8["Ntilde"] = "&#209;";
+utf82macro["&#209;"] = "Ntilde";
 macro2utf8["gnap"] = "&#10890;";
 utf82macro["&#10890;"] = "gnap";
 macro2utf8["Cap"] = "&#8914;";
@@ -301,22 +301,22 @@ macro2utf8["swarhk"] = "&#10534;";
 utf82macro["&#10534;"] = "swarhk";
 macro2utf8["ogt"] = "&#10689;";
 utf82macro["&#10689;"] = "ogt";
-macro2utf8["emptyset"] = "&empty;&#65024;";
-utf82macro["&empty;&#65024;"] = "emptyset";
+macro2utf8["emptyset"] = "&#8709;&#65024;";
+utf82macro["&#8709;&#65024;"] = "emptyset";
 macro2utf8["harrw"] = "&#8621;";
 utf82macro["&#8621;"] = "harrw";
 macro2utf8["lbarr"] = "&#10508;";
 utf82macro["&#10508;"] = "lbarr";
-macro2utf8["Tilde"] = "&sim;";
-utf82macro["&sim;"] = "Tilde";
-macro2utf8["delta"] = "&delta;";
-utf82macro["&delta;"] = "delta";
+macro2utf8["Tilde"] = "&#8764;";
+utf82macro["&#8764;"] = "Tilde";
+macro2utf8["delta"] = "&#948;";
+utf82macro["&#948;"] = "delta";
 macro2utf8["Hopf"] = "&#8461;";
 utf82macro["&#8461;"] = "Hopf";
 macro2utf8["dfr"] = "&#120097;";
 utf82macro["&#120097;"] = "dfr";
-macro2utf8["le"] = "&le;";
-utf82macro["&le;"] = "le";
+macro2utf8["le"] = "&#8804;";
+utf82macro["&#8804;"] = "le";
 macro2utf8["lg"] = "lg";
 utf82macro["lg"] = "lg";
 macro2utf8["ohm"] = "&#8486;";
@@ -329,8 +329,8 @@ macro2utf8["DoubleLongLeftArrow"] = "&#62841;";
 utf82macro["&#62841;"] = "DoubleLongLeftArrow";
 macro2utf8["Ncy"] = "&#1053;";
 utf82macro["&#1053;"] = "Ncy";
-macro2utf8["nabla"] = "&nabla;";
-utf82macro["&nabla;"] = "nabla";
+macro2utf8["nabla"] = "&#8711;";
+utf82macro["&#8711;"] = "nabla";
 macro2utf8["ltcir"] = "&#10873;";
 utf82macro["&#10873;"] = "ltcir";
 macro2utf8["ll"] = "&#8810;";
@@ -341,22 +341,22 @@ macro2utf8["rmoust"] = "&#9137;";
 utf82macro["&#9137;"] = "rmoust";
 macro2utf8["Oopf"] = "&#120134;";
 utf82macro["&#120134;"] = "Oopf";
-macro2utf8["nbsp"] = "&nbsp;";
-utf82macro["&nbsp;"] = "nbsp";
+macro2utf8["nbsp"] = "&#160;";
+utf82macro["&#160;"] = "nbsp";
 macro2utf8["Kcedil"] = "&#310;";
 utf82macro["&#310;"] = "Kcedil";
 macro2utf8["vdots"] = "&#8942;";
 utf82macro["&#8942;"] = "vdots";
 macro2utf8["NotLessTilde"] = "&#8820;";
 utf82macro["&#8820;"] = "NotLessTilde";
-macro2utf8["lt"] = "&lt;";
-utf82macro["&lt;"] = "lt";
+macro2utf8["lt"] = "&#60;";
+utf82macro["&#60;"] = "lt";
 macro2utf8["djcy"] = "&#1106;";
 utf82macro["&#1106;"] = "djcy";
 macro2utf8["DownRightTeeVector"] = "&#10591;";
 utf82macro["&#10591;"] = "DownRightTeeVector";
-macro2utf8["Ograve"] = "&Ograve;";
-utf82macro["&Ograve;"] = "Ograve";
+macro2utf8["Ograve"] = "&#210;";
+utf82macro["&#210;"] = "Ograve";
 macro2utf8["boxhD"] = "&#9573;";
 utf82macro["&#9573;"] = "boxhD";
 macro2utf8["nsime"] = "&#8772;";
@@ -373,8 +373,8 @@ macro2utf8["looparrowright"] = "&#8620;";
 utf82macro["&#8620;"] = "looparrowright";
 macro2utf8["yucy"] = "&#1102;";
 utf82macro["&#1102;"] = "yucy";
-macro2utf8["trade"] = "&trade;";
-utf82macro["&trade;"] = "trade";
+macro2utf8["trade"] = "&#8482;";
+utf82macro["&#8482;"] = "trade";
 macro2utf8["Yfr"] = "&#120092;";
 utf82macro["&#120092;"] = "Yfr";
 macro2utf8["kjcy"] = "&#1116;";
@@ -389,38 +389,38 @@ macro2utf8["ncap"] = "&#10819;";
 utf82macro["&#10819;"] = "ncap";
 macro2utf8["Iogon"] = "&#302;";
 utf82macro["&#302;"] = "Iogon";
-macro2utf8["NotSubset"] = "&nsub;";
-utf82macro["&nsub;"] = "NotSubset";
+macro2utf8["NotSubset"] = "&#8836;";
+utf82macro["&#8836;"] = "NotSubset";
 macro2utf8["Bumpeq"] = "&#8782;";
 utf82macro["&#8782;"] = "Bumpeq";
-macro2utf8["mu"] = "&mu;";
-utf82macro["&mu;"] = "mu";
+macro2utf8["mu"] = "&#956;";
+utf82macro["&#956;"] = "mu";
 macro2utf8["FilledVerySmallSquare"] = "&#62875;";
 utf82macro["&#62875;"] = "FilledVerySmallSquare";
 macro2utf8["breve"] = "&#728;";
 utf82macro["&#728;"] = "breve";
 macro2utf8["boxhU"] = "&#9576;";
 utf82macro["&#9576;"] = "boxhU";
-macro2utf8["Sigma"] = "&Sigma;";
-utf82macro["&Sigma;"] = "Sigma";
+macro2utf8["Sigma"] = "&#931;";
+utf82macro["&#931;"] = "Sigma";
 macro2utf8["uharr"] = "&#8638;";
 utf82macro["&#8638;"] = "uharr";
 macro2utf8["xrArr"] = "&#62842;";
 utf82macro["&#62842;"] = "xrArr";
-macro2utf8["ne"] = "&ne;";
-utf82macro["&ne;"] = "ne";
+macro2utf8["ne"] = "&#8800;";
+utf82macro["&#8800;"] = "ne";
 macro2utf8["oS"] = "&#9416;";
 utf82macro["&#9416;"] = "oS";
 macro2utf8["xodot"] = "&#8857;";
 utf82macro["&#8857;"] = "xodot";
-macro2utf8["ni"] = "&ni;";
-utf82macro["&ni;"] = "ni";
-macro2utf8["mdash"] = "&mdash;";
-utf82macro["&mdash;"] = "mdash";
+macro2utf8["ni"] = "&#8715;";
+utf82macro["&#8715;"] = "ni";
+macro2utf8["mdash"] = "&#8212;";
+utf82macro["&#8212;"] = "mdash";
 macro2utf8["Verbar"] = "&#8214;";
 utf82macro["&#8214;"] = "Verbar";
-macro2utf8["die"] = "&uml;";
-utf82macro["&uml;"] = "die";
+macro2utf8["die"] = "&#168;";
+utf82macro["&#168;"] = "die";
 macro2utf8["veebar"] = "&#8891;";
 utf82macro["&#8891;"] = "veebar";
 macro2utf8["UpArrowBar"] = "&#10514;";
@@ -431,8 +431,8 @@ macro2utf8["RightArrowBar"] = "&#8677;";
 utf82macro["&#8677;"] = "RightArrowBar";
 macro2utf8["LongLeftArrow"] = "&#62838;";
 utf82macro["&#62838;"] = "LongLeftArrow";
-macro2utf8["rceil"] = "&rceil;";
-utf82macro["&rceil;"] = "rceil";
+macro2utf8["rceil"] = "&#8969;";
+utf82macro["&#8969;"] = "rceil";
 macro2utf8["LeftDownVectorBar"] = "&#10585;";
 utf82macro["&#10585;"] = "LeftDownVectorBar";
 macro2utf8["umacr"] = "&#363;";
@@ -449,16 +449,16 @@ macro2utf8["boxhd"] = "&#9516;";
 utf82macro["&#9516;"] = "boxhd";
 macro2utf8["dim"] = "dim";
 utf82macro["dim"] = "dim";
-macro2utf8["vnsub"] = "&nsub;";
-utf82macro["&nsub;"] = "vnsub";
+macro2utf8["vnsub"] = "&#8836;";
+utf82macro["&#8836;"] = "vnsub";
 macro2utf8["Bscr"] = "&#8492;";
 utf82macro["&#8492;"] = "Bscr";
 macro2utf8["plussim"] = "&#10790;";
 utf82macro["&#10790;"] = "plussim";
 macro2utf8["doublebarwedge"] = "&#8966;";
 utf82macro["&#8966;"] = "doublebarwedge";
-macro2utf8["nu"] = "&nu;";
-utf82macro["&nu;"] = "nu";
+macro2utf8["nu"] = "&#957;";
+utf82macro["&#957;"] = "nu";
 macro2utf8["eqcolon"] = "&#8789;";
 utf82macro["&#8789;"] = "eqcolon";
 macro2utf8["luruhar"] = "&#10598;";
@@ -469,8 +469,8 @@ macro2utf8["preceq"] = "&#10927;";
 utf82macro["&#10927;"] = "preceq";
 macro2utf8["LeftTee"] = "&#8867;";
 utf82macro["&#8867;"] = "LeftTee";
-macro2utf8["div"] = "&divide;";
-utf82macro["&divide;"] = "div";
+macro2utf8["div"] = "&#247;";
+utf82macro["&#247;"] = "div";
 macro2utf8["nVDash"] = "&#8879;";
 utf82macro["&#8879;"] = "nVDash";
 macro2utf8["kopf"] = "&#120156;";
@@ -487,8 +487,8 @@ macro2utf8["boxhu"] = "&#9524;";
 utf82macro["&#9524;"] = "boxhu";
 macro2utf8["ominus"] = "&#8854;";
 utf82macro["&#8854;"] = "ominus";
-macro2utf8["or"] = "&or;";
-utf82macro["&or;"] = "or";
+macro2utf8["or"] = "&#8744;";
+utf82macro["&#8744;"] = "or";
 macro2utf8["lesdot"] = "&#10879;";
 utf82macro["&#10879;"] = "lesdot";
 macro2utf8["RightVectorBar"] = "&#10579;";
@@ -509,18 +509,18 @@ macro2utf8["nltri"] = "&#8938;";
 utf82macro["&#8938;"] = "nltri";
 macro2utf8["Pscr"] = "&#119979;";
 utf82macro["&#119979;"] = "Pscr";
-macro2utf8["vartheta"] = "&thetasym;";
-utf82macro["&thetasym;"] = "vartheta";
-macro2utf8["therefore"] = "&there4;";
-utf82macro["&there4;"] = "therefore";
-macro2utf8["pi"] = "&pi;";
-utf82macro["&pi;"] = "pi";
+macro2utf8["vartheta"] = "&#977;";
+utf82macro["&#977;"] = "vartheta";
+macro2utf8["therefore"] = "&#8756;";
+utf82macro["&#8756;"] = "therefore";
+macro2utf8["pi"] = "&#960;";
+utf82macro["&#960;"] = "pi";
 macro2utf8["ntrianglelefteq"] = "&#8940;";
 utf82macro["&#8940;"] = "ntrianglelefteq";
 macro2utf8["nearrow"] = "&#8599;";
 utf82macro["&#8599;"] = "nearrow";
-macro2utf8["pm"] = "&plusmn;";
-utf82macro["&plusmn;"] = "pm";
+macro2utf8["pm"] = "&#177;";
+utf82macro["&#177;"] = "pm";
 macro2utf8["natural"] = "&#9838;";
 utf82macro["&#9838;"] = "natural";
 macro2utf8["ucy"] = "&#1091;";
@@ -531,8 +531,8 @@ macro2utf8["Cfr"] = "&#8493;";
 utf82macro["&#8493;"] = "Cfr";
 macro2utf8["yopf"] = "&#120170;";
 utf82macro["&#120170;"] = "yopf";
-macro2utf8["Otilde"] = "&Otilde;";
-utf82macro["&Otilde;"] = "Otilde";
+macro2utf8["Otilde"] = "&#213;";
+utf82macro["&#213;"] = "Otilde";
 macro2utf8["ntriangleleft"] = "&#8938;";
 utf82macro["&#8938;"] = "ntriangleleft";
 macro2utf8["pr"] = "&#8826;";
@@ -543,22 +543,22 @@ macro2utf8["midcir"] = "&#10992;";
 utf82macro["&#10992;"] = "midcir";
 macro2utf8["Lacute"] = "&#313;";
 utf82macro["&#313;"] = "Lacute";
-macro2utf8["DoubleDot"] = "&uml;";
-utf82macro["&uml;"] = "DoubleDot";
+macro2utf8["DoubleDot"] = "&#168;";
+utf82macro["&#168;"] = "DoubleDot";
 macro2utf8["Tstrok"] = "&#358;";
 utf82macro["&#358;"] = "Tstrok";
 macro2utf8["nrarrw"] = "&#8605;&#824;";
 utf82macro["&#8605;&#824;"] = "nrarrw";
-macro2utf8["uArr"] = "&uArr;";
-utf82macro["&uArr;"] = "uArr";
+macro2utf8["uArr"] = "&#8657;";
+utf82macro["&#8657;"] = "uArr";
 macro2utf8["nLtv"] = "&#8810;&#824;&#65024;";
 utf82macro["&#8810;&#824;&#65024;"] = "nLtv";
-macro2utf8["rangle"] = "&rang;";
-utf82macro["&rang;"] = "rangle";
+macro2utf8["rangle"] = "&#9002;";
+utf82macro["&#9002;"] = "rangle";
 macro2utf8["olcir"] = "&#10686;";
 utf82macro["&#10686;"] = "olcir";
-macro2utf8["Auml"] = "&Auml;";
-utf82macro["&Auml;"] = "Auml";
+macro2utf8["Auml"] = "&#196;";
+utf82macro["&#196;"] = "Auml";
 macro2utf8["Succeeds"] = "&#8827;";
 utf82macro["&#8827;"] = "Succeeds";
 macro2utf8["DoubleLongLeftRightArrow"] = "&#62843;";
@@ -569,8 +569,8 @@ macro2utf8["gammad"] = "&#988;";
 utf82macro["&#988;"] = "gammad";
 macro2utf8["epsiv"] = "&#603;";
 utf82macro["&#603;"] = "epsiv";
-macro2utf8["notinva"] = "&notin;&#824;";
-utf82macro["&notin;&#824;"] = "notinva";
+macro2utf8["notinva"] = "&#8713;&#824;";
+utf82macro["&#8713;&#824;"] = "notinva";
 macro2utf8["notinvb"] = "&#8951;";
 utf82macro["&#8951;"] = "notinvb";
 macro2utf8["eqvparsl"] = "&#10725;";
@@ -601,8 +601,8 @@ macro2utf8["submult"] = "&#10945;";
 utf82macro["&#10945;"] = "submult";
 macro2utf8["iiota"] = "&#8489;";
 utf82macro["&#8489;"] = "iiota";
-macro2utf8["lceil"] = "&lceil;";
-utf82macro["&lceil;"] = "lceil";
+macro2utf8["lceil"] = "&#8968;";
+utf82macro["&#8968;"] = "lceil";
 macro2utf8["omacr"] = "&#333;";
 utf82macro["&#333;"] = "omacr";
 macro2utf8["gneqq"] = "&#8809;";
@@ -617,12 +617,12 @@ macro2utf8["Square"] = "&#9633;";
 utf82macro["&#9633;"] = "Square";
 macro2utf8["RightDownTeeVector"] = "&#10589;";
 utf82macro["&#10589;"] = "RightDownTeeVector";
-macro2utf8["Ouml"] = "&Ouml;";
-utf82macro["&Ouml;"] = "Ouml";
+macro2utf8["Ouml"] = "&#214;";
+utf82macro["&#214;"] = "Ouml";
 macro2utf8["lurdshar"] = "&#10570;";
 utf82macro["&#10570;"] = "lurdshar";
-macro2utf8["SuchThat"] = "&ni;";
-utf82macro["&ni;"] = "SuchThat";
+macro2utf8["SuchThat"] = "&#8715;";
+utf82macro["&#8715;"] = "SuchThat";
 macro2utf8["setminus"] = "&#8726;";
 utf82macro["&#8726;"] = "setminus";
 macro2utf8["lscr"] = "&#8467;";
@@ -635,24 +635,24 @@ macro2utf8["sc"] = "&#8827;";
 utf82macro["&#8827;"] = "sc";
 macro2utf8["rx"] = "&#8478;";
 utf82macro["&#8478;"] = "rx";
-macro2utf8["RightFloor"] = "&rfloor;";
-utf82macro["&rfloor;"] = "RightFloor";
+macro2utf8["RightFloor"] = "&#8971;";
+utf82macro["&#8971;"] = "RightFloor";
 macro2utf8["blacksquare"] = "&#9642;";
 utf82macro["&#9642;"] = "blacksquare";
 macro2utf8["ufr"] = "&#120114;";
 utf82macro["&#120114;"] = "ufr";
 macro2utf8["block"] = "&#9608;";
 utf82macro["&#9608;"] = "block";
-macro2utf8["dots"] = "&hellip;";
-utf82macro["&hellip;"] = "dots";
+macro2utf8["dots"] = "&#8230;";
+utf82macro["&#8230;"] = "dots";
 macro2utf8["nvsim"] = "&#8769;&#824;";
 utf82macro["&#8769;&#824;"] = "nvsim";
 macro2utf8["caret"] = "&#8257;";
 utf82macro["&#8257;"] = "caret";
 macro2utf8["demptyv"] = "&#10673;";
 utf82macro["&#10673;"] = "demptyv";
-macro2utf8["Sum"] = "&sum;";
-utf82macro["&sum;"] = "Sum";
+macro2utf8["Sum"] = "&#8721;";
+utf82macro["&#8721;"] = "Sum";
 macro2utf8["sscr"] = "&#120008;";
 utf82macro["&#120008;"] = "sscr";
 macro2utf8["nsube"] = "&#8840;";
@@ -669,16 +669,16 @@ macro2utf8["capbrcup"] = "&#10825;";
 utf82macro["&#10825;"] = "capbrcup";
 macro2utf8["RightUpVectorBar"] = "&#10580;";
 utf82macro["&#10580;"] = "RightUpVectorBar";
-macro2utf8["caps"] = "&cap;&#65024;";
-utf82macro["&cap;&#65024;"] = "caps";
+macro2utf8["caps"] = "&#8745;&#65024;";
+utf82macro["&#8745;&#65024;"] = "caps";
 macro2utf8["ohbar"] = "&#10677;";
 utf82macro["&#10677;"] = "ohbar";
 macro2utf8["laemptyv"] = "&#10676;";
 utf82macro["&#10676;"] = "laemptyv";
-macro2utf8["uacute"] = "&uacute;";
-utf82macro["&uacute;"] = "uacute";
-macro2utf8["straightphi"] = "&phi;";
-utf82macro["&phi;"] = "straightphi";
+macro2utf8["uacute"] = "&#250;";
+utf82macro["&#250;"] = "uacute";
+macro2utf8["straightphi"] = "&#966;";
+utf82macro["&#966;"] = "straightphi";
 macro2utf8["RightDoubleBracket"] = "&#12315;";
 utf82macro["&#12315;"] = "RightDoubleBracket";
 macro2utf8["zscr"] = "&#120015;";
@@ -693,32 +693,32 @@ macro2utf8["RBarr"] = "&#10512;";
 utf82macro["&#10512;"] = "RBarr";
 macro2utf8["NotRightTriangleBar"] = "&#10704;&#824;";
 utf82macro["&#10704;&#824;"] = "NotRightTriangleBar";
-macro2utf8["to"] = "&rarr;";
-utf82macro["&rarr;"] = "to";
+macro2utf8["to"] = "&#8594;";
+utf82macro["&#8594;"] = "to";
 macro2utf8["rpar"] = ")";
 utf82macro[")"] = "rpar";
 macro2utf8["rdsh"] = "&#8627;";
 utf82macro["&#8627;"] = "rdsh";
 macro2utf8["jfr"] = "&#120103;";
 utf82macro["&#120103;"] = "jfr";
-macro2utf8["ldquor"] = "&bdquo;";
-utf82macro["&bdquo;"] = "ldquor";
+macro2utf8["ldquor"] = "&#8222;";
+utf82macro["&#8222;"] = "ldquor";
 macro2utf8["bsime"] = "&#8909;";
 utf82macro["&#8909;"] = "bsime";
 macro2utf8["lAtail"] = "&#10523;";
 utf82macro["&#10523;"] = "lAtail";
 macro2utf8["Hcirc"] = "&#292;";
 utf82macro["&#292;"] = "Hcirc";
-macro2utf8["aacute"] = "&aacute;";
-utf82macro["&aacute;"] = "aacute";
+macro2utf8["aacute"] = "&#225;";
+utf82macro["&#225;"] = "aacute";
 macro2utf8["dot"] = "&#729;";
 utf82macro["&#729;"] = "dot";
 macro2utf8["Tcy"] = "&#1058;";
 utf82macro["&#1058;"] = "Tcy";
-macro2utf8["nsub"] = "&nsub;";
-utf82macro["&nsub;"] = "nsub";
-macro2utf8["kappa"] = "&kappa;";
-utf82macro["&kappa;"] = "kappa";
+macro2utf8["nsub"] = "&#8836;";
+utf82macro["&#8836;"] = "nsub";
+macro2utf8["kappa"] = "&#954;";
+utf82macro["&#954;"] = "kappa";
 macro2utf8["ovbar"] = "&#9021;";
 utf82macro["&#9021;"] = "ovbar";
 macro2utf8["shcy"] = "&#1096;";
@@ -741,8 +741,8 @@ macro2utf8["precnsim"] = "&#8936;";
 utf82macro["&#8936;"] = "precnsim";
 macro2utf8["ord"] = "&#10845;";
 utf82macro["&#10845;"] = "ord";
-macro2utf8["real"] = "&real;";
-utf82macro["&real;"] = "real";
+macro2utf8["real"] = "&#8476;";
+utf82macro["&#8476;"] = "real";
 macro2utf8["nexists"] = "&#8708;";
 utf82macro["&#8708;"] = "nexists";
 macro2utf8["nsup"] = "&#8837;";
@@ -751,10 +751,10 @@ macro2utf8["zhcy"] = "&#1078;";
 utf82macro["&#1078;"] = "zhcy";
 macro2utf8["imacr"] = "&#299;";
 utf82macro["&#299;"] = "imacr";
-macro2utf8["egrave"] = "&egrave;";
-utf82macro["&egrave;"] = "egrave";
-macro2utf8["acirc"] = "&acirc;";
-utf82macro["&acirc;"] = "acirc";
+macro2utf8["egrave"] = "&#232;";
+utf82macro["&#232;"] = "egrave";
+macro2utf8["acirc"] = "&#226;";
+utf82macro["&#226;"] = "acirc";
 macro2utf8["grave"] = "`";
 utf82macro["`"] = "grave";
 macro2utf8["biguplus"] = "&#8846;";
@@ -765,16 +765,16 @@ macro2utf8["GreaterSlantEqual"] = "&#10878;";
 utf82macro["&#10878;"] = "GreaterSlantEqual";
 macro2utf8["capand"] = "&#10820;";
 utf82macro["&#10820;"] = "capand";
-macro2utf8["yuml"] = "&yuml;";
-utf82macro["&yuml;"] = "yuml";
+macro2utf8["yuml"] = "&#255;";
+utf82macro["&#255;"] = "yuml";
 macro2utf8["orv"] = "&#10843;";
 utf82macro["&#10843;"] = "orv";
 macro2utf8["Icy"] = "&#1048;";
 utf82macro["&#1048;"] = "Icy";
 macro2utf8["rightharpoondown"] = "&#8641;";
 utf82macro["&#8641;"] = "rightharpoondown";
-macro2utf8["upsilon"] = "&upsilon;";
-utf82macro["&upsilon;"] = "upsilon";
+macro2utf8["upsilon"] = "&#965;";
+utf82macro["&#965;"] = "upsilon";
 macro2utf8["preccurlyeq"] = "&#8828;";
 utf82macro["&#8828;"] = "preccurlyeq";
 macro2utf8["ShortUpArrow"] = "&#8963;&#65024;";
@@ -783,10 +783,10 @@ macro2utf8["searhk"] = "&#10533;";
 utf82macro["&#10533;"] = "searhk";
 macro2utf8["commat"] = "@";
 utf82macro["@"] = "commat";
-macro2utf8["Sqrt"] = "&radic;";
-utf82macro["&radic;"] = "Sqrt";
-macro2utf8["wp"] = "&weierp;";
-utf82macro["&weierp;"] = "wp";
+macro2utf8["Sqrt"] = "&#8730;";
+utf82macro["&#8730;"] = "Sqrt";
+macro2utf8["wp"] = "&#8472;";
+utf82macro["&#8472;"] = "wp";
 macro2utf8["succnapprox"] = "&#8937;";
 utf82macro["&#8937;"] = "succnapprox";
 macro2utf8["wr"] = "&#8768;";
@@ -813,8 +813,8 @@ macro2utf8["rect"] = "&#9645;";
 utf82macro["&#9645;"] = "rect";
 macro2utf8["Fouriertrf"] = "&#8497;";
 utf82macro["&#8497;"] = "Fouriertrf";
-macro2utf8["xi"] = "&xi;";
-utf82macro["&xi;"] = "xi";
+macro2utf8["xi"] = "&#958;";
+utf82macro["&#958;"] = "xi";
 macro2utf8["NotTilde"] = "&#8769;";
 utf82macro["&#8769;"] = "NotTilde";
 macro2utf8["gbreve"] = "&#287;";
@@ -827,52 +827,52 @@ macro2utf8["nhArr"] = "&#8654;";
 utf82macro["&#8654;"] = "nhArr";
 macro2utf8["lsim"] = "&#8818;";
 utf82macro["&#8818;"] = "lsim";
-macro2utf8["RightCeiling"] = "&rceil;";
-utf82macro["&rceil;"] = "RightCeiling";
-macro2utf8["nedot"] = "&ne;&#65024;";
-utf82macro["&ne;&#65024;"] = "nedot";
-macro2utf8["thksim"] = "&sim;&#65024;";
-utf82macro["&sim;&#65024;"] = "thksim";
+macro2utf8["RightCeiling"] = "&#8969;";
+utf82macro["&#8969;"] = "RightCeiling";
+macro2utf8["nedot"] = "&#8800;&#65024;";
+utf82macro["&#8800;&#65024;"] = "nedot";
+macro2utf8["thksim"] = "&#8764;&#65024;";
+utf82macro["&#8764;&#65024;"] = "thksim";
 macro2utf8["lEg"] = "&#8922;";
 utf82macro["&#8922;"] = "lEg";
-macro2utf8["Ifr"] = "&image;";
-utf82macro["&image;"] = "Ifr";
-macro2utf8["emsp"] = "&emsp;";
-utf82macro["&emsp;"] = "emsp";
+macro2utf8["Ifr"] = "&#8465;";
+utf82macro["&#8465;"] = "Ifr";
+macro2utf8["emsp"] = "&#8195;";
+utf82macro["&#8195;"] = "emsp";
 macro2utf8["lopar"] = "&#12312;";
 utf82macro["&#12312;"] = "lopar";
 macro2utf8["iiiint"] = "&#10764;";
 utf82macro["&#10764;"] = "iiiint";
-macro2utf8["straightepsilon"] = "&epsilon;";
-utf82macro["&epsilon;"] = "straightepsilon";
+macro2utf8["straightepsilon"] = "&#949;";
+utf82macro["&#949;"] = "straightepsilon";
 macro2utf8["intlarhk"] = "&#10775;";
 utf82macro["&#10775;"] = "intlarhk";
-macro2utf8["image"] = "&image;";
-utf82macro["&image;"] = "image";
+macro2utf8["image"] = "&#8465;";
+utf82macro["&#8465;"] = "image";
 macro2utf8["sqsubseteq"] = "&#8849;";
 utf82macro["&#8849;"] = "sqsubseteq";
 macro2utf8["lnapprox"] = "&#10889;";
 utf82macro["&#10889;"] = "lnapprox";
-macro2utf8["Leftrightarrow"] = "&hArr;";
-utf82macro["&hArr;"] = "Leftrightarrow";
+macro2utf8["Leftrightarrow"] = "&#8660;";
+utf82macro["&#8660;"] = "Leftrightarrow";
 macro2utf8["cemptyv"] = "&#10674;";
 utf82macro["&#10674;"] = "cemptyv";
-macro2utf8["alpha"] = "&alpha;";
-utf82macro["&alpha;"] = "alpha";
-macro2utf8["uml"] = "&uml;";
-utf82macro["&uml;"] = "uml";
+macro2utf8["alpha"] = "&#945;";
+utf82macro["&#945;"] = "alpha";
+macro2utf8["uml"] = "&#168;";
+utf82macro["&#168;"] = "uml";
 macro2utf8["barwedge"] = "&#8892;";
 utf82macro["&#8892;"] = "barwedge";
 macro2utf8["KHcy"] = "&#1061;";
 utf82macro["&#1061;"] = "KHcy";
-macro2utf8["tilde"] = "&tilde;";
-utf82macro["&tilde;"] = "tilde";
-macro2utf8["Superset"] = "&sup;";
-utf82macro["&sup;"] = "Superset";
+macro2utf8["tilde"] = "&#732;";
+utf82macro["&#732;"] = "tilde";
+macro2utf8["Superset"] = "&#8835;";
+utf82macro["&#8835;"] = "Superset";
 macro2utf8["gesles"] = "&#10900;";
 utf82macro["&#10900;"] = "gesles";
-macro2utf8["bigoplus"] = "&oplus;";
-utf82macro["&oplus;"] = "bigoplus";
+macro2utf8["bigoplus"] = "&#8853;";
+utf82macro["&#8853;"] = "bigoplus";
 macro2utf8["boxuL"] = "&#9563;";
 utf82macro["&#9563;"] = "boxuL";
 macro2utf8["rbbrk"] = "&#12309;";
@@ -951,46 +951,46 @@ macro2utf8["NotNestedGreaterGreater"] = "&#9378;&#824;";
 utf82macro["&#9378;&#824;"] = "NotNestedGreaterGreater";
 macro2utf8["smtes"] = "&#10924;&#65024;";
 utf82macro["&#10924;&#65024;"] = "smtes";
-macro2utf8["LeftAngleBracket"] = "&lang;";
-utf82macro["&lang;"] = "LeftAngleBracket";
+macro2utf8["LeftAngleBracket"] = "&#9001;";
+utf82macro["&#9001;"] = "LeftAngleBracket";
 macro2utf8["iogon"] = "&#303;";
 utf82macro["&#303;"] = "iogon";
 macro2utf8["ExponentialE"] = "&#8519;";
 utf82macro["&#8519;"] = "ExponentialE";
 macro2utf8["Topf"] = "&#120139;";
 utf82macro["&#120139;"] = "Topf";
-macro2utf8["GreaterEqual"] = "&ge;";
-utf82macro["&ge;"] = "GreaterEqual";
+macro2utf8["GreaterEqual"] = "&#8805;";
+utf82macro["&#8805;"] = "GreaterEqual";
 macro2utf8["DownTee"] = "&#8868;";
 utf82macro["&#8868;"] = "DownTee";
 macro2utf8["boxul"] = "&#9496;";
 utf82macro["&#9496;"] = "boxul";
 macro2utf8["wreath"] = "&#8768;";
 utf82macro["&#8768;"] = "wreath";
-macro2utf8["sigma"] = "&sigma;";
-utf82macro["&sigma;"] = "sigma";
+macro2utf8["sigma"] = "&#963;";
+utf82macro["&#963;"] = "sigma";
 macro2utf8["ENG"] = "&#330;";
 utf82macro["&#330;"] = "ENG";
 macro2utf8["Ncedil"] = "&#325;";
 utf82macro["&#325;"] = "Ncedil";
 macro2utf8["ecy"] = "&#1101;";
 utf82macro["&#1101;"] = "ecy";
-macro2utf8["nsubset"] = "&nsub;";
-utf82macro["&nsub;"] = "nsubset";
+macro2utf8["nsubset"] = "&#8836;";
+utf82macro["&#8836;"] = "nsubset";
 macro2utf8["LessFullEqual"] = "&#8806;";
 utf82macro["&#8806;"] = "LessFullEqual";
 macro2utf8["bsolb"] = "&#10693;";
 utf82macro["&#10693;"] = "bsolb";
 macro2utf8["boxur"] = "&#9492;";
 utf82macro["&#9492;"] = "boxur";
-macro2utf8["ThinSpace"] = "&thinsp;";
-utf82macro["&thinsp;"] = "ThinSpace";
+macro2utf8["ThinSpace"] = "&#8201;";
+utf82macro["&#8201;"] = "ThinSpace";
 macro2utf8["supdsub"] = "&#10968;";
 utf82macro["&#10968;"] = "supdsub";
 macro2utf8["colone"] = "&#8788;";
 utf82macro["&#8788;"] = "colone";
-macro2utf8["curren"] = "&curren;";
-utf82macro["&curren;"] = "curren";
+macro2utf8["curren"] = "&#164;";
+utf82macro["&#164;"] = "curren";
 macro2utf8["boxvh"] = "&#9532;";
 utf82macro["&#9532;"] = "boxvh";
 macro2utf8["ecaron"] = "&#283;";
@@ -1021,8 +1021,8 @@ macro2utf8["nvDash"] = "&#8877;";
 utf82macro["&#8877;"] = "nvDash";
 macro2utf8["NotGreaterFullEqual"] = "&#8816;";
 utf82macro["&#8816;"] = "NotGreaterFullEqual";
-macro2utf8["uparrow"] = "&uarr;";
-utf82macro["&uarr;"] = "uparrow";
+macro2utf8["uparrow"] = "&#8593;";
+utf82macro["&#8593;"] = "uparrow";
 macro2utf8["nsupset"] = "&#8837;";
 utf82macro["&#8837;"] = "nsupset";
 macro2utf8["simeq"] = "&#8771;";
@@ -1033,44 +1033,44 @@ macro2utf8["RightTriangle"] = "&#8883;";
 utf82macro["&#8883;"] = "RightTriangle";
 macro2utf8["Lang"] = "&#12298;";
 utf82macro["&#12298;"] = "Lang";
-macro2utf8["Ucirc"] = "&Ucirc;";
-utf82macro["&Ucirc;"] = "Ucirc";
+macro2utf8["Ucirc"] = "&#219;";
+utf82macro["&#219;"] = "Ucirc";
 macro2utf8["iopf"] = "&#120154;";
 utf82macro["&#120154;"] = "iopf";
 macro2utf8["leftrightsquigarrow"] = "&#8621;";
 utf82macro["&#8621;"] = "leftrightsquigarrow";
 macro2utf8["Gscr"] = "&#119970;";
 utf82macro["&#119970;"] = "Gscr";
-macro2utf8["lfloor"] = "&lfloor;";
-utf82macro["&lfloor;"] = "lfloor";
+macro2utf8["lfloor"] = "&#8970;";
+utf82macro["&#8970;"] = "lfloor";
 macro2utf8["lbbrk"] = "&#12308;";
 utf82macro["&#12308;"] = "lbbrk";
 macro2utf8["bigvee"] = "&#8897;";
 utf82macro["&#8897;"] = "bigvee";
-macro2utf8["ordf"] = "&ordf;";
-utf82macro["&ordf;"] = "ordf";
-macro2utf8["rsquo"] = "&rsquo;";
-utf82macro["&rsquo;"] = "rsquo";
+macro2utf8["ordf"] = "&#170;";
+utf82macro["&#170;"] = "ordf";
+macro2utf8["rsquo"] = "&#8217;";
+utf82macro["&#8217;"] = "rsquo";
 macro2utf8["parallel"] = "&#8741;";
 utf82macro["&#8741;"] = "parallel";
-macro2utf8["half"] = "&frac12;";
-utf82macro["&frac12;"] = "half";
-macro2utf8["supseteq"] = "&supe;";
-utf82macro["&supe;"] = "supseteq";
+macro2utf8["half"] = "&#189;";
+utf82macro["&#189;"] = "half";
+macro2utf8["supseteq"] = "&#8839;";
+utf82macro["&#8839;"] = "supseteq";
 macro2utf8["ngeqq"] = "&#8817;";
 utf82macro["&#8817;"] = "ngeqq";
 macro2utf8["popf"] = "&#120161;";
 utf82macro["&#120161;"] = "popf";
-macro2utf8["NonBreakingSpace"] = "&nbsp;";
-utf82macro["&nbsp;"] = "NonBreakingSpace";
+macro2utf8["NonBreakingSpace"] = "&#160;";
+utf82macro["&#160;"] = "NonBreakingSpace";
 macro2utf8["softcy"] = "&#1100;";
 utf82macro["&#1100;"] = "softcy";
-macro2utf8["ordm"] = "&ordm;";
-utf82macro["&ordm;"] = "ordm";
+macro2utf8["ordm"] = "&#186;";
+utf82macro["&#186;"] = "ordm";
 macro2utf8["Nscr"] = "&#119977;";
 utf82macro["&#119977;"] = "Nscr";
-macro2utf8["owns"] = "&ni;";
-utf82macro["&ni;"] = "owns";
+macro2utf8["owns"] = "&#8715;";
+utf82macro["&#8715;"] = "owns";
 macro2utf8["phi"] = "&#981;";
 utf82macro["&#981;"] = "phi";
 macro2utf8["efr"] = "&#120098;";
@@ -1083,12 +1083,12 @@ macro2utf8["lneq"] = "&#8808;";
 utf82macro["&#8808;"] = "lneq";
 macro2utf8["parallet"] = "????";
 utf82macro["????"] = "parallet";
-macro2utf8["ndash"] = "&ndash;";
-utf82macro["&ndash;"] = "ndash";
+macro2utf8["ndash"] = "&#8211;";
+utf82macro["&#8211;"] = "ndash";
 macro2utf8["DoubleLeftTee"] = "&#10980;";
 utf82macro["&#10980;"] = "DoubleLeftTee";
-macro2utf8["lArr"] = "&lArr;";
-utf82macro["&lArr;"] = "lArr";
+macro2utf8["lArr"] = "&#8656;";
+utf82macro["&#8656;"] = "lArr";
 macro2utf8["becaus"] = "&#8757;";
 utf82macro["&#8757;"] = "becaus";
 macro2utf8["RightTee"] = "&#8866;";
@@ -1123,22 +1123,22 @@ macro2utf8["reals"] = "&#8477;";
 utf82macro["&#8477;"] = "reals";
 macro2utf8["CupCap"] = "&#8781;";
 utf82macro["&#8781;"] = "CupCap";
-macro2utf8["Oacute"] = "&Oacute;";
-utf82macro["&Oacute;"] = "Oacute";
+macro2utf8["Oacute"] = "&#211;";
+utf82macro["&#211;"] = "Oacute";
 macro2utf8["Zfr"] = "&#8488;";
 utf82macro["&#8488;"] = "Zfr";
 macro2utf8["ReverseEquilibrium"] = "&#8651;";
 utf82macro["&#8651;"] = "ReverseEquilibrium";
-macro2utf8["ccedil"] = "&ccedil;";
-utf82macro["&ccedil;"] = "ccedil";
+macro2utf8["ccedil"] = "&#231;";
+utf82macro["&#231;"] = "ccedil";
 macro2utf8["bigtriangleup"] = "&#9651;";
 utf82macro["&#9651;"] = "bigtriangleup";
-macro2utf8["piv"] = "&piv;";
-utf82macro["&piv;"] = "piv";
+macro2utf8["piv"] = "&#982;";
+utf82macro["&#982;"] = "piv";
 macro2utf8["cirscir"] = "&#10690;";
 utf82macro["&#10690;"] = "cirscir";
-macro2utf8["exists"] = "&exist;";
-utf82macro["&exist;"] = "exists";
+macro2utf8["exists"] = "&#8707;";
+utf82macro["&#8707;"] = "exists";
 macro2utf8["Uarrocir"] = "&#10569;";
 utf82macro["&#10569;"] = "Uarrocir";
 macro2utf8["Dcy"] = "&#1044;";
@@ -1177,8 +1177,8 @@ macro2utf8["angmsdac"] = "&#10666;";
 utf82macro["&#10666;"] = "angmsdac";
 macro2utf8["xdtri"] = "&#9661;";
 utf82macro["&#9661;"] = "xdtri";
-macro2utf8["iota"] = "&iota;";
-utf82macro["&iota;"] = "iota";
+macro2utf8["iota"] = "&#953;";
+utf82macro["&#953;"] = "iota";
 macro2utf8["angmsdad"] = "&#10667;";
 utf82macro["&#10667;"] = "angmsdad";
 macro2utf8["angmsdae"] = "&#10668;";
@@ -1187,8 +1187,8 @@ macro2utf8["rightarrowtail"] = "&#8611;";
 utf82macro["&#8611;"] = "rightarrowtail";
 macro2utf8["angmsdaf"] = "&#10669;";
 utf82macro["&#10669;"] = "angmsdaf";
-macro2utf8["Ocirc"] = "&Ocirc;";
-utf82macro["&Ocirc;"] = "Ocirc";
+macro2utf8["Ocirc"] = "&#212;";
+utf82macro["&#212;"] = "Ocirc";
 macro2utf8["angmsdag"] = "&#10670;";
 utf82macro["&#10670;"] = "angmsdag";
 macro2utf8["Ofr"] = "&#120082;";
@@ -1197,42 +1197,42 @@ macro2utf8["maltese"] = "&#10016;";
 utf82macro["&#10016;"] = "maltese";
 macro2utf8["angmsdah"] = "&#10671;";
 utf82macro["&#10671;"] = "angmsdah";
-macro2utf8["Del"] = "&nabla;";
-utf82macro["&nabla;"] = "Del";
+macro2utf8["Del"] = "&#8711;";
+utf82macro["&#8711;"] = "Del";
 macro2utf8["Barwed"] = "&#8966;";
 utf82macro["&#8966;"] = "Barwed";
 macro2utf8["drbkarow"] = "&#10512;";
 utf82macro["&#10512;"] = "drbkarow";
 macro2utf8["qscr"] = "&#120006;";
 utf82macro["&#120006;"] = "qscr";
-macro2utf8["ETH"] = "&ETH;";
-utf82macro["&ETH;"] = "ETH";
+macro2utf8["ETH"] = "&#208;";
+utf82macro["&#208;"] = "ETH";
 macro2utf8["operp"] = "&#10681;";
 utf82macro["&#10681;"] = "operp";
 macro2utf8["daleth"] = "&#8504;";
 utf82macro["&#8504;"] = "daleth";
-macro2utf8["bull"] = "&bull;";
-utf82macro["&bull;"] = "bull";
+macro2utf8["bull"] = "&#8226;";
+utf82macro["&#8226;"] = "bull";
 macro2utf8["simlE"] = "&#10911;";
 utf82macro["&#10911;"] = "simlE";
-macro2utf8["lsquo"] = "&lsquo;";
-utf82macro["&lsquo;"] = "lsquo";
+macro2utf8["lsquo"] = "&#8216;";
+utf82macro["&#8216;"] = "lsquo";
 macro2utf8["Larr"] = "&#8606;";
 utf82macro["&#8606;"] = "Larr";
 macro2utf8["curarr"] = "&#8631;";
 utf82macro["&#8631;"] = "curarr";
 macro2utf8["blacktriangleleft"] = "&#9666;";
 utf82macro["&#9666;"] = "blacktriangleleft";
-macro2utf8["hellip"] = "&hellip;";
-utf82macro["&hellip;"] = "hellip";
+macro2utf8["hellip"] = "&#8230;";
+utf82macro["&#8230;"] = "hellip";
 macro2utf8["DoubleVerticalBar"] = "&#8741;";
 utf82macro["&#8741;"] = "DoubleVerticalBar";
 macro2utf8["rBarr"] = "&#10511;";
 utf82macro["&#10511;"] = "rBarr";
 macro2utf8["chcy"] = "&#1095;";
 utf82macro["&#1095;"] = "chcy";
-macro2utf8["varpi"] = "&piv;";
-utf82macro["&piv;"] = "varpi";
+macro2utf8["varpi"] = "&#982;";
+utf82macro["&#982;"] = "varpi";
 macro2utf8["Cconint"] = "&#8752;";
 utf82macro["&#8752;"] = "Cconint";
 macro2utf8["xlarr"] = "&#62838;";
@@ -1245,8 +1245,8 @@ macro2utf8["CounterClockwiseContourIntegral"] = "&#8755;";
 utf82macro["&#8755;"] = "CounterClockwiseContourIntegral";
 macro2utf8["urcrop"] = "&#8974;";
 utf82macro["&#8974;"] = "urcrop";
-macro2utf8["RightAngleBracket"] = "&rang;";
-utf82macro["&rang;"] = "RightAngleBracket";
+macro2utf8["RightAngleBracket"] = "&#9002;";
+utf82macro["&#9002;"] = "RightAngleBracket";
 macro2utf8["Rcaron"] = "&#344;";
 utf82macro["&#344;"] = "Rcaron";
 macro2utf8["latail"] = "&#10521;";
@@ -1277,12 +1277,12 @@ macro2utf8["gEl"] = "&#8923;";
 utf82macro["&#8923;"] = "gEl";
 macro2utf8["bump"] = "&#8782;";
 utf82macro["&#8782;"] = "bump";
-macro2utf8["aleph"] = "&alefsym;";
-utf82macro["&alefsym;"] = "aleph";
+macro2utf8["aleph"] = "&#8501;";
+utf82macro["&#8501;"] = "aleph";
 macro2utf8["Ubreve"] = "&#364;";
 utf82macro["&#364;"] = "Ubreve";
-macro2utf8["isinv"] = "&isin;";
-utf82macro["&isin;"] = "isinv";
+macro2utf8["isinv"] = "&#8712;";
+utf82macro["&#8712;"] = "isinv";
 macro2utf8["smile"] = "&#8995;";
 utf82macro["&#8995;"] = "smile";
 macro2utf8["llcorner"] = "&#8990;";
@@ -1291,10 +1291,10 @@ macro2utf8["boxH"] = "&#9552;";
 utf82macro["&#9552;"] = "boxH";
 macro2utf8["ecir"] = "&#8790;";
 utf82macro["&#8790;"] = "ecir";
-macro2utf8["varnothing"] = "&empty;";
-utf82macro["&empty;"] = "varnothing";
-macro2utf8["iuml"] = "&iuml;";
-utf82macro["&iuml;"] = "iuml";
+macro2utf8["varnothing"] = "&#8709;";
+utf82macro["&#8709;"] = "varnothing";
+macro2utf8["iuml"] = "&#239;";
+utf82macro["&#239;"] = "iuml";
 macro2utf8["mlcp"] = "&#10971;";
 utf82macro["&#10971;"] = "mlcp";
 macro2utf8["leftrightharpoons"] = "&#8651;";
@@ -1303,16 +1303,16 @@ macro2utf8["ncong"] = "&#8775;";
 utf82macro["&#8775;"] = "ncong";
 macro2utf8["Vert"] = "&#8214;";
 utf82macro["&#8214;"] = "Vert";
-macro2utf8["vee"] = "&or;";
-utf82macro["&or;"] = "vee";
+macro2utf8["vee"] = "&#8744;";
+utf82macro["&#8744;"] = "vee";
 macro2utf8["star"] = "&#8902;";
 utf82macro["&#8902;"] = "star";
 macro2utf8["boxV"] = "&#9553;";
 utf82macro["&#9553;"] = "boxV";
-macro2utf8["LeftRightArrow"] = "&harr;";
-utf82macro["&harr;"] = "LeftRightArrow";
-macro2utf8["leftrightarrow"] = "&harr;";
-utf82macro["&harr;"] = "leftrightarrow";
+macro2utf8["LeftRightArrow"] = "&#8596;";
+utf82macro["&#8596;"] = "LeftRightArrow";
+macro2utf8["leftrightarrow"] = "&#8596;";
+utf82macro["&#8596;"] = "leftrightarrow";
 macro2utf8["lstrok"] = "&#322;";
 utf82macro["&#322;"] = "lstrok";
 macro2utf8["ell"] = "&#8467;";
@@ -1325,10 +1325,10 @@ macro2utf8["NotGreater"] = "&#8815;";
 utf82macro["&#8815;"] = "NotGreater";
 macro2utf8["Abreve"] = "&#258;";
 utf82macro["&#258;"] = "Abreve";
-macro2utf8["TildeTilde"] = "&asymp;";
-utf82macro["&asymp;"] = "TildeTilde";
-macro2utf8["CircleTimes"] = "&otimes;";
-utf82macro["&otimes;"] = "CircleTimes";
+macro2utf8["TildeTilde"] = "&#8776;";
+utf82macro["&#8776;"] = "TildeTilde";
+macro2utf8["CircleTimes"] = "&#8855;";
+utf82macro["&#8855;"] = "CircleTimes";
 macro2utf8["subsetneq"] = "&#8842;";
 utf82macro["&#8842;"] = "subsetneq";
 macro2utf8["ltcc"] = "&#10918;";
@@ -1341,10 +1341,10 @@ macro2utf8["kcy"] = "&#1082;";
 utf82macro["&#1082;"] = "kcy";
 macro2utf8["nshortmid"] = "&#8740;&#65024;";
 utf82macro["&#8740;&#65024;"] = "nshortmid";
-macro2utf8["mldr"] = "&hellip;";
-utf82macro["&hellip;"] = "mldr";
-macro2utf8["harr"] = "&harr;";
-utf82macro["&harr;"] = "harr";
+macro2utf8["mldr"] = "&#8230;";
+utf82macro["&#8230;"] = "mldr";
+macro2utf8["harr"] = "&#8596;";
+utf82macro["&#8596;"] = "harr";
 macro2utf8["gimel"] = "&#8503;";
 utf82macro["&#8503;"] = "gimel";
 macro2utf8["Otimes"] = "&#10807;";
@@ -1355,16 +1355,16 @@ macro2utf8["ltdot"] = "&#8918;";
 utf82macro["&#8918;"] = "ltdot";
 macro2utf8["boxh"] = "&#9472;";
 utf82macro["&#9472;"] = "boxh";
-macro2utf8["notin"] = "&notin;";
-utf82macro["&notin;"] = "notin";
+macro2utf8["notin"] = "&#8713;";
+utf82macro["&#8713;"] = "notin";
 macro2utf8["RuleDelayed"] = "&#10740;";
 utf82macro["&#10740;"] = "RuleDelayed";
 macro2utf8["sqsube"] = "&#8849;";
 utf82macro["&#8849;"] = "sqsube";
-macro2utf8["macr"] = "&macr;";
-utf82macro["&macr;"] = "macr";
-macro2utf8["Icirc"] = "&Icirc;";
-utf82macro["&Icirc;"] = "Icirc";
+macro2utf8["macr"] = "&#175;";
+utf82macro["&#175;"] = "macr";
+macro2utf8["Icirc"] = "&#206;";
+utf82macro["&#206;"] = "Icirc";
 macro2utf8["comma"] = ",";
 utf82macro[","] = "comma";
 macro2utf8["Cayleys"] = "&#8493;";
@@ -1427,12 +1427,12 @@ macro2utf8["vsubne"] = "&#8842;&#65024;";
 utf82macro["&#8842;&#65024;"] = "vsubne";
 macro2utf8["hbar"] = "&#8463;&#65024;";
 utf82macro["&#8463;&#65024;"] = "hbar";
-macro2utf8["subset"] = "&sub;";
-utf82macro["&sub;"] = "subset";
+macro2utf8["subset"] = "&#8834;";
+utf82macro["&#8834;"] = "subset";
 macro2utf8["UpTeeArrow"] = "&#8613;";
 utf82macro["&#8613;"] = "UpTeeArrow";
-macro2utf8["LeftFloor"] = "&lfloor;";
-utf82macro["&lfloor;"] = "LeftFloor";
+macro2utf8["LeftFloor"] = "&#8970;";
+utf82macro["&#8970;"] = "LeftFloor";
 macro2utf8["kfr"] = "&#120104;";
 utf82macro["&#120104;"] = "kfr";
 macro2utf8["nisd"] = "&#8954;";
@@ -1445,8 +1445,8 @@ macro2utf8["nprec"] = "&#8832;";
 utf82macro["&#8832;"] = "nprec";
 macro2utf8["ltrPar"] = "&#10646;";
 utf82macro["&#10646;"] = "ltrPar";
-macro2utf8["Scaron"] = "&Scaron;";
-utf82macro["&Scaron;"] = "Scaron";
+macro2utf8["Scaron"] = "&#352;";
+utf82macro["&#352;"] = "Scaron";
 macro2utf8["InvisibleComma"] = "&#8203;";
 utf82macro["&#8203;"] = "InvisibleComma";
 macro2utf8["SquareUnion"] = "&#8852;";
@@ -1455,48 +1455,48 @@ macro2utf8["ffllig"] = "&#64260;";
 utf82macro["&#64260;"] = "ffllig";
 macro2utf8["approxeq"] = "&#8778;";
 utf82macro["&#8778;"] = "approxeq";
-macro2utf8["yacute"] = "&yacute;";
-utf82macro["&yacute;"] = "yacute";
+macro2utf8["yacute"] = "&#253;";
+utf82macro["&#253;"] = "yacute";
 macro2utf8["pre"] = "&#10927;";
 utf82macro["&#10927;"] = "pre";
 macro2utf8["nsqsupe"] = "&#8931;";
 utf82macro["&#8931;"] = "nsqsupe";
-macro2utf8["supset"] = "&sup;";
-utf82macro["&sup;"] = "supset";
-macro2utf8["bsolhsub"] = "\\&sub;";
-utf82macro["\\&sub;"] = "bsolhsub";
+macro2utf8["supset"] = "&#8835;";
+utf82macro["&#8835;"] = "supset";
+macro2utf8["bsolhsub"] = "\\&#8834;";
+utf82macro["\\&#8834;"] = "bsolhsub";
 macro2utf8["nshortparallel"] = "&#8742;&#65024;";
 utf82macro["&#8742;&#65024;"] = "nshortparallel";
-macro2utf8["lozenge"] = "&loz;";
-utf82macro["&loz;"] = "lozenge";
-macro2utf8["lnot"] = "&not;";
-utf82macro["&not;"] = "lnot";
+macro2utf8["lozenge"] = "&#9674;";
+utf82macro["&#9674;"] = "lozenge";
+macro2utf8["lnot"] = "&#172;";
+utf82macro["&#172;"] = "lnot";
 macro2utf8["Dopf"] = "&#120123;";
 utf82macro["&#120123;"] = "Dopf";
 macro2utf8["leftharpoonup"] = "&#8636;";
 utf82macro["&#8636;"] = "leftharpoonup";
 macro2utf8["Jcy"] = "&#1049;";
 utf82macro["&#1049;"] = "Jcy";
-macro2utf8["rightarrow"] = "&rarr;";
-utf82macro["&rarr;"] = "rightarrow";
+macro2utf8["rightarrow"] = "&#8594;";
+utf82macro["&#8594;"] = "rightarrow";
 macro2utf8["ntriangleright"] = "&#8939;";
 utf82macro["&#8939;"] = "ntriangleright";
 macro2utf8["Ccirc"] = "&#264;";
 utf82macro["&#264;"] = "Ccirc";
-macro2utf8["eacute"] = "&eacute;";
-utf82macro["&eacute;"] = "eacute";
-macro2utf8["acute"] = "&acute;";
-utf82macro["&acute;"] = "acute";
+macro2utf8["eacute"] = "&#233;";
+utf82macro["&#233;"] = "eacute";
+macro2utf8["acute"] = "&#180;";
+utf82macro["&#180;"] = "acute";
 macro2utf8["Precedes"] = "&#8826;";
 utf82macro["&#8826;"] = "Precedes";
-macro2utf8["middot"] = "&middot;";
-utf82macro["&middot;"] = "middot";
+macro2utf8["middot"] = "&#183;";
+utf82macro["&#183;"] = "middot";
 macro2utf8["lHar"] = "&#10594;";
 utf82macro["&#10594;"] = "lHar";
 macro2utf8["eparsl"] = "&#10723;";
 utf82macro["&#10723;"] = "eparsl";
-macro2utf8["psi"] = "&psi;";
-utf82macro["&psi;"] = "psi";
+macro2utf8["psi"] = "&#968;";
+utf82macro["&#968;"] = "psi";
 macro2utf8["parsl"] = "&#8741;&#65024;";
 utf82macro["&#8741;&#65024;"] = "parsl";
 macro2utf8["UpperLeftArrow"] = "&#8598;";
@@ -1517,14 +1517,14 @@ macro2utf8["UnderParenthesis"] = "&#65078;";
 utf82macro["&#65078;"] = "UnderParenthesis";
 macro2utf8["notni"] = "&#8716;";
 utf82macro["&#8716;"] = "notni";
-macro2utf8["dagger"] = "&dagger;";
-utf82macro["&dagger;"] = "dagger";
+macro2utf8["dagger"] = "&#8224;";
+utf82macro["&#8224;"] = "dagger";
 macro2utf8["dharr"] = "&#8642;";
 utf82macro["&#8642;"] = "dharr";
 macro2utf8["twoheadleftarrow"] = "&#8606;";
 utf82macro["&#8606;"] = "twoheadleftarrow";
-macro2utf8["frac12"] = "&frac12;";
-utf82macro["&frac12;"] = "frac12";
+macro2utf8["frac12"] = "&#189;";
+utf82macro["&#189;"] = "frac12";
 macro2utf8["varsubsetneqq"] = "&#8842;&#65024;";
 utf82macro["&#8842;&#65024;"] = "varsubsetneqq";
 macro2utf8["frac13"] = "&#8531;";
@@ -1535,8 +1535,8 @@ macro2utf8["NestedLessLess"] = "&#8810;";
 utf82macro["&#8810;"] = "NestedLessLess";
 macro2utf8["llarr"] = "&#8647;";
 utf82macro["&#8647;"] = "llarr";
-macro2utf8["frac14"] = "&frac14;";
-utf82macro["&frac14;"] = "frac14";
+macro2utf8["frac14"] = "&#188;";
+utf82macro["&#188;"] = "frac14";
 macro2utf8["frac15"] = "&#8533;";
 utf82macro["&#8533;"] = "frac15";
 macro2utf8["Ropf"] = "&#8477;";
@@ -1547,14 +1547,14 @@ macro2utf8["lrtri"] = "&#8895;";
 utf82macro["&#8895;"] = "lrtri";
 macro2utf8["frac18"] = "&#8539;";
 utf82macro["&#8539;"] = "frac18";
-macro2utf8["cedil"] = "&cedil;";
-utf82macro["&cedil;"] = "cedil";
+macro2utf8["cedil"] = "&#184;";
+utf82macro["&#184;"] = "cedil";
 macro2utf8["subsim"] = "&#10951;";
 utf82macro["&#10951;"] = "subsim";
 macro2utf8["PrecedesTilde"] = "&#8830;";
 utf82macro["&#8830;"] = "PrecedesTilde";
-macro2utf8["igrave"] = "&igrave;";
-utf82macro["&igrave;"] = "igrave";
+macro2utf8["igrave"] = "&#236;";
+utf82macro["&#236;"] = "igrave";
 macro2utf8["gjcy"] = "&#1107;";
 utf82macro["&#1107;"] = "gjcy";
 macro2utf8["LeftVector"] = "&#8636;";
@@ -1569,8 +1569,8 @@ macro2utf8["notnivc"] = "&#8957;";
 utf82macro["&#8957;"] = "notnivc";
 macro2utf8["Yopf"] = "&#120144;";
 utf82macro["&#120144;"] = "Yopf";
-macro2utf8["there4"] = "&there4;";
-utf82macro["&there4;"] = "there4";
+macro2utf8["there4"] = "&#8756;";
+utf82macro["&#8756;"] = "there4";
 macro2utf8["udarr"] = "&#8645;";
 utf82macro["&#8645;"] = "udarr";
 macro2utf8["bkarow"] = "&#10509;";
@@ -1583,42 +1583,42 @@ macro2utf8["njcy"] = "&#1114;";
 utf82macro["&#1114;"] = "njcy";
 macro2utf8["Dashv"] = "&#10980;";
 utf82macro["&#10980;"] = "Dashv";
-macro2utf8["eta"] = "&eta;";
-utf82macro["&eta;"] = "eta";
+macro2utf8["eta"] = "&#951;";
+utf82macro["&#951;"] = "eta";
 macro2utf8["bcong"] = "&#8780;";
 utf82macro["&#8780;"] = "bcong";
-macro2utf8["Ugrave"] = "&Ugrave;";
-utf82macro["&Ugrave;"] = "Ugrave";
+macro2utf8["Ugrave"] = "&#217;";
+utf82macro["&#217;"] = "Ugrave";
 macro2utf8["csube"] = "&#10961;";
 utf82macro["&#10961;"] = "csube";
-macro2utf8["clubs"] = "&clubs;";
-utf82macro["&clubs;"] = "clubs";
+macro2utf8["clubs"] = "&#9827;";
+utf82macro["&#9827;"] = "clubs";
 macro2utf8["supmult"] = "&#10946;";
 utf82macro["&#10946;"] = "supmult";
 macro2utf8["MinusPlus"] = "&#8723;";
 utf82macro["&#8723;"] = "MinusPlus";
 macro2utf8["Jfr"] = "&#120077;";
 utf82macro["&#120077;"] = "Jfr";
-macro2utf8["ensp"] = "&ensp;";
-utf82macro["&ensp;"] = "ensp";
-macro2utf8["ucirc"] = "&ucirc;";
-utf82macro["&ucirc;"] = "ucirc";
+macro2utf8["ensp"] = "&#8194;";
+utf82macro["&#8194;"] = "ensp";
+macro2utf8["ucirc"] = "&#251;";
+utf82macro["&#251;"] = "ucirc";
 macro2utf8["supsim"] = "&#10952;";
 utf82macro["&#10952;"] = "supsim";
-macro2utf8["eth"] = "&eth;";
-utf82macro["&eth;"] = "eth";
+macro2utf8["eth"] = "&#240;";
+utf82macro["&#240;"] = "eth";
 macro2utf8["OverBrace"] = "&#65079;";
 utf82macro["&#65079;"] = "OverBrace";
-macro2utf8["Dot"] = "&uml;";
-utf82macro["&uml;"] = "Dot";
+macro2utf8["Dot"] = "&#168;";
+utf82macro["&#168;"] = "Dot";
 macro2utf8["xcap"] = "&#8898;";
 utf82macro["&#8898;"] = "xcap";
 macro2utf8["vangrt"] = "&#8894;";
 utf82macro["&#8894;"] = "vangrt";
 macro2utf8["NotSubsetEqual"] = "&#8840;";
 utf82macro["&#8840;"] = "NotSubsetEqual";
-macro2utf8["frac34"] = "&frac34;";
-utf82macro["&frac34;"] = "frac34";
+macro2utf8["frac34"] = "&#190;";
+utf82macro["&#190;"] = "frac34";
 macro2utf8["frac35"] = "&#8535;";
 utf82macro["&#8535;"] = "frac35";
 macro2utf8["planck"] = "&#8463;&#65024;";
@@ -1635,10 +1635,10 @@ macro2utf8["mapstoup"] = "&#8613;";
 utf82macro["&#8613;"] = "mapstoup";
 macro2utf8["Escr"] = "&#8496;";
 utf82macro["&#8496;"] = "Escr";
-macro2utf8["Integral"] = "&int;";
-utf82macro["&int;"] = "Integral";
-macro2utf8["Agrave"] = "&Agrave;";
-utf82macro["&Agrave;"] = "Agrave";
+macro2utf8["Integral"] = "&#8747;";
+utf82macro["&#8747;"] = "Integral";
+macro2utf8["Agrave"] = "&#192;";
+utf82macro["&#192;"] = "Agrave";
 macro2utf8["longleftarrow"] = "????;";
 utf82macro["????;"] = "longleftarrow";
 macro2utf8["Tcaron"] = "&#356;";
@@ -1651,8 +1651,8 @@ macro2utf8["Emacr"] = "&#274;";
 utf82macro["&#274;"] = "Emacr";
 macro2utf8["omid"] = "&#10678;";
 utf82macro["&#10678;"] = "omid";
-macro2utf8["spades"] = "&spades;";
-utf82macro["&spades;"] = "spades";
+macro2utf8["spades"] = "&#9824;";
+utf82macro["&#9824;"] = "spades";
 macro2utf8["naturals"] = "&#8469;";
 utf82macro["&#8469;"] = "naturals";
 macro2utf8["Lscr"] = "&#8466;";
@@ -1663,8 +1663,8 @@ macro2utf8["SucceedsTilde"] = "&#8831;";
 utf82macro["&#8831;"] = "SucceedsTilde";
 macro2utf8["frac45"] = "&#8536;";
 utf82macro["&#8536;"] = "frac45";
-macro2utf8["clubsuit"] = "&clubs;";
-utf82macro["&clubs;"] = "clubsuit";
+macro2utf8["clubsuit"] = "&#9827;";
+utf82macro["&#9827;"] = "clubsuit";
 macro2utf8["mumap"] = "&#8888;";
 utf82macro["&#8888;"] = "mumap";
 macro2utf8["vltri"] = "&#8882;";
@@ -1673,8 +1673,8 @@ macro2utf8["LeftArrowBar"] = "&#8676;";
 utf82macro["&#8676;"] = "LeftArrowBar";
 macro2utf8["zacute"] = "&#378;";
 utf82macro["&#378;"] = "zacute";
-macro2utf8["szlig"] = "&szlig;";
-utf82macro["&szlig;"] = "szlig";
+macro2utf8["szlig"] = "&#223;";
+utf82macro["&#223;"] = "szlig";
 macro2utf8["suplarr"] = "&#10619;";
 utf82macro["&#10619;"] = "suplarr";
 macro2utf8["RightDownVector"] = "&#8642;";
@@ -1693,18 +1693,18 @@ macro2utf8["YIcy"] = "&#1031;";
 utf82macro["&#1031;"] = "YIcy";
 macro2utf8["Sscr"] = "&#119982;";
 utf82macro["&#119982;"] = "Sscr";
-macro2utf8["empty"] = "&empty;&#65024;";
-utf82macro["&empty;&#65024;"] = "empty";
+macro2utf8["empty"] = "&#8709;&#65024;";
+utf82macro["&#8709;&#65024;"] = "empty";
 macro2utf8["Vdash"] = "&#8873;";
 utf82macro["&#8873;"] = "Vdash";
 macro2utf8["sqsubset"] = "&#8847;";
 utf82macro["&#8847;"] = "sqsubset";
 macro2utf8["efDot"] = "&#8786;";
 utf82macro["&#8786;"] = "efDot";
-macro2utf8["times"] = "&times;";
-utf82macro["&times;"] = "times";
-macro2utf8["Oslash"] = "&Oslash;";
-utf82macro["&Oslash;"] = "Oslash";
+macro2utf8["times"] = "&#215;";
+utf82macro["&#215;"] = "times";
+macro2utf8["Oslash"] = "&#216;";
+utf82macro["&#216;"] = "Oslash";
 macro2utf8["itilde"] = "&#297;";
 utf82macro["&#297;"] = "itilde";
 macro2utf8["frac56"] = "&#8538;";
@@ -1713,30 +1713,30 @@ macro2utf8["numero"] = "&#8470;";
 utf82macro["&#8470;"] = "numero";
 macro2utf8["malt"] = "&#10016;";
 utf82macro["&#10016;"] = "malt";
-macro2utf8["npart"] = "&part;&#824;";
-utf82macro["&part;&#824;"] = "npart";
+macro2utf8["npart"] = "&#8706;&#824;";
+utf82macro["&#8706;&#824;"] = "npart";
 macro2utf8["frac58"] = "&#8541;";
 utf82macro["&#8541;"] = "frac58";
 macro2utf8["Zscr"] = "&#119989;";
 utf82macro["&#119989;"] = "Zscr";
 macro2utf8["integers"] = "&#8484;";
 utf82macro["&#8484;"] = "integers";
-macro2utf8["CloseCurlyQuote"] = "&rsquo;";
-utf82macro["&rsquo;"] = "CloseCurlyQuote";
+macro2utf8["CloseCurlyQuote"] = "&#8217;";
+utf82macro["&#8217;"] = "CloseCurlyQuote";
 macro2utf8["NewLine"] = "\n";
 utf82macro["\n"] = "NewLine";
 macro2utf8["fcy"] = "&#1092;";
 utf82macro["&#1092;"] = "fcy";
 macro2utf8["nwarr"] = "&#8598;";
 utf82macro["&#8598;"] = "nwarr";
-macro2utf8["thicksim"] = "&sim;&#65024;";
-utf82macro["&sim;&#65024;"] = "thicksim";
+macro2utf8["thicksim"] = "&#8764;&#65024;";
+utf82macro["&#8764;&#65024;"] = "thicksim";
 macro2utf8["nprcue"] = "&#8928;";
 utf82macro["&#8928;"] = "nprcue";
 macro2utf8["lcub"] = "{";
 utf82macro["{"] = "lcub";
-macro2utf8["forall"] = "&forall;";
-utf82macro["&forall;"] = "forall";
+macro2utf8["forall"] = "&#8704;";
+utf82macro["&#8704;"] = "forall";
 macro2utf8["plusacir"] = "&#10787;";
 utf82macro["&#10787;"] = "plusacir";
 macro2utf8["ascr"] = "&#119990;";
@@ -1745,8 +1745,8 @@ macro2utf8["plustwo"] = "&#10791;";
 utf82macro["&#10791;"] = "plustwo";
 macro2utf8["Utilde"] = "&#360;";
 utf82macro["&#360;"] = "Utilde";
-macro2utf8["lambda"] = "&lambda;";
-utf82macro["&lambda;"] = "lambda";
+macro2utf8["lambda"] = "&#955;";
+utf82macro["&#955;"] = "lambda";
 macro2utf8["odash"] = "&#8861;";
 utf82macro["&#8861;"] = "odash";
 macro2utf8["iukcy"] = "&#1110;";
@@ -1759,8 +1759,8 @@ macro2utf8["Longleftarrow"] = "????";
 utf82macro["????"] = "Longleftarrow";
 macro2utf8["capcap"] = "&#10827;";
 utf82macro["&#10827;"] = "capcap";
-macro2utf8["ocirc"] = "&ocirc;";
-utf82macro["&ocirc;"] = "ocirc";
+macro2utf8["ocirc"] = "&#244;";
+utf82macro["&#244;"] = "ocirc";
 macro2utf8["nless"] = "&#8814;";
 utf82macro["&#8814;"] = "nless";
 macro2utf8["Wedge"] = "&#8896;";
@@ -1785,8 +1785,8 @@ macro2utf8["tanh"] = "tanh";
 utf82macro["tanh"] = "tanh";
 macro2utf8["frac78"] = "&#8542;";
 utf82macro["&#8542;"] = "frac78";
-macro2utf8["Atilde"] = "&Atilde;";
-utf82macro["&Atilde;"] = "Atilde";
+macro2utf8["Atilde"] = "&#195;";
+utf82macro["&#195;"] = "Atilde";
 macro2utf8["arcsin"] = "arcsin";
 utf82macro["arcsin"] = "arcsin";
 macro2utf8["Rcedil"] = "&#342;";
@@ -1801,8 +1801,8 @@ macro2utf8["simg"] = "&#10910;";
 utf82macro["&#10910;"] = "simg";
 macro2utf8["Conint"] = "&#8751;";
 utf82macro["&#8751;"] = "Conint";
-macro2utf8["Yuml"] = "&Yuml;";
-utf82macro["&Yuml;"] = "Yuml";
+macro2utf8["Yuml"] = "&#376;";
+utf82macro["&#376;"] = "Yuml";
 macro2utf8["rlhar"] = "&#8652;";
 utf82macro["&#8652;"] = "rlhar";
 macro2utf8["rarrbfs"] = "&#10528;";
@@ -1813,10 +1813,10 @@ macro2utf8["DownRightVectorBar"] = "&#10583;";
 utf82macro["&#10583;"] = "DownRightVectorBar";
 macro2utf8["vscr"] = "&#120011;";
 utf82macro["&#120011;"] = "vscr";
-macro2utf8["divide"] = "&divide;";
-utf82macro["&divide;"] = "divide";
-macro2utf8["PlusMinus"] = "&plusmn;";
-utf82macro["&plusmn;"] = "PlusMinus";
+macro2utf8["divide"] = "&#247;";
+utf82macro["&#247;"] = "divide";
+macro2utf8["PlusMinus"] = "&#177;";
+utf82macro["&#177;"] = "PlusMinus";
 macro2utf8["ffr"] = "&#120099;";
 utf82macro["&#120099;"] = "ffr";
 macro2utf8["DownLeftTeeVector"] = "&#10590;";
@@ -1827,8 +1827,8 @@ macro2utf8["SHCHcy"] = "&#1065;";
 utf82macro["&#1065;"] = "SHCHcy";
 macro2utf8["cirmid"] = "&#10991;";
 utf82macro["&#10991;"] = "cirmid";
-macro2utf8["sigmav"] = "&sigmaf;";
-utf82macro["&sigmaf;"] = "sigmav";
+macro2utf8["sigmav"] = "&#962;";
+utf82macro["&#962;"] = "sigmav";
 macro2utf8["csub"] = "&#10959;";
 utf82macro["&#10959;"] = "csub";
 macro2utf8["npar"] = "&#8742;";
@@ -1845,12 +1845,12 @@ macro2utf8["lharul"] = "&#10602;";
 utf82macro["&#10602;"] = "lharul";
 macro2utf8["Jukcy"] = "&#1028;";
 utf82macro["&#1028;"] = "Jukcy";
-macro2utf8["permil"] = "&permil;";
-utf82macro["&permil;"] = "permil";
+macro2utf8["permil"] = "&#8240;";
+utf82macro["&#8240;"] = "permil";
 macro2utf8["ndivides"] = "&#8740;";
 utf82macro["&#8740;"] = "ndivides";
-macro2utf8["Aring"] = "&Aring;";
-utf82macro["&Aring;"] = "Aring";
+macro2utf8["Aring"] = "&#197;";
+utf82macro["&#197;"] = "Aring";
 macro2utf8["longmapsto"] = "????";
 utf82macro["????"] = "longmapsto";
 macro2utf8["Esim"] = "&#10867;";
@@ -1887,20 +1887,20 @@ macro2utf8["DownBreve"] = "&#785;";
 utf82macro["&#785;"] = "DownBreve";
 macro2utf8["Ecy"] = "&#1069;";
 utf82macro["&#1069;"] = "Ecy";
-macro2utf8["rdquor"] = "&rdquo;";
-utf82macro["&rdquo;"] = "rdquor";
+macro2utf8["rdquor"] = "&#8221;";
+utf82macro["&#8221;"] = "rdquor";
 macro2utf8["rAtail"] = "&#10524;";
 utf82macro["&#10524;"] = "rAtail";
-macro2utf8["icirc"] = "&icirc;";
-utf82macro["&icirc;"] = "icirc";
+macro2utf8["icirc"] = "&#238;";
+utf82macro["&#238;"] = "icirc";
 macro2utf8["gacute"] = "&#501;";
 utf82macro["&#501;"] = "gacute";
 macro2utf8["hyphen"] = "&#8208;";
 utf82macro["&#8208;"] = "hyphen";
-macro2utf8["uuml"] = "&uuml;";
-utf82macro["&uuml;"] = "uuml";
-macro2utf8["thorn"] = "&thorn;";
-utf82macro["&thorn;"] = "thorn";
+macro2utf8["uuml"] = "&#252;";
+utf82macro["&#252;"] = "uuml";
+macro2utf8["thorn"] = "&#254;";
+utf82macro["&#254;"] = "thorn";
 macro2utf8["ltri"] = "&#9667;";
 utf82macro["&#9667;"] = "ltri";
 macro2utf8["eqslantgtr"] = "&#8925;";
@@ -1913,8 +1913,8 @@ macro2utf8["DiacriticalGrave"] = "`";
 utf82macro["`"] = "DiacriticalGrave";
 macro2utf8["NotPrecedesEqual"] = "&#10927;&#824;";
 utf82macro["&#10927;&#824;"] = "NotPrecedesEqual";
-macro2utf8["RightArrow"] = "&rarr;";
-utf82macro["&rarr;"] = "RightArrow";
+macro2utf8["RightArrow"] = "&#8594;";
+utf82macro["&#8594;"] = "RightArrow";
 macro2utf8["race"] = "&#10714;";
 utf82macro["&#10714;"] = "race";
 macro2utf8["topbot"] = "&#9014;";
@@ -1927,8 +1927,8 @@ macro2utf8["Sacute"] = "&#346;";
 utf82macro["&#346;"] = "Sacute";
 macro2utf8["cupor"] = "&#10821;";
 utf82macro["&#10821;"] = "cupor";
-macro2utf8["OverBar"] = "&macr;";
-utf82macro["&macr;"] = "OverBar";
+macro2utf8["OverBar"] = "&#175;";
+utf82macro["&#175;"] = "OverBar";
 macro2utf8["bepsi"] = "&#1014;";
 utf82macro["&#1014;"] = "bepsi";
 macro2utf8["plankv"] = "&#8463;";
@@ -1937,28 +1937,28 @@ macro2utf8["lap"] = "&#8818;";
 utf82macro["&#8818;"] = "lap";
 macro2utf8["orslope"] = "&#10839;";
 utf82macro["&#10839;"] = "orslope";
-macro2utf8["beta"] = "&beta;";
-utf82macro["&beta;"] = "beta";
+macro2utf8["beta"] = "&#946;";
+utf82macro["&#946;"] = "beta";
 macro2utf8["ShortDownArrow"] = "&#8964;&#65024;";
 utf82macro["&#8964;&#65024;"] = "ShortDownArrow";
-macro2utf8["perp"] = "&perp;";
-utf82macro["&perp;"] = "perp";
+macro2utf8["perp"] = "&#8869;";
+utf82macro["&#8869;"] = "perp";
 macro2utf8["lat"] = "&#10923;";
 utf82macro["&#10923;"] = "lat";
-macro2utf8["CenterDot"] = "&middot;";
-utf82macro["&middot;"] = "CenterDot";
+macro2utf8["CenterDot"] = "&#183;";
+utf82macro["&#183;"] = "CenterDot";
 macro2utf8["urcorner"] = "&#8989;";
 utf82macro["&#8989;"] = "urcorner";
 macro2utf8["models"] = "&#8871;";
 utf82macro["&#8871;"] = "models";
 macro2utf8["beth"] = "&#8502;";
 utf82macro["&#8502;"] = "beth";
-macro2utf8["subE"] = "&sube;";
-utf82macro["&sube;"] = "subE";
+macro2utf8["subE"] = "&#8838;";
+utf82macro["&#8838;"] = "subE";
 macro2utf8["subnE"] = "&#8842;";
 utf82macro["&#8842;"] = "subnE";
-macro2utf8["ldots"] = "&hellip;";
-utf82macro["&hellip;"] = "ldots";
+macro2utf8["ldots"] = "&#8230;";
+utf82macro["&#8230;"] = "ldots";
 macro2utf8["yacy"] = "&#1103;";
 utf82macro["&#1103;"] = "yacy";
 macro2utf8["udhar"] = "&#10606;";
@@ -1969,20 +1969,20 @@ macro2utf8["subsub"] = "&#10965;";
 utf82macro["&#10965;"] = "subsub";
 macro2utf8["nvrtrie"] = "&#8941;&#824;";
 utf82macro["&#8941;&#824;"] = "nvrtrie";
-macro2utf8["Phi"] = "&Phi;";
-utf82macro["&Phi;"] = "Phi";
+macro2utf8["Phi"] = "&#934;";
+utf82macro["&#934;"] = "Phi";
 macro2utf8["Efr"] = "&#120072;";
 utf82macro["&#120072;"] = "Efr";
 macro2utf8["larrfs"] = "&#10525;";
 utf82macro["&#10525;"] = "larrfs";
-macro2utf8["angle"] = "&ang;";
-utf82macro["&ang;"] = "angle";
-macro2utf8["TildeFullEqual"] = "&cong;";
-utf82macro["&cong;"] = "TildeFullEqual";
+macro2utf8["angle"] = "&#8736;";
+utf82macro["&#8736;"] = "angle";
+macro2utf8["TildeFullEqual"] = "&#8773;";
+utf82macro["&#8773;"] = "TildeFullEqual";
 macro2utf8["Jcirc"] = "&#308;";
 utf82macro["&#308;"] = "Jcirc";
-macro2utf8["THORN"] = "&THORN;";
-utf82macro["&THORN;"] = "THORN";
+macro2utf8["THORN"] = "&#222;";
+utf82macro["&#222;"] = "THORN";
 macro2utf8["acE"] = "&#10715;";
 utf82macro["&#10715;"] = "acE";
 macro2utf8["Longleftrightarrow"] = "????";
@@ -2009,14 +2009,14 @@ macro2utf8["HARDcy"] = "&#1066;";
 utf82macro["&#1066;"] = "HARDcy";
 macro2utf8["jmath"] = "j&#65024;";
 utf82macro["j&#65024;"] = "jmath";
-macro2utf8["aelig"] = "&aelig;";
-utf82macro["&aelig;"] = "aelig";
-macro2utf8["slarr"] = "&larr;&#65024;";
-utf82macro["&larr;&#65024;"] = "slarr";
+macro2utf8["aelig"] = "&#230;";
+utf82macro["&#230;"] = "aelig";
+macro2utf8["slarr"] = "&#8592;&#65024;";
+utf82macro["&#8592;&#65024;"] = "slarr";
 macro2utf8["dlcrop"] = "&#8973;";
 utf82macro["&#8973;"] = "dlcrop";
-macro2utf8["sube"] = "&sube;";
-utf82macro["&sube;"] = "sube";
+macro2utf8["sube"] = "&#8838;";
+utf82macro["&#8838;"] = "sube";
 macro2utf8["cuepr"] = "&#8926;";
 utf82macro["&#8926;"] = "cuepr";
 macro2utf8["supsub"] = "&#10964;";
@@ -2037,10 +2037,10 @@ macro2utf8["ccirc"] = "&#265;";
 utf82macro["&#265;"] = "ccirc";
 macro2utf8["larrhk"] = "&#8617;";
 utf82macro["&#8617;"] = "larrhk";
-macro2utf8["DiacriticalTilde"] = "&tilde;";
-utf82macro["&tilde;"] = "DiacriticalTilde";
-macro2utf8["brvbar"] = "&brvbar;";
-utf82macro["&brvbar;"] = "brvbar";
+macro2utf8["DiacriticalTilde"] = "&#732;";
+utf82macro["&#732;"] = "DiacriticalTilde";
+macro2utf8["brvbar"] = "&#166;";
+utf82macro["&#166;"] = "brvbar";
 macro2utf8["triangledown"] = "&#9663;";
 utf82macro["&#9663;"] = "triangledown";
 macro2utf8["dtrif"] = "&#9662;";
@@ -2063,8 +2063,8 @@ macro2utf8["eqslantless"] = "&#8924;";
 utf82macro["&#8924;"] = "eqslantless";
 macro2utf8["coprod"] = "&#8720;";
 utf82macro["&#8720;"] = "coprod";
-macro2utf8["OpenCurlyDoubleQuote"] = "&ldquo;";
-utf82macro["&ldquo;"] = "OpenCurlyDoubleQuote";
+macro2utf8["OpenCurlyDoubleQuote"] = "&#8220;";
+utf82macro["&#8220;"] = "OpenCurlyDoubleQuote";
 macro2utf8["NotGreaterSlantEqual"] = "&#8817;";
 utf82macro["&#8817;"] = "NotGreaterSlantEqual";
 macro2utf8["solb"] = "&#10692;";
@@ -2085,14 +2085,14 @@ macro2utf8["gnapprox"] = "&#10890;";
 utf82macro["&#10890;"] = "gnapprox";
 macro2utf8["lgE"] = "&#10897;";
 utf82macro["&#10897;"] = "lgE";
-macro2utf8["CloseCurlyDoubleQuote"] = "&rdquo;";
-utf82macro["&rdquo;"] = "CloseCurlyDoubleQuote";
+macro2utf8["CloseCurlyDoubleQuote"] = "&#8221;";
+utf82macro["&#8221;"] = "CloseCurlyDoubleQuote";
 macro2utf8["NotNestedLessLess"] = "&#9377;&#824;";
 utf82macro["&#9377;&#824;"] = "NotNestedLessLess";
 macro2utf8["acy"] = "&#1072;";
 utf82macro["&#1072;"] = "acy";
-macro2utf8["leq"] = "&le;";
-utf82macro["&le;"] = "leq";
+macro2utf8["leq"] = "&#8804;";
+utf82macro["&#8804;"] = "leq";
 macro2utf8["Popf"] = "&#8473;";
 utf82macro["&#8473;"] = "Popf";
 macro2utf8["les"] = "&#10877;";
@@ -2151,14 +2151,14 @@ macro2utf8["nvap"] = "&#8777;&#824;";
 utf82macro["&#8777;&#824;"] = "nvap";
 macro2utf8["boxtimes"] = "&#8864;";
 utf82macro["&#8864;"] = "boxtimes";
-macro2utf8["raquo"] = "&raquo;";
-utf82macro["&raquo;"] = "raquo";
+macro2utf8["raquo"] = "&#187;";
+utf82macro["&#187;"] = "raquo";
 macro2utf8["CircleMinus"] = "&#8854;";
 utf82macro["&#8854;"] = "CircleMinus";
-macro2utf8["centerdot"] = "&middot;";
-utf82macro["&middot;"] = "centerdot";
-macro2utf8["xoplus"] = "&oplus;";
-utf82macro["&oplus;"] = "xoplus";
+macro2utf8["centerdot"] = "&#183;";
+utf82macro["&#183;"] = "centerdot";
+macro2utf8["xoplus"] = "&#8853;";
+utf82macro["&#8853;"] = "xoplus";
 macro2utf8["simdot"] = "&#10858;";
 utf82macro["&#10858;"] = "simdot";
 macro2utf8["Vcy"] = "&#1042;";
@@ -2175,8 +2175,8 @@ macro2utf8["lesdoto"] = "&#10881;";
 utf82macro["&#10881;"] = "lesdoto";
 macro2utf8["NotSquareSubset"] = "&#8847;&#824;";
 utf82macro["&#8847;&#824;"] = "NotSquareSubset";
-macro2utf8["bullet"] = "&bull;";
-utf82macro["&bull;"] = "bullet";
+macro2utf8["bullet"] = "&#8226;";
+utf82macro["&#8226;"] = "bullet";
 macro2utf8["rarrsim"] = "&#10612;";
 utf82macro["&#10612;"] = "rarrsim";
 macro2utf8["Tcedil"] = "&#354;";
@@ -2185,8 +2185,8 @@ macro2utf8["Hstrok"] = "&#294;";
 utf82macro["&#294;"] = "Hstrok";
 macro2utf8["eopf"] = "&#120150;";
 utf82macro["&#120150;"] = "eopf";
-macro2utf8["Theta"] = "&Theta;";
-utf82macro["&Theta;"] = "Theta";
+macro2utf8["Theta"] = "&#920;";
+utf82macro["&#920;"] = "Theta";
 macro2utf8["Cscr"] = "&#119966;";
 utf82macro["&#119966;"] = "Cscr";
 macro2utf8["emacr"] = "&#275;";
@@ -2199,10 +2199,10 @@ macro2utf8["arctan"] = "arctan";
 utf82macro["arctan"] = "arctan";
 macro2utf8["afr"] = "&#120094;";
 utf82macro["&#120094;"] = "afr";
-macro2utf8["thinsp"] = "&thinsp;";
-utf82macro["&thinsp;"] = "thinsp";
-macro2utf8["bottom"] = "&perp;";
-utf82macro["&perp;"] = "bottom";
+macro2utf8["thinsp"] = "&#8201;";
+utf82macro["&#8201;"] = "thinsp";
+macro2utf8["bottom"] = "&#8869;";
+utf82macro["&#8869;"] = "bottom";
 macro2utf8["lopf"] = "&#120157;";
 utf82macro["&#120157;"] = "lopf";
 macro2utf8["larrlp"] = "&#8619;";
@@ -2221,8 +2221,8 @@ macro2utf8["osol"] = "&#8856;";
 utf82macro["&#8856;"] = "osol";
 macro2utf8["lbrack"] = "[";
 utf82macro["["] = "lbrack";
-macro2utf8["hArr"] = "&hArr;";
-utf82macro["&hArr;"] = "hArr";
+macro2utf8["hArr"] = "&#8660;";
+utf82macro["&#8660;"] = "hArr";
 macro2utf8["vdash"] = "&#8866;";
 utf82macro["&#8866;"] = "vdash";
 macro2utf8["UpDownArrow"] = "&#8597;";
@@ -2239,8 +2239,8 @@ macro2utf8["Qscr"] = "&#119980;";
 utf82macro["&#119980;"] = "Qscr";
 macro2utf8["Gammad"] = "&#988;";
 utf82macro["&#988;"] = "Gammad";
-macro2utf8["SubsetEqual"] = "&sube;";
-utf82macro["&sube;"] = "SubsetEqual";
+macro2utf8["SubsetEqual"] = "&#8838;";
+utf82macro["&#8838;"] = "SubsetEqual";
 macro2utf8["uplus"] = "&#8846;";
 utf82macro["&#8846;"] = "uplus";
 macro2utf8["LeftTriangle"] = "&#8882;";
@@ -2253,8 +2253,8 @@ macro2utf8["triangleright"] = "&#9657;";
 utf82macro["&#9657;"] = "triangleright";
 macro2utf8["angrt"] = "&#8735;";
 utf82macro["&#8735;"] = "angrt";
-macro2utf8["rfloor"] = "&rfloor;";
-utf82macro["&rfloor;"] = "rfloor";
+macro2utf8["rfloor"] = "&#8971;";
+utf82macro["&#8971;"] = "rfloor";
 macro2utf8["bigtriangledown"] = "&#9661;";
 utf82macro["&#9661;"] = "bigtriangledown";
 macro2utf8["ofcir"] = "&#10687;";
@@ -2279,42 +2279,42 @@ macro2utf8["downharpoonright"] = "&#8642;";
 utf82macro["&#8642;"] = "downharpoonright";
 macro2utf8["Ccaron"] = "&#268;";
 utf82macro["&#268;"] = "Ccaron";
-macro2utf8["sdot"] = "&sdot;";
-utf82macro["&sdot;"] = "sdot";
+macro2utf8["sdot"] = "&#8901;";
+utf82macro["&#8901;"] = "sdot";
 macro2utf8["frown"] = "&#8994;";
 utf82macro["&#8994;"] = "frown";
 macro2utf8["angst"] = "&#8491;";
 utf82macro["&#8491;"] = "angst";
 macro2utf8["lesges"] = "&#10899;";
 utf82macro["&#10899;"] = "lesges";
-macro2utf8["iacute"] = "&iacute;";
-utf82macro["&iacute;"] = "iacute";
-macro2utf8["wedge"] = "&and;";
-utf82macro["&and;"] = "wedge";
+macro2utf8["iacute"] = "&#237;";
+utf82macro["&#237;"] = "iacute";
+macro2utf8["wedge"] = "&#8743;";
+utf82macro["&#8743;"] = "wedge";
 macro2utf8["ssetmn"] = "&#8726;&#65024;";
 utf82macro["&#8726;&#65024;"] = "ssetmn";
 macro2utf8["rotimes"] = "&#10805;";
 utf82macro["&#10805;"] = "rotimes";
-macro2utf8["laquo"] = "&laquo;";
-utf82macro["&laquo;"] = "laquo";
+macro2utf8["laquo"] = "&#171;";
+utf82macro["&#171;"] = "laquo";
 macro2utf8["bigstar"] = "&#9733;";
 utf82macro["&#9733;"] = "bigstar";
 macro2utf8["Rrightarrow"] = "&#8667;";
 utf82macro["&#8667;"] = "Rrightarrow";
 macro2utf8["erDot"] = "&#8787;";
 utf82macro["&#8787;"] = "erDot";
-macro2utf8["subseteq"] = "&sube;";
-utf82macro["&sube;"] = "subseteq";
+macro2utf8["subseteq"] = "&#8838;";
+utf82macro["&#8838;"] = "subseteq";
 macro2utf8["leftharpoondown"] = "&#8637;";
 utf82macro["&#8637;"] = "leftharpoondown";
-macro2utf8["infin"] = "&infin;";
-utf82macro["&infin;"] = "infin";
+macro2utf8["infin"] = "&#8734;";
+utf82macro["&#8734;"] = "infin";
 macro2utf8["zdot"] = "&#380;";
 utf82macro["&#380;"] = "zdot";
 macro2utf8["solbar"] = "&#9023;";
 utf82macro["&#9023;"] = "solbar";
-macro2utf8["Iuml"] = "&Iuml;";
-utf82macro["&Iuml;"] = "Iuml";
+macro2utf8["Iuml"] = "&#207;";
+utf82macro["&#207;"] = "Iuml";
 macro2utf8["Kfr"] = "&#120078;";
 utf82macro["&#120078;"] = "Kfr";
 macro2utf8["fscr"] = "&#119995;";
@@ -2325,14 +2325,14 @@ macro2utf8["veeeq"] = "&#8794;";
 utf82macro["&#8794;"] = "veeeq";
 macro2utf8["Star"] = "&#8902;";
 utf82macro["&#8902;"] = "Star";
-macro2utf8["lsquor"] = "&sbquo;";
-utf82macro["&sbquo;"] = "lsquor";
-macro2utf8["Uacute"] = "&Uacute;";
-utf82macro["&Uacute;"] = "Uacute";
-macro2utf8["weierp"] = "&weierp;";
-utf82macro["&weierp;"] = "weierp";
-macro2utf8["rang"] = "&rang;";
-utf82macro["&rang;"] = "rang";
+macro2utf8["lsquor"] = "&#8218;";
+utf82macro["&#8218;"] = "lsquor";
+macro2utf8["Uacute"] = "&#218;";
+utf82macro["&#218;"] = "Uacute";
+macro2utf8["weierp"] = "&#8472;";
+utf82macro["&#8472;"] = "weierp";
+macro2utf8["rang"] = "&#9002;";
+utf82macro["&#9002;"] = "rang";
 macro2utf8["hamilt"] = "&#8459;";
 utf82macro["&#8459;"] = "hamilt";
 macro2utf8["angsph"] = "&#8738;";
@@ -2359,16 +2359,16 @@ macro2utf8["larrpl"] = "&#10553;";
 utf82macro["&#10553;"] = "larrpl";
 macro2utf8["nvge"] = "&#8817;";
 utf82macro["&#8817;"] = "nvge";
-macro2utf8["approx"] = "&asymp;";
-utf82macro["&asymp;"] = "approx";
+macro2utf8["approx"] = "&#8776;";
+utf82macro["&#8776;"] = "approx";
 macro2utf8["lnE"] = "&#8808;";
 utf82macro["&#8808;"] = "lnE";
 macro2utf8["NotGreaterLess"] = "&#8825;";
 utf82macro["&#8825;"] = "NotGreaterLess";
 macro2utf8["epar"] = "&#8917;";
 utf82macro["&#8917;"] = "epar";
-macro2utf8["bigotimes"] = "&otimes;";
-utf82macro["&otimes;"] = "bigotimes";
+macro2utf8["bigotimes"] = "&#8855;";
+utf82macro["&#8855;"] = "bigotimes";
 macro2utf8["xharr"] = "&#62840;";
 utf82macro["&#62840;"] = "xharr";
 macro2utf8["roang"] = "&#62809;";
@@ -2377,10 +2377,10 @@ macro2utf8["xcup"] = "&#8899;";
 utf82macro["&#8899;"] = "xcup";
 macro2utf8["tscr"] = "&#120009;";
 utf82macro["&#120009;"] = "tscr";
-macro2utf8["thkap"] = "&asymp;&#65024;";
-utf82macro["&asymp;&#65024;"] = "thkap";
-macro2utf8["Aacute"] = "&Aacute;";
-utf82macro["&Aacute;"] = "Aacute";
+macro2utf8["thkap"] = "&#8776;&#65024;";
+utf82macro["&#8776;&#65024;"] = "thkap";
+macro2utf8["Aacute"] = "&#193;";
+utf82macro["&#193;"] = "Aacute";
 macro2utf8["rcy"] = "&#1088;";
 utf82macro["&#1088;"] = "rcy";
 macro2utf8["jukcy"] = "&#1108;";
@@ -2397,24 +2397,24 @@ macro2utf8["lpar"] = "(";
 utf82macro["("] = "lpar";
 macro2utf8["ldsh"] = "&#8626;";
 utf82macro["&#8626;"] = "ldsh";
-macro2utf8["aring"] = "&aring;";
-utf82macro["&aring;"] = "aring";
+macro2utf8["aring"] = "&#229;";
+utf82macro["&#229;"] = "aring";
 macro2utf8["nGg"] = "&#8921;&#824;";
 utf82macro["&#8921;&#824;"] = "nGg";
 macro2utf8["LessEqualGreater"] = "&#8922;";
 utf82macro["&#8922;"] = "LessEqualGreater";
 macro2utf8["gcd"] = "gcd";
 utf82macro["gcd"] = "gcd";
-macro2utf8["oplus"] = "&oplus;";
-utf82macro["&oplus;"] = "oplus";
+macro2utf8["oplus"] = "&#8853;";
+utf82macro["&#8853;"] = "oplus";
 macro2utf8["lcaron"] = "&#318;";
 utf82macro["&#318;"] = "lcaron";
-macro2utf8["DownArrow"] = "&darr;";
-utf82macro["&darr;"] = "DownArrow";
+macro2utf8["DownArrow"] = "&#8595;";
+utf82macro["&#8595;"] = "DownArrow";
 macro2utf8["xutri"] = "&#9651;";
 utf82macro["&#9651;"] = "xutri";
-macro2utf8["Psi"] = "&Psi;";
-utf82macro["&Psi;"] = "Psi";
+macro2utf8["Psi"] = "&#936;";
+utf82macro["&#936;"] = "Psi";
 macro2utf8["lesssim"] = "&#8818;";
 utf82macro["&#8818;"] = "lesssim";
 macro2utf8["topcir"] = "&#10993;";
@@ -2435,10 +2435,10 @@ macro2utf8["Lleftarrow"] = "&#8666;";
 utf82macro["&#8666;"] = "Lleftarrow";
 macro2utf8["nGt"] = "&#8811;&#824;";
 utf82macro["&#8811;&#824;"] = "nGt";
-macro2utf8["euml"] = "&euml;";
-utf82macro["&euml;"] = "euml";
-macro2utf8["reg"] = "&reg;";
-utf82macro["&reg;"] = "reg";
+macro2utf8["euml"] = "&#235;";
+utf82macro["&#235;"] = "euml";
+macro2utf8["reg"] = "&#174;";
+utf82macro["&#174;"] = "reg";
 macro2utf8["exponentiale"] = "&#8519;";
 utf82macro["&#8519;"] = "exponentiale";
 macro2utf8["qint"] = "&#10764;";
@@ -2449,8 +2449,8 @@ macro2utf8["lne"] = "&#8808;";
 utf82macro["&#8808;"] = "lne";
 macro2utf8["LessSlantEqual"] = "&#10877;";
 utf82macro["&#10877;"] = "LessSlantEqual";
-macro2utf8["Egrave"] = "&Egrave;";
-utf82macro["&Egrave;"] = "Egrave";
+macro2utf8["Egrave"] = "&#200;";
+utf82macro["&#200;"] = "Egrave";
 macro2utf8["orderof"] = "&#8500;";
 utf82macro["&#8500;"] = "orderof";
 macro2utf8["cirE"] = "&#10691;";
@@ -2483,30 +2483,30 @@ macro2utf8["VeryThinSpace"] = "&#8202;";
 utf82macro["&#8202;"] = "VeryThinSpace";
 macro2utf8["DownArrowBar"] = "&#10515;";
 utf82macro["&#10515;"] = "DownArrowBar";
-macro2utf8["Rightarrow"] = "&rArr;";
-utf82macro["&rArr;"] = "Rightarrow";
+macro2utf8["Rightarrow"] = "&#8658;";
+utf82macro["&#8658;"] = "Rightarrow";
 macro2utf8["ocir"] = "&#8858;";
 utf82macro["&#8858;"] = "ocir";
 macro2utf8["NotHumpDownHump"] = "&#8782;&#824;";
 utf82macro["&#8782;&#824;"] = "NotHumpDownHump";
-macro2utf8["darr"] = "&darr;";
-utf82macro["&darr;"] = "darr";
+macro2utf8["darr"] = "&#8595;";
+utf82macro["&#8595;"] = "darr";
 macro2utf8["geqq"] = "&#8807;";
 utf82macro["&#8807;"] = "geqq";
-macro2utf8["sup1"] = "&sup1;";
-utf82macro["&sup1;"] = "sup1";
+macro2utf8["sup1"] = "&#185;";
+utf82macro["&#185;"] = "sup1";
 macro2utf8["log"] = "log";
 utf82macro["log"] = "log";
-macro2utf8["sup2"] = "&sup2;";
-utf82macro["&sup2;"] = "sup2";
-macro2utf8["micro"] = "&micro;";
-utf82macro["&micro;"] = "micro";
-macro2utf8["amp"] = "&amp;";
-utf82macro["&amp;"] = "amp";
+macro2utf8["sup2"] = "&#178;";
+utf82macro["&#178;"] = "sup2";
+macro2utf8["micro"] = "&#181;";
+utf82macro["&#181;"] = "micro";
+macro2utf8["amp"] = "&#38;";
+utf82macro["&#38;"] = "amp";
 macro2utf8["arccos"] = "arccos";
 utf82macro["arccos"] = "arccos";
-macro2utf8["sup3"] = "&sup3;";
-utf82macro["&sup3;"] = "sup3";
+macro2utf8["sup3"] = "&#179;";
+utf82macro["&#179;"] = "sup3";
 macro2utf8["GreaterTilde"] = "&#8819;";
 utf82macro["&#8819;"] = "GreaterTilde";
 macro2utf8["circeq"] = "&#8791;";
@@ -2519,18 +2519,18 @@ macro2utf8["rbrkslu"] = "&#10640;";
 utf82macro["&#10640;"] = "rbrkslu";
 macro2utf8["Dcaron"] = "&#270;";
 utf82macro["&#270;"] = "Dcaron";
-macro2utf8["and"] = "&and;";
-utf82macro["&and;"] = "and";
+macro2utf8["and"] = "&#8743;";
+utf82macro["&#8743;"] = "and";
 macro2utf8["Vbar"] = "&#10987;";
 utf82macro["&#10987;"] = "Vbar";
 macro2utf8["angzarr"] = "&#9084;";
 utf82macro["&#9084;"] = "angzarr";
 macro2utf8["gel"] = "&#8923;";
 utf82macro["&#8923;"] = "gel";
-macro2utf8["ang"] = "&ang;";
-utf82macro["&ang;"] = "ang";
-macro2utf8["lor"] = "&or;";
-utf82macro["&or;"] = "lor";
+macro2utf8["ang"] = "&#8736;";
+utf82macro["&#8736;"] = "ang";
+macro2utf8["lor"] = "&#8744;";
+utf82macro["&#8744;"] = "lor";
 macro2utf8["circ"] = "&#8728;";
 utf82macro["&#8728;"] = "circ";
 macro2utf8["upharpoonright"] = "&#8638;";
@@ -2549,8 +2549,8 @@ macro2utf8["apE"] = "&#8778;";
 utf82macro["&#8778;"] = "apE";
 macro2utf8["sung"] = "&#9834;";
 utf82macro["&#9834;"] = "sung";
-macro2utf8["geq"] = "&ge;";
-utf82macro["&ge;"] = "geq";
+macro2utf8["geq"] = "&#8805;";
+utf82macro["&#8805;"] = "geq";
 macro2utf8["succsim"] = "&#8831;";
 utf82macro["&#8831;"] = "succsim";
 macro2utf8["ges"] = "&#10878;";
@@ -2559,24 +2559,24 @@ macro2utf8["Gbreve"] = "&#286;";
 utf82macro["&#286;"] = "Gbreve";
 macro2utf8["intercal"] = "&#8890;";
 utf82macro["&#8890;"] = "intercal";
-macro2utf8["supE"] = "&supe;";
-utf82macro["&supe;"] = "supE";
+macro2utf8["supE"] = "&#8839;";
+utf82macro["&#8839;"] = "supE";
 macro2utf8["NotCupCap"] = "&#8813;";
 utf82macro["&#8813;"] = "NotCupCap";
-macro2utf8["loz"] = "&loz;";
-utf82macro["&loz;"] = "loz";
+macro2utf8["loz"] = "&#9674;";
+utf82macro["&#9674;"] = "loz";
 macro2utf8["capcup"] = "&#10823;";
 utf82macro["&#10823;"] = "capcup";
 macro2utf8["larrtl"] = "&#8610;";
 utf82macro["&#8610;"] = "larrtl";
-macro2utf8["AElig"] = "&AElig;";
-utf82macro["&AElig;"] = "AElig";
-macro2utf8["rarr"] = "&rarr;";
-utf82macro["&rarr;"] = "rarr";
+macro2utf8["AElig"] = "&#198;";
+utf82macro["&#198;"] = "AElig";
+macro2utf8["rarr"] = "&#8594;";
+utf82macro["&#8594;"] = "rarr";
 macro2utf8["varkappa"] = "&#1008;";
 utf82macro["&#1008;"] = "varkappa";
-macro2utf8["upsi"] = "&upsilon;";
-utf82macro["&upsilon;"] = "upsi";
+macro2utf8["upsi"] = "&#965;";
+utf82macro["&#965;"] = "upsi";
 macro2utf8["loang"] = "&#62808;";
 utf82macro["&#62808;"] = "loang";
 macro2utf8["looparrowleft"] = "&#8619;";
@@ -2591,10 +2591,10 @@ macro2utf8["rharu"] = "&#8640;";
 utf82macro["&#8640;"] = "rharu";
 macro2utf8["gesl"] = "&#8923;&#65024;";
 utf82macro["&#8923;&#65024;"] = "gesl";
-macro2utf8["xotime"] = "&otimes;";
-utf82macro["&otimes;"] = "xotime";
-macro2utf8["minus"] = "&minus;";
-utf82macro["&minus;"] = "minus";
+macro2utf8["xotime"] = "&#8855;";
+utf82macro["&#8855;"] = "xotime";
+macro2utf8["minus"] = "&#8722;";
+utf82macro["&#8722;"] = "minus";
 macro2utf8["gvnE"] = "&#8809;&#65024;";
 utf82macro["&#8809;&#65024;"] = "gvnE";
 macro2utf8["gfr"] = "&#120100;";
@@ -2605,12 +2605,12 @@ macro2utf8["jcirc"] = "&#309;";
 utf82macro["&#309;"] = "jcirc";
 macro2utf8["roarr"] = "&#8702;";
 utf82macro["&#8702;"] = "roarr";
-macro2utf8["rho"] = "&rho;";
-utf82macro["&rho;"] = "rho";
+macro2utf8["rho"] = "&#961;";
+utf82macro["&#961;"] = "rho";
 macro2utf8["nvle"] = "&#8816;";
 utf82macro["&#8816;"] = "nvle";
-macro2utf8["sect"] = "&sect;";
-utf82macro["&sect;"] = "sect";
+macro2utf8["sect"] = "&#167;";
+utf82macro["&#167;"] = "sect";
 macro2utf8["ggg"] = "&#8921;";
 utf82macro["&#8921;"] = "ggg";
 macro2utf8["plusb"] = "&#8862;";
@@ -2627,28 +2627,28 @@ macro2utf8["dollar"] = "$";
 utf82macro["$"] = "dollar";
 macro2utf8["divonx"] = "&#8903;";
 utf82macro["&#8903;"] = "divonx";
-macro2utf8["partial"] = "&part;";
-utf82macro["&part;"] = "partial";
-macro2utf8["DoubleLeftRightArrow"] = "&hArr;";
-utf82macro["&hArr;"] = "DoubleLeftRightArrow";
-macro2utf8["varepsilon"] = "&epsilon;";
-utf82macro["&epsilon;"] = "varepsilon";
-macro2utf8["supe"] = "&supe;";
-utf82macro["&supe;"] = "supe";
+macro2utf8["partial"] = "&#8706;";
+utf82macro["&#8706;"] = "partial";
+macro2utf8["DoubleLeftRightArrow"] = "&#8660;";
+utf82macro["&#8660;"] = "DoubleLeftRightArrow";
+macro2utf8["varepsilon"] = "&#949;";
+utf82macro["&#949;"] = "varepsilon";
+macro2utf8["supe"] = "&#8839;";
+utf82macro["&#8839;"] = "supe";
 macro2utf8["nvlt"] = "&#8814;";
 utf82macro["&#8814;"] = "nvlt";
 macro2utf8["angrtvb"] = "&#10653;&#65024;";
 utf82macro["&#10653;&#65024;"] = "angrtvb";
-macro2utf8["gets"] = "&larr;";
-utf82macro["&larr;"] = "gets";
+macro2utf8["gets"] = "&#8592;";
+utf82macro["&#8592;"] = "gets";
 macro2utf8["nparallel"] = "&#8742;";
 utf82macro["&#8742;"] = "nparallel";
-macro2utf8["varphi"] = "&phi;";
-utf82macro["&phi;"] = "varphi";
+macro2utf8["varphi"] = "&#966;";
+utf82macro["&#966;"] = "varphi";
 macro2utf8["nsupseteq"] = "&#8841;";
 utf82macro["&#8841;"] = "nsupseteq";
-macro2utf8["circledR"] = "&reg;";
-utf82macro["&reg;"] = "circledR";
+macro2utf8["circledR"] = "&#174;";
+utf82macro["&#174;"] = "circledR";
 macro2utf8["circledS"] = "&#9416;";
 utf82macro["&#9416;"] = "circledS";
 macro2utf8["primes"] = "&#8473;";
@@ -2661,8 +2661,8 @@ macro2utf8["nLl"] = "&#8920;&#824;";
 utf82macro["&#8920;&#824;"] = "nLl";
 macro2utf8["lozf"] = "&#10731;";
 utf82macro["&#10731;"] = "lozf";
-macro2utf8["ShortLeftArrow"] = "&larr;&#65024;";
-utf82macro["&larr;&#65024;"] = "ShortLeftArrow";
+macro2utf8["ShortLeftArrow"] = "&#8592;&#65024;";
+utf82macro["&#8592;&#65024;"] = "ShortLeftArrow";
 macro2utf8["nLt"] = "&#8810;&#824;";
 utf82macro["&#8810;&#824;"] = "nLt";
 macro2utf8["lesdotor"] = "&#10883;";
@@ -2681,14 +2681,14 @@ macro2utf8["iprod"] = "&#10812;";
 utf82macro["&#10812;"] = "iprod";
 macro2utf8["lsh"] = "&#8624;";
 utf82macro["&#8624;"] = "lsh";
-macro2utf8["Congruent"] = "&equiv;";
-utf82macro["&equiv;"] = "Congruent";
+macro2utf8["Congruent"] = "&#8801;";
+utf82macro["&#8801;"] = "Congruent";
 macro2utf8["NotLeftTriangle"] = "&#8938;";
 utf82macro["&#8938;"] = "NotLeftTriangle";
 macro2utf8["rdldhar"] = "&#10601;";
 utf82macro["&#10601;"] = "rdldhar";
-macro2utf8["varpropto"] = "&prop;";
-utf82macro["&prop;"] = "varpropto";
+macro2utf8["varpropto"] = "&#8733;";
+utf82macro["&#8733;"] = "varpropto";
 macro2utf8["nvlArr"] = "&#8653;";
 utf82macro["&#8653;"] = "nvlArr";
 macro2utf8["arg"] = "arg";
@@ -2711,12 +2711,12 @@ macro2utf8["triangle"] = "&#9653;";
 utf82macro["&#9653;"] = "triangle";
 macro2utf8["Qfr"] = "&#120084;";
 utf82macro["&#120084;"] = "Qfr";
-macro2utf8["DiacriticalAcute"] = "&acute;";
-utf82macro["&acute;"] = "DiacriticalAcute";
+macro2utf8["DiacriticalAcute"] = "&#180;";
+utf82macro["&#180;"] = "DiacriticalAcute";
 macro2utf8["tbrk"] = "&#9140;";
 utf82macro["&#9140;"] = "tbrk";
-macro2utf8["Implies"] = "&rArr;";
-utf82macro["&rArr;"] = "Implies";
+macro2utf8["Implies"] = "&#8658;";
+utf82macro["&#8658;"] = "Implies";
 macro2utf8["comp"] = "&#8705;";
 utf82macro["&#8705;"] = "comp";
 macro2utf8["ddarr"] = "&#8650;";
@@ -2741,22 +2741,22 @@ macro2utf8["lharu"] = "&#8636;";
 utf82macro["&#8636;"] = "lharu";
 macro2utf8["glE"] = "&#10898;";
 utf82macro["&#10898;"] = "glE";
-macro2utf8["cong"] = "&cong;";
-utf82macro["&cong;"] = "cong";
+macro2utf8["cong"] = "&#8773;";
+utf82macro["&#8773;"] = "cong";
 macro2utf8["Ecaron"] = "&#282;";
 utf82macro["&#282;"] = "Ecaron";
 macro2utf8["Uring"] = "&#366;";
 utf82macro["&#366;"] = "Uring";
 macro2utf8["blacktriangleright"] = "&#9656;";
 utf82macro["&#9656;"] = "blacktriangleright";
-macro2utf8["ntilde"] = "&ntilde;";
-utf82macro["&ntilde;"] = "ntilde";
+macro2utf8["ntilde"] = "&#241;";
+utf82macro["&#241;"] = "ntilde";
 macro2utf8["max"] = "max";
 utf82macro["max"] = "max";
 macro2utf8["loarr"] = "&#8701;";
 utf82macro["&#8701;"] = "loarr";
-macro2utf8["LeftArrow"] = "&larr;";
-utf82macro["&larr;"] = "LeftArrow";
+macro2utf8["LeftArrow"] = "&#8592;";
+utf82macro["&#8592;"] = "LeftArrow";
 macro2utf8["Gdot"] = "&#288;";
 utf82macro["&#288;"] = "Gdot";
 macro2utf8["Uopf"] = "&#120140;";
@@ -2789,16 +2789,16 @@ macro2utf8["VDash"] = "&#8875;";
 utf82macro["&#8875;"] = "VDash";
 macro2utf8["jsercy"] = "&#1112;";
 utf82macro["&#1112;"] = "jsercy";
-macro2utf8["Proportional"] = "&prop;";
-utf82macro["&prop;"] = "Proportional";
+macro2utf8["Proportional"] = "&#8733;";
+utf82macro["&#8733;"] = "Proportional";
 macro2utf8["OverBracket"] = "&#9140;";
 utf82macro["&#9140;"] = "OverBracket";
 macro2utf8["gla"] = "&#10917;";
 utf82macro["&#10917;"] = "gla";
-macro2utf8["NotElement"] = "&notin;";
-utf82macro["&notin;"] = "NotElement";
-macro2utf8["theta"] = "&theta;";
-utf82macro["&theta;"] = "theta";
+macro2utf8["NotElement"] = "&#8713;";
+utf82macro["&#8713;"] = "NotElement";
+macro2utf8["theta"] = "&#952;";
+utf82macro["&#952;"] = "theta";
 macro2utf8["kcedil"] = "&#311;";
 utf82macro["&#311;"] = "kcedil";
 macro2utf8["smeparsl"] = "&#10724;";
@@ -2807,12 +2807,12 @@ macro2utf8["rarrb"] = "&#8677;";
 utf82macro["&#8677;"] = "rarrb";
 macro2utf8["rarrc"] = "&#10547;";
 utf82macro["&#10547;"] = "rarrc";
-macro2utf8["ograve"] = "&ograve;";
-utf82macro["&ograve;"] = "ograve";
+macro2utf8["ograve"] = "&#242;";
+utf82macro["&#242;"] = "ograve";
 macro2utf8["glj"] = "&#10916;";
 utf82macro["&#10916;"] = "glj";
-macro2utf8["infty"] = "&infin;";
-utf82macro["&infin;"] = "infty";
+macro2utf8["infty"] = "&#8734;";
+utf82macro["&#8734;"] = "infty";
 macro2utf8["gnE"] = "&#8809;";
 utf82macro["&#8809;"] = "gnE";
 macro2utf8["copf"] = "&#120148;";
@@ -2823,8 +2823,8 @@ macro2utf8["cwconint"] = "&#8754;";
 utf82macro["&#8754;"] = "cwconint";
 macro2utf8["Ascr"] = "&#119964;";
 utf82macro["&#119964;"] = "Ascr";
-macro2utf8["NegativeThinSpace"] = "&thinsp;&#65024;";
-utf82macro["&thinsp;&#65024;"] = "NegativeThinSpace";
+macro2utf8["NegativeThinSpace"] = "&#8201;&#65024;";
+utf82macro["&#8201;&#65024;"] = "NegativeThinSpace";
 macro2utf8["varsubsetneq"] = "&#8842;&#65024;";
 utf82macro["&#8842;&#65024;"] = "varsubsetneq";
 macro2utf8["trisb"] = "&#10701;";
@@ -2851,18 +2851,18 @@ macro2utf8["doteq"] = "&#8784;";
 utf82macro["&#8784;"] = "doteq";
 macro2utf8["cudarrl"] = "&#10552;";
 utf82macro["&#10552;"] = "cudarrl";
-macro2utf8["varsigma"] = "&sigmaf;";
-utf82macro["&sigmaf;"] = "varsigma";
+macro2utf8["varsigma"] = "&#962;";
+utf82macro["&#962;"] = "varsigma";
 macro2utf8["Hscr"] = "&#8459;";
 utf82macro["&#8459;"] = "Hscr";
 macro2utf8["DownArrowUpArrow"] = "&#8693;";
 utf82macro["&#8693;"] = "DownArrowUpArrow";
-macro2utf8["Ecirc"] = "&Ecirc;";
-utf82macro["&Ecirc;"] = "Ecirc";
+macro2utf8["Ecirc"] = "&#202;";
+utf82macro["&#202;"] = "Ecirc";
 macro2utf8["DD"] = "&#8517;";
 utf82macro["&#8517;"] = "DD";
-macro2utf8["copy"] = "&copy;";
-utf82macro["&copy;"] = "copy";
+macro2utf8["copy"] = "&#169;";
+utf82macro["&#169;"] = "copy";
 macro2utf8["SquareIntersection"] = "&#8851;";
 utf82macro["&#8851;"] = "SquareIntersection";
 macro2utf8["RightUpVector"] = "&#8638;";
@@ -2891,8 +2891,8 @@ macro2utf8["xfr"] = "&#120117;";
 utf82macro["&#120117;"] = "xfr";
 macro2utf8["gne"] = "&#8809;";
 utf82macro["&#8809;"] = "gne";
-macro2utf8["Ccedil"] = "&Ccedil;";
-utf82macro["&Ccedil;"] = "Ccedil";
+macro2utf8["Ccedil"] = "&#199;";
+utf82macro["&#199;"] = "Ccedil";
 macro2utf8["nlarr"] = "&#8602;";
 utf82macro["&#8602;"] = "nlarr";
 macro2utf8["inodot"] = "&#305;";
@@ -2901,8 +2901,8 @@ macro2utf8["prec"] = "&#8826;";
 utf82macro["&#8826;"] = "prec";
 macro2utf8["percnt"] = "%";
 utf82macro["%"] = "percnt";
-macro2utf8["Exists"] = "&exist;";
-utf82macro["&exist;"] = "Exists";
+macro2utf8["Exists"] = "&#8707;";
+utf82macro["&#8707;"] = "Exists";
 macro2utf8["bcy"] = "&#1073;";
 utf82macro["&#1073;"] = "bcy";
 macro2utf8["xopf"] = "&#120169;";
@@ -2917,8 +2917,8 @@ macro2utf8["Vscr"] = "&#119985;";
 utf82macro["&#119985;"] = "Vscr";
 macro2utf8["Zcaron"] = "&#381;";
 utf82macro["&#381;"] = "Zcaron";
-macro2utf8["ReverseElement"] = "&ni;";
-utf82macro["&ni;"] = "ReverseElement";
+macro2utf8["ReverseElement"] = "&#8715;";
+utf82macro["&#8715;"] = "ReverseElement";
 macro2utf8["npolint"] = "&#10772;";
 utf82macro["&#10772;"] = "npolint";
 macro2utf8["NotGreaterTilde"] = "&#8821;";
@@ -2957,8 +2957,8 @@ macro2utf8["larrbfs"] = "&#10527;";
 utf82macro["&#10527;"] = "larrbfs";
 macro2utf8["HilbertSpace"] = "&#8459;";
 utf82macro["&#8459;"] = "HilbertSpace";
-macro2utf8["otilde"] = "&otilde;";
-utf82macro["&otilde;"] = "otilde";
+macro2utf8["otilde"] = "&#245;";
+utf82macro["&#245;"] = "otilde";
 macro2utf8["larrb"] = "&#8676;";
 utf82macro["&#8676;"] = "larrb";
 macro2utf8["wcirc"] = "&#373;";
@@ -2999,14 +2999,14 @@ macro2utf8["cularr"] = "&#8630;";
 utf82macro["&#8630;"] = "cularr";
 macro2utf8["blacklozenge"] = "&#10731;";
 utf82macro["&#10731;"] = "blacklozenge";
-macro2utf8["realpart"] = "&real;";
-utf82macro["&real;"] = "realpart";
+macro2utf8["realpart"] = "&#8476;";
+utf82macro["&#8476;"] = "realpart";
 macro2utf8["LeftTriangleEqual"] = "&#8884;";
 utf82macro["&#8884;"] = "LeftTriangleEqual";
 macro2utf8["bfr"] = "&#120095;";
 utf82macro["&#120095;"] = "bfr";
-macro2utf8["Uuml"] = "&Uuml;";
-utf82macro["&Uuml;"] = "Uuml";
+macro2utf8["Uuml"] = "&#220;";
+utf82macro["&#220;"] = "Uuml";
 macro2utf8["longleftrightarrow"] = "????";
 utf82macro["????"] = "longleftrightarrow";
 macro2utf8["lcedil"] = "&#316;";
@@ -3029,8 +3029,8 @@ macro2utf8["tprime"] = "&#8244;";
 utf82macro["&#8244;"] = "tprime";
 macro2utf8["precneqq"] = "&#10933;";
 utf82macro["&#10933;"] = "precneqq";
-macro2utf8["Downarrow"] = "&dArr;";
-utf82macro["&dArr;"] = "Downarrow";
+macro2utf8["Downarrow"] = "&#8659;";
+utf82macro["&#8659;"] = "Downarrow";
 macro2utf8["rsh"] = "&#8625;";
 utf82macro["&#8625;"] = "rsh";
 macro2utf8["mid"] = "&#8739;";
@@ -3049,8 +3049,8 @@ macro2utf8["yscr"] = "&#120014;";
 utf82macro["&#120014;"] = "yscr";
 macro2utf8["subdot"] = "&#10941;";
 utf82macro["&#10941;"] = "subdot";
-macro2utf8["ShortRightArrow"] = "&rarr;&#65024;";
-utf82macro["&rarr;&#65024;"] = "ShortRightArrow";
+macro2utf8["ShortRightArrow"] = "&#8594;&#65024;";
+utf82macro["&#8594;&#65024;"] = "ShortRightArrow";
 macro2utf8["NotCongruent"] = "&#8802;";
 utf82macro["&#8802;"] = "NotCongruent";
 macro2utf8["Gg"] = "&#8921;";
@@ -3065,8 +3065,8 @@ macro2utf8["rarrap"] = "&#10613;";
 utf82macro["&#10613;"] = "rarrap";
 macro2utf8["NotLessSlantEqual"] = "&#8816;";
 utf82macro["&#8816;"] = "NotLessSlantEqual";
-macro2utf8["DoubleRightArrow"] = "&rArr;";
-utf82macro["&rArr;"] = "DoubleRightArrow";
+macro2utf8["DoubleRightArrow"] = "&#8658;";
+utf82macro["&#8658;"] = "DoubleRightArrow";
 macro2utf8["Wfr"] = "&#120090;";
 utf82macro["&#120090;"] = "Wfr";
 macro2utf8["subrarr"] = "&#10617;";
@@ -3077,16 +3077,16 @@ macro2utf8["khcy"] = "&#1093;";
 utf82macro["&#1093;"] = "khcy";
 macro2utf8["oint"] = "&#8750;";
 utf82macro["&#8750;"] = "oint";
-macro2utf8["vprop"] = "&prop;";
-utf82macro["&prop;"] = "vprop";
+macro2utf8["vprop"] = "&#8733;";
+utf82macro["&#8733;"] = "vprop";
 macro2utf8["hardcy"] = "&#1098;";
 utf82macro["&#1098;"] = "hardcy";
 macro2utf8["boxminus"] = "&#8863;";
 utf82macro["&#8863;"] = "boxminus";
 macro2utf8["GreaterLess"] = "&#8823;";
 utf82macro["&#8823;"] = "GreaterLess";
-macro2utf8["thetav"] = "&thetasym;";
-utf82macro["&thetasym;"] = "thetav";
+macro2utf8["thetav"] = "&#977;";
+utf82macro["&#977;"] = "thetav";
 macro2utf8["scE"] = "&#8830;";
 utf82macro["&#8830;"] = "scE";
 macro2utf8["Gt"] = "&#8811;";
@@ -3105,32 +3105,32 @@ macro2utf8["capdot"] = "&#10816;";
 utf82macro["&#10816;"] = "capdot";
 macro2utf8["supdot"] = "&#10942;";
 utf82macro["&#10942;"] = "supdot";
-macro2utf8["oelig"] = "&oelig;";
-utf82macro["&oelig;"] = "oelig";
+macro2utf8["oelig"] = "&#339;";
+utf82macro["&#339;"] = "oelig";
 macro2utf8["doteqdot"] = "&#8785;";
 utf82macro["&#8785;"] = "doteqdot";
 macro2utf8["rharul"] = "&#10604;";
 utf82macro["&#10604;"] = "rharul";
 macro2utf8["cylcty"] = "&#9005;";
 utf82macro["&#9005;"] = "cylcty";
-macro2utf8["epsi"] = "&epsilon;";
-utf82macro["&epsilon;"] = "epsi";
+macro2utf8["epsi"] = "&#949;";
+utf82macro["&#949;"] = "epsi";
 macro2utf8["eqcirc"] = "&#8790;";
 utf82macro["&#8790;"] = "eqcirc";
 macro2utf8["nLeftarrow"] = "&#8653;";
 utf82macro["&#8653;"] = "nLeftarrow";
 macro2utf8["rtrie"] = "&#8885;";
 utf82macro["&#8885;"] = "rtrie";
-macro2utf8["para"] = "&para;";
-utf82macro["&para;"] = "para";
+macro2utf8["para"] = "&#182;";
+utf82macro["&#182;"] = "para";
 macro2utf8["Lfr"] = "&#120079;";
 utf82macro["&#120079;"] = "Lfr";
 macro2utf8["rtrif"] = "&#9656;";
 utf82macro["&#9656;"] = "rtrif";
 macro2utf8["NotReverseElement"] = "&#8716;";
 utf82macro["&#8716;"] = "NotReverseElement";
-macro2utf8["emptyv"] = "&empty;";
-utf82macro["&empty;"] = "emptyv";
+macro2utf8["emptyv"] = "&#8709;";
+utf82macro["&#8709;"] = "emptyv";
 macro2utf8["nldr"] = "&#8229;";
 utf82macro["&#8229;"] = "nldr";
 macro2utf8["leqq"] = "&#8806;";
@@ -3141,24 +3141,24 @@ macro2utf8["supsetneqq"] = "&#8843;";
 utf82macro["&#8843;"] = "supsetneqq";
 macro2utf8["boxDL"] = "&#9559;";
 utf82macro["&#9559;"] = "boxDL";
-macro2utf8["Im"] = "&image;";
-utf82macro["&image;"] = "Im";
+macro2utf8["Im"] = "&#8465;";
+utf82macro["&#8465;"] = "Im";
 macro2utf8["sce"] = "&#8829;";
 utf82macro["&#8829;"] = "sce";
 macro2utf8["prsim"] = "&#8830;";
 utf82macro["&#8830;"] = "prsim";
-macro2utf8["diams"] = "&diams;";
-utf82macro["&diams;"] = "diams";
+macro2utf8["diams"] = "&#9830;";
+utf82macro["&#9830;"] = "diams";
 macro2utf8["gtreqqless"] = "&#8923;";
 utf82macro["&#8923;"] = "gtreqqless";
 macro2utf8["boxDR"] = "&#9556;";
 utf82macro["&#9556;"] = "boxDR";
 macro2utf8["vartriangleleft"] = "&#8882;";
 utf82macro["&#8882;"] = "vartriangleleft";
-macro2utf8["SupersetEqual"] = "&supe;";
-utf82macro["&supe;"] = "SupersetEqual";
-macro2utf8["Omega"] = "&Omega;";
-utf82macro["&Omega;"] = "Omega";
+macro2utf8["SupersetEqual"] = "&#8839;";
+utf82macro["&#8839;"] = "SupersetEqual";
+macro2utf8["Omega"] = "&#937;";
+utf82macro["&#937;"] = "Omega";
 macro2utf8["nsubseteqq"] = "&#8840;";
 utf82macro["&#8840;"] = "nsubseteqq";
 macro2utf8["Subset"] = "&#8912;";
@@ -3171,8 +3171,8 @@ macro2utf8["ltimes"] = "&#8905;";
 utf82macro["&#8905;"] = "ltimes";
 macro2utf8["seswar"] = "&#10537;";
 utf82macro["&#10537;"] = "seswar";
-macro2utf8["part"] = "&part;";
-utf82macro["&part;"] = "part";
+macro2utf8["part"] = "&#8706;";
+utf82macro["&#8706;"] = "part";
 macro2utf8["bumpE"] = "&#10926;";
 utf82macro["&#10926;"] = "bumpE";
 macro2utf8["minusd"] = "&#8760;";
@@ -3197,10 +3197,10 @@ macro2utf8["prnE"] = "&#10933;";
 utf82macro["&#10933;"] = "prnE";
 macro2utf8["lesg"] = "&#8922;&#65024;";
 utf82macro["&#8922;&#65024;"] = "lesg";
-macro2utf8["cups"] = "&cup;&#65024;";
-utf82macro["&cup;&#65024;"] = "cups";
-macro2utf8["thickapprox"] = "&asymp;&#65024;";
-utf82macro["&asymp;&#65024;"] = "thickapprox";
+macro2utf8["cups"] = "&#8746;&#65024;";
+utf82macro["&#8746;&#65024;"] = "cups";
+macro2utf8["thickapprox"] = "&#8776;&#65024;";
+utf82macro["&#8776;&#65024;"] = "thickapprox";
 macro2utf8["RightTeeVector"] = "&#10587;";
 utf82macro["&#10587;"] = "RightTeeVector";
 macro2utf8["LowerLeftArrow"] = "&#8601;";
@@ -3217,16 +3217,16 @@ macro2utf8["succnsim"] = "&#8937;";
 utf82macro["&#8937;"] = "succnsim";
 macro2utf8["boxDl"] = "&#9558;";
 utf82macro["&#9558;"] = "boxDl";
-macro2utf8["quot"] = "&quot;";
-utf82macro["&quot;"] = "quot";
+macro2utf8["quot"] = "&#34;";
+utf82macro["&#34;"] = "quot";
 macro2utf8["lvnE"] = "&#8808;&#65024;";
 utf82macro["&#8808;&#65024;"] = "lvnE";
 macro2utf8["CircleDot"] = "&#8857;";
 utf82macro["&#8857;"] = "CircleDot";
 macro2utf8["lsime"] = "&#10893;";
 utf82macro["&#10893;"] = "lsime";
-macro2utf8["Yacute"] = "&Yacute;";
-utf82macro["&Yacute;"] = "Yacute";
+macro2utf8["Yacute"] = "&#221;";
+utf82macro["&#221;"] = "Yacute";
 macro2utf8["esdot"] = "&#8784;";
 utf82macro["&#8784;"] = "esdot";
 macro2utf8["Supset"] = "&#8913;";
@@ -3241,8 +3241,8 @@ macro2utf8["boxDr"] = "&#9555;";
 utf82macro["&#9555;"] = "boxDr";
 macro2utf8["plus"] = "+";
 utf82macro["+"] = "plus";
-macro2utf8["ddagger"] = "&Dagger;";
-utf82macro["&Dagger;"] = "ddagger";
+macro2utf8["ddagger"] = "&#8225;";
+utf82macro["&#8225;"] = "ddagger";
 macro2utf8["Vdashl"] = "&#10982;";
 utf82macro["&#10982;"] = "Vdashl";
 macro2utf8["equest"] = "&#8799;";
@@ -3253,8 +3253,8 @@ macro2utf8["divideontimes"] = "&#8903;";
 utf82macro["&#8903;"] = "divideontimes";
 macro2utf8["nsmid"] = "&#8740;&#65024;";
 utf82macro["&#8740;&#65024;"] = "nsmid";
-macro2utf8["fnof"] = "&fnof;";
-utf82macro["&fnof;"] = "fnof";
+macro2utf8["fnof"] = "&#402;";
+utf82macro["&#402;"] = "fnof";
 macro2utf8["bumpe"] = "&#8783;";
 utf82macro["&#8783;"] = "bumpe";
 macro2utf8["lhblk"] = "&#9604;";
@@ -3279,8 +3279,8 @@ macro2utf8["period"] = ".";
 utf82macro["."] = "period";
 macro2utf8["phone"] = "&#9742;";
 utf82macro["&#9742;"] = "phone";
-macro2utf8["Eacute"] = "&Eacute;";
-utf82macro["&Eacute;"] = "Eacute";
+macro2utf8["Eacute"] = "&#201;";
+utf82macro["&#201;"] = "Eacute";
 macro2utf8["dzigrarr"] = "&#62882;";
 utf82macro["&#62882;"] = "dzigrarr";
 macro2utf8["Ll"] = "&#8920;";
@@ -3291,8 +3291,8 @@ macro2utf8["rarrfs"] = "&#10526;";
 utf82macro["&#10526;"] = "rarrfs";
 macro2utf8["dbkarow"] = "&#10511;";
 utf82macro["&#10511;"] = "dbkarow";
-macro2utf8["zeta"] = "&zeta;";
-utf82macro["&zeta;"] = "zeta";
+macro2utf8["zeta"] = "&#950;";
+utf82macro["&#950;"] = "zeta";
 macro2utf8["Lt"] = "&#8810;";
 utf82macro["&#8810;"] = "Lt";
 macro2utf8["triminus"] = "&#10810;";
@@ -3301,8 +3301,8 @@ macro2utf8["odiv"] = "&#10808;";
 utf82macro["&#10808;"] = "odiv";
 macro2utf8["ltrie"] = "&#8884;";
 utf82macro["&#8884;"] = "ltrie";
-macro2utf8["Dagger"] = "&Dagger;";
-utf82macro["&Dagger;"] = "Dagger";
+macro2utf8["Dagger"] = "&#8225;";
+utf82macro["&#8225;"] = "Dagger";
 macro2utf8["ltrif"] = "&#9666;";
 utf82macro["&#9666;"] = "ltrif";
 macro2utf8["boxHD"] = "&#9574;";
@@ -3325,18 +3325,18 @@ macro2utf8["ruluhar"] = "&#10600;";
 utf82macro["&#10600;"] = "ruluhar";
 macro2utf8["bne"] = "=&#8421;";
 utf82macro["=&#8421;"] = "bne";
-macro2utf8["prod"] = "&prod;";
-utf82macro["&prod;"] = "prod";
+macro2utf8["prod"] = "&#8719;";
+utf82macro["&#8719;"] = "prod";
 macro2utf8["Eopf"] = "&#120124;";
 utf82macro["&#120124;"] = "Eopf";
 macro2utf8["scsim"] = "&#8831;";
 utf82macro["&#8831;"] = "scsim";
 macro2utf8["GreaterEqualLess"] = "&#8923;";
 utf82macro["&#8923;"] = "GreaterEqualLess";
-macro2utf8["Igrave"] = "&Igrave;";
-utf82macro["&Igrave;"] = "Igrave";
-macro2utf8["Longrightarrow"] = "&rArr;";
-utf82macro["&rArr;"] = "Longrightarrow";
+macro2utf8["Igrave"] = "&#204;";
+utf82macro["&#204;"] = "Igrave";
+macro2utf8["Longrightarrow"] = "&#8658;";
+utf82macro["&#8658;"] = "Longrightarrow";
 macro2utf8["bigcap"] = "&#8898;";
 utf82macro["&#8898;"] = "bigcap";
 macro2utf8["boxHU"] = "&#9577;";
@@ -3345,16 +3345,16 @@ macro2utf8["uring"] = "&#367;";
 utf82macro["&#367;"] = "uring";
 macro2utf8["equivDD"] = "&#10872;";
 utf82macro["&#10872;"] = "equivDD";
-macro2utf8["prop"] = "&prop;";
-utf82macro["&prop;"] = "prop";
+macro2utf8["prop"] = "&#8733;";
+utf82macro["&#8733;"] = "prop";
 macro2utf8["Lopf"] = "&#120131;";
 utf82macro["&#120131;"] = "Lopf";
 macro2utf8["ldrushar"] = "&#10571;";
 utf82macro["&#10571;"] = "ldrushar";
 macro2utf8["rarrhk"] = "&#8618;";
 utf82macro["&#8618;"] = "rarrhk";
-macro2utf8["Leftarrow"] = "&lArr;";
-utf82macro["&lArr;"] = "Leftarrow";
+macro2utf8["Leftarrow"] = "&#8656;";
+utf82macro["&#8656;"] = "Leftarrow";
 macro2utf8["lltri"] = "&#9722;";
 utf82macro["&#9722;"] = "lltri";
 macro2utf8["NestedGreaterGreater"] = "&#8811;";
@@ -3387,32 +3387,32 @@ macro2utf8["xhArr"] = "&#62843;";
 utf82macro["&#62843;"] = "xhArr";
 macro2utf8["triplus"] = "&#10809;";
 utf82macro["&#10809;"] = "triplus";
-macro2utf8["bot"] = "&perp;";
-utf82macro["&perp;"] = "bot";
+macro2utf8["bot"] = "&#8869;";
+utf82macro["&#8869;"] = "bot";
 macro2utf8["Rcy"] = "&#1056;";
 utf82macro["&#1056;"] = "Rcy";
 macro2utf8["eDDot"] = "&#10871;";
 utf82macro["&#10871;"] = "eDDot";
-macro2utf8["subseteqq"] = "&sube;";
-utf82macro["&sube;"] = "subseteqq";
+macro2utf8["subseteqq"] = "&#8838;";
+utf82macro["&#8838;"] = "subseteqq";
 macro2utf8["cirfnint"] = "&#10768;";
 utf82macro["&#10768;"] = "cirfnint";
-macro2utf8["spadesuit"] = "&spades;";
-utf82macro["&spades;"] = "spadesuit";
+macro2utf8["spadesuit"] = "&#9824;";
+utf82macro["&#9824;"] = "spadesuit";
 macro2utf8["nacute"] = "&#324;";
 utf82macro["&#324;"] = "nacute";
 macro2utf8["Zopf"] = "&#8484;";
 utf82macro["&#8484;"] = "Zopf";
 macro2utf8["upharpoonleft"] = "&#8639;";
 utf82macro["&#8639;"] = "upharpoonleft";
-macro2utf8["shy"] = "&shy;";
-utf82macro["&shy;"] = "shy";
+macro2utf8["shy"] = "&#173;";
+utf82macro["&#173;"] = "shy";
 macro2utf8["nparsl"] = "&#8741;&#65024;&#8421;";
 utf82macro["&#8741;&#65024;&#8421;"] = "nparsl";
 macro2utf8["boxHu"] = "&#9575;";
 utf82macro["&#9575;"] = "boxHu";
-macro2utf8["ThickSpace"] = "&thinsp;&#8202;&#8202;";
-utf82macro["&thinsp;&#8202;&#8202;"] = "ThickSpace";
+macro2utf8["ThickSpace"] = "&#8201;&#8202;&#8202;";
+utf82macro["&#8201;&#8202;&#8202;"] = "ThickSpace";
 macro2utf8["Or"] = "&#10836;";
 utf82macro["&#10836;"] = "Or";
 macro2utf8["raemptyv"] = "&#10675;";
@@ -3421,20 +3421,20 @@ macro2utf8["Aogon"] = "&#260;";
 utf82macro["&#260;"] = "Aogon";
 macro2utf8["IEcy"] = "&#1045;";
 utf82macro["&#1045;"] = "IEcy";
-macro2utf8["sim"] = "&sim;";
-utf82macro["&sim;"] = "sim";
+macro2utf8["sim"] = "&#8764;";
+utf82macro["&#8764;"] = "sim";
 macro2utf8["sin"] = "sin";
 utf82macro["sin"] = "sin";
 macro2utf8["copysr"] = "&#8471;";
 utf82macro["&#8471;"] = "copysr";
 macro2utf8["scnap"] = "&#8937;";
 utf82macro["&#8937;"] = "scnap";
-macro2utf8["rdquo"] = "&rdquo;";
-utf82macro["&rdquo;"] = "rdquo";
+macro2utf8["rdquo"] = "&#8221;";
+utf82macro["&#8221;"] = "rdquo";
 macro2utf8["aopf"] = "&#120146;";
 utf82macro["&#120146;"] = "aopf";
-macro2utf8["Pi"] = "&Pi;";
-utf82macro["&Pi;"] = "Pi";
+macro2utf8["Pi"] = "&#928;";
+utf82macro["&#928;"] = "Pi";
 macro2utf8["Udblac"] = "&#368;";
 utf82macro["&#368;"] = "Udblac";
 macro2utf8["expectation"] = "&#8496;";
@@ -3447,10 +3447,10 @@ macro2utf8["NotTildeEqual"] = "&#8772;";
 utf82macro["&#8772;"] = "NotTildeEqual";
 macro2utf8["ncedil"] = "&#326;";
 utf82macro["&#326;"] = "ncedil";
-macro2utf8["Gamma"] = "&Gamma;";
-utf82macro["&Gamma;"] = "Gamma";
-macro2utf8["ecirc"] = "&ecirc;";
-utf82macro["&ecirc;"] = "ecirc";
+macro2utf8["Gamma"] = "&#915;";
+utf82macro["&#915;"] = "Gamma";
+macro2utf8["ecirc"] = "&#234;";
+utf82macro["&#234;"] = "ecirc";
 macro2utf8["dsol"] = "&#10742;";
 utf82macro["&#10742;"] = "dsol";
 macro2utf8["Gcy"] = "&#1043;";
@@ -3465,8 +3465,8 @@ macro2utf8["hopf"] = "&#120153;";
 utf82macro["&#120153;"] = "hopf";
 macro2utf8["blacktriangledown"] = "&#9662;";
 utf82macro["&#9662;"] = "blacktriangledown";
-macro2utf8["LeftCeiling"] = "&lceil;";
-utf82macro["&lceil;"] = "LeftCeiling";
+macro2utf8["LeftCeiling"] = "&#8968;";
+utf82macro["&#8968;"] = "LeftCeiling";
 macro2utf8["ulcorn"] = "&#8988;";
 utf82macro["&#8988;"] = "ulcorn";
 macro2utf8["searrow"] = "&#8600;";
@@ -3477,16 +3477,16 @@ macro2utf8["Fscr"] = "&#8497;";
 utf82macro["&#8497;"] = "Fscr";
 macro2utf8["cupcup"] = "&#10826;";
 utf82macro["&#10826;"] = "cupcup";
-macro2utf8["NotEqual"] = "&ne;";
-utf82macro["&ne;"] = "NotEqual";
+macro2utf8["NotEqual"] = "&#8800;";
+utf82macro["&#8800;"] = "NotEqual";
 macro2utf8["sext"] = "&#10038;";
 utf82macro["&#10038;"] = "sext";
-macro2utf8["CirclePlus"] = "&oplus;";
-utf82macro["&oplus;"] = "CirclePlus";
+macro2utf8["CirclePlus"] = "&#8853;";
+utf82macro["&#8853;"] = "CirclePlus";
 macro2utf8["erarr"] = "&#10609;";
 utf82macro["&#10609;"] = "erarr";
-macro2utf8["dArr"] = "&dArr;";
-utf82macro["&dArr;"] = "dArr";
+macro2utf8["dArr"] = "&#8659;";
+utf82macro["&#8659;"] = "dArr";
 macro2utf8["PrecedesSlantEqual"] = "&#8828;";
 utf82macro["&#8828;"] = "PrecedesSlantEqual";
 macro2utf8["Itilde"] = "&#296;";
@@ -3503,20 +3503,20 @@ macro2utf8["oopf"] = "&#120160;";
 utf82macro["&#120160;"] = "oopf";
 macro2utf8["Mscr"] = "&#8499;";
 utf82macro["&#8499;"] = "Mscr";
-macro2utf8["Rfr"] = "&real;";
-utf82macro["&real;"] = "Rfr";
-macro2utf8["langle"] = "&lang;";
-utf82macro["&lang;"] = "langle";
+macro2utf8["Rfr"] = "&#8476;";
+utf82macro["&#8476;"] = "Rfr";
+macro2utf8["langle"] = "&#9001;";
+utf82macro["&#9001;"] = "langle";
 macro2utf8["And"] = "&#10835;";
 utf82macro["&#10835;"] = "And";
 macro2utf8["bprime"] = "&#8245;";
 utf82macro["&#8245;"] = "bprime";
 macro2utf8["nLeftrightarrow"] = "&#8654;";
 utf82macro["&#8654;"] = "nLeftrightarrow";
-macro2utf8["Re"] = "&real;";
-utf82macro["&real;"] = "Re";
-macro2utf8["OpenCurlyQuote"] = "&lsquo;";
-utf82macro["&lsquo;"] = "OpenCurlyQuote";
+macro2utf8["Re"] = "&#8476;";
+utf82macro["&#8476;"] = "Re";
+macro2utf8["OpenCurlyQuote"] = "&#8216;";
+utf82macro["&#8216;"] = "OpenCurlyQuote";
 macro2utf8["vopf"] = "&#120167;";
 utf82macro["&#120167;"] = "vopf";
 macro2utf8["ulcorner"] = "&#8988;";
@@ -3529,18 +3529,18 @@ macro2utf8["gtreqless"] = "&#8923;";
 utf82macro["&#8923;"] = "gtreqless";
 macro2utf8["rarrlp"] = "&#8620;";
 utf82macro["&#8620;"] = "rarrlp";
-macro2utf8["Lambda"] = "&Lambda;";
-utf82macro["&Lambda;"] = "Lambda";
+macro2utf8["Lambda"] = "&#923;";
+utf82macro["&#923;"] = "Lambda";
 macro2utf8["lobrk"] = "&#12314;";
 utf82macro["&#12314;"] = "lobrk";
 macro2utf8["rbrace"] = "}";
 utf82macro["}"] = "rbrace";
-macro2utf8["rArr"] = "&rArr;";
-utf82macro["&rArr;"] = "rArr";
+macro2utf8["rArr"] = "&#8658;";
+utf82macro["&#8658;"] = "rArr";
 macro2utf8["coloneq"] = "&#8788;";
 utf82macro["&#8788;"] = "coloneq";
-macro2utf8["UpArrow"] = "&uarr;";
-utf82macro["&uarr;"] = "UpArrow";
+macro2utf8["UpArrow"] = "&#8593;";
+utf82macro["&#8593;"] = "UpArrow";
 macro2utf8["odot"] = "&#8857;";
 utf82macro["&#8857;"] = "odot";
 macro2utf8["LeftDownTeeVector"] = "&#10593;";
@@ -3557,8 +3557,8 @@ macro2utf8["Sc"] = "&#10940;";
 utf82macro["&#10940;"] = "Sc";
 macro2utf8["ycy"] = "&#1099;";
 utf82macro["&#1099;"] = "ycy";
-macro2utf8["Prime"] = "&Prime;";
-utf82macro["&Prime;"] = "Prime";
+macro2utf8["Prime"] = "&#8243;";
+utf82macro["&#8243;"] = "Prime";
 macro2utf8["Gfr"] = "&#120074;";
 utf82macro["&#120074;"] = "Gfr";
 macro2utf8["trianglerighteq"] = "&#8885;";
@@ -3571,10 +3571,10 @@ macro2utf8["range"] = "&#10661;";
 utf82macro["&#10661;"] = "range";
 macro2utf8["rsqb"] = "]";
 utf82macro["]"] = "rsqb";
-macro2utf8["Euml"] = "&Euml;";
-utf82macro["&Euml;"] = "Euml";
-macro2utf8["Therefore"] = "&there4;";
-utf82macro["&there4;"] = "Therefore";
+macro2utf8["Euml"] = "&#203;";
+utf82macro["&#203;"] = "Euml";
+macro2utf8["Therefore"] = "&#8756;";
+utf82macro["&#8756;"] = "Therefore";
 macro2utf8["nesim"] = "&#8770;&#824;";
 utf82macro["&#8770;&#824;"] = "nesim";
 macro2utf8["order"] = "&#8500;";
@@ -3587,10 +3587,10 @@ macro2utf8["bscr"] = "&#119991;";
 utf82macro["&#119991;"] = "bscr";
 macro2utf8["lesseqqgtr"] = "&#8922;";
 utf82macro["&#8922;"] = "lesseqqgtr";
-macro2utf8["cap"] = "&cap;";
-utf82macro["&cap;"] = "cap";
-macro2utf8["ldquo"] = "&ldquo;";
-utf82macro["&ldquo;"] = "ldquo";
+macro2utf8["cap"] = "&#8745;";
+utf82macro["&#8745;"] = "cap";
+macro2utf8["ldquo"] = "&#8220;";
+utf82macro["&#8220;"] = "ldquo";
 macro2utf8["nsubseteq"] = "&#8840;";
 utf82macro["&#8840;"] = "nsubseteq";
 macro2utf8["rhov"] = "&#1009;";
@@ -3599,8 +3599,8 @@ macro2utf8["xvee"] = "&#8897;";
 utf82macro["&#8897;"] = "xvee";
 macro2utf8["olarr"] = "&#8634;";
 utf82macro["&#8634;"] = "olarr";
-macro2utf8["nang"] = "&ang;&#824;";
-utf82macro["&ang;&#824;"] = "nang";
+macro2utf8["nang"] = "&#8736;&#824;";
+utf82macro["&#8736;&#824;"] = "nang";
 macro2utf8["uwangle"] = "&#10663;";
 utf82macro["&#10663;"] = "uwangle";
 macro2utf8["nlsim"] = "&#8820;";
@@ -3619,16 +3619,16 @@ macro2utf8["GJcy"] = "&#1027;";
 utf82macro["&#1027;"] = "GJcy";
 macro2utf8["nges"] = "&#8817;";
 utf82macro["&#8817;"] = "nges";
-macro2utf8["exist"] = "&exist;";
-utf82macro["&exist;"] = "exist";
-macro2utf8["cent"] = "&cent;";
-utf82macro["&cent;"] = "cent";
-macro2utf8["oacute"] = "&oacute;";
-utf82macro["&oacute;"] = "oacute";
+macro2utf8["exist"] = "&#8707;";
+utf82macro["&#8707;"] = "exist";
+macro2utf8["cent"] = "&#162;";
+utf82macro["&#162;"] = "cent";
+macro2utf8["oacute"] = "&#243;";
+utf82macro["&#243;"] = "oacute";
 macro2utf8["Darr"] = "&#8609;";
 utf82macro["&#8609;"] = "Darr";
-macro2utf8["yen"] = "&yen;";
-utf82macro["&yen;"] = "yen";
+macro2utf8["yen"] = "&#165;";
+utf82macro["&#165;"] = "yen";
 macro2utf8["bigcirc"] = "&#9711;";
 utf82macro["&#9711;"] = "bigcirc";
 macro2utf8["ncy"] = "&#1085;";
@@ -3639,8 +3639,8 @@ macro2utf8["UpperRightArrow"] = "&#8599;";
 utf82macro["&#8599;"] = "UpperRightArrow";
 macro2utf8["precnapprox"] = "&#8936;";
 utf82macro["&#8936;"] = "precnapprox";
-macro2utf8["OElig"] = "&OElig;";
-utf82macro["&OElig;"] = "OElig";
+macro2utf8["OElig"] = "&#338;";
+utf82macro["&#338;"] = "OElig";
 macro2utf8["hybull"] = "&#8259;";
 utf82macro["&#8259;"] = "hybull";
 macro2utf8["cupbrcap"] = "&#10824;";
@@ -3665,16 +3665,16 @@ macro2utf8["rAarr"] = "&#8667;";
 utf82macro["&#8667;"] = "rAarr";
 macro2utf8["precapprox"] = "&#8830;";
 utf82macro["&#8830;"] = "precapprox";
-macro2utf8["rsquor"] = "&rsquo;";
-utf82macro["&rsquo;"] = "rsquor";
-macro2utf8["pound"] = "&pound;";
-utf82macro["&pound;"] = "pound";
+macro2utf8["rsquor"] = "&#8217;";
+utf82macro["&#8217;"] = "rsquor";
+macro2utf8["pound"] = "&#163;";
+utf82macro["&#163;"] = "pound";
 macro2utf8["lbrksld"] = "&#10639;";
 utf82macro["&#10639;"] = "lbrksld";
 macro2utf8["gesdot"] = "&#10880;";
 utf82macro["&#10880;"] = "gesdot";
-macro2utf8["Element"] = "&isin;";
-utf82macro["&isin;"] = "Element";
+macro2utf8["Element"] = "&#8712;";
+utf82macro["&#8712;"] = "Element";
 macro2utf8["xcirc"] = "&#9711;";
 utf82macro["&#9711;"] = "xcirc";
 macro2utf8["wscr"] = "&#120012;";
@@ -3683,32 +3683,32 @@ macro2utf8["toea"] = "&#10536;";
 utf82macro["&#10536;"] = "toea";
 macro2utf8["setmn"] = "&#8726;";
 utf82macro["&#8726;"] = "setmn";
-macro2utf8["neg"] = "&not;";
-utf82macro["&not;"] = "neg";
+macro2utf8["neg"] = "&#172;";
+utf82macro["&#172;"] = "neg";
 macro2utf8["sol"] = "/";
 utf82macro["/"] = "sol";
 macro2utf8["yfr"] = "&#120118;";
 utf82macro["&#120118;"] = "yfr";
-macro2utf8["DoubleDownArrow"] = "&dArr;";
-utf82macro["&dArr;"] = "DoubleDownArrow";
+macro2utf8["DoubleDownArrow"] = "&#8659;";
+utf82macro["&#8659;"] = "DoubleDownArrow";
 macro2utf8["Rarr"] = "&#8608;";
 utf82macro["&#8608;"] = "Rarr";
 macro2utf8["ngE"] = "&#8817;";
 utf82macro["&#8817;"] = "ngE";
-macro2utf8["Upsi"] = "&upsih;";
-utf82macro["&upsih;"] = "Upsi";
+macro2utf8["Upsi"] = "&#978;";
+utf82macro["&#978;"] = "Upsi";
 macro2utf8["opar"] = "&#10679;";
 utf82macro["&#10679;"] = "opar";
 macro2utf8["rarrpl"] = "&#10565;";
 utf82macro["&#10565;"] = "rarrpl";
-macro2utf8["auml"] = "&auml;";
-utf82macro["&auml;"] = "auml";
+macro2utf8["auml"] = "&#228;";
+utf82macro["&#228;"] = "auml";
 macro2utf8["bmod"] = "mod";
 utf82macro["mod"] = "bmod";
 macro2utf8["SquareSuperset"] = "&#8848;";
 utf82macro["&#8848;"] = "SquareSuperset";
-macro2utf8["neq"] = "&ne;";
-utf82macro["&ne;"] = "neq";
+macro2utf8["neq"] = "&#8800;";
+utf82macro["&#8800;"] = "neq";
 macro2utf8["circleddash"] = "&#8861;";
 utf82macro["&#8861;"] = "circleddash";
 macro2utf8["xrarr"] = "&#62839;";
@@ -3757,8 +3757,8 @@ macro2utf8["backsimeq"] = "&#8909;";
 utf82macro["&#8909;"] = "backsimeq";
 macro2utf8["target"] = "&#8982;";
 utf82macro["&#8982;"] = "target";
-macro2utf8["ouml"] = "&ouml;";
-utf82macro["&ouml;"] = "ouml";
+macro2utf8["ouml"] = "&#246;";
+utf82macro["&#246;"] = "ouml";
 macro2utf8["nge"] = "&#8817;&#8421;";
 utf82macro["&#8817;&#8421;"] = "nge";
 macro2utf8["LeftTriangleBar"] = "&#10703;";
@@ -3769,20 +3769,20 @@ macro2utf8["parsim"] = "&#10995;";
 utf82macro["&#10995;"] = "parsim";
 macro2utf8["Gcedil"] = "&#290;";
 utf82macro["&#290;"] = "Gcedil";
-macro2utf8["bnequiv"] = "&equiv;&#8421;";
-utf82macro["&equiv;&#8421;"] = "bnequiv";
+macro2utf8["bnequiv"] = "&#8801;&#8421;";
+utf82macro["&#8801;&#8421;"] = "bnequiv";
 macro2utf8["ubreve"] = "&#365;";
 utf82macro["&#365;"] = "ubreve";
-macro2utf8["iexcl"] = "&iexcl;";
-utf82macro["&iexcl;"] = "iexcl";
-macro2utf8["Xi"] = "&Xi;";
-utf82macro["&Xi;"] = "Xi";
-macro2utf8["omega"] = "&omega;";
-utf82macro["&omega;"] = "omega";
+macro2utf8["iexcl"] = "&#161;";
+utf82macro["&#161;"] = "iexcl";
+macro2utf8["Xi"] = "&#926;";
+utf82macro["&#926;"] = "Xi";
+macro2utf8["omega"] = "&#969;";
+utf82macro["&#969;"] = "omega";
 macro2utf8["elsdot"] = "&#10903;";
 utf82macro["&#10903;"] = "elsdot";
-macro2utf8["propto"] = "&prop;";
-utf82macro["&prop;"] = "propto";
+macro2utf8["propto"] = "&#8733;";
+utf82macro["&#8733;"] = "propto";
 macro2utf8["squ"] = "&#9633;";
 utf82macro["&#9633;"] = "squ";
 macro2utf8["Ycirc"] = "&#374;";
@@ -3819,14 +3819,14 @@ macro2utf8["cfr"] = "&#120096;";
 utf82macro["&#120096;"] = "cfr";
 macro2utf8["abreve"] = "&#259;";
 utf82macro["&#259;"] = "abreve";
-macro2utf8["suphsol"] = "&sup;/";
-utf82macro["&sup;/"] = "suphsol";
+macro2utf8["suphsol"] = "&#8835;/";
+utf82macro["&#8835;/"] = "suphsol";
 macro2utf8["NegativeThickSpace"] = "&#8197;&#65024;";
 utf82macro["&#8197;&#65024;"] = "NegativeThickSpace";
 macro2utf8["Mcy"] = "&#1052;";
 utf82macro["&#1052;"] = "Mcy";
-macro2utf8["uarr"] = "&uarr;";
-utf82macro["&uarr;"] = "uarr";
+macro2utf8["uarr"] = "&#8593;";
+utf82macro["&#8593;"] = "uarr";
 macro2utf8["LeftRightVector"] = "&#10574;";
 utf82macro["&#10574;"] = "LeftRightVector";
 macro2utf8["lAarr"] = "&#8666;";
@@ -3835,14 +3835,14 @@ macro2utf8["bsim"] = "&#8765;";
 utf82macro["&#8765;"] = "bsim";
 macro2utf8["simrarr"] = "&#10610;";
 utf82macro["&#10610;"] = "simrarr";
-macro2utf8["otimes"] = "&otimes;";
-utf82macro["&otimes;"] = "otimes";
+macro2utf8["otimes"] = "&#8855;";
+utf82macro["&#8855;"] = "otimes";
 macro2utf8["NotSucceeds"] = "&#8833;";
 utf82macro["&#8833;"] = "NotSucceeds";
 macro2utf8["Cross"] = "&#10799;";
 utf82macro["&#10799;"] = "Cross";
-macro2utf8["downarrow"] = "&darr;";
-utf82macro["&darr;"] = "downarrow";
+macro2utf8["downarrow"] = "&#8595;";
+utf82macro["&#8595;"] = "downarrow";
 macro2utf8["blacktriangle"] = "&#9652;";
 utf82macro["&#9652;"] = "blacktriangle";
 macro2utf8["TripleDot"] = "&#8411;";
@@ -3857,12 +3857,12 @@ macro2utf8["neArr"] = "&#8663;";
 utf82macro["&#8663;"] = "neArr";
 macro2utf8["rarrtl"] = "&#8611;";
 utf82macro["&#8611;"] = "rarrtl";
-macro2utf8["isin"] = "&isin;";
-utf82macro["&isin;"] = "isin";
+macro2utf8["isin"] = "&#8712;";
+utf82macro["&#8712;"] = "isin";
 macro2utf8["rrarr"] = "&#8649;";
 utf82macro["&#8649;"] = "rrarr";
-macro2utf8["Upsilon"] = "&upsih;";
-utf82macro["&upsih;"] = "Upsilon";
+macro2utf8["Upsilon"] = "&#978;";
+utf82macro["&#978;"] = "Upsilon";
 macro2utf8["sqsub"] = "&#8847;";
 utf82macro["&#8847;"] = "sqsub";
 macro2utf8["boxUL"] = "&#9565;";
@@ -3873,12 +3873,12 @@ macro2utf8["Xfr"] = "&#120091;";
 utf82macro["&#120091;"] = "Xfr";
 macro2utf8["nis"] = "&#8956;";
 utf82macro["&#8956;"] = "nis";
-macro2utf8["chi"] = "&chi;";
-utf82macro["&chi;"] = "chi";
+macro2utf8["chi"] = "&#967;";
+utf82macro["&#967;"] = "chi";
 macro2utf8["DownRightVector"] = "&#8641;";
 utf82macro["&#8641;"] = "DownRightVector";
-macro2utf8["niv"] = "&ni;";
-utf82macro["&ni;"] = "niv";
+macro2utf8["niv"] = "&#8715;";
+utf82macro["&#8715;"] = "niv";
 macro2utf8["boxUR"] = "&#9562;";
 utf82macro["&#9562;"] = "boxUR";
 macro2utf8["nlArr"] = "&#8653;";
@@ -3907,18 +3907,18 @@ macro2utf8["boxVH"] = "&#9580;";
 utf82macro["&#9580;"] = "boxVH";
 macro2utf8["bbrk"] = "&#9141;";
 utf82macro["&#9141;"] = "bbrk";
-macro2utf8["tau"] = "&tau;";
-utf82macro["&tau;"] = "tau";
-macro2utf8["UpTee"] = "&perp;";
-utf82macro["&perp;"] = "UpTee";
+macro2utf8["tau"] = "&#964;";
+utf82macro["&#964;"] = "tau";
+macro2utf8["UpTee"] = "&#8869;";
+utf82macro["&#8869;"] = "UpTee";
 macro2utf8["NotLeftTriangleBar"] = "&#10703;&#824;";
 utf82macro["&#10703;&#824;"] = "NotLeftTriangleBar";
 macro2utf8["boxVL"] = "&#9571;";
 utf82macro["&#9571;"] = "boxVL";
 macro2utf8["Proportion"] = "&#8759;";
 utf82macro["&#8759;"] = "Proportion";
-macro2utf8["equiv"] = "&equiv;";
-utf82macro["&equiv;"] = "equiv";
+macro2utf8["equiv"] = "&#8801;";
+utf82macro["&#8801;"] = "equiv";
 macro2utf8["blk12"] = "&#9618;";
 utf82macro["&#9618;"] = "blk12";
 macro2utf8["blk14"] = "&#9617;";
@@ -3937,8 +3937,8 @@ macro2utf8["ijlig"] = "&#307;";
 utf82macro["&#307;"] = "ijlig";
 macro2utf8["yicy"] = "&#1111;";
 utf82macro["&#1111;"] = "yicy";
-macro2utf8["sum"] = "&sum;";
-utf82macro["&sum;"] = "sum";
+macro2utf8["sum"] = "&#8721;";
+utf82macro["&#8721;"] = "sum";
 macro2utf8["cir"] = "&#9675;";
 utf82macro["&#9675;"] = "cir";
 macro2utf8["telrec"] = "&#8981;";
@@ -3967,12 +3967,12 @@ macro2utf8["loplus"] = "&#10797;";
 utf82macro["&#10797;"] = "loplus";
 macro2utf8["varsupsetneq"] = "&#8843;&#65024;";
 utf82macro["&#8843;&#65024;"] = "varsupsetneq";
-macro2utf8["scaron"] = "&scaron;";
-utf82macro["&scaron;"] = "scaron";
+macro2utf8["scaron"] = "&#353;";
+utf82macro["&#353;"] = "scaron";
 macro2utf8["Diamond"] = "&#8900;";
 utf82macro["&#8900;"] = "Diamond";
-macro2utf8["lowast"] = "&lowast;";
-utf82macro["&lowast;"] = "lowast";
+macro2utf8["lowast"] = "&#8727;";
+utf82macro["&#8727;"] = "lowast";
 macro2utf8["nle"] = "&#8816;&#8421;";
 utf82macro["&#8816;&#8421;"] = "nle";
 macro2utf8["phiv"] = "&#981;";
@@ -3999,8 +3999,8 @@ macro2utf8["lessdot"] = "&#8918;";
 utf82macro["&#8918;"] = "lessdot";
 macro2utf8["LeftDoubleBracket"] = "&#12314;";
 utf82macro["&#12314;"] = "LeftDoubleBracket";
-macro2utf8["Delta"] = "&Delta;";
-utf82macro["&Delta;"] = "Delta";
+macro2utf8["Delta"] = "&#916;";
+utf82macro["&#916;"] = "Delta";
 macro2utf8["limsup"] = "limsup";
 utf82macro["limsup"] = "limsup";
 macro2utf8["tcy"] = "&#1090;";
@@ -4051,8 +4051,8 @@ macro2utf8["suphsub"] = "&#10967;";
 utf82macro["&#10967;"] = "suphsub";
 macro2utf8["squf"] = "&#9642;";
 utf82macro["&#9642;"] = "squf";
-macro2utf8["gamma"] = "&gamma;";
-utf82macro["&gamma;"] = "gamma";
+macro2utf8["gamma"] = "&#947;";
+utf82macro["&#947;"] = "gamma";
 macro2utf8["lrhard"] = "&#10605;";
 utf82macro["&#10605;"] = "lrhard";
 macro2utf8["intprod"] = "&#10812;";
@@ -4095,8 +4095,8 @@ macro2utf8["Dscr"] = "&#119967;";
 utf82macro["&#119967;"] = "Dscr";
 macro2utf8["gsime"] = "&#10894;";
 utf82macro["&#10894;"] = "gsime";
-macro2utf8["PartialD"] = "&part;";
-utf82macro["&part;"] = "PartialD";
+macro2utf8["PartialD"] = "&#8706;";
+utf82macro["&#8706;"] = "PartialD";
 macro2utf8["Umacr"] = "&#362;";
 utf82macro["&#362;"] = "Umacr";
 macro2utf8["tfr"] = "&#120113;";
@@ -4105,20 +4105,20 @@ macro2utf8["cularrp"] = "&#10557;";
 utf82macro["&#10557;"] = "cularrp";
 macro2utf8["UnderBracket"] = "&#9141;";
 utf82macro["&#9141;"] = "UnderBracket";
-macro2utf8["ugrave"] = "&ugrave;";
-utf82macro["&ugrave;"] = "ugrave";
+macro2utf8["ugrave"] = "&#249;";
+utf82macro["&#249;"] = "ugrave";
 macro2utf8["mopf"] = "&#120158;";
 utf82macro["&#120158;"] = "mopf";
 macro2utf8["gsiml"] = "&#10896;";
 utf82macro["&#10896;"] = "gsiml";
-macro2utf8["iquest"] = "&iquest;";
-utf82macro["&iquest;"] = "iquest";
+macro2utf8["iquest"] = "&#191;";
+utf82macro["&#191;"] = "iquest";
 macro2utf8["nmid"] = "&#8740;";
 utf82macro["&#8740;"] = "nmid";
 macro2utf8["leftarrowtail"] = "&#8610;";
 utf82macro["&#8610;"] = "leftarrowtail";
-macro2utf8["not"] = "&not;";
-utf82macro["&not;"] = "not";
+macro2utf8["not"] = "&#172;";
+utf82macro["&#172;"] = "not";
 macro2utf8["Kscr"] = "&#119974;";
 utf82macro["&#119974;"] = "Kscr";
 macro2utf8["xsqcup"] = "&#8852;";
@@ -4137,14 +4137,14 @@ macro2utf8["dzcy"] = "&#1119;";
 utf82macro["&#1119;"] = "dzcy";
 macro2utf8["topf"] = "&#120165;";
 utf82macro["&#120165;"] = "topf";
-macro2utf8["iff"] = "&hArr;";
-utf82macro["&hArr;"] = "iff";
+macro2utf8["iff"] = "&#8660;";
+utf82macro["&#8660;"] = "iff";
 macro2utf8["af"] = "&#8289;";
 utf82macro["&#8289;"] = "af";
-macro2utf8["Uparrow"] = "&uArr;";
-utf82macro["&uArr;"] = "Uparrow";
-macro2utf8["Iacute"] = "&Iacute;";
-utf82macro["&Iacute;"] = "Iacute";
+macro2utf8["Uparrow"] = "&#8657;";
+utf82macro["&#8657;"] = "Uparrow";
+macro2utf8["Iacute"] = "&#205;";
+utf82macro["&#205;"] = "Iacute";
 macro2utf8["Rscr"] = "&#8475;";
 utf82macro["&#8475;"] = "Rscr";
 macro2utf8["vrtri"] = "&#8883;";
@@ -4157,18 +4157,18 @@ macro2utf8["rtriltri"] = "&#10702;";
 utf82macro["&#10702;"] = "rtriltri";
 macro2utf8["npr"] = "&#8832;";
 utf82macro["&#8832;"] = "npr";
-macro2utf8["agrave"] = "&agrave;";
-utf82macro["&agrave;"] = "agrave";
+macro2utf8["agrave"] = "&#224;";
+utf82macro["&#224;"] = "agrave";
 macro2utf8["UnderBar"] = "&#818;";
 utf82macro["&#818;"] = "UnderBar";
-macro2utf8["prime"] = "&prime;";
-utf82macro["&prime;"] = "prime";
-macro2utf8["plusmn"] = "&plusmn;";
-utf82macro["&plusmn;"] = "plusmn";
+macro2utf8["prime"] = "&#8242;";
+utf82macro["&#8242;"] = "prime";
+macro2utf8["plusmn"] = "&#177;";
+utf82macro["&#177;"] = "plusmn";
 macro2utf8["eplus"] = "&#10865;";
 utf82macro["&#10865;"] = "eplus";
-macro2utf8["ap"] = "&asymp;";
-utf82macro["&asymp;"] = "ap";
+macro2utf8["ap"] = "&#8776;";
+utf82macro["&#8776;"] = "ap";
 macro2utf8["dlcorn"] = "&#8990;";
 utf82macro["&#8990;"] = "dlcorn";
 macro2utf8["backsim"] = "&#8765;";
@@ -4211,36 +4211,36 @@ macro2utf8["nvdash"] = "&#8876;";
 utf82macro["&#8876;"] = "nvdash";
 macro2utf8["NotSuperset"] = "&#8837;";
 utf82macro["&#8837;"] = "NotSuperset";
-macro2utf8["DoubleUpArrow"] = "&uArr;";
-utf82macro["&uArr;"] = "DoubleUpArrow";
-macro2utf8["land"] = "&and;";
-utf82macro["&and;"] = "land";
+macro2utf8["DoubleUpArrow"] = "&#8657;";
+utf82macro["&#8657;"] = "DoubleUpArrow";
+macro2utf8["land"] = "&#8743;";
+utf82macro["&#8743;"] = "land";
 macro2utf8["topfork"] = "&#10970;";
 utf82macro["&#10970;"] = "topfork";
 macro2utf8["llhard"] = "&#10603;";
 utf82macro["&#10603;"] = "llhard";
 macro2utf8["apos"] = "'";
 utf82macro["'"] = "apos";
-macro2utf8["oslash"] = "&oslash;";
-utf82macro["&oslash;"] = "oslash";
-macro2utf8["lang"] = "&lang;";
-utf82macro["&lang;"] = "lang";
+macro2utf8["oslash"] = "&#248;";
+utf82macro["&#248;"] = "oslash";
+macro2utf8["lang"] = "&#9001;";
+utf82macro["&#9001;"] = "lang";
 macro2utf8["bernou"] = "&#8492;";
 utf82macro["&#8492;"] = "bernou";
 macro2utf8["varrho"] = "&#1009;";
 utf82macro["&#1009;"] = "varrho";
 macro2utf8["rcub"] = "}";
 utf82macro["}"] = "rcub";
-macro2utf8["Cedilla"] = "&cedil;";
-utf82macro["&cedil;"] = "Cedilla";
+macro2utf8["Cedilla"] = "&#184;";
+utf82macro["&#184;"] = "Cedilla";
 macro2utf8["ApplyFunction"] = "&#8289;";
 utf82macro["&#8289;"] = "ApplyFunction";
 macro2utf8["nsce"] = "&#10928;&#824;";
 utf82macro["&#10928;&#824;"] = "nsce";
 macro2utf8["gscr"] = "&#8458;";
 utf82macro["&#8458;"] = "gscr";
-macro2utf8["imagpart"] = "&image;";
-utf82macro["&image;"] = "imagpart";
+macro2utf8["imagpart"] = "&#8465;";
+utf82macro["&#8465;"] = "imagpart";
 macro2utf8["ngtr"] = "&#8815;";
 utf82macro["&#8815;"] = "ngtr";
 macro2utf8["nsc"] = "&#8833;";