.
authorKim Nguyễn <kn@lri.fr>
Mon, 29 Sep 2014 20:15:54 +0000 (22:15 +0200)
committerKim Nguyễn <kn@lri.fr>
Mon, 29 Sep 2014 20:15:54 +0000 (22:15 +0200)
pres-typex/01.xhtml [new file with mode: 0644]
pres-typex/alphabet.xhtml [new file with mode: 0644]
pres-typex/ex1.html [new file with mode: 0644]
pres-typex/ex1.xhtml [new file with mode: 0644]
pres-typex/ex2.html [new file with mode: 0644]
themes/uPsud.css
xpi/xpi_04.xhtml [new file with mode: 0644]

diff --git a/pres-typex/01.xhtml b/pres-typex/01.xhtml
new file mode 100644 (file)
index 0000000..2e104f0
--- /dev/null
@@ -0,0 +1,240 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
+[
+         <!ENTITY in  "<small style='font-size:small'>∈</small>">
+         <!ENTITY notin  "<small style='font-size:small'>∉</small>">
+         <!ENTITY mapsto  "↦">
+]
+          >
+<html xmlns="http://www.w3.org/1999/xhtml" >
+  <head>
+    <title>Tatoo : the path forward</title>
+
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="copyright"
+          content="Copyright &#169; 2013 Kim Nguyễn" />
+
+    <!-- Load jQuery -->
+    <script src="../jquery-2.0.3.min.js" type="text/javascript" ></script>
+    <script src="../libs/raphael-min.js" type="text/javascript" ></script>
+    <!-- Load the library -->
+    <script src="../simpleWebSlides.js" type="text/javascript" ></script>
+
+    <link rel="stylesheet" href="../simpleWebSlides.css" type="text/css"  media="all" />
+    <!-- Load a custom Theme, the class-element marks this style-sheet
+         a "theme" that can be swtiched dynamicaly -->
+    <link class="sws-theme" rel="stylesheet"  title="U-Psud style"  href="../themes/uPsud.css" type="text/css" />
+
+    <!-- Customize some templates and initialize -->
+
+    <script type="text/javascript">
+      SWS.Config['sws-slide-change'] = SWS.Effects.slideChangeFadeOutIn;
+      SWS.Config['sws-object-deactivate'] =  SWS.Effects.objectDeactivateFadeOut;
+      SWS.Config['sws-object-activate'] = SWS.Effects.objectActivateFadeIn;
+
+      //Ensures that we load SWS at the very end, after MathJax has
+      //been initialized
+
+      $(window).load(SWS.Presentation.init);
+    </script>
+  </head>
+  <body>
+    <div class="sws-slide sws-cover sws-option-nofooter">
+      <h1>Tatoo : the path forward</h1>
+      <h3>TYPEX meeting, Grenoble April 14-16 2014</h3>
+      <a href="mailto:kn@lri.fr">kn@lri.fr</a><br/>
+      <a href="http://www.lri.fr/~kn/">http://www.lri.fr/~kn</a>
+    </div>
+
+    <h1>XPath in nutshell</h1>
+    <div class="sws-slide">
+      <h1>XPath</h1>
+      <p>W3C <em>query</em> (sub-)language. Allows one to
+      denote a <em>set of nodes</em> in a document</p>
+      <code class="xpath">
+   /<span class="step"><span class="axis">descendant</span>::<span class="test">M</span></span>/<span class="step"><span class="axis">ancestor</span>::<span class="test">A</span><span class="filter">[ <span class="axis">descendant</span>::<span class="test">P</span>  or <span class="axis">parent</span>::<span class="test">Q </span>]</span></span>/<span class="step"><span class="axis">child</span>::<span class="test">*</span></span></code>
+    <ul>
+      <li class="sws-pause">A path is made of several
+      steps <span style="color:green;">steps</span></li>
+      <li > A step is made of :
+       <ul>
+         <li class="sws-pause">An <span style="color:orange;">axis</span> amongst
+         : <tt>self</tt>, <tt>child</tt>, <tt>parent</tt>, <tt>descendant</tt>, <tt>ancestor</tt>, <tt>descendant-or-self</tt>, <tt>ancestor-or-self</tt>, <tt>following-sibling</tt>, <tt>preceding-sibling</tt>,
+         … </li>
+         <li class="sws-pause">A <span style="color:purple">node test</span> : label
+         name, <tt>*</tt>, <tt>text()</tt>, <tt>node()</tt>, …</li>
+         <li class="sws-pause"> An optional <span style="color:#88f">filter</span> : an XPath expression whose
+         truth value determine is the node is kept</li>
+       </ul>
+      </li>
+    </ul>
+    <script type="text/javascript">
+      <![CDATA[
+      var col_change = function (sel, col) {
+      return function (canvas) {
+        canvas.find(".xpath *").css("color","");
+        var objs = canvas.find(sel);
+        objs.css("color", col);
+      };
+      };
+      var reg = SWS.Presentation.registerCallback;
+      reg ("0", col_change(".xpath *",""));
+      reg ("1", col_change(".step","green"));
+      reg ("2", col_change(".axis","orange"));
+      reg ("3", col_change(".test","purple"));
+      reg ("4", col_change(".filter","#88f"));
+    ]]>
+    </script>
+
+    </div>
+    <div class="sws-slide">
+      <h1>Filters (or predicates)</h1>
+      <p>An <em>arbitrary expression</em> whose value is cast into a
+      Boolean (<tt>true</tt> keeps the selected node, <tt>false</tt>
+      discards it)</p>
+      <p>Example :</p>
+      <code>
+   //A[ child::B and .//* = count(/descendant::X) mod 12 ]
+      </code>
+      <ul>
+       <li><tt>*</tt> is an alias for <tt>child::*</tt></li>
+       <li><tt>//</tt> is an alias for <tt>/descendant-or-self::node()/</tt></li>
+       <li><tt>.</tt> is an alias for <tt>self::node()</tt></li>
+      </ul>
+      <p class="sws-pause" style="background:white">BTW: XPath semantics
+      is <span style="text-decoration:line-through">crazy</span> <em>rich</em>. In
+       the example we want all <tt>A</tt> nodes (ok) that have
+      a <tt>B</tt> child (ok) and <span class="sws-pause">that have a
+      descendant (hum… )
+         </span><span class="sws-pause">for which the (string) concatenation
+         of its text descendants (?) is equal to the number
+         of <tt>X</tt> elements in the document <tt>mod 12</tt>
+         (whaaat ?)</span>
+      </p>
+    </div>
+    <h1>Tatoo : what is it ? how does it work ?</h1>
+    <div class="sws-slide">
+      <h1>SXSI</h1>
+      <p>Succint XML Self-Index: (limited) XPath query engine developped during my
+       postdoc at Nicta. It uses:
+      </p>
+      <ul><li><em>Self-Index</em> developped by Mäkinen, Sirén, Valimaki :
+         stores a text <tt>T</tt> of <tt>N</tt> characters (in an
+         alphabet of size <tt>&sigma;</tt>) in <tt>N·H<sub>k</sub>(T)
+         + o(N·log &sigma;) bits</tt>.<br/>
+         Can answer queries like « <i>first position after i that
+           matches a constant string <tt>s</tt></i> » in <tt>O(|s|·log &sigma;)</tt>
+       </li>
+       <li><em>Succinct tree index</em> of Arroyuello, Claude, Navarro :
+         stores a tree of size <tt>M</tt> with labels in an alphabet of
+         size <tt>&theta;</tt> in <tt>4M(2 + log &theta;) + o(M) bits</tt>. <br/>
+         Full navigation + jumping from a node to the next one with a
+         given label (and also LCA of two nodes) in O(1).
+       </li>
+       <li><em>Non det. alternating tree-automata</em> of Maneth and
+       myself, on the
+       fly determinization and approximation of the sets of relevant
+       nodes (worst case <tt>O(M·|A|)</tt> to evaluate an automaton
+       of size <tt>A</tt>).
+       </li>
+      </ul>
+      <p style="background:white">Can answer downward (no ancestor, parent, …) XPath with text
+      expressions of the form (<tt>f(., <i>constant</i>)</tt>,
+      with <tt>f &in; { contains, starts-with, ends-with, =, &lt;, &gt; ,
+      &lt;=, &gt;= }</tt>). Translation from XPath to automata is
+      linear in size</p>
+    </div>
+    <div class="sws-slide">
+      <h1>Pros and cons of SXSI</h1>
+      <p>Pros</p>
+      <ul><li>For the considered subset: <em>much faster</em> than state of the
+      art optimized XML DB</li>
+       <li>Very <em>small space overhead</em></li>
+       <li>Theoreticall sound formalism, <em>proven worst-case
+       bounds</em></li>
+      </ul>
+      <p>Cons</p>
+      <ul><li>The subset is <s>too restricted</s> (no upward axes, no
+      arbitrary joins)</li>
+       <li> Encoding was <s>wrong</s> in subtle ways (e.g. in some corner
+         cases with double negations in filters)
+       </li>
+      </ul>
+
+    </div>
+    <div class="sws-slide">
+      <h1>Tree Automata TOOlkit</h1>
+      <p>Ré-implmentation of the automata part of SXSI</p>
+      <ul>
+       <li>Supports <em>full navigational XPath</em> (upward axis)</li>
+       <li>Retain polynomial (combined complexity) running
+       time, <i>i.e.</i> <tt>O(|Doc|·|Q|)</tt> for an XPath
+         query <tt>Q</tt>.
+       </li>
+      </ul>
+    </div>
+    <div class="sws-slide">
+      <h1>How does it work ?</h1>
+      <p>Sample document: <tt>alphabet.xml</tt>
+      </p>
+      <iframe src="alphabet.xhtml" style="width:99%;height:320pt;border-style:none;"
+             />
+    </div>
+    <div class="sws-slide">
+      <h1>Example 1 : <tt>/descendant::M</tt></h1>
+      <iframe src="ex1.html" style="margin:0pt 5% 0pt 5%;width:90%;height:320pt;border-style:none;"
+             />
+    </div>
+    <div class="sws-slide">
+      <h1>Example 2 </h1>
+      <code>   /descendant::M/ancestor::A[ descendant::P  or parent::Q ]/child::*</code>
+      <iframe src="ex2.html" style="margin:0pt 5% 0pt 5%;width:90%;height:320pt;border-style:none;"
+             />
+    </div>
+
+    <h1>Open problems, todos and future directions</h1>
+    <div class="sws-slide">
+      <h1>Todos/open problems</h1>
+      <ul>
+       <li>Update the analysis of <em>relevant nodes</em> to automata
+         with upward moves to deduce nodes that can be skipped</li>
+       <li>Use the succinct index</li>
+       <li>Add joins (automata product ?)</li>
+       <li>Prove the correctness of the translation (with Matthieu,
+       in Coq)</li>
+       <li>Polynomial complexity relies on the fact that the
+       automaton is <em>ranked</em> (vague notion, only implemented
+       not formalized )</li>
+       <li>Automata now looks like <em>&mu;-calculus</em> formulæ
+       (historically, I chose automata because I did not know much
+       about logics and automata <i>felt</i>
+       more <em>execution-oriented</em>)</li>
+       <li>Implement static analysis through decision procedure:
+       emptiness, non-reachability etc.</li>
+      </ul>
+    </div>
+    <div class="sws-slide">
+      <h1>Future directions</h1>
+      <ul>
+       <li>Probably want to ditch automata and used formula
+       instead</li>
+       <li>see if cycle-freeness of formula implies the ranking
+       property (I think so) </li>
+       <li>Like for formula, use dedicated moves/modalities for
+         attributes instead of poluting the automaton with the tree
+         encoding
+       </li>
+       <li>Implement decision procédure using automata techniques,
+         use performances of the super-solver™ as a goal
+       </li>
+       <li>Define aproximate, lineartime (on the fly) analyses to
+         perform more efficient evaluation
+       </li>
+       <li class="sws-pause">Your item of choice here</li>
+      </ul>
+    </div>
+
+  </body>
+</html>
diff --git a/pres-typex/alphabet.xhtml b/pres-typex/alphabet.xhtml
new file mode 100644 (file)
index 0000000..a4aae94
--- /dev/null
@@ -0,0 +1,58 @@
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<style id="xml-viewer-style">
+
+div.header {
+    border-bottom: 2px solid black;
+    padding-bottom: 5px;
+    margin: 10px;
+}
+
+div.collapsible > div.hidden {
+    display:none;
+}
+
+.pretty-print {
+    margin-top: 1em;
+    margin-left: 20px;
+    font-family: monospace;
+    font-size: 13px;
+}
+
+#webkit-xml-viewer-source-xml {
+    display: none;
+}
+
+.collapsible-content {
+    margin-left: 1em;
+}
+.comment {
+    white-space: pre;
+}
+
+.button {
+    -webkit-user-select: none;
+    cursor: pointer;
+    display: inline-block;
+    margin-left: -10px;
+    width: 10px;
+    background-repeat: no-repeat;
+    background-position: left top;
+    vertical-align: bottom;
+}
+
+.collapse-button {
+    background-image: -webkit-canvas(arrowDown);
+    height: 10px;
+}
+
+.expand-button {
+    background-image: -webkit-canvas(arrowRight);
+    height: 11px;
+}
+.webkit-html-attribute {
+    color: blue;
+}
+.webkit-html-tag {
+    color: purple;
+}
+</style></head><body><div id="webkit-xml-viewer-source-xml"><A id="n1" pre="1" post="26" xml:lang="en" xmlns:xml="http://www.w3.org/XML/1998/namespace"><B id="n2" pre="2" post="3"><C id="n3" pre="3" post="1">clergywoman</C><D id="n4" pre="4" post="2">decadent</D></B><E id="n5" pre="5" post="22"><F id="n6" pre="6" post="6"><G id="n7" pre="7" post="4">gentility</G><H id="n8" pre="8" post="5" idrefs="n17 n26">happy-go-lucky man</H></F><I id="n9" pre="9" post="9"><J id="n10" pre="10" post="7">jigsaw</J><K id="n11" pre="11" post="8">kerchief</K></I><L id="n12" pre="12" post="15"><!--L is the twelve-th letter of the English alphabet-->The letter L is followed by the letter:<M id="n13" pre="13" post="10"/>which is followed by the letter:<N id="n14" pre="14" post="13"><O id="n15" pre="15" post="11">ovenware</O><P id="n16" pre="16" post="12">plentiful</P></N><?myPI value="XPath is nice"?><Q id="n17" pre="17" post="14" idrefs="n8 n26">quarrelsome</Q></L><R id="n18" pre="18" post="18"><S id="n19" pre="19" post="16">sage</S><T id="n20" pre="20" post="17">tattered</T></R><U id="n21" pre="21" post="21"><V id="n22" pre="22" post="19">voluptuary</V><W id="n23" pre="23" post="20">wriggle</W></U></E><X id="n24" pre="24" post="25"><Y id="n25" pre="25" post="23">yawn</Y><Z id="n26" pre="26" post="24" idrefs="n8 n17" xml:lang="it">zuzzurellone</Z></X></A></div><div class="pretty-print"><div class="collapsible" id="collapsible0"><div class="expanded"><div class="line"><span class="button collapse-button"></span><span class="webkit-html-tag">&lt;A<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n1</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">1</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">26</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">xml:lang</span>="<span class="webkit-html-attribute-value">en</span>"</span>&gt;</span></div><div class="collapsible-content"><div class="collapsible" id="collapsible1"><div class="expanded"><div class="line"><span class="button collapse-button"></span><span class="webkit-html-tag">&lt;B<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n2</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">2</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">3</span>"</span>&gt;</span></div><div class="collapsible-content"><div class="line"><span class="webkit-html-tag">&lt;C<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n3</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">3</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">1</span>"</span>&gt;</span><span class="text">clergywoman</span><span class="webkit-html-tag">&lt;/C&gt;</span></div><div class="line"><span class="webkit-html-tag">&lt;D<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n4</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">4</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">2</span>"</span>&gt;</span><span class="text">decadent</span><span class="webkit-html-tag">&lt;/D&gt;</span></div></div><div class="line"><span class="webkit-html-tag">&lt;/B&gt;</span></div></div><div class="collapsed hidden"><div class="line"><span class="button expand-button"></span><span class="webkit-html-tag">&lt;B<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n2</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">2</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">3</span>"</span>&gt;</span><span class="text">...</span><span class="webkit-html-tag">&lt;/B&gt;</span></div></div></div><div class="collapsible" id="collapsible2"><div class="expanded"><div class="line"><span class="button collapse-button"></span><span class="webkit-html-tag">&lt;E<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n5</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">5</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">22</span>"</span>&gt;</span></div><div class="collapsible-content"><div class="collapsible" id="collapsible3"><div class="expanded"><div class="line"><span class="button collapse-button"></span><span class="webkit-html-tag">&lt;F<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n6</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">6</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">6</span>"</span>&gt;</span></div><div class="collapsible-content"><div class="line"><span class="webkit-html-tag">&lt;G<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n7</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">7</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">4</span>"</span>&gt;</span><span class="text">gentility</span><span class="webkit-html-tag">&lt;/G&gt;</span></div><div class="line"><span class="webkit-html-tag">&lt;H<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n8</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">8</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">5</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">idrefs</span>="<span class="webkit-html-attribute-value">n17 n26</span>"</span>&gt;</span><span class="text">happy-go-lucky man</span><span class="webkit-html-tag">&lt;/H&gt;</span></div></div><div class="line"><span class="webkit-html-tag">&lt;/F&gt;</span></div></div><div class="collapsed hidden"><div class="line"><span class="button expand-button"></span><span class="webkit-html-tag">&lt;F<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n6</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">6</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">6</span>"</span>&gt;</span><span class="text">...</span><span class="webkit-html-tag">&lt;/F&gt;</span></div></div></div><div class="collapsible" id="collapsible4"><div class="expanded"><div class="line"><span class="button collapse-button"></span><span class="webkit-html-tag">&lt;I<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n9</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">9</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">9</span>"</span>&gt;</span></div><div class="collapsible-content"><div class="line"><span class="webkit-html-tag">&lt;J<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n10</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">10</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">7</span>"</span>&gt;</span><span class="text">jigsaw</span><span class="webkit-html-tag">&lt;/J&gt;</span></div><div class="line"><span class="webkit-html-tag">&lt;K<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n11</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">11</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">8</span>"</span>&gt;</span><span class="text">kerchief</span><span class="webkit-html-tag">&lt;/K&gt;</span></div></div><div class="line"><span class="webkit-html-tag">&lt;/I&gt;</span></div></div><div class="collapsed hidden"><div class="line"><span class="button expand-button"></span><span class="webkit-html-tag">&lt;I<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n9</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">9</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">9</span>"</span>&gt;</span><span class="text">...</span><span class="webkit-html-tag">&lt;/I&gt;</span></div></div></div><div class="collapsible" id="collapsible5"><div class="expanded"><div class="line"><span class="button collapse-button"></span><span class="webkit-html-tag">&lt;L<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n12</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">12</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">15</span>"</span>&gt;</span></div><div class="collapsible-content"><div class="line"><span class="comment webkit-html-comment">&lt;!-- L is the twelve-th letter of the English alphabet --&gt;</span></div><span class="text">The letter L is followed by the letter:</span><div class="line"><span class="webkit-html-tag">&lt;M<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n13</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">13</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">10</span>"</span>/&gt;</span></div><span class="text">which is followed by the letter:</span><div class="collapsible" id="collapsible6"><div class="expanded"><div class="line"><span class="button collapse-button"></span><span class="webkit-html-tag">&lt;N<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n14</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">14</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">13</span>"</span>&gt;</span></div><div class="collapsible-content"><div class="line"><span class="webkit-html-tag">&lt;O<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n15</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">15</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">11</span>"</span>&gt;</span><span class="text">ovenware</span><span class="webkit-html-tag">&lt;/O&gt;</span></div><div class="line"><span class="webkit-html-tag">&lt;P<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n16</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">16</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">12</span>"</span>&gt;</span><span class="text">plentiful</span><span class="webkit-html-tag">&lt;/P&gt;</span></div></div><div class="line"><span class="webkit-html-tag">&lt;/N&gt;</span></div></div><div class="collapsed hidden"><div class="line"><span class="button expand-button"></span><span class="webkit-html-tag">&lt;N<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n14</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">14</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">13</span>"</span>&gt;</span><span class="text">...</span><span class="webkit-html-tag">&lt;/N&gt;</span></div></div></div><div class="line"><span class="comment webkit-html-comment">&lt;?myPI value="XPath is nice"?&gt;</span></div><div class="line"><span class="webkit-html-tag">&lt;Q<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n17</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">17</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">14</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">idrefs</span>="<span class="webkit-html-attribute-value">n8 n26</span>"</span>&gt;</span><span class="text">quarrelsome</span><span class="webkit-html-tag">&lt;/Q&gt;</span></div></div><div class="line"><span class="webkit-html-tag">&lt;/L&gt;</span></div></div><div class="collapsed hidden"><div class="line"><span class="button expand-button"></span><span class="webkit-html-tag">&lt;L<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n12</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">12</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">15</span>"</span>&gt;</span><span class="text">...</span><span class="webkit-html-tag">&lt;/L&gt;</span></div></div></div><div class="collapsible" id="collapsible7"><div class="expanded"><div class="line"><span class="button collapse-button"></span><span class="webkit-html-tag">&lt;R<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n18</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">18</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">18</span>"</span>&gt;</span></div><div class="collapsible-content"><div class="line"><span class="webkit-html-tag">&lt;S<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n19</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">19</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">16</span>"</span>&gt;</span><span class="text">sage</span><span class="webkit-html-tag">&lt;/S&gt;</span></div><div class="line"><span class="webkit-html-tag">&lt;T<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n20</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">20</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">17</span>"</span>&gt;</span><span class="text">tattered</span><span class="webkit-html-tag">&lt;/T&gt;</span></div></div><div class="line"><span class="webkit-html-tag">&lt;/R&gt;</span></div></div><div class="collapsed hidden"><div class="line"><span class="button expand-button"></span><span class="webkit-html-tag">&lt;R<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n18</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">18</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">18</span>"</span>&gt;</span><span class="text">...</span><span class="webkit-html-tag">&lt;/R&gt;</span></div></div></div><div class="collapsible" id="collapsible8"><div class="expanded"><div class="line"><span class="button collapse-button"></span><span class="webkit-html-tag">&lt;U<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n21</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">21</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">21</span>"</span>&gt;</span></div><div class="collapsible-content"><div class="line"><span class="webkit-html-tag">&lt;V<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n22</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">22</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">19</span>"</span>&gt;</span><span class="text">voluptuary</span><span class="webkit-html-tag">&lt;/V&gt;</span></div><div class="line"><span class="webkit-html-tag">&lt;W<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n23</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">23</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">20</span>"</span>&gt;</span><span class="text">wriggle</span><span class="webkit-html-tag">&lt;/W&gt;</span></div></div><div class="line"><span class="webkit-html-tag">&lt;/U&gt;</span></div></div><div class="collapsed hidden"><div class="line"><span class="button expand-button"></span><span class="webkit-html-tag">&lt;U<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n21</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">21</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">21</span>"</span>&gt;</span><span class="text">...</span><span class="webkit-html-tag">&lt;/U&gt;</span></div></div></div></div><div class="line"><span class="webkit-html-tag">&lt;/E&gt;</span></div></div><div class="collapsed hidden"><div class="line"><span class="button expand-button"></span><span class="webkit-html-tag">&lt;E<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n5</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">5</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">22</span>"</span>&gt;</span><span class="text">...</span><span class="webkit-html-tag">&lt;/E&gt;</span></div></div></div><div class="collapsible" id="collapsible9"><div class="expanded"><div class="line"><span class="button collapse-button"></span><span class="webkit-html-tag">&lt;X<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n24</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">24</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">25</span>"</span>&gt;</span></div><div class="collapsible-content"><div class="line"><span class="webkit-html-tag">&lt;Y<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n25</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">25</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">23</span>"</span>&gt;</span><span class="text">yawn</span><span class="webkit-html-tag">&lt;/Y&gt;</span></div><div class="line"><span class="webkit-html-tag">&lt;Z<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n26</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">26</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">24</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">idrefs</span>="<span class="webkit-html-attribute-value">n8 n17</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">xml:lang</span>="<span class="webkit-html-attribute-value">it</span>"</span>&gt;</span><span class="text">zuzzurellone</span><span class="webkit-html-tag">&lt;/Z&gt;</span></div></div><div class="line"><span class="webkit-html-tag">&lt;/X&gt;</span></div></div><div class="collapsed hidden"><div class="line"><span class="button expand-button"></span><span class="webkit-html-tag">&lt;X<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n24</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">24</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">25</span>"</span>&gt;</span><span class="text">...</span><span class="webkit-html-tag">&lt;/X&gt;</span></div></div></div></div><div class="line"><span class="webkit-html-tag">&lt;/A&gt;</span></div></div><div class="collapsed hidden"><div class="line"><span class="button expand-button"></span><span class="webkit-html-tag">&lt;A<span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">id</span>="<span class="webkit-html-attribute-value">n1</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">pre</span>="<span class="webkit-html-attribute-value">1</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">post</span>="<span class="webkit-html-attribute-value">26</span>"</span><span class="webkit-html-attribute"> <span class="webkit-html-attribute-name">xml:lang</span>="<span class="webkit-html-attribute-value">en</span>"</span>&gt;</span><span class="text">...</span><span class="webkit-html-tag">&lt;/A&gt;</span></div></div></div></div></body></html>
diff --git a/pres-typex/ex1.html b/pres-typex/ex1.html
new file mode 100644 (file)
index 0000000..943d6a1
--- /dev/null
@@ -0,0 +1,572 @@
+<html>
+<head><title></title>
+<meta http-equiv='content-type' content='text/html;charset=utf-8'/>
+<style>
+/* -*-CSS-*- */
+button {
+border-radius: 5px;
+border: none;
+}
+div#data {
+position: absolute;
+top: 0%;
+left: 50%;
+width: 50%;
+height: 50%;
+overflow: auto;
+}
+div#tree {
+position: absolute;
+top: 50%;
+left: 0%;
+width: 100%;
+height: 50%;
+overflow: hidden;
+}
+div#svg {
+position: absolute;
+left:0%;
+right:0%;
+top:10%;
+bottom:0%;
+overflow: auto;
+}
+div#automata {
+white-space: pre;
+overflow: auto;
+position: absolute;
+width: 50%;
+top: 0%;
+left: 0%;
+height: 50%;
+}
+@-webkit-keyframes fadein {
+from { fill-opacity: 0; }
+to { fill-opacity: 1; }
+}
+
+@-moz-keyframes fadein {
+from { fill-opacity: 0; }
+to { fill-opacity: 1; }
+}
+
+@keyframes fadein {
+from { fill-opacity: 0; }
+to { fill-opacity: 1; }
+}
+
+.blink {
+-webkit-animation: fadein 1.2s ease-in alternate infinite;
+-moz-animation: fadein 1.2s ease-in alternate infinite;
+animation: fadein 1.2s ease-in alternate infinite;
+}
+
+</style>
+</head>
+<body>
+<div id='automata' >Internal UID: 0
+States: { q₀ q₁ q₂ q₃ q₄ q₅ }
+Number of states: 6
+Starting states: { q₀ }
+Selection states: { q₅ }
+Ranked states: 0:{ q₀ q₁ q₂ q₃ q₄ q₅ }
+Alternating transitions:
+_______________________________________________
+q₁, ∑     →  •q₀
+_______________________________________________
+q₂, ∑     →  •q₁
+_______________________________________________
+q₃, ∑     →  ↑q₂ ∧ ↑? ∨ ↑q₃ ∧ ↑? ∨ ←q₃ ∧ ←?
+_______________________________________________
+q₄, {M}   →  •q₃ ∧ ¬is-attribute? ∧ is-element?
+q₄, ∑-{M} →  ⊥
+_______________________________________________
+q₅, ∑     →  •q₄
+_______________________________________________
+</div>
+<div id='data' > </div>
+<script type='text/javascript'>
+var tree = new Array();
+var current_node = null;
+var nil_id = 'node-1';
+var last_id = 129;
+var rounds = 1;
+// -*-Javascript-*-
+
+var hide_nodes = function () {
+var v = document.getElementById('relnodes').value;
+for(i = 0; i < last_id; i++) {
+var id = 'node' + i;
+var rect = document.getElementById(id);
+
+if ((v-0) <= tree[id].max)
+rect.style.fillOpacity = 1;
+else
+rect.style.fillOpacity = 0.3;
+}
+};
+
+var activate_parent = function () {
+if (current_node) activate(tree[current_node].par);
+};
+var activate_previous = function () {
+if (current_node) activate(tree[current_node].ps);
+};
+var activate_next = function () {
+if (current_node) activate(tree[current_node].ns);
+};
+var activate_first = function () {
+if (current_node) activate(tree[current_node].fc);
+};
+var buttons = document.getElementsByTagName("button");
+var activate = function (id)
+{
+if (id == nil_id) return;
+if (current_node) {
+var rect = document.getElementById(current_node);
+rect.style.fillOpacity = 1.0;
+rect.style.stroke = 'black';
+rect.classList.remove('blink');
+};
+hide_nodes();
+current_node = id;
+buttons[0].disabled = tree[id].par == nil_id;
+buttons[1].disabled = tree[id].ps == nil_id;
+buttons[2].disabled = tree[id].fc == nil_id;
+buttons[3].disabled = tree[id].ns == nil_id;
+
+var node = document.getElementById(id);
+var div = document.getElementById('svg');
+var node_dim = node.getBBox();
+var div_dim = div.getBoundingClientRect();
+var nx = node_dim.x;
+var ny = node_dim.y;
+var hs = nx - (div_dim.width / 2 - node_dim.width / 2);
+var vs = ny - (div_dim.height / 2 - node_dim.height / 2);
+div.scrollLeft = hs;
+div.scrollTop = vs;
+node.style.stroke = 'red';
+old_node = node;
+node.classList.add('blink');
+
+var d = document.getElementById('data');
+var msg = '';
+for (i=0; i <= rounds; i++)
+msg += ('<p>round ' + i + ':<br/>new states:') + tree[id].dlist[i]
++ '<br/>all states:' + tree[id].flist[i] + '</p>\n';
+d.innerHTML = msg;
+return;
+};
+
+
+</script>
+<div id='tree'>
+<div id='controls'><button onclick='activate_parent();'>↑</button>
+<button onclick='activate_previous();'>←</button>
+<button onclick='activate_first();'>↓</button>
+<button onclick='activate_next();'>→</button>
+<select id='relnodes' onchange='hide_nodes();'>
+<option value='-1'>All nodes</option>
+<option value='0'>Relevant nodes on pass 0</option>
+ <option value='1'>Relevant nodes on pass 1</option>
+</select>
+</div>
+<div id='svg'>
+
+   <svg id='svgimg' width='' height='' xmlns="http://www.w3.org/2000/svg" version="1.1">
+<script type='text/javascript'><![CDATA[ tree['node0'] = { marked: false, fc: 'node1', ns: 'node-1', par: 'node-1', ps: 'node-1', max: 0, dlist: ['{ q₀ q₁ q₂ }', '{  }'], flist: ['{ q₀ q₁ q₂ }', '{ q₀ q₁ q₂ }'] };]]></script>
+<rect id="node0" onclick="activate('node0');" x="50" y="50"width="110" height="22" style="fill:rgb(111,8,34);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="60" y="65" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node0');" >#document</text>
+<script type='text/javascript'><![CDATA[ tree['node1'] = { marked: false, fc: 'node2', ns: 'node-1', par: 'node0', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node1" onclick="activate('node1');" x="50" y="90"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="60" y="105" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node1');" >A</text>
+<script type='text/javascript'><![CDATA[ tree['node2'] = { marked: false, fc: 'node-1', ns: 'node3', par: 'node1', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node2" onclick="activate('node2');" x="50" y="130"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="60" y="145" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node2');" >@id</text>
+<line x1="75" y1="112" x2="75" y2="130"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="100" y1="141" x2="100" y2="141"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node3'] = { marked: false, fc: 'node-1', ns: 'node4', par: 'node1', ps: 'node2', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node3" onclick="activate('node3');" x="100" y="130"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="110" y="145" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node3');" >@pre</text>
+<line x1="160" y1="141" x2="160" y2="141"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node4'] = { marked: false, fc: 'node-1', ns: 'node5', par: 'node1', ps: 'node3', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node4" onclick="activate('node4');" x="160" y="130"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="170" y="145" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node4');" >@post</text>
+<line x1="230" y1="141" x2="230" y2="141"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node5'] = { marked: false, fc: 'node-1', ns: 'node6', par: 'node1', ps: 'node4', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node5" onclick="activate('node5');" x="230" y="130"width="110" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="240" y="145" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node5');" >@xml:lang</text>
+<line x1="340" y1="141" x2="340" y2="141"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node6'] = { marked: false, fc: 'node7', ns: 'node20', par: 'node1', ps: 'node5', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node6" onclick="activate('node6');" x="340" y="130"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="350" y="145" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node6');" >B</text>
+<script type='text/javascript'><![CDATA[ tree['node7'] = { marked: false, fc: 'node-1', ns: 'node8', par: 'node6', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node7" onclick="activate('node7');" x="340" y="170"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="350" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node7');" >@id</text>
+<line x1="365" y1="152" x2="365" y2="170"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="390" y1="181" x2="390" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node8'] = { marked: false, fc: 'node-1', ns: 'node9', par: 'node6', ps: 'node7', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node8" onclick="activate('node8');" x="390" y="170"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="400" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node8');" >@pre</text>
+<line x1="450" y1="181" x2="450" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node9'] = { marked: false, fc: 'node-1', ns: 'node10', par: 'node6', ps: 'node8', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node9" onclick="activate('node9');" x="450" y="170"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="460" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node9');" >@post</text>
+<line x1="520" y1="181" x2="520" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node10'] = { marked: false, fc: 'node11', ns: 'node15', par: 'node6', ps: 'node9', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node10" onclick="activate('node10');" x="520" y="170"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="530" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node10');" >C</text>
+<script type='text/javascript'><![CDATA[ tree['node11'] = { marked: false, fc: 'node-1', ns: 'node12', par: 'node10', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node11" onclick="activate('node11');" x="520" y="210"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="530" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node11');" >@id</text>
+<line x1="545" y1="192" x2="545" y2="210"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="570" y1="221" x2="570" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node12'] = { marked: false, fc: 'node-1', ns: 'node13', par: 'node10', ps: 'node11', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node12" onclick="activate('node12');" x="570" y="210"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="580" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node12');" >@pre</text>
+<line x1="630" y1="221" x2="630" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node13'] = { marked: false, fc: 'node-1', ns: 'node14', par: 'node10', ps: 'node12', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node13" onclick="activate('node13');" x="630" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="640" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node13');" >@post</text>
+<line x1="700" y1="221" x2="700" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node14'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node10', ps: 'node13', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node14" onclick="activate('node14');" x="700" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="710" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node14');" >#text</text>
+<line x1="550" y1="181" x2="780" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node15'] = { marked: false, fc: 'node16', ns: 'node-1', par: 'node6', ps: 'node10', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node15" onclick="activate('node15');" x="780" y="170"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="790" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node15');" >D</text>
+<script type='text/javascript'><![CDATA[ tree['node16'] = { marked: false, fc: 'node-1', ns: 'node17', par: 'node15', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node16" onclick="activate('node16');" x="780" y="210"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="790" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node16');" >@id</text>
+<line x1="805" y1="192" x2="805" y2="210"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="830" y1="221" x2="830" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node17'] = { marked: false, fc: 'node-1', ns: 'node18', par: 'node15', ps: 'node16', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node17" onclick="activate('node17');" x="830" y="210"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="840" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node17');" >@pre</text>
+<line x1="890" y1="221" x2="890" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node18'] = { marked: false, fc: 'node-1', ns: 'node19', par: 'node15', ps: 'node17', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node18" onclick="activate('node18');" x="890" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="900" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node18');" >@post</text>
+<line x1="960" y1="221" x2="960" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node19'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node15', ps: 'node18', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node19" onclick="activate('node19');" x="960" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="970" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node19');" >#text</text>
+<line x1="370" y1="141" x2="1050" y2="141"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node20'] = { marked: false, fc: 'node21', ns: 'node113', par: 'node1', ps: 'node6', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node20" onclick="activate('node20');" x="1050" y="130"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1060" y="145" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node20');" >E</text>
+<script type='text/javascript'><![CDATA[ tree['node21'] = { marked: false, fc: 'node-1', ns: 'node22', par: 'node20', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node21" onclick="activate('node21');" x="1050" y="170"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1060" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node21');" >@id</text>
+<line x1="1075" y1="152" x2="1075" y2="170"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="1100" y1="181" x2="1100" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node22'] = { marked: false, fc: 'node-1', ns: 'node23', par: 'node20', ps: 'node21', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node22" onclick="activate('node22');" x="1100" y="170"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1110" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node22');" >@pre</text>
+<line x1="1160" y1="181" x2="1160" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node23'] = { marked: false, fc: 'node-1', ns: 'node24', par: 'node20', ps: 'node22', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node23" onclick="activate('node23');" x="1160" y="170"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1170" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node23');" >@post</text>
+<line x1="1230" y1="181" x2="1230" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node24'] = { marked: false, fc: 'node25', ns: 'node39', par: 'node20', ps: 'node23', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node24" onclick="activate('node24');" x="1230" y="170"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1240" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node24');" >F</text>
+<script type='text/javascript'><![CDATA[ tree['node25'] = { marked: false, fc: 'node-1', ns: 'node26', par: 'node24', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node25" onclick="activate('node25');" x="1230" y="210"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1240" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node25');" >@id</text>
+<line x1="1255" y1="192" x2="1255" y2="210"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="1280" y1="221" x2="1280" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node26'] = { marked: false, fc: 'node-1', ns: 'node27', par: 'node24', ps: 'node25', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node26" onclick="activate('node26');" x="1280" y="210"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1290" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node26');" >@pre</text>
+<line x1="1340" y1="221" x2="1340" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node27'] = { marked: false, fc: 'node-1', ns: 'node28', par: 'node24', ps: 'node26', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node27" onclick="activate('node27');" x="1340" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1350" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node27');" >@post</text>
+<line x1="1410" y1="221" x2="1410" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node28'] = { marked: false, fc: 'node29', ns: 'node33', par: 'node24', ps: 'node27', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node28" onclick="activate('node28');" x="1410" y="210"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1420" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node28');" >G</text>
+<script type='text/javascript'><![CDATA[ tree['node29'] = { marked: false, fc: 'node-1', ns: 'node30', par: 'node28', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node29" onclick="activate('node29');" x="1410" y="250"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1420" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node29');" >@id</text>
+<line x1="1435" y1="232" x2="1435" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="1460" y1="261" x2="1460" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node30'] = { marked: false, fc: 'node-1', ns: 'node31', par: 'node28', ps: 'node29', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node30" onclick="activate('node30');" x="1460" y="250"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1470" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node30');" >@pre</text>
+<line x1="1520" y1="261" x2="1520" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node31'] = { marked: false, fc: 'node-1', ns: 'node32', par: 'node28', ps: 'node30', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node31" onclick="activate('node31');" x="1520" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1530" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node31');" >@post</text>
+<line x1="1590" y1="261" x2="1590" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node32'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node28', ps: 'node31', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node32" onclick="activate('node32');" x="1590" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1600" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node32');" >#text</text>
+<line x1="1440" y1="221" x2="1670" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node33'] = { marked: false, fc: 'node34', ns: 'node-1', par: 'node24', ps: 'node28', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node33" onclick="activate('node33');" x="1670" y="210"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1680" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node33');" >H</text>
+<script type='text/javascript'><![CDATA[ tree['node34'] = { marked: false, fc: 'node-1', ns: 'node35', par: 'node33', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node34" onclick="activate('node34');" x="1670" y="250"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1680" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node34');" >@id</text>
+<line x1="1695" y1="232" x2="1695" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="1720" y1="261" x2="1720" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node35'] = { marked: false, fc: 'node-1', ns: 'node36', par: 'node33', ps: 'node34', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node35" onclick="activate('node35');" x="1720" y="250"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1730" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node35');" >@pre</text>
+<line x1="1780" y1="261" x2="1780" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node36'] = { marked: false, fc: 'node-1', ns: 'node37', par: 'node33', ps: 'node35', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node36" onclick="activate('node36');" x="1780" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1790" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node36');" >@post</text>
+<line x1="1850" y1="261" x2="1850" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node37'] = { marked: false, fc: 'node-1', ns: 'node38', par: 'node33', ps: 'node36', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node37" onclick="activate('node37');" x="1850" y="250"width="90" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1860" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node37');" >@idrefs</text>
+<line x1="1940" y1="261" x2="1940" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node38'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node33', ps: 'node37', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node38" onclick="activate('node38');" x="1940" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1950" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node38');" >#text</text>
+<line x1="1260" y1="181" x2="2030" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node39'] = { marked: false, fc: 'node40', ns: 'node53', par: 'node20', ps: 'node24', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node39" onclick="activate('node39');" x="2030" y="170"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2040" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node39');" >I</text>
+<script type='text/javascript'><![CDATA[ tree['node40'] = { marked: false, fc: 'node-1', ns: 'node41', par: 'node39', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node40" onclick="activate('node40');" x="2030" y="210"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2040" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node40');" >@id</text>
+<line x1="2055" y1="192" x2="2055" y2="210"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="2080" y1="221" x2="2080" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node41'] = { marked: false, fc: 'node-1', ns: 'node42', par: 'node39', ps: 'node40', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node41" onclick="activate('node41');" x="2080" y="210"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2090" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node41');" >@pre</text>
+<line x1="2140" y1="221" x2="2140" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node42'] = { marked: false, fc: 'node-1', ns: 'node43', par: 'node39', ps: 'node41', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node42" onclick="activate('node42');" x="2140" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2150" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node42');" >@post</text>
+<line x1="2210" y1="221" x2="2210" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node43'] = { marked: false, fc: 'node44', ns: 'node48', par: 'node39', ps: 'node42', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node43" onclick="activate('node43');" x="2210" y="210"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2220" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node43');" >J</text>
+<script type='text/javascript'><![CDATA[ tree['node44'] = { marked: false, fc: 'node-1', ns: 'node45', par: 'node43', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node44" onclick="activate('node44');" x="2210" y="250"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2220" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node44');" >@id</text>
+<line x1="2235" y1="232" x2="2235" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="2260" y1="261" x2="2260" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node45'] = { marked: false, fc: 'node-1', ns: 'node46', par: 'node43', ps: 'node44', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node45" onclick="activate('node45');" x="2260" y="250"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2270" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node45');" >@pre</text>
+<line x1="2320" y1="261" x2="2320" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node46'] = { marked: false, fc: 'node-1', ns: 'node47', par: 'node43', ps: 'node45', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node46" onclick="activate('node46');" x="2320" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2330" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node46');" >@post</text>
+<line x1="2390" y1="261" x2="2390" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node47'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node43', ps: 'node46', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node47" onclick="activate('node47');" x="2390" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2400" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node47');" >#text</text>
+<line x1="2240" y1="221" x2="2470" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node48'] = { marked: false, fc: 'node49', ns: 'node-1', par: 'node39', ps: 'node43', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node48" onclick="activate('node48');" x="2470" y="210"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2480" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node48');" >K</text>
+<script type='text/javascript'><![CDATA[ tree['node49'] = { marked: false, fc: 'node-1', ns: 'node50', par: 'node48', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node49" onclick="activate('node49');" x="2470" y="250"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2480" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node49');" >@id</text>
+<line x1="2495" y1="232" x2="2495" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="2520" y1="261" x2="2520" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node50'] = { marked: false, fc: 'node-1', ns: 'node51', par: 'node48', ps: 'node49', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node50" onclick="activate('node50');" x="2520" y="250"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2530" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node50');" >@pre</text>
+<line x1="2580" y1="261" x2="2580" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node51'] = { marked: false, fc: 'node-1', ns: 'node52', par: 'node48', ps: 'node50', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node51" onclick="activate('node51');" x="2580" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2590" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node51');" >@post</text>
+<line x1="2650" y1="261" x2="2650" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node52'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node48', ps: 'node51', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node52" onclick="activate('node52');" x="2650" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2660" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node52');" >#text</text>
+<line x1="2060" y1="181" x2="2740" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node53'] = { marked: false, fc: 'node54', ns: 'node85', par: 'node20', ps: 'node39', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node53" onclick="activate('node53');" x="2740" y="170"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2750" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node53');" >L</text>
+<script type='text/javascript'><![CDATA[ tree['node54'] = { marked: false, fc: 'node-1', ns: 'node55', par: 'node53', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node54" onclick="activate('node54');" x="2740" y="210"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2750" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node54');" >@id</text>
+<line x1="2765" y1="192" x2="2765" y2="210"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="2790" y1="221" x2="2790" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node55'] = { marked: false, fc: 'node-1', ns: 'node56', par: 'node53', ps: 'node54', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node55" onclick="activate('node55');" x="2790" y="210"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2800" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node55');" >@pre</text>
+<line x1="2850" y1="221" x2="2850" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node56'] = { marked: false, fc: 'node-1', ns: 'node57', par: 'node53', ps: 'node55', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node56" onclick="activate('node56');" x="2850" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2860" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node56');" >@post</text>
+<line x1="2920" y1="221" x2="2920" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node57'] = { marked: false, fc: 'node-1', ns: 'node58', par: 'node53', ps: 'node56', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node57" onclick="activate('node57');" x="2920" y="210"width="100" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2930" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node57');" >#comment</text>
+<line x1="3020" y1="221" x2="3020" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node58'] = { marked: false, fc: 'node-1', ns: 'node59', par: 'node53', ps: 'node57', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node58" onclick="activate('node58');" x="3020" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3030" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node58');" >#text</text>
+<line x1="3090" y1="221" x2="3090" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node59'] = { marked: true, fc: 'node60', ns: 'node63', par: 'node53', ps: 'node58', max: 0, dlist: ['{ q₃ q₄ q₅ }', '{  }'], flist: ['{ q₃ q₄ q₅ }', '{ q₃ q₄ q₅ }'] };]]></script>
+<rect id="node59" onclick="activate('node59');" x="3090" y="210"width="30" height="22" style="fill:rgb(229,10,44);stroke:rgb(0,0,0);stroke-width:4"/><text x="3100" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node59');" >M</text>
+<script type='text/javascript'><![CDATA[ tree['node60'] = { marked: false, fc: 'node-1', ns: 'node61', par: 'node59', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node60" onclick="activate('node60');" x="3090" y="250"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3100" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node60');" >@id</text>
+<line x1="3115" y1="232" x2="3115" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="3140" y1="261" x2="3140" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node61'] = { marked: false, fc: 'node-1', ns: 'node62', par: 'node59', ps: 'node60', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node61" onclick="activate('node61');" x="3140" y="250"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3150" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node61');" >@pre</text>
+<line x1="3200" y1="261" x2="3200" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node62'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node59', ps: 'node61', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node62" onclick="activate('node62');" x="3200" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3210" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node62');" >@post</text>
+<line x1="3120" y1="221" x2="3280" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node63'] = { marked: false, fc: 'node-1', ns: 'node64', par: 'node53', ps: 'node59', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node63" onclick="activate('node63');" x="3280" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3290" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node63');" >#text</text>
+<line x1="3350" y1="221" x2="3350" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node64'] = { marked: false, fc: 'node65', ns: 'node78', par: 'node53', ps: 'node63', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node64" onclick="activate('node64');" x="3350" y="210"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3360" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node64');" >N</text>
+<script type='text/javascript'><![CDATA[ tree['node65'] = { marked: false, fc: 'node-1', ns: 'node66', par: 'node64', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node65" onclick="activate('node65');" x="3350" y="250"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3360" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node65');" >@id</text>
+<line x1="3375" y1="232" x2="3375" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="3400" y1="261" x2="3400" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node66'] = { marked: false, fc: 'node-1', ns: 'node67', par: 'node64', ps: 'node65', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node66" onclick="activate('node66');" x="3400" y="250"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3410" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node66');" >@pre</text>
+<line x1="3460" y1="261" x2="3460" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node67'] = { marked: false, fc: 'node-1', ns: 'node68', par: 'node64', ps: 'node66', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node67" onclick="activate('node67');" x="3460" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3470" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node67');" >@post</text>
+<line x1="3530" y1="261" x2="3530" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node68'] = { marked: false, fc: 'node69', ns: 'node73', par: 'node64', ps: 'node67', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node68" onclick="activate('node68');" x="3530" y="250"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3540" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node68');" >O</text>
+<script type='text/javascript'><![CDATA[ tree['node69'] = { marked: false, fc: 'node-1', ns: 'node70', par: 'node68', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node69" onclick="activate('node69');" x="3530" y="290"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3540" y="305" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node69');" >@id</text>
+<line x1="3555" y1="272" x2="3555" y2="290"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="3580" y1="301" x2="3580" y2="301"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node70'] = { marked: false, fc: 'node-1', ns: 'node71', par: 'node68', ps: 'node69', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node70" onclick="activate('node70');" x="3580" y="290"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3590" y="305" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node70');" >@pre</text>
+<line x1="3640" y1="301" x2="3640" y2="301"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node71'] = { marked: false, fc: 'node-1', ns: 'node72', par: 'node68', ps: 'node70', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node71" onclick="activate('node71');" x="3640" y="290"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3650" y="305" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node71');" >@post</text>
+<line x1="3710" y1="301" x2="3710" y2="301"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node72'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node68', ps: 'node71', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node72" onclick="activate('node72');" x="3710" y="290"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3720" y="305" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node72');" >#text</text>
+<line x1="3560" y1="261" x2="3790" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node73'] = { marked: false, fc: 'node74', ns: 'node-1', par: 'node64', ps: 'node68', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node73" onclick="activate('node73');" x="3790" y="250"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3800" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node73');" >P</text>
+<script type='text/javascript'><![CDATA[ tree['node74'] = { marked: false, fc: 'node-1', ns: 'node75', par: 'node73', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node74" onclick="activate('node74');" x="3790" y="290"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3800" y="305" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node74');" >@id</text>
+<line x1="3815" y1="272" x2="3815" y2="290"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="3840" y1="301" x2="3840" y2="301"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node75'] = { marked: false, fc: 'node-1', ns: 'node76', par: 'node73', ps: 'node74', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node75" onclick="activate('node75');" x="3840" y="290"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3850" y="305" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node75');" >@pre</text>
+<line x1="3900" y1="301" x2="3900" y2="301"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node76'] = { marked: false, fc: 'node-1', ns: 'node77', par: 'node73', ps: 'node75', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node76" onclick="activate('node76');" x="3900" y="290"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3910" y="305" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node76');" >@post</text>
+<line x1="3970" y1="301" x2="3970" y2="301"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node77'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node73', ps: 'node76', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node77" onclick="activate('node77');" x="3970" y="290"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3980" y="305" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node77');" >#text</text>
+<line x1="3380" y1="221" x2="4060" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node78'] = { marked: false, fc: 'node-1', ns: 'node79', par: 'node53', ps: 'node64', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node78" onclick="activate('node78');" x="4060" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4070" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node78');" >?myPI</text>
+<line x1="4130" y1="221" x2="4130" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node79'] = { marked: false, fc: 'node80', ns: 'node-1', par: 'node53', ps: 'node78', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node79" onclick="activate('node79');" x="4130" y="210"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4140" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node79');" >Q</text>
+<script type='text/javascript'><![CDATA[ tree['node80'] = { marked: false, fc: 'node-1', ns: 'node81', par: 'node79', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node80" onclick="activate('node80');" x="4130" y="250"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4140" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node80');" >@id</text>
+<line x1="4155" y1="232" x2="4155" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="4180" y1="261" x2="4180" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node81'] = { marked: false, fc: 'node-1', ns: 'node82', par: 'node79', ps: 'node80', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node81" onclick="activate('node81');" x="4180" y="250"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4190" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node81');" >@pre</text>
+<line x1="4240" y1="261" x2="4240" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node82'] = { marked: false, fc: 'node-1', ns: 'node83', par: 'node79', ps: 'node81', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node82" onclick="activate('node82');" x="4240" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4250" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node82');" >@post</text>
+<line x1="4310" y1="261" x2="4310" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node83'] = { marked: false, fc: 'node-1', ns: 'node84', par: 'node79', ps: 'node82', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node83" onclick="activate('node83');" x="4310" y="250"width="90" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4320" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node83');" >@idrefs</text>
+<line x1="4400" y1="261" x2="4400" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node84'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node79', ps: 'node83', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node84" onclick="activate('node84');" x="4400" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4410" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node84');" >#text</text>
+<line x1="2770" y1="181" x2="4490" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node85'] = { marked: false, fc: 'node86', ns: 'node99', par: 'node20', ps: 'node53', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node85" onclick="activate('node85');" x="4490" y="170"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4500" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node85');" >R</text>
+<script type='text/javascript'><![CDATA[ tree['node86'] = { marked: false, fc: 'node-1', ns: 'node87', par: 'node85', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node86" onclick="activate('node86');" x="4490" y="210"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4500" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node86');" >@id</text>
+<line x1="4515" y1="192" x2="4515" y2="210"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="4540" y1="221" x2="4540" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node87'] = { marked: false, fc: 'node-1', ns: 'node88', par: 'node85', ps: 'node86', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node87" onclick="activate('node87');" x="4540" y="210"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4550" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node87');" >@pre</text>
+<line x1="4600" y1="221" x2="4600" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node88'] = { marked: false, fc: 'node-1', ns: 'node89', par: 'node85', ps: 'node87', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node88" onclick="activate('node88');" x="4600" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4610" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node88');" >@post</text>
+<line x1="4670" y1="221" x2="4670" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node89'] = { marked: false, fc: 'node90', ns: 'node94', par: 'node85', ps: 'node88', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node89" onclick="activate('node89');" x="4670" y="210"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4680" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node89');" >S</text>
+<script type='text/javascript'><![CDATA[ tree['node90'] = { marked: false, fc: 'node-1', ns: 'node91', par: 'node89', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node90" onclick="activate('node90');" x="4670" y="250"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4680" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node90');" >@id</text>
+<line x1="4695" y1="232" x2="4695" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="4720" y1="261" x2="4720" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node91'] = { marked: false, fc: 'node-1', ns: 'node92', par: 'node89', ps: 'node90', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node91" onclick="activate('node91');" x="4720" y="250"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4730" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node91');" >@pre</text>
+<line x1="4780" y1="261" x2="4780" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node92'] = { marked: false, fc: 'node-1', ns: 'node93', par: 'node89', ps: 'node91', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node92" onclick="activate('node92');" x="4780" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4790" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node92');" >@post</text>
+<line x1="4850" y1="261" x2="4850" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node93'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node89', ps: 'node92', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node93" onclick="activate('node93');" x="4850" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4860" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node93');" >#text</text>
+<line x1="4700" y1="221" x2="4930" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node94'] = { marked: false, fc: 'node95', ns: 'node-1', par: 'node85', ps: 'node89', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node94" onclick="activate('node94');" x="4930" y="210"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4940" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node94');" >T</text>
+<script type='text/javascript'><![CDATA[ tree['node95'] = { marked: false, fc: 'node-1', ns: 'node96', par: 'node94', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node95" onclick="activate('node95');" x="4930" y="250"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4940" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node95');" >@id</text>
+<line x1="4955" y1="232" x2="4955" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="4980" y1="261" x2="4980" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node96'] = { marked: false, fc: 'node-1', ns: 'node97', par: 'node94', ps: 'node95', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node96" onclick="activate('node96');" x="4980" y="250"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4990" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node96');" >@pre</text>
+<line x1="5040" y1="261" x2="5040" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node97'] = { marked: false, fc: 'node-1', ns: 'node98', par: 'node94', ps: 'node96', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node97" onclick="activate('node97');" x="5040" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5050" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node97');" >@post</text>
+<line x1="5110" y1="261" x2="5110" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node98'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node94', ps: 'node97', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node98" onclick="activate('node98');" x="5110" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5120" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node98');" >#text</text>
+<line x1="4520" y1="181" x2="5200" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node99'] = { marked: false, fc: 'node100', ns: 'node-1', par: 'node20', ps: 'node85', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node99" onclick="activate('node99');" x="5200" y="170"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5210" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node99');" >U</text>
+<script type='text/javascript'><![CDATA[ tree['node100'] = { marked: false, fc: 'node-1', ns: 'node101', par: 'node99', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node100" onclick="activate('node100');" x="5200" y="210"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5210" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node100');" >@id</text>
+<line x1="5225" y1="192" x2="5225" y2="210"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="5250" y1="221" x2="5250" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node101'] = { marked: false, fc: 'node-1', ns: 'node102', par: 'node99', ps: 'node100', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node101" onclick="activate('node101');" x="5250" y="210"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5260" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node101');" >@pre</text>
+<line x1="5310" y1="221" x2="5310" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node102'] = { marked: false, fc: 'node-1', ns: 'node103', par: 'node99', ps: 'node101', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node102" onclick="activate('node102');" x="5310" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5320" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node102');" >@post</text>
+<line x1="5380" y1="221" x2="5380" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node103'] = { marked: false, fc: 'node104', ns: 'node108', par: 'node99', ps: 'node102', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node103" onclick="activate('node103');" x="5380" y="210"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5390" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node103');" >V</text>
+<script type='text/javascript'><![CDATA[ tree['node104'] = { marked: false, fc: 'node-1', ns: 'node105', par: 'node103', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node104" onclick="activate('node104');" x="5380" y="250"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5390" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node104');" >@id</text>
+<line x1="5405" y1="232" x2="5405" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="5430" y1="261" x2="5430" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node105'] = { marked: false, fc: 'node-1', ns: 'node106', par: 'node103', ps: 'node104', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node105" onclick="activate('node105');" x="5430" y="250"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5440" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node105');" >@pre</text>
+<line x1="5490" y1="261" x2="5490" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node106'] = { marked: false, fc: 'node-1', ns: 'node107', par: 'node103', ps: 'node105', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node106" onclick="activate('node106');" x="5490" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5500" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node106');" >@post</text>
+<line x1="5560" y1="261" x2="5560" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node107'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node103', ps: 'node106', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node107" onclick="activate('node107');" x="5560" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5570" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node107');" >#text</text>
+<line x1="5410" y1="221" x2="5640" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node108'] = { marked: false, fc: 'node109', ns: 'node-1', par: 'node99', ps: 'node103', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node108" onclick="activate('node108');" x="5640" y="210"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5650" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node108');" >W</text>
+<script type='text/javascript'><![CDATA[ tree['node109'] = { marked: false, fc: 'node-1', ns: 'node110', par: 'node108', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node109" onclick="activate('node109');" x="5640" y="250"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5650" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node109');" >@id</text>
+<line x1="5665" y1="232" x2="5665" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="5690" y1="261" x2="5690" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node110'] = { marked: false, fc: 'node-1', ns: 'node111', par: 'node108', ps: 'node109', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node110" onclick="activate('node110');" x="5690" y="250"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5700" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node110');" >@pre</text>
+<line x1="5750" y1="261" x2="5750" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node111'] = { marked: false, fc: 'node-1', ns: 'node112', par: 'node108', ps: 'node110', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node111" onclick="activate('node111');" x="5750" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5760" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node111');" >@post</text>
+<line x1="5820" y1="261" x2="5820" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node112'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node108', ps: 'node111', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node112" onclick="activate('node112');" x="5820" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5830" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node112');" >#text</text>
+<line x1="1080" y1="141" x2="5920" y2="141"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node113'] = { marked: false, fc: 'node114', ns: 'node-1', par: 'node1', ps: 'node20', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node113" onclick="activate('node113');" x="5920" y="130"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5930" y="145" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node113');" >X</text>
+<script type='text/javascript'><![CDATA[ tree['node114'] = { marked: false, fc: 'node-1', ns: 'node115', par: 'node113', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node114" onclick="activate('node114');" x="5920" y="170"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5930" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node114');" >@id</text>
+<line x1="5945" y1="152" x2="5945" y2="170"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="5970" y1="181" x2="5970" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node115'] = { marked: false, fc: 'node-1', ns: 'node116', par: 'node113', ps: 'node114', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node115" onclick="activate('node115');" x="5970" y="170"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5980" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node115');" >@pre</text>
+<line x1="6030" y1="181" x2="6030" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node116'] = { marked: false, fc: 'node-1', ns: 'node117', par: 'node113', ps: 'node115', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node116" onclick="activate('node116');" x="6030" y="170"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6040" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node116');" >@post</text>
+<line x1="6100" y1="181" x2="6100" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node117'] = { marked: false, fc: 'node118', ns: 'node122', par: 'node113', ps: 'node116', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node117" onclick="activate('node117');" x="6100" y="170"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6110" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node117');" >Y</text>
+<script type='text/javascript'><![CDATA[ tree['node118'] = { marked: false, fc: 'node-1', ns: 'node119', par: 'node117', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node118" onclick="activate('node118');" x="6100" y="210"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6110" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node118');" >@id</text>
+<line x1="6125" y1="192" x2="6125" y2="210"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="6150" y1="221" x2="6150" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node119'] = { marked: false, fc: 'node-1', ns: 'node120', par: 'node117', ps: 'node118', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node119" onclick="activate('node119');" x="6150" y="210"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6160" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node119');" >@pre</text>
+<line x1="6210" y1="221" x2="6210" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node120'] = { marked: false, fc: 'node-1', ns: 'node121', par: 'node117', ps: 'node119', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node120" onclick="activate('node120');" x="6210" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6220" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node120');" >@post</text>
+<line x1="6280" y1="221" x2="6280" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node121'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node117', ps: 'node120', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node121" onclick="activate('node121');" x="6280" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6290" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node121');" >#text</text>
+<line x1="6130" y1="181" x2="6360" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node122'] = { marked: false, fc: 'node123', ns: 'node-1', par: 'node113', ps: 'node117', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node122" onclick="activate('node122');" x="6360" y="170"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6370" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node122');" >Z</text>
+<script type='text/javascript'><![CDATA[ tree['node123'] = { marked: false, fc: 'node-1', ns: 'node124', par: 'node122', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node123" onclick="activate('node123');" x="6360" y="210"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6370" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node123');" >@id</text>
+<line x1="6385" y1="192" x2="6385" y2="210"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="6410" y1="221" x2="6410" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node124'] = { marked: false, fc: 'node-1', ns: 'node125', par: 'node122', ps: 'node123', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node124" onclick="activate('node124');" x="6410" y="210"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6420" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node124');" >@pre</text>
+<line x1="6470" y1="221" x2="6470" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node125'] = { marked: false, fc: 'node-1', ns: 'node126', par: 'node122', ps: 'node124', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node125" onclick="activate('node125');" x="6470" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6480" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node125');" >@post</text>
+<line x1="6540" y1="221" x2="6540" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node126'] = { marked: false, fc: 'node-1', ns: 'node127', par: 'node122', ps: 'node125', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node126" onclick="activate('node126');" x="6540" y="210"width="90" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6550" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node126');" >@idrefs</text>
+<line x1="6630" y1="221" x2="6630" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node127'] = { marked: false, fc: 'node-1', ns: 'node128', par: 'node122', ps: 'node126', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node127" onclick="activate('node127');" x="6630" y="210"width="110" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6640" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node127');" >@xml:lang</text>
+<line x1="6740" y1="221" x2="6740" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node128'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node122', ps: 'node127', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node128" onclick="activate('node128');" x="6740" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6750" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node128');" >#text</text>
+<line x1="65" y1="72" x2="65" y2="90"style="stroke:rgb(0,0,0);stroke-width:2"/>
+</svg>
+</div></div><script type='text/javascript'>
+window.onload = function () {
+var svg = document.getElementById('svgimg');
+svg.setAttribute('width', 6850);
+svg.setAttribute('height', 330);
+activate('node0');
+};
+
+</script></body></html>
diff --git a/pres-typex/ex1.xhtml b/pres-typex/ex1.xhtml
new file mode 100644 (file)
index 0000000..943d6a1
--- /dev/null
@@ -0,0 +1,572 @@
+<html>
+<head><title></title>
+<meta http-equiv='content-type' content='text/html;charset=utf-8'/>
+<style>
+/* -*-CSS-*- */
+button {
+border-radius: 5px;
+border: none;
+}
+div#data {
+position: absolute;
+top: 0%;
+left: 50%;
+width: 50%;
+height: 50%;
+overflow: auto;
+}
+div#tree {
+position: absolute;
+top: 50%;
+left: 0%;
+width: 100%;
+height: 50%;
+overflow: hidden;
+}
+div#svg {
+position: absolute;
+left:0%;
+right:0%;
+top:10%;
+bottom:0%;
+overflow: auto;
+}
+div#automata {
+white-space: pre;
+overflow: auto;
+position: absolute;
+width: 50%;
+top: 0%;
+left: 0%;
+height: 50%;
+}
+@-webkit-keyframes fadein {
+from { fill-opacity: 0; }
+to { fill-opacity: 1; }
+}
+
+@-moz-keyframes fadein {
+from { fill-opacity: 0; }
+to { fill-opacity: 1; }
+}
+
+@keyframes fadein {
+from { fill-opacity: 0; }
+to { fill-opacity: 1; }
+}
+
+.blink {
+-webkit-animation: fadein 1.2s ease-in alternate infinite;
+-moz-animation: fadein 1.2s ease-in alternate infinite;
+animation: fadein 1.2s ease-in alternate infinite;
+}
+
+</style>
+</head>
+<body>
+<div id='automata' >Internal UID: 0
+States: { q₀ q₁ q₂ q₃ q₄ q₅ }
+Number of states: 6
+Starting states: { q₀ }
+Selection states: { q₅ }
+Ranked states: 0:{ q₀ q₁ q₂ q₃ q₄ q₅ }
+Alternating transitions:
+_______________________________________________
+q₁, ∑     →  •q₀
+_______________________________________________
+q₂, ∑     →  •q₁
+_______________________________________________
+q₃, ∑     →  ↑q₂ ∧ ↑? ∨ ↑q₃ ∧ ↑? ∨ ←q₃ ∧ ←?
+_______________________________________________
+q₄, {M}   →  •q₃ ∧ ¬is-attribute? ∧ is-element?
+q₄, ∑-{M} →  ⊥
+_______________________________________________
+q₅, ∑     →  •q₄
+_______________________________________________
+</div>
+<div id='data' > </div>
+<script type='text/javascript'>
+var tree = new Array();
+var current_node = null;
+var nil_id = 'node-1';
+var last_id = 129;
+var rounds = 1;
+// -*-Javascript-*-
+
+var hide_nodes = function () {
+var v = document.getElementById('relnodes').value;
+for(i = 0; i < last_id; i++) {
+var id = 'node' + i;
+var rect = document.getElementById(id);
+
+if ((v-0) <= tree[id].max)
+rect.style.fillOpacity = 1;
+else
+rect.style.fillOpacity = 0.3;
+}
+};
+
+var activate_parent = function () {
+if (current_node) activate(tree[current_node].par);
+};
+var activate_previous = function () {
+if (current_node) activate(tree[current_node].ps);
+};
+var activate_next = function () {
+if (current_node) activate(tree[current_node].ns);
+};
+var activate_first = function () {
+if (current_node) activate(tree[current_node].fc);
+};
+var buttons = document.getElementsByTagName("button");
+var activate = function (id)
+{
+if (id == nil_id) return;
+if (current_node) {
+var rect = document.getElementById(current_node);
+rect.style.fillOpacity = 1.0;
+rect.style.stroke = 'black';
+rect.classList.remove('blink');
+};
+hide_nodes();
+current_node = id;
+buttons[0].disabled = tree[id].par == nil_id;
+buttons[1].disabled = tree[id].ps == nil_id;
+buttons[2].disabled = tree[id].fc == nil_id;
+buttons[3].disabled = tree[id].ns == nil_id;
+
+var node = document.getElementById(id);
+var div = document.getElementById('svg');
+var node_dim = node.getBBox();
+var div_dim = div.getBoundingClientRect();
+var nx = node_dim.x;
+var ny = node_dim.y;
+var hs = nx - (div_dim.width / 2 - node_dim.width / 2);
+var vs = ny - (div_dim.height / 2 - node_dim.height / 2);
+div.scrollLeft = hs;
+div.scrollTop = vs;
+node.style.stroke = 'red';
+old_node = node;
+node.classList.add('blink');
+
+var d = document.getElementById('data');
+var msg = '';
+for (i=0; i <= rounds; i++)
+msg += ('<p>round ' + i + ':<br/>new states:') + tree[id].dlist[i]
++ '<br/>all states:' + tree[id].flist[i] + '</p>\n';
+d.innerHTML = msg;
+return;
+};
+
+
+</script>
+<div id='tree'>
+<div id='controls'><button onclick='activate_parent();'>↑</button>
+<button onclick='activate_previous();'>←</button>
+<button onclick='activate_first();'>↓</button>
+<button onclick='activate_next();'>→</button>
+<select id='relnodes' onchange='hide_nodes();'>
+<option value='-1'>All nodes</option>
+<option value='0'>Relevant nodes on pass 0</option>
+ <option value='1'>Relevant nodes on pass 1</option>
+</select>
+</div>
+<div id='svg'>
+
+   <svg id='svgimg' width='' height='' xmlns="http://www.w3.org/2000/svg" version="1.1">
+<script type='text/javascript'><![CDATA[ tree['node0'] = { marked: false, fc: 'node1', ns: 'node-1', par: 'node-1', ps: 'node-1', max: 0, dlist: ['{ q₀ q₁ q₂ }', '{  }'], flist: ['{ q₀ q₁ q₂ }', '{ q₀ q₁ q₂ }'] };]]></script>
+<rect id="node0" onclick="activate('node0');" x="50" y="50"width="110" height="22" style="fill:rgb(111,8,34);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="60" y="65" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node0');" >#document</text>
+<script type='text/javascript'><![CDATA[ tree['node1'] = { marked: false, fc: 'node2', ns: 'node-1', par: 'node0', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node1" onclick="activate('node1');" x="50" y="90"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="60" y="105" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node1');" >A</text>
+<script type='text/javascript'><![CDATA[ tree['node2'] = { marked: false, fc: 'node-1', ns: 'node3', par: 'node1', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node2" onclick="activate('node2');" x="50" y="130"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="60" y="145" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node2');" >@id</text>
+<line x1="75" y1="112" x2="75" y2="130"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="100" y1="141" x2="100" y2="141"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node3'] = { marked: false, fc: 'node-1', ns: 'node4', par: 'node1', ps: 'node2', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node3" onclick="activate('node3');" x="100" y="130"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="110" y="145" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node3');" >@pre</text>
+<line x1="160" y1="141" x2="160" y2="141"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node4'] = { marked: false, fc: 'node-1', ns: 'node5', par: 'node1', ps: 'node3', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node4" onclick="activate('node4');" x="160" y="130"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="170" y="145" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node4');" >@post</text>
+<line x1="230" y1="141" x2="230" y2="141"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node5'] = { marked: false, fc: 'node-1', ns: 'node6', par: 'node1', ps: 'node4', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node5" onclick="activate('node5');" x="230" y="130"width="110" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="240" y="145" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node5');" >@xml:lang</text>
+<line x1="340" y1="141" x2="340" y2="141"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node6'] = { marked: false, fc: 'node7', ns: 'node20', par: 'node1', ps: 'node5', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node6" onclick="activate('node6');" x="340" y="130"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="350" y="145" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node6');" >B</text>
+<script type='text/javascript'><![CDATA[ tree['node7'] = { marked: false, fc: 'node-1', ns: 'node8', par: 'node6', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node7" onclick="activate('node7');" x="340" y="170"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="350" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node7');" >@id</text>
+<line x1="365" y1="152" x2="365" y2="170"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="390" y1="181" x2="390" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node8'] = { marked: false, fc: 'node-1', ns: 'node9', par: 'node6', ps: 'node7', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node8" onclick="activate('node8');" x="390" y="170"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="400" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node8');" >@pre</text>
+<line x1="450" y1="181" x2="450" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node9'] = { marked: false, fc: 'node-1', ns: 'node10', par: 'node6', ps: 'node8', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node9" onclick="activate('node9');" x="450" y="170"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="460" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node9');" >@post</text>
+<line x1="520" y1="181" x2="520" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node10'] = { marked: false, fc: 'node11', ns: 'node15', par: 'node6', ps: 'node9', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node10" onclick="activate('node10');" x="520" y="170"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="530" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node10');" >C</text>
+<script type='text/javascript'><![CDATA[ tree['node11'] = { marked: false, fc: 'node-1', ns: 'node12', par: 'node10', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node11" onclick="activate('node11');" x="520" y="210"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="530" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node11');" >@id</text>
+<line x1="545" y1="192" x2="545" y2="210"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="570" y1="221" x2="570" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node12'] = { marked: false, fc: 'node-1', ns: 'node13', par: 'node10', ps: 'node11', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node12" onclick="activate('node12');" x="570" y="210"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="580" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node12');" >@pre</text>
+<line x1="630" y1="221" x2="630" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node13'] = { marked: false, fc: 'node-1', ns: 'node14', par: 'node10', ps: 'node12', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node13" onclick="activate('node13');" x="630" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="640" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node13');" >@post</text>
+<line x1="700" y1="221" x2="700" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node14'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node10', ps: 'node13', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node14" onclick="activate('node14');" x="700" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="710" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node14');" >#text</text>
+<line x1="550" y1="181" x2="780" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node15'] = { marked: false, fc: 'node16', ns: 'node-1', par: 'node6', ps: 'node10', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node15" onclick="activate('node15');" x="780" y="170"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="790" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node15');" >D</text>
+<script type='text/javascript'><![CDATA[ tree['node16'] = { marked: false, fc: 'node-1', ns: 'node17', par: 'node15', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node16" onclick="activate('node16');" x="780" y="210"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="790" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node16');" >@id</text>
+<line x1="805" y1="192" x2="805" y2="210"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="830" y1="221" x2="830" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node17'] = { marked: false, fc: 'node-1', ns: 'node18', par: 'node15', ps: 'node16', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node17" onclick="activate('node17');" x="830" y="210"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="840" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node17');" >@pre</text>
+<line x1="890" y1="221" x2="890" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node18'] = { marked: false, fc: 'node-1', ns: 'node19', par: 'node15', ps: 'node17', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node18" onclick="activate('node18');" x="890" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="900" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node18');" >@post</text>
+<line x1="960" y1="221" x2="960" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node19'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node15', ps: 'node18', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node19" onclick="activate('node19');" x="960" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="970" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node19');" >#text</text>
+<line x1="370" y1="141" x2="1050" y2="141"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node20'] = { marked: false, fc: 'node21', ns: 'node113', par: 'node1', ps: 'node6', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node20" onclick="activate('node20');" x="1050" y="130"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1060" y="145" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node20');" >E</text>
+<script type='text/javascript'><![CDATA[ tree['node21'] = { marked: false, fc: 'node-1', ns: 'node22', par: 'node20', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node21" onclick="activate('node21');" x="1050" y="170"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1060" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node21');" >@id</text>
+<line x1="1075" y1="152" x2="1075" y2="170"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="1100" y1="181" x2="1100" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node22'] = { marked: false, fc: 'node-1', ns: 'node23', par: 'node20', ps: 'node21', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node22" onclick="activate('node22');" x="1100" y="170"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1110" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node22');" >@pre</text>
+<line x1="1160" y1="181" x2="1160" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node23'] = { marked: false, fc: 'node-1', ns: 'node24', par: 'node20', ps: 'node22', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node23" onclick="activate('node23');" x="1160" y="170"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1170" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node23');" >@post</text>
+<line x1="1230" y1="181" x2="1230" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node24'] = { marked: false, fc: 'node25', ns: 'node39', par: 'node20', ps: 'node23', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node24" onclick="activate('node24');" x="1230" y="170"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1240" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node24');" >F</text>
+<script type='text/javascript'><![CDATA[ tree['node25'] = { marked: false, fc: 'node-1', ns: 'node26', par: 'node24', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node25" onclick="activate('node25');" x="1230" y="210"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1240" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node25');" >@id</text>
+<line x1="1255" y1="192" x2="1255" y2="210"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="1280" y1="221" x2="1280" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node26'] = { marked: false, fc: 'node-1', ns: 'node27', par: 'node24', ps: 'node25', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node26" onclick="activate('node26');" x="1280" y="210"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1290" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node26');" >@pre</text>
+<line x1="1340" y1="221" x2="1340" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node27'] = { marked: false, fc: 'node-1', ns: 'node28', par: 'node24', ps: 'node26', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node27" onclick="activate('node27');" x="1340" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1350" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node27');" >@post</text>
+<line x1="1410" y1="221" x2="1410" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node28'] = { marked: false, fc: 'node29', ns: 'node33', par: 'node24', ps: 'node27', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node28" onclick="activate('node28');" x="1410" y="210"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1420" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node28');" >G</text>
+<script type='text/javascript'><![CDATA[ tree['node29'] = { marked: false, fc: 'node-1', ns: 'node30', par: 'node28', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node29" onclick="activate('node29');" x="1410" y="250"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1420" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node29');" >@id</text>
+<line x1="1435" y1="232" x2="1435" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="1460" y1="261" x2="1460" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node30'] = { marked: false, fc: 'node-1', ns: 'node31', par: 'node28', ps: 'node29', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node30" onclick="activate('node30');" x="1460" y="250"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1470" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node30');" >@pre</text>
+<line x1="1520" y1="261" x2="1520" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node31'] = { marked: false, fc: 'node-1', ns: 'node32', par: 'node28', ps: 'node30', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node31" onclick="activate('node31');" x="1520" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1530" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node31');" >@post</text>
+<line x1="1590" y1="261" x2="1590" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node32'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node28', ps: 'node31', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node32" onclick="activate('node32');" x="1590" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1600" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node32');" >#text</text>
+<line x1="1440" y1="221" x2="1670" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node33'] = { marked: false, fc: 'node34', ns: 'node-1', par: 'node24', ps: 'node28', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node33" onclick="activate('node33');" x="1670" y="210"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1680" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node33');" >H</text>
+<script type='text/javascript'><![CDATA[ tree['node34'] = { marked: false, fc: 'node-1', ns: 'node35', par: 'node33', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node34" onclick="activate('node34');" x="1670" y="250"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1680" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node34');" >@id</text>
+<line x1="1695" y1="232" x2="1695" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="1720" y1="261" x2="1720" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node35'] = { marked: false, fc: 'node-1', ns: 'node36', par: 'node33', ps: 'node34', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node35" onclick="activate('node35');" x="1720" y="250"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1730" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node35');" >@pre</text>
+<line x1="1780" y1="261" x2="1780" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node36'] = { marked: false, fc: 'node-1', ns: 'node37', par: 'node33', ps: 'node35', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node36" onclick="activate('node36');" x="1780" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1790" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node36');" >@post</text>
+<line x1="1850" y1="261" x2="1850" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node37'] = { marked: false, fc: 'node-1', ns: 'node38', par: 'node33', ps: 'node36', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node37" onclick="activate('node37');" x="1850" y="250"width="90" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1860" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node37');" >@idrefs</text>
+<line x1="1940" y1="261" x2="1940" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node38'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node33', ps: 'node37', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node38" onclick="activate('node38');" x="1940" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1950" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node38');" >#text</text>
+<line x1="1260" y1="181" x2="2030" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node39'] = { marked: false, fc: 'node40', ns: 'node53', par: 'node20', ps: 'node24', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node39" onclick="activate('node39');" x="2030" y="170"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2040" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node39');" >I</text>
+<script type='text/javascript'><![CDATA[ tree['node40'] = { marked: false, fc: 'node-1', ns: 'node41', par: 'node39', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node40" onclick="activate('node40');" x="2030" y="210"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2040" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node40');" >@id</text>
+<line x1="2055" y1="192" x2="2055" y2="210"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="2080" y1="221" x2="2080" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node41'] = { marked: false, fc: 'node-1', ns: 'node42', par: 'node39', ps: 'node40', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node41" onclick="activate('node41');" x="2080" y="210"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2090" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node41');" >@pre</text>
+<line x1="2140" y1="221" x2="2140" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node42'] = { marked: false, fc: 'node-1', ns: 'node43', par: 'node39', ps: 'node41', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node42" onclick="activate('node42');" x="2140" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2150" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node42');" >@post</text>
+<line x1="2210" y1="221" x2="2210" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node43'] = { marked: false, fc: 'node44', ns: 'node48', par: 'node39', ps: 'node42', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node43" onclick="activate('node43');" x="2210" y="210"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2220" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node43');" >J</text>
+<script type='text/javascript'><![CDATA[ tree['node44'] = { marked: false, fc: 'node-1', ns: 'node45', par: 'node43', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node44" onclick="activate('node44');" x="2210" y="250"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2220" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node44');" >@id</text>
+<line x1="2235" y1="232" x2="2235" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="2260" y1="261" x2="2260" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node45'] = { marked: false, fc: 'node-1', ns: 'node46', par: 'node43', ps: 'node44', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node45" onclick="activate('node45');" x="2260" y="250"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2270" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node45');" >@pre</text>
+<line x1="2320" y1="261" x2="2320" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node46'] = { marked: false, fc: 'node-1', ns: 'node47', par: 'node43', ps: 'node45', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node46" onclick="activate('node46');" x="2320" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2330" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node46');" >@post</text>
+<line x1="2390" y1="261" x2="2390" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node47'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node43', ps: 'node46', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node47" onclick="activate('node47');" x="2390" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2400" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node47');" >#text</text>
+<line x1="2240" y1="221" x2="2470" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node48'] = { marked: false, fc: 'node49', ns: 'node-1', par: 'node39', ps: 'node43', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node48" onclick="activate('node48');" x="2470" y="210"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2480" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node48');" >K</text>
+<script type='text/javascript'><![CDATA[ tree['node49'] = { marked: false, fc: 'node-1', ns: 'node50', par: 'node48', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node49" onclick="activate('node49');" x="2470" y="250"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2480" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node49');" >@id</text>
+<line x1="2495" y1="232" x2="2495" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="2520" y1="261" x2="2520" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node50'] = { marked: false, fc: 'node-1', ns: 'node51', par: 'node48', ps: 'node49', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node50" onclick="activate('node50');" x="2520" y="250"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2530" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node50');" >@pre</text>
+<line x1="2580" y1="261" x2="2580" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node51'] = { marked: false, fc: 'node-1', ns: 'node52', par: 'node48', ps: 'node50', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node51" onclick="activate('node51');" x="2580" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2590" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node51');" >@post</text>
+<line x1="2650" y1="261" x2="2650" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node52'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node48', ps: 'node51', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node52" onclick="activate('node52');" x="2650" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2660" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node52');" >#text</text>
+<line x1="2060" y1="181" x2="2740" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node53'] = { marked: false, fc: 'node54', ns: 'node85', par: 'node20', ps: 'node39', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node53" onclick="activate('node53');" x="2740" y="170"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2750" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node53');" >L</text>
+<script type='text/javascript'><![CDATA[ tree['node54'] = { marked: false, fc: 'node-1', ns: 'node55', par: 'node53', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node54" onclick="activate('node54');" x="2740" y="210"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2750" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node54');" >@id</text>
+<line x1="2765" y1="192" x2="2765" y2="210"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="2790" y1="221" x2="2790" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node55'] = { marked: false, fc: 'node-1', ns: 'node56', par: 'node53', ps: 'node54', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node55" onclick="activate('node55');" x="2790" y="210"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2800" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node55');" >@pre</text>
+<line x1="2850" y1="221" x2="2850" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node56'] = { marked: false, fc: 'node-1', ns: 'node57', par: 'node53', ps: 'node55', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node56" onclick="activate('node56');" x="2850" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2860" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node56');" >@post</text>
+<line x1="2920" y1="221" x2="2920" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node57'] = { marked: false, fc: 'node-1', ns: 'node58', par: 'node53', ps: 'node56', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node57" onclick="activate('node57');" x="2920" y="210"width="100" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2930" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node57');" >#comment</text>
+<line x1="3020" y1="221" x2="3020" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node58'] = { marked: false, fc: 'node-1', ns: 'node59', par: 'node53', ps: 'node57', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node58" onclick="activate('node58');" x="3020" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3030" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node58');" >#text</text>
+<line x1="3090" y1="221" x2="3090" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node59'] = { marked: true, fc: 'node60', ns: 'node63', par: 'node53', ps: 'node58', max: 0, dlist: ['{ q₃ q₄ q₅ }', '{  }'], flist: ['{ q₃ q₄ q₅ }', '{ q₃ q₄ q₅ }'] };]]></script>
+<rect id="node59" onclick="activate('node59');" x="3090" y="210"width="30" height="22" style="fill:rgb(229,10,44);stroke:rgb(0,0,0);stroke-width:4"/><text x="3100" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node59');" >M</text>
+<script type='text/javascript'><![CDATA[ tree['node60'] = { marked: false, fc: 'node-1', ns: 'node61', par: 'node59', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node60" onclick="activate('node60');" x="3090" y="250"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3100" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node60');" >@id</text>
+<line x1="3115" y1="232" x2="3115" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="3140" y1="261" x2="3140" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node61'] = { marked: false, fc: 'node-1', ns: 'node62', par: 'node59', ps: 'node60', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node61" onclick="activate('node61');" x="3140" y="250"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3150" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node61');" >@pre</text>
+<line x1="3200" y1="261" x2="3200" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node62'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node59', ps: 'node61', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node62" onclick="activate('node62');" x="3200" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3210" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node62');" >@post</text>
+<line x1="3120" y1="221" x2="3280" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node63'] = { marked: false, fc: 'node-1', ns: 'node64', par: 'node53', ps: 'node59', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node63" onclick="activate('node63');" x="3280" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3290" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node63');" >#text</text>
+<line x1="3350" y1="221" x2="3350" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node64'] = { marked: false, fc: 'node65', ns: 'node78', par: 'node53', ps: 'node63', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node64" onclick="activate('node64');" x="3350" y="210"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3360" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node64');" >N</text>
+<script type='text/javascript'><![CDATA[ tree['node65'] = { marked: false, fc: 'node-1', ns: 'node66', par: 'node64', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node65" onclick="activate('node65');" x="3350" y="250"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3360" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node65');" >@id</text>
+<line x1="3375" y1="232" x2="3375" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="3400" y1="261" x2="3400" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node66'] = { marked: false, fc: 'node-1', ns: 'node67', par: 'node64', ps: 'node65', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node66" onclick="activate('node66');" x="3400" y="250"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3410" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node66');" >@pre</text>
+<line x1="3460" y1="261" x2="3460" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node67'] = { marked: false, fc: 'node-1', ns: 'node68', par: 'node64', ps: 'node66', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node67" onclick="activate('node67');" x="3460" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3470" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node67');" >@post</text>
+<line x1="3530" y1="261" x2="3530" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node68'] = { marked: false, fc: 'node69', ns: 'node73', par: 'node64', ps: 'node67', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node68" onclick="activate('node68');" x="3530" y="250"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3540" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node68');" >O</text>
+<script type='text/javascript'><![CDATA[ tree['node69'] = { marked: false, fc: 'node-1', ns: 'node70', par: 'node68', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node69" onclick="activate('node69');" x="3530" y="290"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3540" y="305" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node69');" >@id</text>
+<line x1="3555" y1="272" x2="3555" y2="290"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="3580" y1="301" x2="3580" y2="301"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node70'] = { marked: false, fc: 'node-1', ns: 'node71', par: 'node68', ps: 'node69', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node70" onclick="activate('node70');" x="3580" y="290"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3590" y="305" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node70');" >@pre</text>
+<line x1="3640" y1="301" x2="3640" y2="301"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node71'] = { marked: false, fc: 'node-1', ns: 'node72', par: 'node68', ps: 'node70', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node71" onclick="activate('node71');" x="3640" y="290"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3650" y="305" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node71');" >@post</text>
+<line x1="3710" y1="301" x2="3710" y2="301"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node72'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node68', ps: 'node71', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node72" onclick="activate('node72');" x="3710" y="290"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3720" y="305" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node72');" >#text</text>
+<line x1="3560" y1="261" x2="3790" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node73'] = { marked: false, fc: 'node74', ns: 'node-1', par: 'node64', ps: 'node68', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node73" onclick="activate('node73');" x="3790" y="250"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3800" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node73');" >P</text>
+<script type='text/javascript'><![CDATA[ tree['node74'] = { marked: false, fc: 'node-1', ns: 'node75', par: 'node73', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node74" onclick="activate('node74');" x="3790" y="290"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3800" y="305" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node74');" >@id</text>
+<line x1="3815" y1="272" x2="3815" y2="290"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="3840" y1="301" x2="3840" y2="301"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node75'] = { marked: false, fc: 'node-1', ns: 'node76', par: 'node73', ps: 'node74', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node75" onclick="activate('node75');" x="3840" y="290"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3850" y="305" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node75');" >@pre</text>
+<line x1="3900" y1="301" x2="3900" y2="301"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node76'] = { marked: false, fc: 'node-1', ns: 'node77', par: 'node73', ps: 'node75', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node76" onclick="activate('node76');" x="3900" y="290"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3910" y="305" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node76');" >@post</text>
+<line x1="3970" y1="301" x2="3970" y2="301"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node77'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node73', ps: 'node76', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node77" onclick="activate('node77');" x="3970" y="290"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3980" y="305" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node77');" >#text</text>
+<line x1="3380" y1="221" x2="4060" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node78'] = { marked: false, fc: 'node-1', ns: 'node79', par: 'node53', ps: 'node64', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node78" onclick="activate('node78');" x="4060" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4070" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node78');" >?myPI</text>
+<line x1="4130" y1="221" x2="4130" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node79'] = { marked: false, fc: 'node80', ns: 'node-1', par: 'node53', ps: 'node78', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node79" onclick="activate('node79');" x="4130" y="210"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4140" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node79');" >Q</text>
+<script type='text/javascript'><![CDATA[ tree['node80'] = { marked: false, fc: 'node-1', ns: 'node81', par: 'node79', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node80" onclick="activate('node80');" x="4130" y="250"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4140" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node80');" >@id</text>
+<line x1="4155" y1="232" x2="4155" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="4180" y1="261" x2="4180" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node81'] = { marked: false, fc: 'node-1', ns: 'node82', par: 'node79', ps: 'node80', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node81" onclick="activate('node81');" x="4180" y="250"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4190" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node81');" >@pre</text>
+<line x1="4240" y1="261" x2="4240" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node82'] = { marked: false, fc: 'node-1', ns: 'node83', par: 'node79', ps: 'node81', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node82" onclick="activate('node82');" x="4240" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4250" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node82');" >@post</text>
+<line x1="4310" y1="261" x2="4310" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node83'] = { marked: false, fc: 'node-1', ns: 'node84', par: 'node79', ps: 'node82', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node83" onclick="activate('node83');" x="4310" y="250"width="90" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4320" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node83');" >@idrefs</text>
+<line x1="4400" y1="261" x2="4400" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node84'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node79', ps: 'node83', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node84" onclick="activate('node84');" x="4400" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4410" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node84');" >#text</text>
+<line x1="2770" y1="181" x2="4490" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node85'] = { marked: false, fc: 'node86', ns: 'node99', par: 'node20', ps: 'node53', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node85" onclick="activate('node85');" x="4490" y="170"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4500" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node85');" >R</text>
+<script type='text/javascript'><![CDATA[ tree['node86'] = { marked: false, fc: 'node-1', ns: 'node87', par: 'node85', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node86" onclick="activate('node86');" x="4490" y="210"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4500" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node86');" >@id</text>
+<line x1="4515" y1="192" x2="4515" y2="210"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="4540" y1="221" x2="4540" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node87'] = { marked: false, fc: 'node-1', ns: 'node88', par: 'node85', ps: 'node86', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node87" onclick="activate('node87');" x="4540" y="210"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4550" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node87');" >@pre</text>
+<line x1="4600" y1="221" x2="4600" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node88'] = { marked: false, fc: 'node-1', ns: 'node89', par: 'node85', ps: 'node87', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node88" onclick="activate('node88');" x="4600" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4610" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node88');" >@post</text>
+<line x1="4670" y1="221" x2="4670" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node89'] = { marked: false, fc: 'node90', ns: 'node94', par: 'node85', ps: 'node88', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node89" onclick="activate('node89');" x="4670" y="210"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4680" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node89');" >S</text>
+<script type='text/javascript'><![CDATA[ tree['node90'] = { marked: false, fc: 'node-1', ns: 'node91', par: 'node89', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node90" onclick="activate('node90');" x="4670" y="250"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4680" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node90');" >@id</text>
+<line x1="4695" y1="232" x2="4695" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="4720" y1="261" x2="4720" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node91'] = { marked: false, fc: 'node-1', ns: 'node92', par: 'node89', ps: 'node90', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node91" onclick="activate('node91');" x="4720" y="250"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4730" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node91');" >@pre</text>
+<line x1="4780" y1="261" x2="4780" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node92'] = { marked: false, fc: 'node-1', ns: 'node93', par: 'node89', ps: 'node91', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node92" onclick="activate('node92');" x="4780" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4790" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node92');" >@post</text>
+<line x1="4850" y1="261" x2="4850" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node93'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node89', ps: 'node92', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node93" onclick="activate('node93');" x="4850" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4860" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node93');" >#text</text>
+<line x1="4700" y1="221" x2="4930" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node94'] = { marked: false, fc: 'node95', ns: 'node-1', par: 'node85', ps: 'node89', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node94" onclick="activate('node94');" x="4930" y="210"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4940" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node94');" >T</text>
+<script type='text/javascript'><![CDATA[ tree['node95'] = { marked: false, fc: 'node-1', ns: 'node96', par: 'node94', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node95" onclick="activate('node95');" x="4930" y="250"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4940" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node95');" >@id</text>
+<line x1="4955" y1="232" x2="4955" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="4980" y1="261" x2="4980" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node96'] = { marked: false, fc: 'node-1', ns: 'node97', par: 'node94', ps: 'node95', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node96" onclick="activate('node96');" x="4980" y="250"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4990" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node96');" >@pre</text>
+<line x1="5040" y1="261" x2="5040" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node97'] = { marked: false, fc: 'node-1', ns: 'node98', par: 'node94', ps: 'node96', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node97" onclick="activate('node97');" x="5040" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5050" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node97');" >@post</text>
+<line x1="5110" y1="261" x2="5110" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node98'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node94', ps: 'node97', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node98" onclick="activate('node98');" x="5110" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5120" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node98');" >#text</text>
+<line x1="4520" y1="181" x2="5200" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node99'] = { marked: false, fc: 'node100', ns: 'node-1', par: 'node20', ps: 'node85', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node99" onclick="activate('node99');" x="5200" y="170"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5210" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node99');" >U</text>
+<script type='text/javascript'><![CDATA[ tree['node100'] = { marked: false, fc: 'node-1', ns: 'node101', par: 'node99', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node100" onclick="activate('node100');" x="5200" y="210"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5210" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node100');" >@id</text>
+<line x1="5225" y1="192" x2="5225" y2="210"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="5250" y1="221" x2="5250" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node101'] = { marked: false, fc: 'node-1', ns: 'node102', par: 'node99', ps: 'node100', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node101" onclick="activate('node101');" x="5250" y="210"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5260" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node101');" >@pre</text>
+<line x1="5310" y1="221" x2="5310" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node102'] = { marked: false, fc: 'node-1', ns: 'node103', par: 'node99', ps: 'node101', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node102" onclick="activate('node102');" x="5310" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5320" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node102');" >@post</text>
+<line x1="5380" y1="221" x2="5380" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node103'] = { marked: false, fc: 'node104', ns: 'node108', par: 'node99', ps: 'node102', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node103" onclick="activate('node103');" x="5380" y="210"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5390" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node103');" >V</text>
+<script type='text/javascript'><![CDATA[ tree['node104'] = { marked: false, fc: 'node-1', ns: 'node105', par: 'node103', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node104" onclick="activate('node104');" x="5380" y="250"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5390" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node104');" >@id</text>
+<line x1="5405" y1="232" x2="5405" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="5430" y1="261" x2="5430" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node105'] = { marked: false, fc: 'node-1', ns: 'node106', par: 'node103', ps: 'node104', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node105" onclick="activate('node105');" x="5430" y="250"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5440" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node105');" >@pre</text>
+<line x1="5490" y1="261" x2="5490" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node106'] = { marked: false, fc: 'node-1', ns: 'node107', par: 'node103', ps: 'node105', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node106" onclick="activate('node106');" x="5490" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5500" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node106');" >@post</text>
+<line x1="5560" y1="261" x2="5560" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node107'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node103', ps: 'node106', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node107" onclick="activate('node107');" x="5560" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5570" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node107');" >#text</text>
+<line x1="5410" y1="221" x2="5640" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node108'] = { marked: false, fc: 'node109', ns: 'node-1', par: 'node99', ps: 'node103', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node108" onclick="activate('node108');" x="5640" y="210"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5650" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node108');" >W</text>
+<script type='text/javascript'><![CDATA[ tree['node109'] = { marked: false, fc: 'node-1', ns: 'node110', par: 'node108', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node109" onclick="activate('node109');" x="5640" y="250"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5650" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node109');" >@id</text>
+<line x1="5665" y1="232" x2="5665" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="5690" y1="261" x2="5690" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node110'] = { marked: false, fc: 'node-1', ns: 'node111', par: 'node108', ps: 'node109', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node110" onclick="activate('node110');" x="5690" y="250"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5700" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node110');" >@pre</text>
+<line x1="5750" y1="261" x2="5750" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node111'] = { marked: false, fc: 'node-1', ns: 'node112', par: 'node108', ps: 'node110', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node111" onclick="activate('node111');" x="5750" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5760" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node111');" >@post</text>
+<line x1="5820" y1="261" x2="5820" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node112'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node108', ps: 'node111', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node112" onclick="activate('node112');" x="5820" y="250"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5830" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node112');" >#text</text>
+<line x1="1080" y1="141" x2="5920" y2="141"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node113'] = { marked: false, fc: 'node114', ns: 'node-1', par: 'node1', ps: 'node20', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node113" onclick="activate('node113');" x="5920" y="130"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5930" y="145" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node113');" >X</text>
+<script type='text/javascript'><![CDATA[ tree['node114'] = { marked: false, fc: 'node-1', ns: 'node115', par: 'node113', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node114" onclick="activate('node114');" x="5920" y="170"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5930" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node114');" >@id</text>
+<line x1="5945" y1="152" x2="5945" y2="170"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="5970" y1="181" x2="5970" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node115'] = { marked: false, fc: 'node-1', ns: 'node116', par: 'node113', ps: 'node114', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node115" onclick="activate('node115');" x="5970" y="170"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5980" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node115');" >@pre</text>
+<line x1="6030" y1="181" x2="6030" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node116'] = { marked: false, fc: 'node-1', ns: 'node117', par: 'node113', ps: 'node115', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node116" onclick="activate('node116');" x="6030" y="170"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6040" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node116');" >@post</text>
+<line x1="6100" y1="181" x2="6100" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node117'] = { marked: false, fc: 'node118', ns: 'node122', par: 'node113', ps: 'node116', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node117" onclick="activate('node117');" x="6100" y="170"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6110" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node117');" >Y</text>
+<script type='text/javascript'><![CDATA[ tree['node118'] = { marked: false, fc: 'node-1', ns: 'node119', par: 'node117', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node118" onclick="activate('node118');" x="6100" y="210"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6110" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node118');" >@id</text>
+<line x1="6125" y1="192" x2="6125" y2="210"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="6150" y1="221" x2="6150" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node119'] = { marked: false, fc: 'node-1', ns: 'node120', par: 'node117', ps: 'node118', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node119" onclick="activate('node119');" x="6150" y="210"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6160" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node119');" >@pre</text>
+<line x1="6210" y1="221" x2="6210" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node120'] = { marked: false, fc: 'node-1', ns: 'node121', par: 'node117', ps: 'node119', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node120" onclick="activate('node120');" x="6210" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6220" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node120');" >@post</text>
+<line x1="6280" y1="221" x2="6280" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node121'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node117', ps: 'node120', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node121" onclick="activate('node121');" x="6280" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6290" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node121');" >#text</text>
+<line x1="6130" y1="181" x2="6360" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node122'] = { marked: false, fc: 'node123', ns: 'node-1', par: 'node113', ps: 'node117', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node122" onclick="activate('node122');" x="6360" y="170"width="30" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6370" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node122');" >Z</text>
+<script type='text/javascript'><![CDATA[ tree['node123'] = { marked: false, fc: 'node-1', ns: 'node124', par: 'node122', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node123" onclick="activate('node123');" x="6360" y="210"width="50" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6370" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node123');" >@id</text>
+<line x1="6385" y1="192" x2="6385" y2="210"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="6410" y1="221" x2="6410" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node124'] = { marked: false, fc: 'node-1', ns: 'node125', par: 'node122', ps: 'node123', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node124" onclick="activate('node124');" x="6410" y="210"width="60" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6420" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node124');" >@pre</text>
+<line x1="6470" y1="221" x2="6470" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node125'] = { marked: false, fc: 'node-1', ns: 'node126', par: 'node122', ps: 'node124', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node125" onclick="activate('node125');" x="6470" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6480" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node125');" >@post</text>
+<line x1="6540" y1="221" x2="6540" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node126'] = { marked: false, fc: 'node-1', ns: 'node127', par: 'node122', ps: 'node125', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node126" onclick="activate('node126');" x="6540" y="210"width="90" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6550" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node126');" >@idrefs</text>
+<line x1="6630" y1="221" x2="6630" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node127'] = { marked: false, fc: 'node-1', ns: 'node128', par: 'node122', ps: 'node126', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node127" onclick="activate('node127');" x="6630" y="210"width="110" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6640" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node127');" >@xml:lang</text>
+<line x1="6740" y1="221" x2="6740" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node128'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node122', ps: 'node127', max: 0, dlist: ['{ q₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node128" onclick="activate('node128');" x="6740" y="210"width="70" height="22" style="fill:rgb(139,1,6);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6750" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node128');" >#text</text>
+<line x1="65" y1="72" x2="65" y2="90"style="stroke:rgb(0,0,0);stroke-width:2"/>
+</svg>
+</div></div><script type='text/javascript'>
+window.onload = function () {
+var svg = document.getElementById('svgimg');
+svg.setAttribute('width', 6850);
+svg.setAttribute('height', 330);
+activate('node0');
+};
+
+</script></body></html>
diff --git a/pres-typex/ex2.html b/pres-typex/ex2.html
new file mode 100644 (file)
index 0000000..0b08247
--- /dev/null
@@ -0,0 +1,593 @@
+<html>
+<head><title></title>
+<meta http-equiv='content-type' content='text/html;charset=utf-8'/>
+<style>
+/* -*-CSS-*- */
+button {
+border-radius: 5px;
+border: none;
+}
+div#data {
+position: absolute;
+top: 0%;
+left: 50%;
+width: 50%;
+height: 50%;
+overflow: auto;
+}
+div#tree {
+position: absolute;
+top: 50%;
+left: 0%;
+width: 100%;
+height: 50%;
+overflow: hidden;
+}
+div#svg {
+position: absolute;
+left:0%;
+right:0%;
+top:10%;
+bottom:0%;
+overflow: auto;
+}
+div#automata {
+white-space: pre;
+overflow: auto;
+position: absolute;
+width: 50%;
+top: 0%;
+left: 0%;
+height: 50%;
+}
+@-webkit-keyframes fadein {
+from { fill-opacity: 0; }
+to { fill-opacity: 1; }
+}
+
+@-moz-keyframes fadein {
+from { fill-opacity: 0; }
+to { fill-opacity: 1; }
+}
+
+@keyframes fadein {
+from { fill-opacity: 0; }
+to { fill-opacity: 1; }
+}
+
+.blink {
+-webkit-animation: fadein 1.2s ease-in alternate infinite;
+-moz-animation: fadein 1.2s ease-in alternate infinite;
+animation: fadein 1.2s ease-in alternate infinite;
+}
+
+</style>
+</head>
+<body>
+<div id='automata' >Internal UID: 0
+States: { q₀ q₁ q₂ q₃ q₄ q₅ q₆ q₇ q₈ q₉ q₁₀ q₁₁ q₁₂ q₁₃ }
+Number of states: 14
+Starting states: { q₀ }
+Selection states: { q₁₃ }
+Ranked states: 0:{ q₀ q₁ q₂ q₃ q₄ q₈ q₉ }, 1:{ q₅ q₆ q₇ q₁₀ }, 2:{ q₁₁ q₁₂ q₁₃ }
+Alternating transitions:
+___________________________________________________________________
+q₁, ∑     →  •q₀
+___________________________________________________________________
+q₂, ∑     →  •q₁
+___________________________________________________________________
+q₃, ∑     →  ↑q₂ ∧ ↑? ∨ ↑q₃ ∧ ↑? ∨ ←q₃ ∧ ←?
+___________________________________________________________________
+q₄, {M}   →  •q₃ ∧ ¬is-attribute? ∧ is-element?
+q₄, ∑-{M} →  ⊥
+___________________________________________________________________
+q₅, ∑     →  ↓q₅ ∧ ↓? ∨ →q₅ ∧ →? ∨ •q₄
+___________________________________________________________________
+q₆, {A}   →  ↓q₅ ∧ ↓? ∧ ¬is-attribute? ∧ is-element?
+q₆, ∑-{A} →  ⊥
+___________________________________________________________________
+q₇, {P}   →  ↓q₇ ∧ ↓? ∨ →q₇ ∧ →? ∨ is-element?
+q₇, ∑-{P} →  ↓q₇ ∧ ↓? ∨ →q₇ ∧ →?
+___________________________________________________________________
+q₈, {Q}   →  is-element?
+q₈, ∑-{Q} →  ⊥
+___________________________________________________________________
+q₉, ∑     →  ↑q₈ ∧ ↑? ∨ ←q₉ ∧ ←?
+___________________________________________________________________
+q₁₀, ∑    →  (↑q₈ ∧ ↑? ∨ ←q₉ ∧ ←? ∨ ↓q₇ ∧ ↓?) ∧ •q₆
+___________________________________________________________________
+q₁₁, ∑    →  ↑q₁₀ ∧ ↑? ∨ ←q₁₁ ∧ ←?
+___________________________________________________________________
+q₁₂, ∑    →  (↑q₁₀ ∧ ↑? ∨ ←q₁₁ ∧ ←?) ∧ ¬is-attribute? ∧ is-element?
+___________________________________________________________________
+q₁₃, ∑    →  •q₁₂
+___________________________________________________________________
+</div>
+<div id='data' > </div>
+<script type='text/javascript'>
+var tree = new Array();
+var current_node = null;
+var nil_id = 'node-1';
+var last_id = 129;
+var rounds = 3;
+// -*-Javascript-*-
+
+var hide_nodes = function () {
+var v = document.getElementById('relnodes').value;
+for(i = 0; i < last_id; i++) {
+var id = 'node' + i;
+var rect = document.getElementById(id);
+
+if ((v-0) <= tree[id].max)
+rect.style.fillOpacity = 1;
+else
+rect.style.fillOpacity = 0.3;
+}
+};
+
+var activate_parent = function () {
+if (current_node) activate(tree[current_node].par);
+};
+var activate_previous = function () {
+if (current_node) activate(tree[current_node].ps);
+};
+var activate_next = function () {
+if (current_node) activate(tree[current_node].ns);
+};
+var activate_first = function () {
+if (current_node) activate(tree[current_node].fc);
+};
+var buttons = document.getElementsByTagName("button");
+var activate = function (id)
+{
+if (id == nil_id) return;
+if (current_node) {
+var rect = document.getElementById(current_node);
+rect.style.fillOpacity = 1.0;
+rect.style.stroke = 'black';
+rect.classList.remove('blink');
+};
+hide_nodes();
+current_node = id;
+buttons[0].disabled = tree[id].par == nil_id;
+buttons[1].disabled = tree[id].ps == nil_id;
+buttons[2].disabled = tree[id].fc == nil_id;
+buttons[3].disabled = tree[id].ns == nil_id;
+
+var node = document.getElementById(id);
+var div = document.getElementById('svg');
+var node_dim = node.getBBox();
+var div_dim = div.getBoundingClientRect();
+var nx = node_dim.x;
+var ny = node_dim.y;
+var hs = nx - (div_dim.width / 2 - node_dim.width / 2);
+var vs = ny - (div_dim.height / 2 - node_dim.height / 2);
+div.scrollLeft = hs;
+div.scrollTop = vs;
+node.style.stroke = 'red';
+old_node = node;
+node.classList.add('blink');
+
+var d = document.getElementById('data');
+var msg = '';
+for (i=0; i <= rounds; i++)
+msg += ('<p>round ' + i + ':<br/>new states:') + tree[id].dlist[i]
++ '<br/>all states:' + tree[id].flist[i] + '</p>\n';
+d.innerHTML = msg;
+return;
+};
+
+
+</script>
+<div id='tree'>
+<div id='controls'><button onclick='activate_parent();'>↑</button>
+<button onclick='activate_previous();'>←</button>
+<button onclick='activate_first();'>↓</button>
+<button onclick='activate_next();'>→</button>
+<select id='relnodes' onchange='hide_nodes();'>
+<option value='-1'>All nodes</option>
+<option value='0'>Relevant nodes on pass 0</option>
+ <option value='1'>Relevant nodes on pass 1</option>
+ <option value='2'>Relevant nodes on pass 2</option>
+ <option value='3'>Relevant nodes on pass 3</option>
+</select>
+</div>
+<div id='svg'>
+
+   <svg id='svgimg' width='' height='' xmlns="http://www.w3.org/2000/svg" version="1.1">
+<script type='text/javascript'><![CDATA[ tree['node0'] = { marked: false, fc: 'node1', ns: 'node-1', par: 'node-1', ps: 'node-1', max: 1, dlist: ['{ q₀ q₁ q₂ }', '{ q₅ q₇ }', '{  }', '{  }'], flist: ['{ q₀ q₁ q₂ q₅ q₇ }', '{ q₀ q₁ q₂ q₅ q₇ }', '{ q₀ q₁ q₂ q₅ q₇ }', '{ q₀ q₁ q₂ q₅ q₇ }'] };]]></script>
+<rect id="node0" onclick="activate('node0');" x="50" y="50"width="110" height="22" style="fill:rgb(61,115,212);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="60" y="65" style="fill:rgb(0,0,0);font-size:17;font-family:typewriter;" onclick="activate('node0');" >#document</text>
+<script type='text/javascript'><![CDATA[ tree['node1'] = { marked: false, fc: 'node2', ns: 'node-1', par: 'node0', ps: 'node-1', max: 1, dlist: ['{ q₃ }', '{ q₅ q₆ q₇ q₁₀ }', '{  }', '{  }'], flist: ['{ q₃ q₅ q₆ q₇ q₁₀ }', '{ q₃ q₅ q₆ q₇ q₁₀ }', '{ q₃ q₅ q₆ q₇ q₁₀ }', '{ q₃ q₅ q₆ q₇ q₁₀ }'] };]]></script>
+<rect id="node1" onclick="activate('node1');" x="50" y="90"width="30" height="22" style="fill:rgb(69,113,204);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="60" y="105" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node1');" >A</text>
+<script type='text/javascript'><![CDATA[ tree['node2'] = { marked: false, fc: 'node-1', ns: 'node3', par: 'node1', ps: 'node-1', max: 2, dlist: ['{ q₃ }', '{ q₅ q₇ }', '{ q₁₁ }', '{  }'], flist: ['{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ q₁₁ }', '{ q₃ q₅ q₇ q₁₁ }'] };]]></script>
+<rect id="node2" onclick="activate('node2');" x="50" y="130"width="50" height="22" style="fill:rgb(69,113,204);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="60" y="145" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node2');" >@id</text>
+<line x1="75" y1="112" x2="75" y2="130"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="100" y1="141" x2="100" y2="141"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node3'] = { marked: false, fc: 'node-1', ns: 'node4', par: 'node1', ps: 'node2', max: 2, dlist: ['{ q₃ }', '{ q₅ q₇ }', '{ q₁₁ }', '{  }'], flist: ['{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ q₁₁ }', '{ q₃ q₅ q₇ q₁₁ }'] };]]></script>
+<rect id="node3" onclick="activate('node3');" x="100" y="130"width="60" height="22" style="fill:rgb(69,113,204);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="110" y="145" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node3');" >@pre</text>
+<line x1="160" y1="141" x2="160" y2="141"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node4'] = { marked: false, fc: 'node-1', ns: 'node5', par: 'node1', ps: 'node3', max: 2, dlist: ['{ q₃ }', '{ q₅ q₇ }', '{ q₁₁ }', '{  }'], flist: ['{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ q₁₁ }', '{ q₃ q₅ q₇ q₁₁ }'] };]]></script>
+<rect id="node4" onclick="activate('node4');" x="160" y="130"width="70" height="22" style="fill:rgb(69,113,204);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="170" y="145" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node4');" >@post</text>
+<line x1="230" y1="141" x2="230" y2="141"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node5'] = { marked: false, fc: 'node-1', ns: 'node6', par: 'node1', ps: 'node4', max: 2, dlist: ['{ q₃ }', '{ q₅ q₇ }', '{ q₁₁ }', '{  }'], flist: ['{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ q₁₁ }', '{ q₃ q₅ q₇ q₁₁ }'] };]]></script>
+<rect id="node5" onclick="activate('node5');" x="230" y="130"width="110" height="22" style="fill:rgb(69,113,204);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="240" y="145" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node5');" >@xml:lang</text>
+<line x1="340" y1="141" x2="340" y2="141"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node6'] = { marked: true, fc: 'node7', ns: 'node20', par: 'node1', ps: 'node5', max: 2, dlist: ['{ q₃ }', '{ q₅ q₇ }', '{ q₁₁ q₁₂ q₁₃ }', '{  }'], flist: ['{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ q₁₁ q₁₂ q₁₃ }', '{ q₃ q₅ q₇ q₁₁ q₁₂ q₁₃ }'] };]]></script>
+<rect id="node6" onclick="activate('node6');" x="340" y="130"width="30" height="22" style="fill:rgb(65,114,208);stroke:rgb(0,0,0);stroke-width:4"/><text x="350" y="145" style="fill:rgb(0,0,0);font-size:17;font-family:typewriter;" onclick="activate('node6');" >B</text>
+<script type='text/javascript'><![CDATA[ tree['node7'] = { marked: false, fc: 'node-1', ns: 'node8', par: 'node6', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node7" onclick="activate('node7');" x="340" y="170"width="50" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="350" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node7');" >@id</text>
+<line x1="365" y1="152" x2="365" y2="170"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="390" y1="181" x2="390" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node8'] = { marked: false, fc: 'node-1', ns: 'node9', par: 'node6', ps: 'node7', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node8" onclick="activate('node8');" x="390" y="170"width="60" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="400" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node8');" >@pre</text>
+<line x1="450" y1="181" x2="450" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node9'] = { marked: false, fc: 'node-1', ns: 'node10', par: 'node6', ps: 'node8', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node9" onclick="activate('node9');" x="450" y="170"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="460" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node9');" >@post</text>
+<line x1="520" y1="181" x2="520" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node10'] = { marked: false, fc: 'node11', ns: 'node15', par: 'node6', ps: 'node9', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node10" onclick="activate('node10');" x="520" y="170"width="30" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="530" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node10');" >C</text>
+<script type='text/javascript'><![CDATA[ tree['node11'] = { marked: false, fc: 'node-1', ns: 'node12', par: 'node10', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node11" onclick="activate('node11');" x="520" y="210"width="50" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="530" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node11');" >@id</text>
+<line x1="545" y1="192" x2="545" y2="210"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="570" y1="221" x2="570" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node12'] = { marked: false, fc: 'node-1', ns: 'node13', par: 'node10', ps: 'node11', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node12" onclick="activate('node12');" x="570" y="210"width="60" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="580" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node12');" >@pre</text>
+<line x1="630" y1="221" x2="630" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node13'] = { marked: false, fc: 'node-1', ns: 'node14', par: 'node10', ps: 'node12', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node13" onclick="activate('node13');" x="630" y="210"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="640" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node13');" >@post</text>
+<line x1="700" y1="221" x2="700" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node14'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node10', ps: 'node13', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node14" onclick="activate('node14');" x="700" y="210"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="710" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node14');" >#text</text>
+<line x1="550" y1="181" x2="780" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node15'] = { marked: false, fc: 'node16', ns: 'node-1', par: 'node6', ps: 'node10', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node15" onclick="activate('node15');" x="780" y="170"width="30" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="790" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node15');" >D</text>
+<script type='text/javascript'><![CDATA[ tree['node16'] = { marked: false, fc: 'node-1', ns: 'node17', par: 'node15', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node16" onclick="activate('node16');" x="780" y="210"width="50" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="790" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node16');" >@id</text>
+<line x1="805" y1="192" x2="805" y2="210"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="830" y1="221" x2="830" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node17'] = { marked: false, fc: 'node-1', ns: 'node18', par: 'node15', ps: 'node16', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node17" onclick="activate('node17');" x="830" y="210"width="60" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="840" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node17');" >@pre</text>
+<line x1="890" y1="221" x2="890" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node18'] = { marked: false, fc: 'node-1', ns: 'node19', par: 'node15', ps: 'node17', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node18" onclick="activate('node18');" x="890" y="210"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="900" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node18');" >@post</text>
+<line x1="960" y1="221" x2="960" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node19'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node15', ps: 'node18', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node19" onclick="activate('node19');" x="960" y="210"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="970" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node19');" >#text</text>
+<line x1="370" y1="141" x2="1050" y2="141"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node20'] = { marked: true, fc: 'node21', ns: 'node113', par: 'node1', ps: 'node6', max: 2, dlist: ['{ q₃ }', '{ q₅ q₇ }', '{ q₁₁ q₁₂ q₁₃ }', '{  }'], flist: ['{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ q₁₁ q₁₂ q₁₃ }', '{ q₃ q₅ q₇ q₁₁ q₁₂ q₁₃ }'] };]]></script>
+<rect id="node20" onclick="activate('node20');" x="1050" y="130"width="30" height="22" style="fill:rgb(65,114,208);stroke:rgb(0,0,0);stroke-width:4"/><text x="1060" y="145" style="fill:rgb(0,0,0);font-size:17;font-family:typewriter;" onclick="activate('node20');" >E</text>
+<script type='text/javascript'><![CDATA[ tree['node21'] = { marked: false, fc: 'node-1', ns: 'node22', par: 'node20', ps: 'node-1', max: 1, dlist: ['{ q₃ }', '{ q₅ q₇ }', '{  }', '{  }'], flist: ['{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }'] };]]></script>
+<rect id="node21" onclick="activate('node21');" x="1050" y="170"width="50" height="22" style="fill:rgb(81,110,192);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1060" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node21');" >@id</text>
+<line x1="1075" y1="152" x2="1075" y2="170"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="1100" y1="181" x2="1100" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node22'] = { marked: false, fc: 'node-1', ns: 'node23', par: 'node20', ps: 'node21', max: 1, dlist: ['{ q₃ }', '{ q₅ q₇ }', '{  }', '{  }'], flist: ['{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }'] };]]></script>
+<rect id="node22" onclick="activate('node22');" x="1100" y="170"width="60" height="22" style="fill:rgb(81,110,192);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1110" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node22');" >@pre</text>
+<line x1="1160" y1="181" x2="1160" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node23'] = { marked: false, fc: 'node-1', ns: 'node24', par: 'node20', ps: 'node22', max: 1, dlist: ['{ q₃ }', '{ q₅ q₇ }', '{  }', '{  }'], flist: ['{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }'] };]]></script>
+<rect id="node23" onclick="activate('node23');" x="1160" y="170"width="70" height="22" style="fill:rgb(81,110,192);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1170" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node23');" >@post</text>
+<line x1="1230" y1="181" x2="1230" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node24'] = { marked: false, fc: 'node25', ns: 'node39', par: 'node20', ps: 'node23', max: 1, dlist: ['{ q₃ }', '{ q₅ q₇ }', '{  }', '{  }'], flist: ['{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }'] };]]></script>
+<rect id="node24" onclick="activate('node24');" x="1230" y="170"width="30" height="22" style="fill:rgb(81,110,192);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1240" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node24');" >F</text>
+<script type='text/javascript'><![CDATA[ tree['node25'] = { marked: false, fc: 'node-1', ns: 'node26', par: 'node24', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node25" onclick="activate('node25');" x="1230" y="210"width="50" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1240" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node25');" >@id</text>
+<line x1="1255" y1="192" x2="1255" y2="210"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="1280" y1="221" x2="1280" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node26'] = { marked: false, fc: 'node-1', ns: 'node27', par: 'node24', ps: 'node25', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node26" onclick="activate('node26');" x="1280" y="210"width="60" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1290" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node26');" >@pre</text>
+<line x1="1340" y1="221" x2="1340" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node27'] = { marked: false, fc: 'node-1', ns: 'node28', par: 'node24', ps: 'node26', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node27" onclick="activate('node27');" x="1340" y="210"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1350" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node27');" >@post</text>
+<line x1="1410" y1="221" x2="1410" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node28'] = { marked: false, fc: 'node29', ns: 'node33', par: 'node24', ps: 'node27', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node28" onclick="activate('node28');" x="1410" y="210"width="30" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1420" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node28');" >G</text>
+<script type='text/javascript'><![CDATA[ tree['node29'] = { marked: false, fc: 'node-1', ns: 'node30', par: 'node28', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node29" onclick="activate('node29');" x="1410" y="250"width="50" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1420" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node29');" >@id</text>
+<line x1="1435" y1="232" x2="1435" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="1460" y1="261" x2="1460" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node30'] = { marked: false, fc: 'node-1', ns: 'node31', par: 'node28', ps: 'node29', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node30" onclick="activate('node30');" x="1460" y="250"width="60" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1470" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node30');" >@pre</text>
+<line x1="1520" y1="261" x2="1520" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node31'] = { marked: false, fc: 'node-1', ns: 'node32', par: 'node28', ps: 'node30', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node31" onclick="activate('node31');" x="1520" y="250"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1530" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node31');" >@post</text>
+<line x1="1590" y1="261" x2="1590" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node32'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node28', ps: 'node31', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node32" onclick="activate('node32');" x="1590" y="250"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1600" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node32');" >#text</text>
+<line x1="1440" y1="221" x2="1670" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node33'] = { marked: false, fc: 'node34', ns: 'node-1', par: 'node24', ps: 'node28', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node33" onclick="activate('node33');" x="1670" y="210"width="30" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1680" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node33');" >H</text>
+<script type='text/javascript'><![CDATA[ tree['node34'] = { marked: false, fc: 'node-1', ns: 'node35', par: 'node33', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node34" onclick="activate('node34');" x="1670" y="250"width="50" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1680" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node34');" >@id</text>
+<line x1="1695" y1="232" x2="1695" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="1720" y1="261" x2="1720" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node35'] = { marked: false, fc: 'node-1', ns: 'node36', par: 'node33', ps: 'node34', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node35" onclick="activate('node35');" x="1720" y="250"width="60" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1730" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node35');" >@pre</text>
+<line x1="1780" y1="261" x2="1780" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node36'] = { marked: false, fc: 'node-1', ns: 'node37', par: 'node33', ps: 'node35', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node36" onclick="activate('node36');" x="1780" y="250"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1790" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node36');" >@post</text>
+<line x1="1850" y1="261" x2="1850" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node37'] = { marked: false, fc: 'node-1', ns: 'node38', par: 'node33', ps: 'node36', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node37" onclick="activate('node37');" x="1850" y="250"width="90" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1860" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node37');" >@idrefs</text>
+<line x1="1940" y1="261" x2="1940" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node38'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node33', ps: 'node37', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node38" onclick="activate('node38');" x="1940" y="250"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="1950" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node38');" >#text</text>
+<line x1="1260" y1="181" x2="2030" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node39'] = { marked: false, fc: 'node40', ns: 'node53', par: 'node20', ps: 'node24', max: 1, dlist: ['{ q₃ }', '{ q₅ q₇ }', '{  }', '{  }'], flist: ['{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }'] };]]></script>
+<rect id="node39" onclick="activate('node39');" x="2030" y="170"width="30" height="22" style="fill:rgb(81,110,192);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2040" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node39');" >I</text>
+<script type='text/javascript'><![CDATA[ tree['node40'] = { marked: false, fc: 'node-1', ns: 'node41', par: 'node39', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node40" onclick="activate('node40');" x="2030" y="210"width="50" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2040" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node40');" >@id</text>
+<line x1="2055" y1="192" x2="2055" y2="210"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="2080" y1="221" x2="2080" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node41'] = { marked: false, fc: 'node-1', ns: 'node42', par: 'node39', ps: 'node40', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node41" onclick="activate('node41');" x="2080" y="210"width="60" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2090" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node41');" >@pre</text>
+<line x1="2140" y1="221" x2="2140" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node42'] = { marked: false, fc: 'node-1', ns: 'node43', par: 'node39', ps: 'node41', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node42" onclick="activate('node42');" x="2140" y="210"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2150" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node42');" >@post</text>
+<line x1="2210" y1="221" x2="2210" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node43'] = { marked: false, fc: 'node44', ns: 'node48', par: 'node39', ps: 'node42', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node43" onclick="activate('node43');" x="2210" y="210"width="30" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2220" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node43');" >J</text>
+<script type='text/javascript'><![CDATA[ tree['node44'] = { marked: false, fc: 'node-1', ns: 'node45', par: 'node43', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node44" onclick="activate('node44');" x="2210" y="250"width="50" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2220" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node44');" >@id</text>
+<line x1="2235" y1="232" x2="2235" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="2260" y1="261" x2="2260" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node45'] = { marked: false, fc: 'node-1', ns: 'node46', par: 'node43', ps: 'node44', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node45" onclick="activate('node45');" x="2260" y="250"width="60" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2270" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node45');" >@pre</text>
+<line x1="2320" y1="261" x2="2320" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node46'] = { marked: false, fc: 'node-1', ns: 'node47', par: 'node43', ps: 'node45', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node46" onclick="activate('node46');" x="2320" y="250"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2330" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node46');" >@post</text>
+<line x1="2390" y1="261" x2="2390" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node47'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node43', ps: 'node46', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node47" onclick="activate('node47');" x="2390" y="250"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2400" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node47');" >#text</text>
+<line x1="2240" y1="221" x2="2470" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node48'] = { marked: false, fc: 'node49', ns: 'node-1', par: 'node39', ps: 'node43', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node48" onclick="activate('node48');" x="2470" y="210"width="30" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2480" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node48');" >K</text>
+<script type='text/javascript'><![CDATA[ tree['node49'] = { marked: false, fc: 'node-1', ns: 'node50', par: 'node48', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node49" onclick="activate('node49');" x="2470" y="250"width="50" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2480" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node49');" >@id</text>
+<line x1="2495" y1="232" x2="2495" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="2520" y1="261" x2="2520" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node50'] = { marked: false, fc: 'node-1', ns: 'node51', par: 'node48', ps: 'node49', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node50" onclick="activate('node50');" x="2520" y="250"width="60" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2530" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node50');" >@pre</text>
+<line x1="2580" y1="261" x2="2580" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node51'] = { marked: false, fc: 'node-1', ns: 'node52', par: 'node48', ps: 'node50', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node51" onclick="activate('node51');" x="2580" y="250"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2590" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node51');" >@post</text>
+<line x1="2650" y1="261" x2="2650" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node52'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node48', ps: 'node51', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node52" onclick="activate('node52');" x="2650" y="250"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2660" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node52');" >#text</text>
+<line x1="2060" y1="181" x2="2740" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node53'] = { marked: false, fc: 'node54', ns: 'node85', par: 'node20', ps: 'node39', max: 1, dlist: ['{ q₃ }', '{ q₅ q₇ }', '{  }', '{  }'], flist: ['{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }'] };]]></script>
+<rect id="node53" onclick="activate('node53');" x="2740" y="170"width="30" height="22" style="fill:rgb(81,110,192);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2750" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node53');" >L</text>
+<script type='text/javascript'><![CDATA[ tree['node54'] = { marked: false, fc: 'node-1', ns: 'node55', par: 'node53', ps: 'node-1', max: 1, dlist: ['{ q₃ }', '{ q₅ q₇ }', '{  }', '{  }'], flist: ['{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }'] };]]></script>
+<rect id="node54" onclick="activate('node54');" x="2740" y="210"width="50" height="22" style="fill:rgb(81,110,192);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2750" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node54');" >@id</text>
+<line x1="2765" y1="192" x2="2765" y2="210"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="2790" y1="221" x2="2790" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node55'] = { marked: false, fc: 'node-1', ns: 'node56', par: 'node53', ps: 'node54', max: 1, dlist: ['{ q₃ }', '{ q₅ q₇ }', '{  }', '{  }'], flist: ['{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }'] };]]></script>
+<rect id="node55" onclick="activate('node55');" x="2790" y="210"width="60" height="22" style="fill:rgb(81,110,192);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2800" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node55');" >@pre</text>
+<line x1="2850" y1="221" x2="2850" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node56'] = { marked: false, fc: 'node-1', ns: 'node57', par: 'node53', ps: 'node55', max: 1, dlist: ['{ q₃ }', '{ q₅ q₇ }', '{  }', '{  }'], flist: ['{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }'] };]]></script>
+<rect id="node56" onclick="activate('node56');" x="2850" y="210"width="70" height="22" style="fill:rgb(81,110,192);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2860" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node56');" >@post</text>
+<line x1="2920" y1="221" x2="2920" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node57'] = { marked: false, fc: 'node-1', ns: 'node58', par: 'node53', ps: 'node56', max: 1, dlist: ['{ q₃ }', '{ q₅ q₇ }', '{  }', '{  }'], flist: ['{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }'] };]]></script>
+<rect id="node57" onclick="activate('node57');" x="2920" y="210"width="100" height="22" style="fill:rgb(81,110,192);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="2930" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node57');" >#comment</text>
+<line x1="3020" y1="221" x2="3020" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node58'] = { marked: false, fc: 'node-1', ns: 'node59', par: 'node53', ps: 'node57', max: 1, dlist: ['{ q₃ }', '{ q₅ q₇ }', '{  }', '{  }'], flist: ['{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }', '{ q₃ q₅ q₇ }'] };]]></script>
+<rect id="node58" onclick="activate('node58');" x="3020" y="210"width="70" height="22" style="fill:rgb(81,110,192);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3030" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node58');" >#text</text>
+<line x1="3090" y1="221" x2="3090" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node59'] = { marked: false, fc: 'node60', ns: 'node63', par: 'node53', ps: 'node58', max: 1, dlist: ['{ q₃ q₄ }', '{ q₅ q₇ }', '{  }', '{  }'], flist: ['{ q₃ q₄ q₅ q₇ }', '{ q₃ q₄ q₅ q₇ }', '{ q₃ q₄ q₅ q₇ }', '{ q₃ q₄ q₅ q₇ }'] };]]></script>
+<rect id="node59" onclick="activate('node59');" x="3090" y="210"width="30" height="22" style="fill:rgb(89,108,184);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3100" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node59');" >M</text>
+<script type='text/javascript'><![CDATA[ tree['node60'] = { marked: false, fc: 'node-1', ns: 'node61', par: 'node59', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node60" onclick="activate('node60');" x="3090" y="250"width="50" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3100" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node60');" >@id</text>
+<line x1="3115" y1="232" x2="3115" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="3140" y1="261" x2="3140" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node61'] = { marked: false, fc: 'node-1', ns: 'node62', par: 'node59', ps: 'node60', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node61" onclick="activate('node61');" x="3140" y="250"width="60" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3150" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node61');" >@pre</text>
+<line x1="3200" y1="261" x2="3200" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node62'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node59', ps: 'node61', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node62" onclick="activate('node62');" x="3200" y="250"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3210" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node62');" >@post</text>
+<line x1="3120" y1="221" x2="3280" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node63'] = { marked: false, fc: 'node-1', ns: 'node64', par: 'node53', ps: 'node59', max: 1, dlist: ['{ q₃ }', '{ q₇ }', '{  }', '{  }'], flist: ['{ q₃ q₇ }', '{ q₃ q₇ }', '{ q₃ q₇ }', '{ q₃ q₇ }'] };]]></script>
+<rect id="node63" onclick="activate('node63');" x="3280" y="210"width="70" height="22" style="fill:rgb(105,104,168);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3290" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node63');" >#text</text>
+<line x1="3350" y1="221" x2="3350" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node64'] = { marked: false, fc: 'node65', ns: 'node78', par: 'node53', ps: 'node63', max: 1, dlist: ['{ q₃ }', '{ q₇ }', '{  }', '{  }'], flist: ['{ q₃ q₇ }', '{ q₃ q₇ }', '{ q₃ q₇ }', '{ q₃ q₇ }'] };]]></script>
+<rect id="node64" onclick="activate('node64');" x="3350" y="210"width="30" height="22" style="fill:rgb(105,104,168);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3360" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node64');" >N</text>
+<script type='text/javascript'><![CDATA[ tree['node65'] = { marked: false, fc: 'node-1', ns: 'node66', par: 'node64', ps: 'node-1', max: 1, dlist: ['{ q₃ }', '{ q₇ }', '{  }', '{  }'], flist: ['{ q₃ q₇ }', '{ q₃ q₇ }', '{ q₃ q₇ }', '{ q₃ q₇ }'] };]]></script>
+<rect id="node65" onclick="activate('node65');" x="3350" y="250"width="50" height="22" style="fill:rgb(105,104,168);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3360" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node65');" >@id</text>
+<line x1="3375" y1="232" x2="3375" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="3400" y1="261" x2="3400" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node66'] = { marked: false, fc: 'node-1', ns: 'node67', par: 'node64', ps: 'node65', max: 1, dlist: ['{ q₃ }', '{ q₇ }', '{  }', '{  }'], flist: ['{ q₃ q₇ }', '{ q₃ q₇ }', '{ q₃ q₇ }', '{ q₃ q₇ }'] };]]></script>
+<rect id="node66" onclick="activate('node66');" x="3400" y="250"width="60" height="22" style="fill:rgb(105,104,168);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3410" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node66');" >@pre</text>
+<line x1="3460" y1="261" x2="3460" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node67'] = { marked: false, fc: 'node-1', ns: 'node68', par: 'node64', ps: 'node66', max: 1, dlist: ['{ q₃ }', '{ q₇ }', '{  }', '{  }'], flist: ['{ q₃ q₇ }', '{ q₃ q₇ }', '{ q₃ q₇ }', '{ q₃ q₇ }'] };]]></script>
+<rect id="node67" onclick="activate('node67');" x="3460" y="250"width="70" height="22" style="fill:rgb(105,104,168);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3470" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node67');" >@post</text>
+<line x1="3530" y1="261" x2="3530" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node68'] = { marked: false, fc: 'node69', ns: 'node73', par: 'node64', ps: 'node67', max: 1, dlist: ['{ q₃ }', '{ q₇ }', '{  }', '{  }'], flist: ['{ q₃ q₇ }', '{ q₃ q₇ }', '{ q₃ q₇ }', '{ q₃ q₇ }'] };]]></script>
+<rect id="node68" onclick="activate('node68');" x="3530" y="250"width="30" height="22" style="fill:rgb(105,104,168);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3540" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node68');" >O</text>
+<script type='text/javascript'><![CDATA[ tree['node69'] = { marked: false, fc: 'node-1', ns: 'node70', par: 'node68', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node69" onclick="activate('node69');" x="3530" y="290"width="50" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3540" y="305" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node69');" >@id</text>
+<line x1="3555" y1="272" x2="3555" y2="290"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="3580" y1="301" x2="3580" y2="301"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node70'] = { marked: false, fc: 'node-1', ns: 'node71', par: 'node68', ps: 'node69', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node70" onclick="activate('node70');" x="3580" y="290"width="60" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3590" y="305" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node70');" >@pre</text>
+<line x1="3640" y1="301" x2="3640" y2="301"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node71'] = { marked: false, fc: 'node-1', ns: 'node72', par: 'node68', ps: 'node70', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node71" onclick="activate('node71');" x="3640" y="290"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3650" y="305" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node71');" >@post</text>
+<line x1="3710" y1="301" x2="3710" y2="301"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node72'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node68', ps: 'node71', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node72" onclick="activate('node72');" x="3710" y="290"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3720" y="305" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node72');" >#text</text>
+<line x1="3560" y1="261" x2="3790" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node73'] = { marked: false, fc: 'node74', ns: 'node-1', par: 'node64', ps: 'node68', max: 1, dlist: ['{ q₃ }', '{ q₇ }', '{  }', '{  }'], flist: ['{ q₃ q₇ }', '{ q₃ q₇ }', '{ q₃ q₇ }', '{ q₃ q₇ }'] };]]></script>
+<rect id="node73" onclick="activate('node73');" x="3790" y="250"width="30" height="22" style="fill:rgb(105,104,168);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3800" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node73');" >P</text>
+<script type='text/javascript'><![CDATA[ tree['node74'] = { marked: false, fc: 'node-1', ns: 'node75', par: 'node73', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node74" onclick="activate('node74');" x="3790" y="290"width="50" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3800" y="305" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node74');" >@id</text>
+<line x1="3815" y1="272" x2="3815" y2="290"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="3840" y1="301" x2="3840" y2="301"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node75'] = { marked: false, fc: 'node-1', ns: 'node76', par: 'node73', ps: 'node74', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node75" onclick="activate('node75');" x="3840" y="290"width="60" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3850" y="305" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node75');" >@pre</text>
+<line x1="3900" y1="301" x2="3900" y2="301"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node76'] = { marked: false, fc: 'node-1', ns: 'node77', par: 'node73', ps: 'node75', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node76" onclick="activate('node76');" x="3900" y="290"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3910" y="305" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node76');" >@post</text>
+<line x1="3970" y1="301" x2="3970" y2="301"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node77'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node73', ps: 'node76', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node77" onclick="activate('node77');" x="3970" y="290"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="3980" y="305" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node77');" >#text</text>
+<line x1="3380" y1="221" x2="4060" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node78'] = { marked: false, fc: 'node-1', ns: 'node79', par: 'node53', ps: 'node64', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node78" onclick="activate('node78');" x="4060" y="210"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4070" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node78');" >?myPI</text>
+<line x1="4130" y1="221" x2="4130" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node79'] = { marked: false, fc: 'node80', ns: 'node-1', par: 'node53', ps: 'node78', max: 0, dlist: ['{ q₃ q₈ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ q₈ }', '{ q₃ q₈ }', '{ q₃ q₈ }', '{ q₃ q₈ }'] };]]></script>
+<rect id="node79" onclick="activate('node79');" x="4130" y="210"width="30" height="22" style="fill:rgb(101,105,172);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4140" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node79');" >Q</text>
+<script type='text/javascript'><![CDATA[ tree['node80'] = { marked: false, fc: 'node-1', ns: 'node81', par: 'node79', ps: 'node-1', max: 0, dlist: ['{ q₃ q₉ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ q₉ }', '{ q₃ q₉ }', '{ q₃ q₉ }', '{ q₃ q₉ }'] };]]></script>
+<rect id="node80" onclick="activate('node80');" x="4130" y="250"width="50" height="22" style="fill:rgb(97,106,176);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4140" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node80');" >@id</text>
+<line x1="4155" y1="232" x2="4155" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="4180" y1="261" x2="4180" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node81'] = { marked: false, fc: 'node-1', ns: 'node82', par: 'node79', ps: 'node80', max: 0, dlist: ['{ q₃ q₉ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ q₉ }', '{ q₃ q₉ }', '{ q₃ q₉ }', '{ q₃ q₉ }'] };]]></script>
+<rect id="node81" onclick="activate('node81');" x="4180" y="250"width="60" height="22" style="fill:rgb(97,106,176);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4190" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node81');" >@pre</text>
+<line x1="4240" y1="261" x2="4240" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node82'] = { marked: false, fc: 'node-1', ns: 'node83', par: 'node79', ps: 'node81', max: 0, dlist: ['{ q₃ q₉ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ q₉ }', '{ q₃ q₉ }', '{ q₃ q₉ }', '{ q₃ q₉ }'] };]]></script>
+<rect id="node82" onclick="activate('node82');" x="4240" y="250"width="70" height="22" style="fill:rgb(97,106,176);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4250" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node82');" >@post</text>
+<line x1="4310" y1="261" x2="4310" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node83'] = { marked: false, fc: 'node-1', ns: 'node84', par: 'node79', ps: 'node82', max: 0, dlist: ['{ q₃ q₉ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ q₉ }', '{ q₃ q₉ }', '{ q₃ q₉ }', '{ q₃ q₉ }'] };]]></script>
+<rect id="node83" onclick="activate('node83');" x="4310" y="250"width="90" height="22" style="fill:rgb(97,106,176);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4320" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node83');" >@idrefs</text>
+<line x1="4400" y1="261" x2="4400" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node84'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node79', ps: 'node83', max: 0, dlist: ['{ q₃ q₉ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ q₉ }', '{ q₃ q₉ }', '{ q₃ q₉ }', '{ q₃ q₉ }'] };]]></script>
+<rect id="node84" onclick="activate('node84');" x="4400" y="250"width="70" height="22" style="fill:rgb(97,106,176);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4410" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node84');" >#text</text>
+<line x1="2770" y1="181" x2="4490" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node85'] = { marked: false, fc: 'node86', ns: 'node99', par: 'node20', ps: 'node53', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node85" onclick="activate('node85');" x="4490" y="170"width="30" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4500" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node85');" >R</text>
+<script type='text/javascript'><![CDATA[ tree['node86'] = { marked: false, fc: 'node-1', ns: 'node87', par: 'node85', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node86" onclick="activate('node86');" x="4490" y="210"width="50" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4500" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node86');" >@id</text>
+<line x1="4515" y1="192" x2="4515" y2="210"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="4540" y1="221" x2="4540" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node87'] = { marked: false, fc: 'node-1', ns: 'node88', par: 'node85', ps: 'node86', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node87" onclick="activate('node87');" x="4540" y="210"width="60" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4550" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node87');" >@pre</text>
+<line x1="4600" y1="221" x2="4600" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node88'] = { marked: false, fc: 'node-1', ns: 'node89', par: 'node85', ps: 'node87', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node88" onclick="activate('node88');" x="4600" y="210"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4610" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node88');" >@post</text>
+<line x1="4670" y1="221" x2="4670" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node89'] = { marked: false, fc: 'node90', ns: 'node94', par: 'node85', ps: 'node88', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node89" onclick="activate('node89');" x="4670" y="210"width="30" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4680" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node89');" >S</text>
+<script type='text/javascript'><![CDATA[ tree['node90'] = { marked: false, fc: 'node-1', ns: 'node91', par: 'node89', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node90" onclick="activate('node90');" x="4670" y="250"width="50" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4680" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node90');" >@id</text>
+<line x1="4695" y1="232" x2="4695" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="4720" y1="261" x2="4720" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node91'] = { marked: false, fc: 'node-1', ns: 'node92', par: 'node89', ps: 'node90', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node91" onclick="activate('node91');" x="4720" y="250"width="60" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4730" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node91');" >@pre</text>
+<line x1="4780" y1="261" x2="4780" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node92'] = { marked: false, fc: 'node-1', ns: 'node93', par: 'node89', ps: 'node91', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node92" onclick="activate('node92');" x="4780" y="250"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4790" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node92');" >@post</text>
+<line x1="4850" y1="261" x2="4850" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node93'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node89', ps: 'node92', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node93" onclick="activate('node93');" x="4850" y="250"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4860" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node93');" >#text</text>
+<line x1="4700" y1="221" x2="4930" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node94'] = { marked: false, fc: 'node95', ns: 'node-1', par: 'node85', ps: 'node89', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node94" onclick="activate('node94');" x="4930" y="210"width="30" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4940" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node94');" >T</text>
+<script type='text/javascript'><![CDATA[ tree['node95'] = { marked: false, fc: 'node-1', ns: 'node96', par: 'node94', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node95" onclick="activate('node95');" x="4930" y="250"width="50" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4940" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node95');" >@id</text>
+<line x1="4955" y1="232" x2="4955" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="4980" y1="261" x2="4980" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node96'] = { marked: false, fc: 'node-1', ns: 'node97', par: 'node94', ps: 'node95', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node96" onclick="activate('node96');" x="4980" y="250"width="60" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="4990" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node96');" >@pre</text>
+<line x1="5040" y1="261" x2="5040" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node97'] = { marked: false, fc: 'node-1', ns: 'node98', par: 'node94', ps: 'node96', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node97" onclick="activate('node97');" x="5040" y="250"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5050" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node97');" >@post</text>
+<line x1="5110" y1="261" x2="5110" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node98'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node94', ps: 'node97', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node98" onclick="activate('node98');" x="5110" y="250"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5120" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node98');" >#text</text>
+<line x1="4520" y1="181" x2="5200" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node99'] = { marked: false, fc: 'node100', ns: 'node-1', par: 'node20', ps: 'node85', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node99" onclick="activate('node99');" x="5200" y="170"width="30" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5210" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node99');" >U</text>
+<script type='text/javascript'><![CDATA[ tree['node100'] = { marked: false, fc: 'node-1', ns: 'node101', par: 'node99', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node100" onclick="activate('node100');" x="5200" y="210"width="50" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5210" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node100');" >@id</text>
+<line x1="5225" y1="192" x2="5225" y2="210"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="5250" y1="221" x2="5250" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node101'] = { marked: false, fc: 'node-1', ns: 'node102', par: 'node99', ps: 'node100', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node101" onclick="activate('node101');" x="5250" y="210"width="60" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5260" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node101');" >@pre</text>
+<line x1="5310" y1="221" x2="5310" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node102'] = { marked: false, fc: 'node-1', ns: 'node103', par: 'node99', ps: 'node101', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node102" onclick="activate('node102');" x="5310" y="210"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5320" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node102');" >@post</text>
+<line x1="5380" y1="221" x2="5380" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node103'] = { marked: false, fc: 'node104', ns: 'node108', par: 'node99', ps: 'node102', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node103" onclick="activate('node103');" x="5380" y="210"width="30" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5390" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node103');" >V</text>
+<script type='text/javascript'><![CDATA[ tree['node104'] = { marked: false, fc: 'node-1', ns: 'node105', par: 'node103', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node104" onclick="activate('node104');" x="5380" y="250"width="50" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5390" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node104');" >@id</text>
+<line x1="5405" y1="232" x2="5405" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="5430" y1="261" x2="5430" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node105'] = { marked: false, fc: 'node-1', ns: 'node106', par: 'node103', ps: 'node104', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node105" onclick="activate('node105');" x="5430" y="250"width="60" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5440" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node105');" >@pre</text>
+<line x1="5490" y1="261" x2="5490" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node106'] = { marked: false, fc: 'node-1', ns: 'node107', par: 'node103', ps: 'node105', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node106" onclick="activate('node106');" x="5490" y="250"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5500" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node106');" >@post</text>
+<line x1="5560" y1="261" x2="5560" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node107'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node103', ps: 'node106', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node107" onclick="activate('node107');" x="5560" y="250"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5570" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node107');" >#text</text>
+<line x1="5410" y1="221" x2="5640" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node108'] = { marked: false, fc: 'node109', ns: 'node-1', par: 'node99', ps: 'node103', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node108" onclick="activate('node108');" x="5640" y="210"width="30" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5650" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node108');" >W</text>
+<script type='text/javascript'><![CDATA[ tree['node109'] = { marked: false, fc: 'node-1', ns: 'node110', par: 'node108', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node109" onclick="activate('node109');" x="5640" y="250"width="50" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5650" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node109');" >@id</text>
+<line x1="5665" y1="232" x2="5665" y2="250"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="5690" y1="261" x2="5690" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node110'] = { marked: false, fc: 'node-1', ns: 'node111', par: 'node108', ps: 'node109', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node110" onclick="activate('node110');" x="5690" y="250"width="60" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5700" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node110');" >@pre</text>
+<line x1="5750" y1="261" x2="5750" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node111'] = { marked: false, fc: 'node-1', ns: 'node112', par: 'node108', ps: 'node110', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node111" onclick="activate('node111');" x="5750" y="250"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5760" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node111');" >@post</text>
+<line x1="5820" y1="261" x2="5820" y2="261"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node112'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node108', ps: 'node111', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node112" onclick="activate('node112');" x="5820" y="250"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5830" y="265" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node112');" >#text</text>
+<line x1="1080" y1="141" x2="5920" y2="141"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node113'] = { marked: true, fc: 'node114', ns: 'node-1', par: 'node1', ps: 'node20', max: 2, dlist: ['{ q₃ }', '{  }', '{ q₁₁ q₁₂ q₁₃ }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ q₁₁ q₁₂ q₁₃ }', '{ q₃ q₁₁ q₁₂ q₁₃ }'] };]]></script>
+<rect id="node113" onclick="activate('node113');" x="5920" y="130"width="30" height="22" style="fill:rgb(21,62,252);stroke:rgb(0,0,0);stroke-width:4"/><text x="5930" y="145" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node113');" >X</text>
+<script type='text/javascript'><![CDATA[ tree['node114'] = { marked: false, fc: 'node-1', ns: 'node115', par: 'node113', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node114" onclick="activate('node114');" x="5920" y="170"width="50" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5930" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node114');" >@id</text>
+<line x1="5945" y1="152" x2="5945" y2="170"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="5970" y1="181" x2="5970" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node115'] = { marked: false, fc: 'node-1', ns: 'node116', par: 'node113', ps: 'node114', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node115" onclick="activate('node115');" x="5970" y="170"width="60" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="5980" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node115');" >@pre</text>
+<line x1="6030" y1="181" x2="6030" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node116'] = { marked: false, fc: 'node-1', ns: 'node117', par: 'node113', ps: 'node115', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node116" onclick="activate('node116');" x="6030" y="170"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6040" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node116');" >@post</text>
+<line x1="6100" y1="181" x2="6100" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node117'] = { marked: false, fc: 'node118', ns: 'node122', par: 'node113', ps: 'node116', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node117" onclick="activate('node117');" x="6100" y="170"width="30" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6110" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node117');" >Y</text>
+<script type='text/javascript'><![CDATA[ tree['node118'] = { marked: false, fc: 'node-1', ns: 'node119', par: 'node117', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node118" onclick="activate('node118');" x="6100" y="210"width="50" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6110" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node118');" >@id</text>
+<line x1="6125" y1="192" x2="6125" y2="210"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="6150" y1="221" x2="6150" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node119'] = { marked: false, fc: 'node-1', ns: 'node120', par: 'node117', ps: 'node118', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node119" onclick="activate('node119');" x="6150" y="210"width="60" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6160" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node119');" >@pre</text>
+<line x1="6210" y1="221" x2="6210" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node120'] = { marked: false, fc: 'node-1', ns: 'node121', par: 'node117', ps: 'node119', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node120" onclick="activate('node120');" x="6210" y="210"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6220" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node120');" >@post</text>
+<line x1="6280" y1="221" x2="6280" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node121'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node117', ps: 'node120', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node121" onclick="activate('node121');" x="6280" y="210"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6290" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node121');" >#text</text>
+<line x1="6130" y1="181" x2="6360" y2="181"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node122'] = { marked: false, fc: 'node123', ns: 'node-1', par: 'node113', ps: 'node117', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node122" onclick="activate('node122');" x="6360" y="170"width="30" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6370" y="185" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node122');" >Z</text>
+<script type='text/javascript'><![CDATA[ tree['node123'] = { marked: false, fc: 'node-1', ns: 'node124', par: 'node122', ps: 'node-1', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node123" onclick="activate('node123');" x="6360" y="210"width="50" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6370" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node123');" >@id</text>
+<line x1="6385" y1="192" x2="6385" y2="210"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<line x1="6410" y1="221" x2="6410" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node124'] = { marked: false, fc: 'node-1', ns: 'node125', par: 'node122', ps: 'node123', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node124" onclick="activate('node124');" x="6410" y="210"width="60" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6420" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node124');" >@pre</text>
+<line x1="6470" y1="221" x2="6470" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node125'] = { marked: false, fc: 'node-1', ns: 'node126', par: 'node122', ps: 'node124', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node125" onclick="activate('node125');" x="6470" y="210"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6480" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node125');" >@post</text>
+<line x1="6540" y1="221" x2="6540" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node126'] = { marked: false, fc: 'node-1', ns: 'node127', par: 'node122', ps: 'node125', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node126" onclick="activate('node126');" x="6540" y="210"width="90" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6550" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node126');" >@idrefs</text>
+<line x1="6630" y1="221" x2="6630" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node127'] = { marked: false, fc: 'node-1', ns: 'node128', par: 'node122', ps: 'node126', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node127" onclick="activate('node127');" x="6630" y="210"width="110" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6640" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node127');" >@xml:lang</text>
+<line x1="6740" y1="221" x2="6740" y2="221"style="stroke:rgb(0,0,0);stroke-width:2"/>
+<script type='text/javascript'><![CDATA[ tree['node128'] = { marked: false, fc: 'node-1', ns: 'node-1', par: 'node122', ps: 'node127', max: 0, dlist: ['{ q₃ }', '{  }', '{  }', '{  }'], flist: ['{ q₃ }', '{ q₃ }', '{ q₃ }', '{ q₃ }'] };]]></script>
+<rect id="node128" onclick="activate('node128');" x="6740" y="210"width="70" height="22" style="fill:rgb(5,3,12);stroke:rgb(0,0,0);stroke-width:2;stroke-dasharray:2,2"/><text x="6750" y="225" style="fill:rgb(255,255,255);font-size:17;font-family:typewriter;" onclick="activate('node128');" >#text</text>
+<line x1="65" y1="72" x2="65" y2="90"style="stroke:rgb(0,0,0);stroke-width:2"/>
+</svg>
+</div></div><script type='text/javascript'>
+window.onload = function () {
+var svg = document.getElementById('svgimg');
+svg.setAttribute('width', 6850);
+svg.setAttribute('height', 330);
+activate('node0');
+};
+
+</script></body></html>
index 9f200f0..0166527 100644 (file)
@@ -284,4 +284,9 @@ table.withborder td {
 mark {
     color: #00486c;
     background: none;
+}
+u {
+    color: #00486c;
+    background: none;
+    text-decoration: none;
 }
\ No newline at end of file
diff --git a/xpi/xpi_04.xhtml b/xpi/xpi_04.xhtml
new file mode 100644 (file)
index 0000000..b436582
--- /dev/null
@@ -0,0 +1,425 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
+>
+<html xmlns="http://www.w3.org/1999/xhtml" >
+  <head>
+    <title>XSLT</title>
+
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=utf-8" />
+    <meta name="copyright"
+          content="Copyright &#169; 2013 Kim Nguyễn" />
+
+    <!-- Load jQuery -->
+    <script src="../jquery-1.9.1.min.js" type="text/javascript" ></script>
+    <!-- Load the library -->
+    <script src="../simpleWebSlides.js" type="text/javascript" ></script>
+
+    <link rel="stylesheet" href="../simpleWebSlides.css" type="text/css"  media="all" />
+    <!-- Load a custom Theme, the class-element marks this style-sheet
+      a "theme" that can be swtiched dynamicaly -->
+    <link class="sws-theme" rel="stylesheet"  title="U-Psud style"  href="../themes/uPsud.css" type="text/css" />
+
+    <!-- Customize some templates and initialize -->
+    <style type="text/css">
+      .xml-tag { color: #00486c; }
+    </style>
+    <script type="text/javascript">
+      <![CDATA[
+      SWS.Config['sws-slide-change'] = SWS.Effects.slideChangeFadeOutIn;
+      SWS.Config['sws-object-deactivate'] =  SWS.Effects.objectDeactivateFadeOut;
+      SWS.Config['sws-object-activate'] = SWS.Effects.objectActivateFadeIn;
+
+      //Ensures that we load SWS at the very end, after MathJax has
+      //been initialized
+
+      $(window).load(function () {
+       $(".inline-xml").each(function(i, elem)
+      {
+      var jelem = $(elem);
+      var code = jelem.html();
+      code = code.replace ("<![CDATA" + "[", "").replace ("]" + "]>", "");
+      code = code.replace (/>/g, ">>>");
+      code = code.replace (/</g, "<span class='xml-tag'>&lt;");
+      code = code.replace (/>>>/g,"&gt;</span>");
+
+      jelem.html(code);
+      });
+  });
+
+      var checkSVG = function (o, i)
+      {
+            if (i >= 10 || SWS.Utils.isUndefined(o) || o == null) return;
+            var svg = o.getSVGDocument();
+            if (svg == null) {
+              setTimeout(function() { checkSVG(o, i+1); }, 200);
+            } else {
+         var alltext = $(svg).find("text");
+         alltext.css("font-family", "DIN");
+         alltext.css("font-size", "70%");
+
+            };
+      };
+      $(window).load(function() {
+      $("embed").ready(function() {
+         setTimeout(function() { 
+         $("embed").each(function(i, o) { checkSVG(this,0);   });
+}, 1000);
+        });
+     });
+      $(window).load(SWS.Presentation.init);
+
+       ]]>
+
+    </script>
+
+  </head>
+  <body>
+    <a href="xpi_03.xhtml" class="sws-previous"/>
+    <div class="sws-slide sws-cover sws-option-nofooter">
+      <h1>XML et Programmation Internet</h1>
+      <h1>Cours 4</h1>
+      <a href="mailto:kn@lri.fr">kn@lri.fr</a>
+    </div>
+    <h1>Namespaces</h1>
+    <div class="sws-slide">
+      <h1>Utilisation des <i>namespaces</i></h1>
+      <p><a>Problème</a> : comment mélanger au sein d'un même document des
+      balises venant de deux DTDs (ou schémas) <a>différentes</a>
+      ?<br/>Exemple : mettre du SVG (images vectorielles) dans
+      du XHTML (page web)</p>
+      <code style="font-size:80%;width:50%;float:left"><![CDATA[
+      <svg width="400" height="180">
+         <rect x="50"
+              y="20"
+              rx="20"
+              ry="20"
+              width="150" height="150"
+               style="fill:red;stroke:black;
+                      stroke-width:5;opacity:0.5" />
+      </svg> 
+ ]]>
+      </code>
+      <code style="font-size:80%;width:50%;float:left"><![CDATA[
+      <html>
+       <head><title>Mon image</title></head>
+       <body>
+
+         <h1>Une image</h1>
+         <!-- contenu de l'image -->
+
+       </body>
+      </html>
+ ]]>
+      </code>
+      <p>Comment spécifier que certains éléments doivent êtres
+      <a>interprétés</a> ? (par exemple par le navigateur web) et que
+      d'autres font parties des données ?</p>
+    </div>
+    <div class="sws-slide">
+      <h1>L'attribut <tt>xmlns</tt></h1>
+      <p>On peut utiliser un <a>attribut</a> spécial, <tt>xmlns</tt>
+      qui est autorisé dans <a>tous les documents XML</a>
+      sur <a>n'importe quel élément</a>. La valeur de ce dernier est
+      un lien identifiant la DTD et indique tous les descendants de
+      l'élément en question sont valides par rapport à la
+      DTD.<br/>Exemple:
+      </p>
+      <code style="font-size:80%;background:white;"><![CDATA[
+      <html ]]><s>xmlns="http://www.w3.org/1999/xhtml"</s><![CDATA[>
+       <head><title>Mon image</title></head>
+       <body>
+       <h1>Mon image</h1>
+           <svg width="400" height="180" ]]><s>xmlns="http://www.w3.org/2000/svg"</s><![CDATA[>
+             <rect x="50"
+                  y="20"
+                  rx="20"
+                  ry="20"
+                  width="150" height="150"
+                  style="fill:red;stroke:black;
+                         stroke-width:5;opacity:0.5" />
+          </svg>
+     </body>
+     </html>
+ ]]>
+      </code>
+
+    </div>
+    <div class="sws-slide">
+      <h1>L'attribut <tt>xmlns</tt></h1>
+      <p>On peut aussi donner <a>un nom</a> à un namespace particulier
+      et réutiliser ce nom dans les balises:</p>
+      <code style="font-size:80%;background:white;"><![CDATA[
+      <html ]]><s>xmlns="http://www.w3.org/1999/xhtml"</s>
+            <a>xmlns:svg="http://www.w3.org/2000/svg"</a><![CDATA[>
+       <head><title>Mon image</title></head>
+       <body>
+       <h1>Mon image</h1>
+           <svg:svg width="400" height="180" 
+             <svg:rect x="50"
+                  y="20"
+                  rx="20"
+                  ry="20"
+                  width="150" height="150"
+                  style="fill:red;stroke:black;
+                         stroke-width:5;opacity:0.5" />
+          </svg:svg>
+     </body>
+     </html>]]> </code>
+<p style="background:white;">en utilisant l'attribut <tt>xmlns:toto="..."</tt> alors toutes la
+  balises de la forme <tt>&lt;toto:nombalise&gt;</tt> appartiennent au
+  namespace <tt>toto</tt>. Il ne faut pas oublier le namespace sur la
+  balise fermante !</p>
+    </div>
+    <div class="sws-slide">
+      <h1>Digression</h1>
+      <p>L'exemple précédent ressemble à ça :</p>
+      <div style="border: 1pt solid gray;margin: 10pt">
+       <h1 style="font-family:Serif;color:black;text-align:left">Mon image</h1>
+             <svg width="400" height="180" xmlns="http://www.w3.org/2000/svg">
+         <rect x="50"
+              y="20"
+              rx="20"
+              ry="20"
+              width="150" height="150"
+               style="fill:red;stroke:black;
+                      stroke-width:5;opacity:0.5" />
+      </svg> 
+      </div>
+    </div>
+    <h1>XSLT, principes</h1>
+    <div class="sws-slide">
+      <h1>XSLT</h1>
+      <p><a>eXtensible Stylesheet Language Transformations</a> : est
+       un langage de transformation de documents XML. Il permet
+       d'extraire (au moyen d'XPath) des nœuds d'un <a>document d'entrée</a>
+       et de les ré-organiser et de les copier dans un <a>document de
+       sortie</a>.
+       Le document de sortie est souvent du XML lui-même mais peut
+       être aussi du texte, du PDF, …
+      </p>
+      <ul>
+       <li>XSLT est standardisé par le W3C</li>
+       <li>Les programmes XSLT sont écrit eux-même en XML</li>
+       <li>Il existe plusieurs versions du standard (1.0, 2.0,
+       3.0). Ce cours fait juste une introduction aux fonctionalités
+       les plus simples (1.0)</li>
+      </ul>
+    </div>
+    <div class="sws-slide">
+      <h1>Un exemple simple</h1>
+      <p>On réutilise un document de recette de cuisine
+      du <a href="xpi_01.xhtml">cours 01</a>. La DTD est:</p>
+<code style="color:black;position:relative;left:10%;"><![CDATA[<!ELEMENT recette (title,ingredients,duree,etapes)>
+<!ATTLIST recette difficulte (facile|normal|difficile) #REQUIRED>
+<!ELEMENT title #PCDATA >
+<!ELEMENT ingredients (ingredient+) >
+<!ELEMENT duree #PCDATA >
+<!ELEMENT etapes (e*) >
+<!ELEMENT ingredient #PCDATA>
+<!ELEMENT e #PCDATA>
+<!ATTLIST e num CDATA>
+]]></code>
+    </div>
+    <div class="sws-slide">
+      <h1>Un exemple simple (suite)</h1>
+      <p>Un document valide par rapport à la DTD est le suivant</p>
+    <code style="color:black;font-size:80%;position:relative;left:10%;"><![CDATA[
+<!DOCTYPE recette SYSTEM "recette.dtd">
+<recette difficulte="facile">
+<title>Tiramisú</title>
+<ingredients>
+  <ingredient>mascarpone</ingredient>
+  <ingredient>oeufs</ingredient>
+  <ingredient>sucre</ingredient>
+  <ingredient>café</ingredient>
+  <ingredient>biscuits</ingredient>
+</ingredients>
+<duree>2h</duree>
+<etapes>
+  <e num="1">Séparer les blancs des jaunes</e>
+  <e num="2">…</e>
+  …
+</etapes>
+</recette>
+]]></code>  
+    </div>
+<div class="sws-slide">
+      <h1>Un exemple simple (suite)</h1>
+      <p>On va extraire des informations du document et en faire une
+      page web :</p>
+<code style="color:black;font-size:80%;position:relative;"><![CDATA[  <xsl:stylesheet version="1.0"
+   xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+   <xsl:template match="/">
+     <html>
+       <head>
+          <title>Ingrédients du ]]><u>&lt;xsl:value-of select="descendant::title" /&gt;</u><![CDATA[ </title>
+       </head>
+       <body>
+        <h1>Ingrédients du ]]><u>&lt;xsl:value-of select="descendant::title" /&gt;</u><![CDATA[ </h1>
+        <ul>
+          ]]><u>&lt;xsl:for-each select="descendant::ingredient"&gt;</u><![CDATA[
+            <li> ]]><u>&lt;xsl:value-of select="child::text()" /&gt;</u><![CDATA[ </li>
+          ]]><u>&lt;/xsl:for-each&gt;</u><![CDATA[
+        </ul>
+       </body>
+     </html>
+   </xsl:template>
+  </xsl:stylesheet>
+]]></code>
+</div>
+<div class="sws-slide">
+<h1>Comment exécuter un programme XSLT</h1>
+<ul>
+  <li>En utilisant un moteur XSLT comment le
+  programme <tt>xsltproc</tt> </li>
+  <li>En référençant la feuille de style et en ouvrant le document XML
+  avec Firefox :
+    <code>
+    <![CDATA[<!-- fichier recette.xml -->]]>
+    <u>&lt;?xml-stylesheet type="text/xsl" href="prog.xsl"?&gt;</u><![CDATA[
+    <recette difficulte="facile">
+       <title>Tiramisú</title>
+        <ingredients>
+        ...]]></code>
+  </li>
+  <li>En Java grace à la classe <tt>Transformer</tt> du package <tt>javax</tt></li>
+</ul>
+</div>
+<div class="sws-slide">
+<h1>Structure d'un programme XSLT</h1>
+<p>Un programme XSLT commence par la balise :<code><u><![CDATA[  <xsl:stylesheet version="1.0"
+   xmlns:xsl="http://www.w3.org/1999/XSL/Transform">]]></u></code>
+et fini par la balise : <code><u><![CDATA[  </xsl:stylesheet>]]></u></code>
+Le texte ainsi que les éléments qui ne sont pas dans
+   le <i>namespace</i> « <tt><a>xsl:</a></tt> » sont copiés à
+   l'identique dans la sortie.<br/>
+   Dans la balise principale <tt>&lt;xsl:stylesheet&gt;</tt> on trouve
+   un certain nombre de balises <u><tt>&lt;xsl:template match="…"
+   &gt;</tt></u>.<br/>
+   Les <i>templates</i> vont jouer le rôle de fonctions et vont être
+   appelées pour transformer des nœuds du document en nœuds de sortie.
+</p>
+</div>
+<h1>Les templates XSLT</h1>
+<div class="sws-slide">
+  <h1>Templates</h1>
+<p>Un template est délimité par une balise <u><tt>&lt;xsl:template match="…"
+   &gt;</tt></u> où le «&nbsp;…&nbsp;» est une expression XPath. Il peut y avoir
+   plusieurs templates dans un fichier XSLT. <br/>
+   Un template est appliqué à un ensemble de nœuds. Parmi cet
+   ensemble, tous les nœuds qui vérifient l'expression XPath de
+   l'attribut <tt>match</tt> sont passés en argument au template.<br/>
+   Initialement, tous les templates existants sont appliqués au nœud
+   fictif document.
+  </p>
+</div>
+<div class="sws-slide">
+  <h1>Retour sur l'exemple</h1>
+  <code style="color:black;font-size:80%;position:relative;"><![CDATA[  <xsl:stylesheet version="1.0"
+   xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+   <xsl:template match="/">
+     <html>
+       <head>
+          <title>Ingrédients du ]]><u>&lt;xsl:value-of select="descendant::title" /&gt;</u><![CDATA[ </title>
+       </head>
+       <body>
+        <h1>Ingrédients du ]]><u>&lt;xsl:value-of select="descendant::title" /&gt;</u><![CDATA[ </h1>
+        <ul>
+          ]]><u>&lt;xsl:for-each select="descendant::ingredient"&gt;</u><![CDATA[
+            <li> ]]><u>&lt;xsl:value-of select="child::text()" /&gt;</u><![CDATA[ </li>
+          ]]><u>&lt;/xsl:for-each&gt;</u><![CDATA[
+        </ul>
+       </body>
+     </html>
+   </xsl:template>
+  </xsl:stylesheet>
+]]></code>
+<ol><li>Initialement tous les templates (il n'y en a qu'un ici) sont
+    appliqués à la racine du document</li>
+<li>Pour chacun d'entre eux, l'expression XPath dans
+  le <tt>match</tt> est contrôlée. Si elle réussit, alors le template
+  est appliqué au nœud</li>
+</ol>
+</div>
+<div class="sws-slide">
+<h1>Deuxième exemple, 2 templates</h1>
+<p>
+  <code style="color:black;font-size:80%;position:relative;"><![CDATA[  <xsl:stylesheet version="1.0"
+   xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+   <xsl:template match="/">
+     <html>
+       <head>
+          <title>Ingrédients du ]]><u>&lt;xsl:value-of select="descendant::title" /&gt;</u><![CDATA[ </title>
+       </head>
+       <body>
+        <h1>Ingrédients du ]]><u>&lt;xsl:value-of select="descendant::title" /&gt;</u><![CDATA[ </h1>
+        <ul>
+          ]]><u>&lt;xsl:apply-templates select="descendant::ingredient" /&gt;</u><![CDATA[
+        </ul>
+       </body>
+     </html>
+   </xsl:template>
+   <xsl:template match="ingredient">
+     <li> ]]><u>&lt;xsl:value-of select="child::text()" /&gt;</u><![CDATA[ </li>
+   </xsl:template>
+  </xsl:stylesheet>]]></code></p>
+<ol style="background:white;"><li>On applique tous les templates à la racine. Le
+    template <tt>match="/"</tt> réussit, le
+    template <tt>match="ingredient"</tt> échoue.</li>
+<li>L'expression
+  <tt><![CDATA[<xsl:apply-templates select="…" />]]></tt>
+  réapplique <a>tous</a> les templates à tous les nœuds sélectionnés
+  par l'expression XPath.</li>
+</ol></div>
+<div class="sws-slide">
+<h1>Priorité des templates</h1>
+<p>Que se passe-t-il si deux templates peuvent s'appliquer à un même
+  élément&nbsp;? On applique les règles de priorité suivantes
+  (simplifiées) :
+</p>
+<ol>
+<li>Si le <tt>match</tt> d'un template contient un <tt>|</tt> entre
+  plusieurs chemins, la priorité la plus élevée de ces chemins est choisie
+</li>
+<li>si le <tt>match</tt> est de la forme : <tt>child::foo</tt>
+  ou <tt>attribute:foo</tt>, sa priorité est 0 </li>
+<li>si le <tt>match</tt> est de la forme : <tt>child::*</tt> ou
+  ou <tt>attribute:*</tt>, sa priorité est -0.25 </li>
+<li>si le <tt>match</tt> est de la form : <tt>child::text()</tt>
+  ou <tt>child::node()</tt> (idem avec <tt>attribute</tt>), sa
+  priorité est -0.5</li>
+<li>sinon (test complexe, par exemple <tt>foo[ count(child::bar) &lt;
+    4]</tt>), la priorité est 0.5</li>
+</ol>
+<p>Le template ayant la priorité la plus élevée est choisi. On peut
+  donner explicitement à un template une priorité avec
+  l'attribut <tt>priority="…"</tt><br/>Le moteur XSLT <s>lève une
+  erreur</s> d'exécution si deux templates ont exactement la même
+  priorité.</p>
+</div>
+<div class="sws-slide">
+<h1>Templates par défaut</h1>
+<p>Il existe 3 templates <a>par défaut</a> qui sont toujours
+  définis :</p>
+<code><![CDATA[  <xsl:template match="*|/">
+     <xsl:apply-templates/>
+  </xsl:template>
+
+  <xsl:template match="text()|@*">
+    <xsl:value-of select="."/>
+  </xsl:template>
+
+  <xsl:template match="processing-instruction()|comment()"/>
+]]>
+</code>
+<p>Ils ont des priorités inférieures aux templates présents dans le
+ fichier donc ne sont appliqués
+  que si aucun templates ne fonctionne. Ils permettent de « descendre
+  dans l'arbre » (jusqu'aux textes), si aucun template ne s'applique à
+  la racine.
+</p>
+</div>
+  </body>
+</html>