summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorchatty2000-11-28 14:19:34 +0000
committerchatty2000-11-28 14:19:34 +0000
commit09f57c8dffd9a8ba0983cce13381aef716f43801 (patch)
tree49c5faa7cd1b76eea36169b5ecce09411b2802c2 /utils
parent2575756ec6f41bd05bf4505ccc0253fad0ed77c4 (diff)
downloadivy-league-09f57c8dffd9a8ba0983cce13381aef716f43801.zip
ivy-league-09f57c8dffd9a8ba0983cce13381aef716f43801.tar.gz
ivy-league-09f57c8dffd9a8ba0983cce13381aef716f43801.tar.bz2
ivy-league-09f57c8dffd9a8ba0983cce13381aef716f43801.tar.xz
*** empty log message ***
Diffstat (limited to 'utils')
-rw-r--r--utils/Automaton.cc181
-rw-r--r--utils/Automaton.h137
-rw-r--r--utils/FIGURES/CcuDList.epsf2636
-rw-r--r--utils/FIGURES/CcuList.epsf2006
-rw-r--r--utils/FIGURES/hash.tex41
-rw-r--r--utils/testchain.cc65
-rw-r--r--utils/testdirpath.cc19
-rw-r--r--utils/testdlist.cc77
-rw-r--r--utils/testhash.cc197
-rw-r--r--utils/testid.cc61
-rw-r--r--utils/testlist.cc76
-rw-r--r--utils/testregexp.cc17
-rw-r--r--utils/testsignal.cc74
-rw-r--r--utils/testtimer.cc43
14 files changed, 5630 insertions, 0 deletions
diff --git a/utils/Automaton.cc b/utils/Automaton.cc
new file mode 100644
index 0000000..9643bdb
--- /dev/null
+++ b/utils/Automaton.cc
@@ -0,0 +1,181 @@
+/*
+ * CENA C++ Utilities
+ *
+ * by Stephane Chatty
+ *
+ * Copyright 1993-1995
+ * Centre d'Etudes de la Navigation Aerienne (CENA)
+ *
+ * Automata.
+ *
+ * $Id$
+ * $CurLog$
+ */
+
+#include "Automaton.h"
+
+CcuBaseLink :: CcuBaseLink (CcuBaseState* s)
+: To (s)
+{
+}
+
+CcuBaseLink :: ~CcuBaseLink ()
+{
+}
+
+CcuBaseState :: CcuBaseState (const char* name, CcuBaseAutomaton& a)
+: Name (name),
+ Links (a.Size, a.Hash, a.Copy, a.Delete, a.Compare),
+ TheAutomaton (&a)
+{
+}
+
+CcuBaseState :: ~CcuBaseState ()
+{
+ CcuHashIterOf <CcuBaseLink> l = Links;
+ while (++l)
+ delete *l;
+}
+
+#if 0
+void
+CcuBaseState :: CreateLink (CcuBaseState* to, CcuKey* k)
+{
+ CcuHashCellOf <CcuBaseLink>* c = Links.Add (k);
+ c->SetInfo (new CcuBaseLink (to));
+}
+#endif
+
+#if 0
+void
+CcuBaseState :: Add (CcuKey* key, CcuBaseLink* l)
+{
+ CcuHashCellOf <CcuLink>* c = Links.Add (key);
+ c->SetInfo (l);
+}
+#endif
+
+CcuBaseState*
+CcuBaseState :: Next (CcuToken* tk, bool peek)
+{
+ CcuKey* k = TheAutomaton->GetKey ? (TheAutomaton->GetKey) (tk) : tk;
+ CcuHashCellOf <CcuBaseLink>* c = Links.Get (k);
+ if (!c)
+ return 0;
+ CcuBaseLink* l = c->GetInfo ();
+ CcuBaseState* to = l->GetDestination ();
+
+ if (!peek) {
+ Out ();
+ l->Fire (this, to, tk);
+ to->In ();
+ }
+ return to;
+}
+
+CcuBaseAutomaton :: CcuBaseAutomaton (AKEY_F gk, HASH_F hash, HCP_F cp, HDEL_F del, HCMP_F cmp, int sz)
+: Size (sz),
+ Hash (hash),
+ Copy (cp),
+ Delete (del),
+ Compare (cmp),
+ GetKey (gk),
+ Initial (0),
+ AllStates ()
+{
+}
+
+CcuBaseAutomaton :: ~CcuBaseAutomaton ()
+{
+ CcuListIterOf <CcuBaseState> s = AllStates;
+ while (++s)
+ delete *s;
+}
+
+#if 0
+CcuBaseState*
+CcuBaseAutomaton :: CreateState (const char* n);
+{
+ CcuBaseState* s = new CcuBaseState (n, *this);
+ AllStates.Append (s);
+ return s;
+}
+#endif
+
+
+CcuLink :: CcuLink (CcuState* s, CcuLinkFun fn)
+: CcuBaseLink (s),
+ Fun (fn)
+{
+}
+
+CcuLink :: ~CcuLink ()
+{
+}
+
+void
+CcuLink :: Fire (CcuBaseState* from, CcuBaseState* to, CcuToken* data)
+{
+ if (Fun)
+ (*Fun) ((CcuState*) from, (CcuState*) to, data);
+}
+
+CcuState :: CcuState (const char* name, CcuAutomaton& a, CcuStateFun* in, CcuStateFun* out)
+: CcuBaseState (name, a),
+ InFun (in),
+ OutFun (out)
+{
+}
+
+CcuState :: ~CcuState ()
+{
+}
+
+void
+CcuState :: In ()
+{
+ if (InFun) (*InFun) (this);
+}
+
+void
+CcuState :: Out ()
+{
+ if (OutFun) (*OutFun) (this);
+}
+
+void
+CcuState :: CreateLink (CcuState* to, CcuKey* k, CcuLinkFun fn)
+{
+ CcuHashCellOf <CcuBaseLink>* c = Links.Add (k);
+ c->SetInfo (new CcuLink (to, fn));
+}
+
+CcuState*
+CcuAutomaton :: CreateState (const char* n, CcuStateFun in, CcuStateFun out)
+{
+ CcuState* s = new CcuState (n, *this, in, out);
+ AllStates.Append (s);
+ return s;
+}
+
+CcuAutomIter :: CcuAutomIter (CcuBaseAutomaton& a)
+: TheAutomaton (&a),
+ CurState (a.GetInitial ())
+{
+}
+
+CcuAutomIter :: ~CcuAutomIter ()
+{
+}
+
+bool
+CcuAutomIter :: Step (CcuToken* tk)
+{
+ if (!CurState && !(CurState = TheAutomaton->GetInitial ()))
+ return false;
+ CcuBaseState* n = CurState->Next (tk);
+ if (!n)
+ return false;
+ CurState = n;
+ return true;
+}
diff --git a/utils/Automaton.h b/utils/Automaton.h
new file mode 100644
index 0000000..a85d911
--- /dev/null
+++ b/utils/Automaton.h
@@ -0,0 +1,137 @@
+/*
+ * CENA C++ Utilities
+ *
+ * by Stephane Chatty
+ *
+ * Copyright 1992-1995
+ * Centre d'Etudes de la Navigation Aerienne (CENA)
+ *
+ * Automata.
+ *
+ * $Id$
+ * $CurLog$
+ */
+
+#ifndef CcuAutomaton_H_
+#define CcuAutomaton_H_
+
+#include "cplus_bugs.h"
+#include "List.h"
+#include "HashTable.h"
+#include "String.h"
+#include "bool.h"
+
+typedef void CcuToken;
+typedef void CcuKey;
+class CcuBaseState;
+class CcuBaseAutomaton;
+
+class CcuBaseLink {
+protected:
+ CcuBaseState* To;
+public:
+ CcuBaseLink (CcuBaseState*);
+virtual ~CcuBaseLink ();
+virtual void Fire (CcuBaseState*, CcuBaseState*, CcuToken*) = 0;
+inline CcuBaseState* GetDestination () const { return To;}
+};
+
+class CcuBaseState {
+protected:
+ CcuString Name;
+ CcuHashTableOf <CcuBaseLink> Links;
+ CcuBaseAutomaton* TheAutomaton;
+
+virtual void In () = 0;
+virtual void Out () = 0;
+
+public:
+ CcuBaseState (const char*, CcuBaseAutomaton&);
+virtual ~CcuBaseState ();
+ void Add (CcuBaseLink*);
+ void CreateLink (CcuBaseState*, CcuKey*);
+ void RemoveLink (CcuBaseLink*);
+ CcuBaseState* Next (CcuToken*, bool = false);
+};
+
+
+#if 0
+typedef unsigned int (*HASH_F) (const CcuKey*, int);
+typedef int (*HCMP_F) (const CcuKey*, const CcuKey*);
+typedef CcuKey* (*HCP_F) (const CcuKey*);
+typedef void (*HDEL_F) (const CcuKey*);
+#endif
+typedef CcuKey* (*AKEY_F) (CcuToken*);
+
+
+class CcuBaseAutomaton {
+friend class CcuBaseState;
+friend class CcuAutomIter;
+protected:
+ int Size;
+ HASH_F Hash;
+ HCP_F Copy;
+ HDEL_F Delete;
+ HCMP_F Compare;
+ AKEY_F GetKey;
+ CcuBaseState* Initial;
+ CcuListOf <CcuBaseState> AllStates;
+public:
+ CcuBaseAutomaton (AKEY_F = 0, HASH_F = 0, HCP_F = 0, HDEL_F = 0, HCMP_F = 0, int sz = 4);
+ ~CcuBaseAutomaton ();
+inline CcuBaseState* GetInitial () { return Initial; }
+inline void SetInitial (CcuBaseState* s) { Initial = s; }
+ CcuBaseState* CreateState (const char* = 0);
+};
+
+
+class CcuState;
+typedef void (CcuLinkFun) (CcuState*, CcuState*, CcuToken*);
+
+class CcuLink : public CcuBaseLink {
+protected:
+ CcuLinkFun* Fun;
+public:
+ CcuLink (CcuState*, CcuLinkFun*);
+ ~CcuLink ();
+ void Fire (CcuBaseState*, CcuBaseState*, CcuToken*);
+};
+
+typedef void (CcuStateFun) (CcuState*);
+class CcuAutomaton;
+
+class CcuState : public CcuBaseState {
+protected:
+ CcuStateFun* InFun;
+ CcuStateFun* OutFun;
+
+ void In ();
+ void Out ();
+
+public:
+ CcuState (const char*, CcuAutomaton&, CcuStateFun* = 0, CcuStateFun* = 0);
+ ~CcuState ();
+ void CreateLink (CcuState*, CcuKey*, CcuLinkFun);
+};
+
+
+class CcuAutomaton : public CcuBaseAutomaton {
+public:
+inline CcuAutomaton () : CcuBaseAutomaton () {}
+inline ~CcuAutomaton () {}
+ CcuState* CreateState (const char* = 0, CcuStateFun = 0, CcuStateFun = 0);
+};
+
+class CcuAutomIter {
+protected:
+ CcuBaseAutomaton* TheAutomaton;
+ CcuBaseState* CurState;
+public:
+ CcuAutomIter (CcuBaseAutomaton&);
+ ~CcuAutomIter ();
+ bool Step (CcuToken*);
+};
+
+
+
+#endif /* CcuAutomaton_H_ */
diff --git a/utils/FIGURES/CcuDList.epsf b/utils/FIGURES/CcuDList.epsf
new file mode 100644
index 0000000..caa773a
--- /dev/null
+++ b/utils/FIGURES/CcuDList.epsf
@@ -0,0 +1,2636 @@
+%!PS-Adobe-2.0 EPSF-1.2
+%%Title: CcuDList.epsf
+%%Creator: Canvas 3.0
+%%For: chatty
+%%CreationDate: Jeu 3 D\216c 1992 18:15
+%%BoundingBox: 55 162 473 404
+%%DocumentProcSets: CanvasDict
+%%DocumentSuppliedProcSets: CanvasDict
+%%Copyright ©1988-91 Deneba Systems, Inc. - All Rights Reserved Worldwide
+%%DocumentFonts: Helvetica
+%%+ Helvetica-Oblique
+%%+ Helvetica-Bold
+%%DocumentNeededFonts: Helvetica
+%%+ Helvetica-Oblique
+%%+ Helvetica-Bold
+%%EndComments
+%%BeginProcSet:CanvasDict
+/CanvasDict where not{/CanvasDict 250 dict def}{pop}ifelse
+CanvasDict begin
+systemdict/setpacking known{/origpack currentpacking def true setpacking}if
+/bdf{bind def}bind def
+/xdf{exch bind def}bdf
+/min{2 copy gt{exch}if pop}bdf
+/edf{exch def}bdf
+/max{2 copy lt{exch}if pop}bdf
+/cvmtx matrix def
+/tpmx matrix def
+/currot 0 def
+/rotmtx matrix def
+/origmtx matrix def
+/cvangle{360 exch sub 90 add 360 mod}bdf
+/setrot{/currot edf rotmtx currentmatrix pop 2 copy translate currot rotate neg exch neg exch translate}bdf
+/endrot{rotmtx setmatrix}bdf
+/i systemdict/image get def/T true def/F false def/dbg F def
+/ncolors 0 def/st0 ()def/st1 ()def/proc0 {}def
+/penh 1 def/penv 1 def/penv2 0 def/penh2 0 def/samplesize 0 def/width 0 def/height 0 def
+/setcmykcolor where not{/setcmykcolor{/b edf 3{b add 1.0 exch sub 0.0 max 1.0 min 3 1 roll}repeat systemdict begin setrgbcolor end}bdf}{pop}ifelse
+/doeoclip{closepath{eoclip}stopped{currentflat dup 2 mul setflat eoclip setflat}if}bdf
+/SpaceExtra 0 def/LetterSpace 0 def/StringLength 0 def/NumSpaces 0 def/JustOffset 0 def
+/f0/fill load def
+/s0{1 setlinewidth cvmtx currentmatrix pop penh penv scale stroke cvmtx setmatrix}bdf
+/f1{_bp _fp impat}def
+/s1{cvmtx currentmatrix pop 1 setlinewidth penh penv scale
+{strokepath}stopped{currentflat dup 2 mul setflat strokepath setflat}if
+_bp
+cvmtx setmatrix _fp impat}def
+/filltype 0 def
+/stroketype 0 def
+/f{filltype 0 eq{f0}{f1}ifelse}bdf
+/s{stroketype 0 eq{s0}{s1}ifelse}bdf
+/_fp{}def
+/_bp{}def
+/_fg 1 def
+/_pg 0 def
+/_bkg 1 def
+/_frg 0 def
+/_frgb 3 array def
+/_frrgb [0 0 0] def
+/_fcmyk 4 array def
+/_frcmyk [0 0 0 1] def
+/_prgb 3 array def
+/_pcmyk 4 array def
+/_bkrgb [1 1 1] def
+/_bkcmyk [0 0 0 0] def
+/fg{/_fg exch def /filltype 0 def/fills{_fg setgray}def}def
+/frgb{_frgb astore pop /filltype 0 def/fills{_frgb aload pop setrgbcolor}def}def
+/fcmyk{_fcmyk astore pop /filltype 0 def/fills{_fcmyk aload pop setcmykcolor}def}def
+/pg{/_pg exch def /stroketype 0 def/pens{_pg setgray}def}def
+/prgb{_prgb astore pop /stroketype 0 def/pens{_prgb aload pop setrgbcolor}def}def
+/pcmyk{_pcmyk astore pop /stroketype 0 def/pens{_pcmyk aload pop setcmykcolor}def}def
+/fpat{/fstr edf/filltype 1 def/fills{/patstr fstr def}bdf}bdf
+/ppat{/sstr edf/stroketype 1 def/pens{/patstr sstr def}bdf}bdf
+/bkg{ /_bkg exch def /_bp{gsave _bkg setgray fill grestore}def}def
+/bkrgb{_bkrgb astore pop/_bp{gsave _bkrgb aload pop setrgbcolor fill grestore}def}def
+/bkcmyk{_bkcmyk astore pop/_bp{gsave _bkcmyk aload pop setcmykcolor fill grestore}def}def
+/frg{ /_frg exch def /_fp{_frg setgray}def}def
+/frrgb{_frrgb astore pop/_fp{_frrgb aload pop setrgbcolor}def}def
+/frcmyk{_frcmyk astore pop/_fp{_frcmyk aload pop setcmykcolor}def}def
+/icomp{/ncolors edf
+ncolors 1 gt{/proc0 edf
+dup dup 0 get ncolors div cvi exch 0 3 -1 roll put
+4 -1 roll ncolors div cvi 4 1 roll{proc0 dup/st0 edf
+0 exch ncolors exch length
+dup ncolors sub exch ncolors div cvi string/st1 edf
+{dup 0 exch dup 1 exch
+2 add{st0 exch get add}bind for
+3 div ncolors 4 eq{exch dup 3 1 roll 3 add st0 exch get add 255 exch sub dup 0 lt{pop 0}if}if cvi
+dup 255 gt{pop 255}if
+exch ncolors div cvi exch
+st1 3 1 roll put}bind for
+st1}}if i}bdf
+/ci
+{/colorimage where
+{pop false exch colorimage}
+{icomp}
+ifelse}bdf
+/impat
+{/cnt 0 def
+/MySave save def
+currot 0 ne{currot neg rotate}if
+clip
+flattenpath
+pathbbox
+3 -1 roll
+8 div floor 8 mul dup/starty edf
+sub abs 8 div ceiling 8 mul cvi/height edf
+exch 8 div floor 8 mul dup/startx edf
+sub abs 8 div ceiling 8 mul cvi/width edf
+startx starty translate
+width height scale
+/height height 8 mul def
+/st0 width string def
+width height T [width 0 0 height neg 0 height]
+{patstr
+cnt 8 mod
+get/st1 edf
+0 1
+st0 length 1 sub dup 0 le{pop 1}if
+{st0 exch
+st1
+put}bind for/cnt cnt 1 add def
+st0}bind
+imagemask
+MySave restore
+newpath}bdf
+/cm{/ncolors edf
+translate
+scale/height edf/colorimage where
+{pop}
+{ncolors mul}ifelse/width edf
+/tbitstr width string def
+width height 8 [width 0 0 height neg 0 height]
+{currentfile tbitstr readhexstring pop}bind
+ncolors
+dup 3 eq {ci}{icomp}ifelse}bdf
+/im{translate
+scale
+/height edf
+/width edf
+/tbitstr width 7 add 8 div cvi string def
+width height 1 [width 0 0 height neg 0 height]
+{currentfile tbitstr readhexstring pop}bind
+i}bdf
+/imk{/invFlag edf
+translate
+scale
+/height edf
+/width edf
+/tbitstr width 7 add 8 div cvi string def
+width height invFlag [width 0 0 height neg 0 height]
+{currentfile tbitstr readhexstring pop}bind
+imagemask}bdf
+/BeginEPSF
+{/MySave save def
+/dict_count countdictstack def
+/op_count count 1 sub def
+userdict begin
+/showpage {} def
+0 setgray 0 setlinecap
+1 setlinewidth 0 setlinejoin
+10 setmiterlimit [] 0 setdash newpath
+/languagelevel where
+{pop languagelevel 1 ne{false setstrokeadjust false setoverprint}if}if
+}bdf
+/EndEPSF
+{count op_count sub {pop}repeat
+countdictstack dict_count sub {end}repeat
+MySave restore}bdf
+/rectpath {/cv_r edf/cv_b edf/cv_l edf/cv_t edf
+cv_l cv_t moveto cv_r cv_t lineto cv_r cv_b lineto cv_l cv_b lineto cv_l cv_t lineto closepath}bdf
+/setpen{/penh edf/penv edf/penv2 penv 2 div def/penh2 penh 2 div def}bdf
+/dostroke{not pens 1.0 currentgray ne or {s}{newpath}ifelse}bdf
+/dodashfill{not fills 1.0 currentgray ne or
+{gsave f grestore gsave [] 0 setdash
+stroketype/stroketype filltype def
+s/stroketype edf grestore}{newpath}ifelse}bdf
+/dofill{not fills 1.0 currentgray ne or {f}{newpath}ifelse}bdf
+/dofillsave{not fills 1.0 currentgray ne or {gsave f grestore}if}bdf
+/doline{not pens 1.0 currentgray ne or {filltype/filltype stroketype def f/filltype edf}{newpath}ifelse}bdf
+/spx{SpaceExtra 0 32 4 -1 roll widthshow}bdf
+/lsx{SpaceExtra 0 32 LetterSpace 0 6 -1 roll awidthshow}bdf
+/Rjust{stringwidth pop JustOffset exch sub /JustOffset edf}bdf
+/Cjust{stringwidth pop 2 div JustOffset exch sub /JustOffset edf}bdf
+/adjfit{stringwidth pop LetterSpace StringLength 1 sub mul add SpaceExtra NumSpaces mul add dup /pw edf JustOffset exch
+sub dup /wdif edf StringLength div dup abs 1.0 gt{pop 0}if LetterSpace add /LetterSpace edf}bdf
+/ulb{currentpoint pop /underlinpt edf}bdf
+/ule{gsave currentpoint newpath moveto currentfont dup /ft1 known{dup /ft1 get begin /FontMatrix get FontMatrix tpmx concatmatrix pop}
+{begin FontMatrix tpmx copy pop}ifelse FontInfo begin UnderlinePosition UnderlineThickness end end dup tpmx
+dtransform pop setlinewidth dup tpmx dtransform pop 0 exch rmoveto underlinpt currentpoint pop sub 0 rlineto stroke grestore}bdf
+/fittext{ /SpaceExtra edf /LetterSpace edf /StringLength edf /NumSpaces edf /JustOffset edf not 1 currentgray ne or
+{dup {ulb}if exch
+dup adjfit
+lsx {ule}if}{pop pop}ifelse}bdf
+/cvRecFont{/encod edf FontDirectory 2 index known{cleartomark}{findfont dup length 1 add dict begin
+{1 index/FID ne{def}{pop pop}ifelse}forall encod{/Encoding CVvec def}if
+currentdict end definefont cleartomark}ifelse}bdf
+/wrk1 ( ) def/wdict 16 dict def
+/Work75 75 string def /Nmk{Work75 cvs dup}bdf /Npt{put cvn}bdf /dhOdh{Nmk 2 79 Npt}bdf /dhodh{Nmk 2 111 Npt}bdf /dhSdh{Nmk 2 83 Npt}bdf
+/sfWidth{gsave 0 0 moveto 0 0 lineto 0 0 lineto 0 0 lineto closepath clip stringwidth grestore}bdf
+/MakOF{dup dhodh FontDirectory 1 index known{exch pop}{exch findfont dup length 1 add dict begin
+{1 index/FID ne 2 index /UniqueID ne and{def}{pop pop}ifelse}forall
+/PaintType 2 def
+/StrokeWidth .24 1000 mul ftSize div dup 12 lt{pop 12}if def
+dup currentdict end definefont pop}ifelse}bdf
+/fts{dup/ftSize edf}def
+/mkFT{/tempFT 11 dict def tempFT begin
+/FontMatrix [1 0 0 1 0 0] def/FontType 3 def
+FontDirectory 3 index get /Encoding get/Encoding exch def
+/proc2 edf/ft2 exch findfont def/ft1 exch findfont def/FontBBox [0 0 1 1] def
+/BuildChar{wdict begin/chr edf/ftdt edf/chrst wrk1 dup 0 chr put def ftdt/proc2 get exec end}def
+end tempFT definefont pop}bdf
+/OLFt{dup dhOdh FontDirectory 1 index known{exch pop}
+{dup 3 -1 roll dup MakOF {outproc} mkFT}ifelse}bdf
+/mshw{moveto show}bdf
+/outproc{ftdt/ft1 get setfont gsave chrst sfWidth grestore setcharwidth dblsh}bdf
+/dblsh{currentgray 1 setgray chrst 0 0 mshw setgray ftdt/ft2 get setfont chrst 0 0 mshw}bdf
+/ShadChar{ftdt/ft1 get setfont gsave chrst sfWidth 1 index 0 ne{exch .05 add exch}if grestore setcharwidth
+chrst .06 0 mshw 0 .05 translate dblsh}bdf
+/ShFt{dup dhSdh FontDirectory 1 index known{exch pop}
+{dup 3 -1 roll dup MakOF {ShadChar} mkFT}ifelse}bdf
+/LswUnits{72 75 div dup scale}bdf
+/erasefill{_bp}def
+/CVvec 256 array def
+/NUL/SOH/STX/ETX/EOT/ENQ/ACK/BEL/BS/HT/LF/VT/FF/CR/SO/SI/DLE/DC1/DC2/DC3/DC4/NAK/SYN/ETB/CAN/EM/SUB/ESC/FS/GS/RS/US
+CVvec 0 32 getinterval astore pop
+CVvec 32/Times-Roman findfont/Encoding get
+32 96 getinterval putinterval CVvec dup 39/quotesingle put 96/grave put
+/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute
+/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave
+/ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde/oacute
+/ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex/udieresis
+/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls
+/registered/copyright/trademark/acute/dieresis/notequal/AE/Oslash
+/infinity/plusminus/lessequal/greaterequal/yen/mu/partialdiff/summation
+/product/pi/integral/ordfeminine/ordmasculine/Omega/ae/oslash
+/questiondown/exclamdown/logicalnot/radical/florin/approxequal/Delta/guillemotleft
+/guillemotright/ellipsis/blank/Agrave/Atilde/Otilde/OE/oe
+/endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide/lozenge
+/ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright/fi/fl
+/daggerdbl/periodcentered/quotesinglbase/quotedblbase/perthousand/Acircumflex/Ecircumflex/Aacute
+/Edieresis/Egrave/Iacute/Icircumflex/Idieresis/Igrave/Oacute/Ocircumflex
+/apple/Ograve/Uacute/Ucircumflex/Ugrave/dotlessi/circumflex/tilde
+/macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron
+CVvec 128 128 getinterval astore pop
+end
+
+%%BeginSetup
+CanvasDict begin
+0 setlinecap
+0 setlinejoin
+4 setmiterlimit
+/currot 0 def
+origmtx currentmatrix pop
+[] 0 setdash
+1 1 setpen
+1 fg
+0 pg
+0 frg
+1 bkg
+newpath
+/dbg F def
+%%EndSetup
+% ---- Object #1:23 Obj Type: 4
+0 0 setpen
+0.7500 fg
+285.2500 113.7500 232.7500 149.2500 rectpath
+F dofill
+% ---- Object #2:9 Obj Type: 4
+0 fg
+241.2500 67.7500 219.7500 137.2500 rectpath
+F dofill
+% ---- Object #3:24 Obj Type: 99
+% ---- Object #4:25 Obj Type: 4
+1 0.7500 setpen
+0 setlinecap
+1 fg
+270 112 253 146.5005 rectpath
+F dofillsave
+F dostroke
+% ---- Object #5:71 Obj Type: 4
+0 setlinecap
+253 112 236 146.5005 rectpath
+F dofillsave
+F dostroke
+% ---- Object #6:72 Obj Type: 4
+0 setlinecap
+287 112 270 146.5005 rectpath
+F dofillsave
+F dostroke
+% ---- Object #7:15 Obj Type: 99
+% ---- Object #8:16 Obj Type: 4
+0 0 setpen
+0.7500 fg
+285.2500 301.7500 232.7500 337.2500 rectpath
+F dofill
+% ---- Object #9:17 Obj Type: 99
+% ---- Object #10:78 Obj Type: 4
+1 0.7500 setpen
+0 setlinecap
+1 fg
+270 300 253 334.5005 rectpath
+F dofillsave
+F dostroke
+% ---- Object #11:79 Obj Type: 4
+0 setlinecap
+253 300 236 334.5005 rectpath
+F dofillsave
+F dostroke
+% ---- Object #12:80 Obj Type: 4
+0 setlinecap
+287 300 270 334.5005 rectpath
+F dofillsave
+F dostroke
+% ---- Object #13:11 Obj Type: 99
+% ---- Object #14:12 Obj Type: 4
+0 0 setpen
+0.7500 fg
+285.2500 395.7500 232.7500 431.2500 rectpath
+F dofill
+% ---- Object #15:13 Obj Type: 99
+% ---- Object #16:14 Obj Type: 4
+1 0.7500 setpen
+0 setlinecap
+1 fg
+270 394 253 428.5005 rectpath
+F dofillsave
+F dostroke
+% ---- Object #17:81 Obj Type: 4
+0 setlinecap
+253 394 236 428.5005 rectpath
+F dofillsave
+F dostroke
+% ---- Object #18:82 Obj Type: 4
+0 setlinecap
+287 394 270 428.5005 rectpath
+F dofillsave
+F dostroke
+% ---- Object #19:6 Obj Type: 4
+0 0 setpen
+0.7500 fg
+397.2500 120.7500 365.7500 168.2500 rectpath
+F dofill
+% ---- Object #20:7 Obj Type: 4
+0 fg
+372.2500 82.7500 352.7500 137.2500 rectpath
+F dofill
+% ---- Object #21:20 Obj Type: 99
+% ---- Object #22:19 Obj Type: 4
+0.7500 fg
+285.2500 212.7500 232.7500 248.2500 rectpath
+F dofill
+% ---- Object #23:5 Obj Type: 99
+% ---- Object #24:21 Obj Type: 4
+1 0.7500 setpen
+0 setlinecap
+1 fg
+270 211 253 245.5005 rectpath
+F dofillsave
+F dostroke
+% ---- Object #25:22 Obj Type: 4
+0 setlinecap
+253 211 236 245.5005 rectpath
+F dofillsave
+F dostroke
+% ---- Object #26:18 Obj Type: 4
+0 setlinecap
+287 211 270 245.5005 rectpath
+F dofillsave
+F dostroke
+% ---- Object #27:26 Obj Type: 4
+0.5000 0.5000 setpen
+0 setlinecap
+399 119 383 166 rectpath
+F dofillsave
+F dostroke
+% ---- Object #28:27 Obj Type: 4
+0 setlinecap
+384 119 368 166 rectpath
+F dofillsave
+F dostroke
+% ---- Object #29:8 Obj Type: 99
+% ---- Object #30:28 Obj Type: 3
+2 setlinecap
+gsave
+newpath
+205.3619 275.9478 moveto
+205.3269 276.0465 lineto
+205.2622 276.2456 lineto
+205.2045 276.4469 lineto
+205.1538 276.6501 lineto
+205.1102 276.8551 lineto
+205.0739 277.0613 lineto
+205.0447 277.2687 lineto
+205.0228 277.4769 lineto
+205.0082 277.6858 lineto
+205.0009 277.8950 lineto
+205.0009 278.1047 lineto
+205.0082 278.3140 lineto
+205.0228 278.5228 lineto
+205.0447 278.7310 lineto
+205.0738 278.9384 lineto
+205.1102 279.1446 lineto
+205.1538 279.3496 lineto
+205.2044 279.5528 lineto
+205.2621 279.7541 lineto
+205.3268 279.9532 lineto
+205.3618 280.0519 lineto
+211 278 lineto
+205.3619 275.9478 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+133 278 moveto
+205.2500 278 lineto
+F dostroke
+grestore
+% ---- Object #31:48 Obj Type: 6
+0.0937 0.0937 setpen
+0 setlinecap
+0 fg
+132.6000 278.0993 moveto
+132.6000 276.5082 131.3359 275.1986 129.8000 275.1986 curveto
+128.2641 275.1986 127 276.5082 127 278.0993 curveto
+127 279.6904 128.2641 281 129.8000 281 curveto
+131.3359 281 132.6000 279.6904 132.6000 278.0993 curveto
+closepath
+F dofillsave
+F dostroke
+% ---- Object #32:29 Obj Type: 2
+0 0 setpen
+save
+0 setgray
+mark /|___Helvetica /Helvetica T cvRecFont
+10 fts /|___Helvetica findfont exch scalefont setfont
+0 setgray
+152 281 moveto
+(Next)
+F F 20.5566 0 4 0 0 fittext
+restore
+% ---- Object #33:30 Obj Type: 3
+0.5000 0.5000 setpen
+2 setlinecap
+gsave
+newpath
+387.9516 275.9478 moveto
+387.9167 276.0465 lineto
+387.8520 276.2456 lineto
+387.7942 276.4469 lineto
+387.7436 276.6501 lineto
+387.7000 276.8551 lineto
+387.6636 277.0613 lineto
+387.6345 277.2687 lineto
+387.6126 277.4769 lineto
+387.5980 277.6858 lineto
+387.5906 277.8950 lineto
+387.5906 278.1047 lineto
+387.5980 278.3140 lineto
+387.6126 278.5228 lineto
+387.6344 278.7310 lineto
+387.6636 278.9384 lineto
+387.6999 279.1446 lineto
+387.7435 279.3496 lineto
+387.7942 279.5528 lineto
+387.8518 279.7541 lineto
+387.9165 279.9532 lineto
+387.9515 280.0519 lineto
+393.5897 278 lineto
+387.9516 275.9478 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+387.8397 278 moveto
+317.2821 278 lineto
+F dostroke
+grestore
+% ---- Object #34:39 Obj Type: 6
+0.0937 0.0937 setpen
+0 setlinecap
+320.0948 278.0993 moveto
+320.0948 276.5082 318.8308 275.1986 317.2949 275.1986 curveto
+315.7590 275.1986 314.4949 276.5082 314.4949 278.0993 curveto
+314.4949 279.6904 315.7590 281 317.2949 281 curveto
+318.8308 281 320.0948 279.6904 320.0948 278.0993 curveto
+closepath
+F dofillsave
+F dostroke
+% ---- Object #35:31 Obj Type: 3
+0.5000 0.5000 setpen
+2 setlinecap
+gsave
+newpath
+293.9784 275.9478 moveto
+293.9435 276.0465 lineto
+293.8788 276.2456 lineto
+293.8211 276.4469 lineto
+293.7704 276.6501 lineto
+293.7268 276.8551 lineto
+293.6905 277.0613 lineto
+293.6613 277.2687 lineto
+293.6394 277.4769 lineto
+293.6248 277.6858 lineto
+293.6175 277.8950 lineto
+293.6175 278.1047 lineto
+293.6248 278.3140 lineto
+293.6394 278.5228 lineto
+293.6613 278.7310 lineto
+293.6904 278.9384 lineto
+293.7268 279.1446 lineto
+293.7703 279.3496 lineto
+293.8210 279.5528 lineto
+293.8787 279.7541 lineto
+293.9434 279.9532 lineto
+293.9783 280.0519 lineto
+299.6166 278 lineto
+293.9784 275.9478 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+293.8666 278 moveto
+230.6010 278 lineto
+F dostroke
+grestore
+% ---- Object #36:43 Obj Type: 6
+0.0937 0.0937 setpen
+0 setlinecap
+231.5948 278.0993 moveto
+231.5948 276.5082 230.3308 275.1986 228.7949 275.1986 curveto
+227.2590 275.1986 225.9949 276.5082 225.9949 278.0993 curveto
+225.9949 279.6904 227.2590 281 228.7949 281 curveto
+230.3308 281 231.5948 279.6904 231.5948 278.0993 curveto
+closepath
+F dofillsave
+F dostroke
+% ---- Object #37:77 Obj Type: 99
+% ---- Object #38:32 Obj Type: 3
+0.5000 0.5000 setpen
+2 setlinecap
+gsave
+newpath
+159.9678 199.2676 moveto
+160.0258 199.3552 lineto
+160.1459 199.5267 lineto
+160.2719 199.6939 lineto
+160.4036 199.8566 lineto
+160.5410 200.0146 lineto
+160.6838 200.1678 lineto
+160.8320 200.3160 lineto
+160.9852 200.4588 lineto
+161.1432 200.5962 lineto
+161.3059 200.7279 lineto
+161.4731 200.8540 lineto
+161.6446 200.9741 lineto
+161.8204 201.0883 lineto
+161.9999 201.1961 lineto
+162.1830 201.2976 lineto
+162.3695 201.3927 lineto
+162.5594 201.4812 lineto
+162.7524 201.5631 lineto
+162.9478 201.6381 lineto
+163.1458 201.7063 lineto
+163.2456 201.7378 lineto
+165 196 lineto
+159.9678 199.2676 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+129 244 moveto
+161.5500 200.6000 lineto
+F dostroke
+grestore
+% ---- Object #39:49 Obj Type: 6
+0.0937 0.0937 setpen
+0 setlinecap
+132.6000 243.0993 moveto
+132.6000 241.5082 131.3359 240.1986 129.8000 240.1986 curveto
+128.2641 240.1986 127 241.5082 127 243.0993 curveto
+127 244.6904 128.2641 246 129.8000 246 curveto
+131.3359 246 132.6000 244.6904 132.6000 243.0993 curveto
+closepath
+F dofillsave
+F dostroke
+% ---- Object #40:33 Obj Type: 99
+% ---- Object #41:34 Obj Type: 3
+0.5000 0.5000 setpen
+2 setlinecap
+gsave
+newpath
+440.9678 199.2676 moveto
+441.0258 199.3552 lineto
+441.1459 199.5267 lineto
+441.2719 199.6939 lineto
+441.4036 199.8566 lineto
+441.5410 200.0146 lineto
+441.6838 200.1678 lineto
+441.8320 200.3160 lineto
+441.9852 200.4588 lineto
+442.1432 200.5962 lineto
+442.3059 200.7279 lineto
+442.4731 200.8540 lineto
+442.6446 200.9741 lineto
+442.8204 201.0883 lineto
+442.9999 201.1961 lineto
+443.1830 201.2976 lineto
+443.3695 201.3927 lineto
+443.5594 201.4812 lineto
+443.7524 201.5631 lineto
+443.9478 201.6381 lineto
+444.1458 201.7063 lineto
+444.2456 201.7378 lineto
+446 196 lineto
+440.9678 199.2676 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+410 244 moveto
+442.5500 200.6000 lineto
+F dostroke
+grestore
+% ---- Object #42:35 Obj Type: 6
+0.0937 0.0937 setpen
+0 setlinecap
+413.6000 243.0993 moveto
+413.6000 241.5082 412.3359 240.1986 410.8000 240.1986 curveto
+409.2641 240.1986 408 241.5082 408 243.0993 curveto
+408 244.6904 409.2641 246 410.8000 246 curveto
+412.3359 246 413.6000 244.6904 413.6000 243.0993 curveto
+closepath
+F dofillsave
+F dostroke
+% ---- Object #43:37 Obj Type: 99
+% ---- Object #44:36 Obj Type: 3
+0.5000 0.5000 setpen
+2 setlinecap
+gsave
+newpath
+347.9678 198.2676 moveto
+348.0258 198.3552 lineto
+348.1459 198.5267 lineto
+348.2719 198.6939 lineto
+348.4036 198.8566 lineto
+348.5410 199.0146 lineto
+348.6838 199.1678 lineto
+348.8320 199.3160 lineto
+348.9852 199.4588 lineto
+349.1432 199.5962 lineto
+349.3059 199.7279 lineto
+349.4731 199.8540 lineto
+349.6446 199.9741 lineto
+349.8204 200.0883 lineto
+349.9999 200.1961 lineto
+350.1830 200.2976 lineto
+350.3695 200.3927 lineto
+350.5594 200.4812 lineto
+350.7524 200.5631 lineto
+350.9478 200.6381 lineto
+351.1458 200.7063 lineto
+351.2456 200.7378 lineto
+353 195 lineto
+347.9678 198.2676 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+317 243 moveto
+349.5500 199.6000 lineto
+F dostroke
+grestore
+% ---- Object #45:38 Obj Type: 6
+0.0937 0.0937 setpen
+0 setlinecap
+319.6000 243.0993 moveto
+319.6000 241.5082 318.3359 240.1986 316.8000 240.1986 curveto
+315.2641 240.1986 314 241.5082 314 243.0993 curveto
+314 244.6904 315.2641 246 316.8000 246 curveto
+318.3359 246 319.6000 244.6904 319.6000 243.0993 curveto
+closepath
+F dofillsave
+F dostroke
+% ---- Object #46:41 Obj Type: 99
+% ---- Object #47:40 Obj Type: 3
+0.5000 0.5000 setpen
+2 setlinecap
+gsave
+newpath
+258.9678 199.2676 moveto
+259.0258 199.3552 lineto
+259.1459 199.5267 lineto
+259.2719 199.6939 lineto
+259.4036 199.8566 lineto
+259.5410 200.0146 lineto
+259.6838 200.1678 lineto
+259.8320 200.3160 lineto
+259.9852 200.4588 lineto
+260.1432 200.5962 lineto
+260.3059 200.7279 lineto
+260.4731 200.8540 lineto
+260.6446 200.9741 lineto
+260.8204 201.0883 lineto
+260.9999 201.1961 lineto
+261.1830 201.2976 lineto
+261.3695 201.3927 lineto
+261.5594 201.4812 lineto
+261.7524 201.5631 lineto
+261.9478 201.6381 lineto
+262.1458 201.7063 lineto
+262.2456 201.7378 lineto
+264 196 lineto
+258.9678 199.2676 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+228 244 moveto
+260.5500 200.6000 lineto
+F dostroke
+grestore
+% ---- Object #48:42 Obj Type: 6
+0.0937 0.0937 setpen
+0 setlinecap
+231.6000 243.0993 moveto
+231.6000 241.5082 230.3359 240.1986 228.8000 240.1986 curveto
+227.2641 240.1986 226 241.5082 226 243.0993 curveto
+226 244.6904 227.2641 246 228.8000 246 curveto
+230.3359 246 231.6000 244.6904 231.6000 243.0993 curveto
+closepath
+F dofillsave
+F dostroke
+% ---- Object #49:44 Obj Type: 2
+0 0 setpen
+save
+0 setgray
+mark /|___Helvetica /Helvetica T cvRecFont
+10 fts /|___Helvetica findfont exch scalefont setfont
+0 setgray
+155 229 moveto
+(Info)
+F F 16.6748 0 4 0 0 fittext
+restore
+% ---- Object #50:45 Obj Type: 2
+save
+0 setgray
+mark /|___Helvetica /Helvetica T cvRecFont
+10 fts /|___Helvetica findfont exch scalefont setfont
+0 setgray
+129 373 moveto
+(Status)
+F F 28.3447 0 6 0 0 fittext
+restore
+% ---- Object #51:46 Obj Type: 10
+0.5000 0.5000 setpen
+0 setlinecap
+143 392 moveto
+178.6094 391.3281 207.4844 389.6875 231 387 curveto
+254.5156 384.3125 268.7891 379.2266 274.5000 371.5000 curveto
+280.2109 363.7734 284.9687 354.7500 289 344 curveto
+293.0312 333.2500 301.5625 322.0937 315 310 curveto
+328.4375 297.9062 354.3594 289.0469 394 283 curveto
+F dostroke
+gsave
+newpath
+388.0912 281.9580 moveto
+388.0739 282.0613 lineto
+388.0447 282.2687 lineto
+388.0228 282.4769 lineto
+388.0082 282.6858 lineto
+388.0009 282.8950 lineto
+388.0009 283.1047 lineto
+388.0082 283.3140 lineto
+388.0228 283.5228 lineto
+388.0447 283.7310 lineto
+388.0738 283.9384 lineto
+388.1102 284.1446 lineto
+388.1538 284.3496 lineto
+388.2044 284.5528 lineto
+388.2621 284.7541 lineto
+388.3268 284.9532 lineto
+388.3984 285.1500 lineto
+388.4770 285.3444 lineto
+388.5621 285.5357 lineto
+388.6539 285.7239 lineto
+388.7522 285.9087 lineto
+388.8038 285.9999 lineto
+394 283 lineto
+388.0912 281.9580 lineto
+closepath
+F doline
+grestore
+% ---- Object #52:47 Obj Type: 2
+0 0 setpen
+save
+0 setgray
+mark /|___Helvetica /Helvetica T cvRecFont
+10 fts /|___Helvetica findfont exch scalefont setfont
+0 setgray
+173 394 moveto
+(Last)
+F F 18.8965 0 4 0 0 fittext
+restore
+% ---- Object #53:50 Obj Type: 6
+0.0937 0.0937 setpen
+0 setlinecap
+146.6000 391.0993 moveto
+146.6000 389.5082 145.3359 388.1986 143.8000 388.1986 curveto
+142.2641 388.1986 141 389.5082 141 391.0993 curveto
+141 392.6904 142.2641 394 143.8000 394 curveto
+145.3359 394 146.6000 392.6904 146.6000 391.0993 curveto
+closepath
+F dofillsave
+F dostroke
+% ---- Object #54:51 Obj Type: 6
+0 setlinecap
+413.6000 278.0993 moveto
+413.6000 276.5082 412.3359 275.1986 410.8000 275.1986 curveto
+409.2641 275.1986 408 276.5082 408 278.0993 curveto
+408 279.6904 409.2641 281 410.8000 281 curveto
+412.3359 281 413.6000 279.6904 413.6000 278.0993 curveto
+closepath
+F dofillsave
+F dostroke
+% ---- Object #55:73 Obj Type: 99
+% ---- Object #56:52 Obj Type: 52
+0.5000 0.5000 setpen
+0 setlinecap
+1 fg
+%%PicComment: 100
+%%PicComment: 140
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+131 191 moveto
+172.5000 190.7500 lineto
+172.7500 168.5000 lineto
+131 168.2500 lineto
+131.2500 191 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+145.2500 185.7500 moveto
+186.7500 185.5000 lineto
+187 163.2500 lineto
+145.2500 163 lineto
+145.5000 185.7500 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+131 191 moveto
+145.2500 185.7500 lineto
+145.5000 163.2500 lineto
+131 168.5000 lineto
+131.2500 191 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+172.5000 191 moveto
+186.7500 185.7500 lineto
+187 163.2500 lineto
+172.5000 168.5000 lineto
+172.7500 191 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+131 191 moveto
+172.5000 190.7500 lineto
+186.7500 185.7500 lineto
+145.2500 185.5000 lineto
+131 191 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+131 168.5000 moveto
+172.5000 168.2500 lineto
+186.7500 163.2500 lineto
+145.2500 163 lineto
+131 168.5000 lineto
+closepath
+F dofill
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+131.2500 190.7500 moveto
+172.7500 190.7500 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+172.7500 190.5000 moveto
+187 185.5000 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+145.5000 163 moveto
+131.2500 168.2500 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+131.2500 168.2500 moveto
+131.2500 190.7500 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+145.5000 185.5000 moveto
+187 185.5000 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+187 185.2500 moveto
+187 163 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+187.2500 163 moveto
+145.5000 163 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+145.5000 162.7500 moveto
+145.5000 185.5000 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+145.5000 185.5000 moveto
+131.2500 190.7500 lineto
+F dostroke
+%%PicComment: 141
+%%PicComment: 100
+% ---- Object #57:67 Obj Type: 2
+0 0 setpen
+save
+0 setgray
+mark /|___Helvetica-Oblique /Helvetica-Oblique T cvRecFont
+10 fts /|___Helvetica-Oblique findfont exch scalefont setfont
+0 setgray
+154 171 moveto
+(data)
+F F 19.4556 0 4 0 0 fittext
+restore
+% ---- Object #58:76 Obj Type: 99
+% ---- Object #59:53 Obj Type: 52
+0.5000 0.5000 setpen
+0 setlinecap
+%%PicComment: 100
+%%PicComment: 140
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+416 191 moveto
+457.5000 190.7500 lineto
+457.7500 168.5000 lineto
+416 168.2500 lineto
+416.2500 191 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+430.2500 185.7500 moveto
+471.7500 185.5000 lineto
+472 163.2500 lineto
+430.2500 163 lineto
+430.5000 185.7500 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+416 191 moveto
+430.2500 185.7500 lineto
+430.5000 163.2500 lineto
+416 168.5000 lineto
+416.2500 191 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+457.5000 191 moveto
+471.7500 185.7500 lineto
+472 163.2500 lineto
+457.5000 168.5000 lineto
+457.7500 191 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+416 191 moveto
+457.5000 190.7500 lineto
+471.7500 185.7500 lineto
+430.2500 185.5000 lineto
+416 191 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+416 168.5000 moveto
+457.5000 168.2500 lineto
+471.7500 163.2500 lineto
+430.2500 163 lineto
+416 168.5000 lineto
+closepath
+F dofill
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+416.2500 190.7500 moveto
+457.7500 190.7500 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+457.7500 190.5000 moveto
+472 185.5000 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+430.5000 163 moveto
+416.2500 168.2500 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+416.2500 168.2500 moveto
+416.2500 190.7500 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+430.5000 185.5000 moveto
+472 185.5000 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+472 185.2500 moveto
+472 163 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+472.2500 163 moveto
+430.5000 163 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+430.5000 162.7500 moveto
+430.5000 185.5000 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+430.5000 185.5000 moveto
+416.2500 190.7500 lineto
+F dostroke
+%%PicComment: 141
+%%PicComment: 100
+% ---- Object #60:70 Obj Type: 2
+0 0 setpen
+save
+0 setgray
+mark /|___Helvetica-Oblique /Helvetica-Oblique T cvRecFont
+10 fts /|___Helvetica-Oblique findfont exch scalefont setfont
+0 setgray
+439 171 moveto
+(data)
+F F 19.4556 0 4 0 0 fittext
+restore
+% ---- Object #61:75 Obj Type: 99
+% ---- Object #62:54 Obj Type: 52
+0.5000 0.5000 setpen
+0 setlinecap
+%%PicComment: 100
+%%PicComment: 140
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+323 191 moveto
+364.5000 190.7500 lineto
+364.7500 168.5000 lineto
+323 168.2500 lineto
+323.2500 191 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+337.2500 185.7500 moveto
+378.7500 185.5000 lineto
+379 163.2500 lineto
+337.2500 163 lineto
+337.5000 185.7500 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+323 191 moveto
+337.2500 185.7500 lineto
+337.5000 163.2500 lineto
+323 168.5000 lineto
+323.2500 191 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+364.5000 191 moveto
+378.7500 185.7500 lineto
+379 163.2500 lineto
+364.5000 168.5000 lineto
+364.7500 191 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+323 191 moveto
+364.5000 190.7500 lineto
+378.7500 185.7500 lineto
+337.2500 185.5000 lineto
+323 191 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+323 168.5000 moveto
+364.5000 168.2500 lineto
+378.7500 163.2500 lineto
+337.2500 163 lineto
+323 168.5000 lineto
+closepath
+F dofill
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+323.2500 190.7500 moveto
+364.7500 190.7500 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+364.7500 190.5000 moveto
+379 185.5000 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+337.5000 163 moveto
+323.2500 168.2500 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+323.2500 168.2500 moveto
+323.2500 190.7500 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+337.5000 185.5000 moveto
+379 185.5000 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+379 185.2500 moveto
+379 163 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+379.2500 163 moveto
+337.5000 163 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+337.5000 162.7500 moveto
+337.5000 185.5000 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+337.5000 185.5000 moveto
+323.2500 190.7500 lineto
+F dostroke
+%%PicComment: 141
+%%PicComment: 100
+% ---- Object #63:69 Obj Type: 2
+0 0 setpen
+save
+0 setgray
+mark /|___Helvetica-Oblique /Helvetica-Oblique T cvRecFont
+10 fts /|___Helvetica-Oblique findfont exch scalefont setfont
+0 setgray
+346 172 moveto
+(data)
+F F 19.4556 0 4 0 0 fittext
+restore
+% ---- Object #64:74 Obj Type: 99
+% ---- Object #65:55 Obj Type: 52
+0.5000 0.5000 setpen
+0 setlinecap
+%%PicComment: 100
+%%PicComment: 140
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+232 191 moveto
+273.5000 190.7500 lineto
+273.7500 168.5000 lineto
+232 168.2500 lineto
+232.2500 191 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+246.2500 185.7500 moveto
+287.7500 185.5000 lineto
+288 163.2500 lineto
+246.2500 163 lineto
+246.5000 185.7500 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+232 191 moveto
+246.2500 185.7500 lineto
+246.5000 163.2500 lineto
+232 168.5000 lineto
+232.2500 191 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+273.5000 191 moveto
+287.7500 185.7500 lineto
+288 163.2500 lineto
+273.5000 168.5000 lineto
+273.7500 191 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+232 191 moveto
+273.5000 190.7500 lineto
+287.7500 185.7500 lineto
+246.2500 185.5000 lineto
+232 191 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+232 168.5000 moveto
+273.5000 168.2500 lineto
+287.7500 163.2500 lineto
+246.2500 163 lineto
+232 168.5000 lineto
+closepath
+F dofill
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+232.2500 190.7500 moveto
+273.7500 190.7500 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+273.7500 190.5000 moveto
+288 185.5000 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+246.5000 163 moveto
+232.2500 168.2500 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+232.2500 168.2500 moveto
+232.2500 190.7500 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+246.5000 185.5000 moveto
+288 185.5000 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+288 185.2500 moveto
+288 163 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+288.2500 163 moveto
+246.5000 163 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+246.5000 162.7500 moveto
+246.5000 185.5000 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+246.5000 185.5000 moveto
+232.2500 190.7500 lineto
+F dostroke
+%%PicComment: 141
+%%PicComment: 100
+% ---- Object #66:68 Obj Type: 2
+0 0 setpen
+save
+0 setgray
+mark /|___Helvetica-Oblique /Helvetica-Oblique T cvRecFont
+10 fts /|___Helvetica-Oblique findfont exch scalefont setfont
+0 setgray
+254 171 moveto
+(data)
+F F 19.4556 0 4 0 0 fittext
+restore
+% ---- Object #67:56 Obj Type: 99
+% ---- Object #68:57 Obj Type: 99
+% ---- Object #69:58 Obj Type: 7
+0.5000 0.5000 setpen
+0 setlinecap
+gsave
+newpath
+418.4564 328.3539 moveto
+418.4879 328.2541 lineto
+418.5456 328.0528 lineto
+418.5962 327.8496 lineto
+418.6398 327.6446 lineto
+418.6762 327.4384 lineto
+418.7053 327.2310 lineto
+418.7272 327.0228 lineto
+418.7418 326.8140 lineto
+418.7491 326.6047 lineto
+418.7491 326.3953 lineto
+418.7418 326.1860 lineto
+418.7272 325.9772 lineto
+418.7053 325.7689 lineto
+418.6762 325.5616 lineto
+418.6398 325.3554 lineto
+418.5962 325.1504 lineto
+418.5456 324.9472 lineto
+418.4879 324.7459 lineto
+418.4232 324.5468 lineto
+418.3515 324.3500 lineto
+418.3132 324.2526 lineto
+412.7500 326.5000 lineto
+418.4564 328.3539 lineto
+closepath
+F doline
+grestore
+417.2599 326.3173 moveto
+417.8996 326.2615 lineto
+419.1754 326.1277 lineto
+420.4445 325.9644 lineto
+421.7025 325.7720 lineto
+422.9496 325.5507 lineto
+424.1843 325.3007 lineto
+425.4051 325.0224 lineto
+426.6104 324.7160 lineto
+427.8005 324.3815 lineto
+428.9711 324.0200 lineto
+430.1215 323.6318 lineto
+431.2507 323.2174 lineto
+432.3574 322.7770 lineto
+433.4416 322.3108 lineto
+434.4992 321.8204 lineto
+435.5303 321.3058 lineto
+436.5337 320.7678 lineto
+437.5081 320.2069 lineto
+438.4523 319.6238 lineto
+439.3668 319.0183 lineto
+440.2473 318.3930 lineto
+441.0943 317.7478 lineto
+441.9068 317.0834 lineto
+442.6838 316.4006 lineto
+443.4243 315.7003 lineto
+444.1284 314.9823 lineto
+444.7934 314.2495 lineto
+445.4196 313.5014 lineto
+446.0057 312.7397 lineto
+446.5513 311.9648 lineto
+447.0564 311.1768 lineto
+447.5191 310.3787 lineto
+447.9394 309.5703 lineto
+448.3168 308.7527 lineto
+448.6510 307.9269 lineto
+448.9414 307.0939 lineto
+449.1882 306.2532 lineto
+449.3901 305.4088 lineto
+449.5474 304.5602 lineto
+449.6599 303.7086 lineto
+449.7275 302.8548 lineto
+449.7500 302 lineto
+F dostroke
+% ---- Object #70:59 Obj Type: 7
+0 setlinecap
+gsave
+newpath
+450.7920 296.0912 moveto
+450.6887 296.0739 lineto
+450.4813 296.0447 lineto
+450.2731 296.0228 lineto
+450.0642 296.0082 lineto
+449.8550 296.0009 lineto
+449.6453 296.0009 lineto
+449.4360 296.0082 lineto
+449.2272 296.0228 lineto
+449.0189 296.0447 lineto
+448.8116 296.0738 lineto
+448.6054 296.1102 lineto
+448.4004 296.1538 lineto
+448.1972 296.2044 lineto
+447.9959 296.2621 lineto
+447.7968 296.3268 lineto
+447.6000 296.3984 lineto
+447.4056 296.4770 lineto
+447.2143 296.5621 lineto
+447.0261 296.6539 lineto
+446.8413 296.7522 lineto
+446.7501 296.8038 lineto
+449.7500 302 lineto
+450.7920 296.0912 lineto
+closepath
+F doline
+grestore
+448.9414 296.9061 moveto
+448.8018 296.4889 lineto
+448.4894 295.6594 lineto
+448.1336 294.8376 lineto
+447.7347 294.0245 lineto
+447.2929 293.2207 lineto
+446.8086 292.4270 lineto
+446.2835 291.6460 lineto
+445.7175 290.8776 lineto
+445.1114 290.1227 lineto
+444.4659 289.3823 lineto
+443.7817 288.6573 lineto
+443.0588 287.9476 lineto
+442.2996 287.2556 lineto
+441.5047 286.5819 lineto
+440.6748 285.9270 lineto
+439.8109 285.2917 lineto
+438.9130 284.6759 lineto
+437.9842 284.0820 lineto
+437.0248 283.5100 lineto
+436.0357 282.9604 lineto
+435.0184 282.4340 lineto
+433.9739 281.9315 lineto
+432.9016 281.4526 lineto
+431.8067 280.9995 lineto
+430.6886 280.5720 lineto
+429.5486 280.1707 lineto
+428.3882 279.7958 lineto
+427.2087 279.4481 lineto
+426.0100 279.1274 lineto
+424.7968 278.8350 lineto
+423.5689 278.5708 lineto
+422.3272 278.3350 lineto
+421.0745 278.1281 lineto
+419.8099 277.9501 lineto
+418.5384 277.8017 lineto
+417.2599 277.6827 lineto
+415.9758 277.5933 lineto
+414.6878 277.5336 lineto
+413.3975 277.5037 lineto
+412.7500 277.5000 lineto
+F dostroke
+% ---- Object #71:60 Obj Type: 99
+% ---- Object #72:61 Obj Type: 7
+0 setlinecap
+gsave
+newpath
+79.0022 307.6188 moveto
+79.1051 307.6398 lineto
+79.3113 307.6761 lineto
+79.5187 307.7053 lineto
+79.7269 307.7272 lineto
+79.9358 307.7418 lineto
+80.1450 307.7491 lineto
+80.3550 307.7491 lineto
+80.5642 307.7418 lineto
+80.7731 307.7272 lineto
+80.9813 307.7053 lineto
+81.1887 307.6761 lineto
+81.3948 307.6398 lineto
+81.5999 307.5962 lineto
+81.8031 307.5455 lineto
+82.0044 307.4878 lineto
+82.2035 307.4231 lineto
+82.4003 307.3515 lineto
+82.5946 307.2729 lineto
+82.7859 307.1877 lineto
+82.9741 307.0960 lineto
+83.0670 307.0476 lineto
+80.2500 301.7500 lineto
+79.0022 307.6188 lineto
+closepath
+F doline
+grestore
+80.9329 306.8959 moveto
+81.0509 307.3173 lineto
+81.3146 308.1553 lineto
+81.6152 308.9855 lineto
+81.9521 309.8069 lineto
+82.3252 310.6188 lineto
+82.7342 311.4207 lineto
+83.1778 312.2097 lineto
+83.6558 312.9859 lineto
+84.1677 313.7485 lineto
+84.7129 314.4964 lineto
+85.2908 315.2289 lineto
+85.9013 315.9458 lineto
+86.5426 316.6448 lineto
+87.2139 317.3254 lineto
+87.9148 317.9870 lineto
+88.6445 318.6288 lineto
+89.4028 319.2509 lineto
+90.1873 319.8508 lineto
+90.9977 320.4287 lineto
+91.8330 320.9839 lineto
+92.6923 321.5156 lineto
+93.5744 322.0233 lineto
+94.4800 322.5071 lineto
+95.4048 322.9648 lineto
+96.3492 323.3966 lineto
+97.3120 323.8021 lineto
+98.2921 324.1807 lineto
+99.2882 324.5320 lineto
+100.3006 324.8560 lineto
+101.3253 325.1514 lineto
+102.3624 325.4183 lineto
+103.4111 325.6565 lineto
+104.4692 325.8655 lineto
+105.5372 326.0453 lineto
+106.6111 326.1952 lineto
+107.6910 326.3155 lineto
+108.7755 326.4058 lineto
+109.8633 326.4660 lineto
+110.9531 326.4962 lineto
+111.5000 326.5000 lineto
+F dostroke
+% ---- Object #73:62 Obj Type: 7
+0 setlinecap
+gsave
+newpath
+105.7045 275.6969 moveto
+105.6783 275.7982 lineto
+105.6312 276.0022 lineto
+105.5912 276.2080 lineto
+105.5584 276.4149 lineto
+105.5329 276.6227 lineto
+105.5146 276.8313 lineto
+105.5037 277.0404 lineto
+105.5000 277.2500 lineto
+105.5036 277.4593 lineto
+105.5146 277.6684 lineto
+105.5328 277.8770 lineto
+105.5584 278.0848 lineto
+105.5911 278.2916 lineto
+105.6311 278.4975 lineto
+105.6782 278.7015 lineto
+105.7324 278.9037 lineto
+105.7936 279.1039 lineto
+105.8618 279.3019 lineto
+105.9368 279.4974 lineto
+106.0187 279.6904 lineto
+106.0621 279.7857 lineto
+111.5000 277.2500 lineto
+105.7045 275.6969 lineto
+closepath
+F doline
+grestore
+106.6126 277.5515 moveto
+106.0750 277.6220 lineto
+105.0027 277.7854 lineto
+103.9402 277.9777 lineto
+102.8868 278.1990 lineto
+101.8440 278.4489 lineto
+100.8129 278.7272 lineto
+99.7949 279.0336 lineto
+98.7897 279.3680 lineto
+97.8014 279.7293 lineto
+96.8298 280.1174 lineto
+95.8756 280.5321 lineto
+94.9409 280.9724 lineto
+94.0252 281.4386 lineto
+93.1319 281.9290 lineto
+92.2610 282.4435 lineto
+91.4135 282.9815 lineto
+90.5905 283.5424 lineto
+89.7930 284.1254 lineto
+89.0206 284.7309 lineto
+88.2769 285.3561 lineto
+87.5615 286.0014 lineto
+86.8752 286.6658 lineto
+86.2189 287.3485 lineto
+85.5934 288.0488 lineto
+84.9987 288.7667 lineto
+84.4370 289.4995 lineto
+83.9084 290.2472 lineto
+83.4132 291.0090 lineto
+82.9522 291.7841 lineto
+82.5255 292.5721 lineto
+82.1347 293.3703 lineto
+81.7797 294.1786 lineto
+81.4608 294.9962 lineto
+81.1785 295.8220 lineto
+80.9332 296.6550 lineto
+80.7248 297.4953 lineto
+80.5541 298.3401 lineto
+80.4212 299.1887 lineto
+80.3262 300.0403 lineto
+80.2691 300.8941 lineto
+80.2500 301.7500 lineto
+F dostroke
+% ---- Object #74:63 Obj Type: 3
+2 setlinecap
+gsave
+newpath
+117.6382 328.9635 moveto
+117.6732 328.8647 lineto
+117.7379 328.6656 lineto
+117.7956 328.4643 lineto
+117.8462 328.2612 lineto
+117.8898 328.0561 lineto
+117.9262 327.8499 lineto
+117.9553 327.6426 lineto
+117.9772 327.4344 lineto
+117.9918 327.2255 lineto
+117.9991 327.0163 lineto
+117.9991 326.8068 lineto
+117.9918 326.5976 lineto
+117.9772 326.3887 lineto
+117.9553 326.1805 lineto
+117.9262 325.9732 lineto
+117.8898 325.7670 lineto
+117.8462 325.5619 lineto
+117.7956 325.3587 lineto
+117.7379 325.1575 lineto
+117.6732 324.9584 lineto
+117.6382 324.8596 lineto
+112 326.9115 lineto
+117.6382 328.9635 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+117.7500 326.9170 moveto
+205 327 lineto
+F dostroke
+grestore
+% ---- Object #75:64 Obj Type: 3
+2 setlinecap
+gsave
+newpath
+375.6382 328.9635 moveto
+375.6732 328.8647 lineto
+375.7379 328.6656 lineto
+375.7956 328.4643 lineto
+375.8462 328.2612 lineto
+375.8898 328.0561 lineto
+375.9262 327.8499 lineto
+375.9553 327.6426 lineto
+375.9772 327.4344 lineto
+375.9918 327.2255 lineto
+375.9991 327.0163 lineto
+375.9991 326.8068 lineto
+375.9918 326.5976 lineto
+375.9772 326.3887 lineto
+375.9553 326.1805 lineto
+375.9262 325.9732 lineto
+375.8898 325.7670 lineto
+375.8462 325.5619 lineto
+375.7956 325.3587 lineto
+375.7379 325.1575 lineto
+375.6732 324.9584 lineto
+375.6382 324.8596 lineto
+370 326.9115 lineto
+375.6382 328.9635 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+375.7500 326.9226 moveto
+416 327 lineto
+F dostroke
+grestore
+% ---- Object #76:65 Obj Type: 3
+2 setlinecap
+gsave
+newpath
+297.6382 328.9635 moveto
+297.6732 328.8647 lineto
+297.7379 328.6656 lineto
+297.7956 328.4643 lineto
+297.8462 328.2612 lineto
+297.8898 328.0561 lineto
+297.9262 327.8499 lineto
+297.9553 327.6426 lineto
+297.9772 327.4344 lineto
+297.9918 327.2255 lineto
+297.9991 327.0163 lineto
+297.9991 326.8068 lineto
+297.9918 326.5976 lineto
+297.9772 326.3887 lineto
+297.9553 326.1805 lineto
+297.9262 325.9732 lineto
+297.8898 325.7670 lineto
+297.8462 325.5619 lineto
+297.7956 325.3587 lineto
+297.7379 325.1575 lineto
+297.6732 324.9584 lineto
+297.6382 324.8596 lineto
+292 326.9115 lineto
+297.6382 328.9635 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+297.7500 326.9170 moveto
+385 327 lineto
+F dostroke
+grestore
+% ---- Object #77:66 Obj Type: 3
+2 setlinecap
+gsave
+newpath
+206.6382 328.9635 moveto
+206.6732 328.8647 lineto
+206.7379 328.6656 lineto
+206.7956 328.4643 lineto
+206.8462 328.2612 lineto
+206.8898 328.0561 lineto
+206.9262 327.8499 lineto
+206.9553 327.6426 lineto
+206.9772 327.4344 lineto
+206.9918 327.2255 lineto
+206.9991 327.0163 lineto
+206.9991 326.8068 lineto
+206.9918 326.5976 lineto
+206.9772 326.3887 lineto
+206.9553 326.1805 lineto
+206.9262 325.9732 lineto
+206.8898 325.7670 lineto
+206.8462 325.5619 lineto
+206.7956 325.3587 lineto
+206.7379 325.1575 lineto
+206.6732 324.9584 lineto
+206.6382 324.8596 lineto
+201 326.9115 lineto
+206.6382 328.9635 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+206.7500 326.9170 moveto
+294 327 lineto
+F dostroke
+grestore
+% ---- Object #78:86 Obj Type: 3
+2 setlinecap
+gsave
+newpath
+341.6382 263.0519 moveto
+341.6732 262.9532 lineto
+341.7379 262.7541 lineto
+341.7956 262.5528 lineto
+341.8462 262.3496 lineto
+341.8898 262.1446 lineto
+341.9262 261.9384 lineto
+341.9553 261.7310 lineto
+341.9772 261.5228 lineto
+341.9918 261.3140 lineto
+341.9991 261.1047 lineto
+341.9991 260.8953 lineto
+341.9918 260.6860 lineto
+341.9772 260.4772 lineto
+341.9553 260.2689 lineto
+341.9262 260.0616 lineto
+341.8898 259.8554 lineto
+341.8462 259.6504 lineto
+341.7956 259.4472 lineto
+341.7379 259.2459 lineto
+341.6732 259.0468 lineto
+341.6382 258.9481 lineto
+336 261 lineto
+341.6382 263.0519 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+341.7500 261 moveto
+412.3077 261 lineto
+F dostroke
+grestore
+% ---- Object #79:87 Obj Type: 6
+0.0937 0.0937 setpen
+0 setlinecap
+0 fg
+413.6000 261.0993 moveto
+413.6000 259.5082 412.3359 258.1986 410.8000 258.1986 curveto
+409.2641 258.1986 408 259.5082 408 261.0993 curveto
+408 262.6904 409.2641 264 410.8000 264 curveto
+412.3359 264 413.6000 262.6904 413.6000 261.0993 curveto
+closepath
+F dofillsave
+F dostroke
+% ---- Object #80:89 Obj Type: 3
+0.5000 0.5000 setpen
+2 setlinecap
+gsave
+newpath
+251.6016 263.1500 moveto
+251.6382 263.0519 lineto
+251.7064 262.8539 lineto
+251.7676 262.6537 lineto
+251.8218 262.4515 lineto
+251.8689 262.2475 lineto
+251.9089 262.0416 lineto
+251.9416 261.8348 lineto
+251.9672 261.6270 lineto
+251.9854 261.4184 lineto
+251.9964 261.2093 lineto
+252 261 lineto
+251.9964 260.7907 lineto
+251.9854 260.5816 lineto
+251.9672 260.3730 lineto
+251.9416 260.1652 lineto
+251.9089 259.9584 lineto
+251.8689 259.7525 lineto
+251.8218 259.5485 lineto
+251.7676 259.3463 lineto
+251.7064 259.1461 lineto
+251.6732 259.0468 lineto
+246 261 lineto
+251.6016 263.1500 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+251.7494 261.0810 moveto
+317 262 lineto
+F dostroke
+grestore
+% ---- Object #81:90 Obj Type: 6
+0.0937 0.0937 setpen
+0 setlinecap
+320.0948 261.0993 moveto
+320.0948 259.5082 318.8308 258.1986 317.2949 258.1986 curveto
+315.7590 258.1986 314.4949 259.5082 314.4949 261.0993 curveto
+314.4949 262.6904 315.7590 264 317.2949 264 curveto
+318.8308 264 320.0948 262.6904 320.0948 261.0993 curveto
+closepath
+F dofillsave
+F dostroke
+% ---- Object #82:92 Obj Type: 3
+0.5000 0.5000 setpen
+2 setlinecap
+gsave
+newpath
+155.6382 263.0519 moveto
+155.6732 262.9532 lineto
+155.7379 262.7541 lineto
+155.7956 262.5528 lineto
+155.8462 262.3496 lineto
+155.8898 262.1446 lineto
+155.9262 261.9384 lineto
+155.9553 261.7310 lineto
+155.9772 261.5228 lineto
+155.9918 261.3140 lineto
+155.9991 261.1047 lineto
+155.9991 260.8953 lineto
+155.9918 260.6860 lineto
+155.9772 260.4772 lineto
+155.9553 260.2689 lineto
+155.9262 260.0616 lineto
+155.8898 259.8554 lineto
+155.8462 259.6504 lineto
+155.7956 259.4472 lineto
+155.7379 259.2459 lineto
+155.6732 259.0468 lineto
+155.6382 258.9481 lineto
+150 261 lineto
+155.6382 263.0519 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+155.7500 261 moveto
+226.3077 261 lineto
+F dostroke
+grestore
+% ---- Object #83:93 Obj Type: 6
+0.0937 0.0937 setpen
+0 setlinecap
+231.5948 261.0993 moveto
+231.5948 259.5082 230.3308 258.1986 228.7949 258.1986 curveto
+227.2590 258.1986 225.9949 259.5082 225.9949 261.0993 curveto
+225.9949 262.6904 227.2590 264 228.7949 264 curveto
+230.3308 264 231.5948 262.6904 231.5948 261.0993 curveto
+closepath
+F dofillsave
+F dostroke
+% ---- Object #84:83 Obj Type: 2
+0 0 setpen
+save
+1 setgray
+mark /|___Helvetica-Bold /Helvetica-Bold T cvRecFont
+10 fts /|___Helvetica-Bold findfont exch scalefont setfont
+1 setgray
+84 357 moveto
+(CcuDList)
+F F 43.8794 0 8 0 0 fittext
+restore
+% ---- Object #85:84 Obj Type: 2
+save
+0 setgray
+mark /|___Helvetica /Helvetica T cvRecFont
+10 fts /|___Helvetica findfont exch scalefont setfont
+0 setgray
+58 259 moveto
+(Previous)
+F F 38.8940 0 8 0 0 fittext
+restore
+% ---- Object #86:88 Obj Type: 2
+save
+1 setgray
+mark /|___Helvetica-Bold /Helvetica-Bold T cvRecFont
+10 fts /|___Helvetica-Bold findfont exch scalefont setfont
+1 setgray
+70 223 moveto
+(CcuDListCell)
+F F 62.2144 0 12 0 0 fittext
+restore
+% ---- Object #87:85 Obj Type: 6
+0.0937 0.0937 setpen
+0 setlinecap
+132.5948 261.0993 moveto
+132.5948 259.5082 131.3308 258.1986 129.7949 258.1986 curveto
+128.2590 258.1986 126.9949 259.5082 126.9949 261.0993 curveto
+126.9949 262.6904 128.2590 264 129.7949 264 curveto
+131.3308 264 132.5948 262.6904 132.5948 261.0993 curveto
+closepath
+F dofillsave
+F dostroke
+% ---- Object #88:95 Obj Type: 7
+0.5000 0.5000 setpen
+0 setlinecap
+gsave
+newpath
+464.5024 309.3131 moveto
+464.5997 309.3515 lineto
+464.7965 309.4231 lineto
+464.9956 309.4878 lineto
+465.1969 309.5455 lineto
+465.4001 309.5962 lineto
+465.6051 309.6398 lineto
+465.8113 309.6761 lineto
+466.0187 309.7053 lineto
+466.2269 309.7272 lineto
+466.4358 309.7418 lineto
+466.6450 309.7491 lineto
+466.8550 309.7491 lineto
+467.0642 309.7418 lineto
+467.2731 309.7272 lineto
+467.4813 309.7053 lineto
+467.6887 309.6761 lineto
+467.8948 309.6398 lineto
+468.0999 309.5962 lineto
+468.3031 309.5455 lineto
+468.5044 309.4878 lineto
+468.6042 309.4563 lineto
+466.7500 303.7500 lineto
+464.5024 309.3131 lineto
+closepath
+F doline
+grestore
+429.7500 345.7500 moveto
+430.3975 345.7436 lineto
+431.6878 345.6923 lineto
+432.9758 345.5901 lineto
+434.2599 345.4368 lineto
+435.5384 345.2328 lineto
+436.8099 344.9783 lineto
+438.0745 344.6732 lineto
+439.3272 344.3186 lineto
+440.5689 343.9144 lineto
+441.7968 343.4615 lineto
+443.0100 342.9602 lineto
+444.2087 342.4104 lineto
+445.3882 341.8142 lineto
+446.5486 341.1717 lineto
+447.6886 340.4836 lineto
+448.8067 339.7508 lineto
+449.9016 338.9742 lineto
+450.9739 338.1531 lineto
+452.0184 337.2917 lineto
+453.0357 336.3893 lineto
+454.0248 335.4472 lineto
+454.9842 334.4665 lineto
+455.9130 333.4484 lineto
+456.8109 332.3929 lineto
+457.6748 331.3037 lineto
+458.5047 330.1810 lineto
+459.2996 329.0261 lineto
+460.0588 327.8399 lineto
+460.7817 326.6232 lineto
+461.4659 325.3803 lineto
+462.1114 324.1110 lineto
+462.7175 322.8170 lineto
+463.2835 321.4997 lineto
+463.8086 320.1608 lineto
+464.2929 318.8001 lineto
+464.7347 317.4223 lineto
+465.1336 316.0284 lineto
+465.4894 314.6196 lineto
+465.8018 313.1975 lineto
+466.0705 311.7621 lineto
+466.2947 310.3187 lineto
+466.4743 308.8674 lineto
+466.5474 308.1390 lineto
+F dostroke
+% ---- Object #89:96 Obj Type: 7
+0 setlinecap
+gsave
+newpath
+435.1879 264.5357 moveto
+435.2313 264.4404 lineto
+435.3132 264.2474 lineto
+435.3882 264.0519 lineto
+435.4564 263.8539 lineto
+435.5176 263.6537 lineto
+435.5718 263.4515 lineto
+435.6189 263.2475 lineto
+435.6589 263.0416 lineto
+435.6916 262.8348 lineto
+435.7171 262.6270 lineto
+435.7354 262.4184 lineto
+435.7463 262.2093 lineto
+435.7500 262 lineto
+435.7463 261.7907 lineto
+435.7354 261.5816 lineto
+435.7171 261.3730 lineto
+435.6916 261.1652 lineto
+435.6589 260.9584 lineto
+435.6189 260.7525 lineto
+435.5718 260.5485 lineto
+435.5456 260.4472 lineto
+429.7500 262 lineto
+435.1879 264.5357 lineto
+closepath
+F doline
+grestore
+466.7500 303.7500 moveto
+466.7444 303.0213 lineto
+466.6993 301.5653 lineto
+466.6092 300.1119 lineto
+466.4743 298.6631 lineto
+466.2947 297.2204 lineto
+466.0705 295.7856 lineto
+465.8018 294.3587 lineto
+465.4894 292.9451 lineto
+465.1336 291.5447 lineto
+464.7347 290.1591 lineto
+464.2929 288.7894 lineto
+463.8086 287.4369 lineto
+463.2835 286.1059 lineto
+462.7175 284.7965 lineto
+462.1114 283.5101 lineto
+461.4659 282.2484 lineto
+460.7817 281.0129 lineto
+460.0588 279.8035 lineto
+459.2996 278.6244 lineto
+458.5047 277.4764 lineto
+457.6748 276.3603 lineto
+456.8109 275.2776 lineto
+455.9130 274.2284 lineto
+454.9842 273.2163 lineto
+454.0248 272.2415 lineto
+453.0357 271.3050 lineto
+452.0184 270.4080 lineto
+450.9739 269.5516 lineto
+449.9016 268.7355 lineto
+448.8067 267.9635 lineto
+447.6886 267.2350 lineto
+446.5486 266.5510 lineto
+445.3882 265.9123 lineto
+444.2087 265.3197 lineto
+443.0100 264.7732 lineto
+441.7968 264.2749 lineto
+440.5689 263.8247 lineto
+439.3272 263.4229 lineto
+438.0745 263.0704 lineto
+436.8099 262.7671 lineto
+435.5384 262.5141 lineto
+434.2599 262.3113 lineto
+F dostroke
+% ---- Object #90:98 Obj Type: 7
+0 setlinecap
+gsave
+newpath
+122.4771 343.1553 moveto
+122.4369 343.2524 lineto
+122.3619 343.4478 lineto
+122.2937 343.6458 lineto
+122.2325 343.8460 lineto
+122.1783 344.0482 lineto
+122.1312 344.2522 lineto
+122.0912 344.4580 lineto
+122.0584 344.6649 lineto
+122.0329 344.8727 lineto
+122.0146 345.0813 lineto
+122.0037 345.2904 lineto
+122 345.5000 lineto
+122.0036 345.7093 lineto
+122.0146 345.9184 lineto
+122.0328 346.1270 lineto
+122.0584 346.3348 lineto
+122.0911 346.5416 lineto
+122.1311 346.7475 lineto
+122.1782 346.9515 lineto
+122.2324 347.1537 lineto
+122.2621 347.2541 lineto
+128 345.5000 lineto
+122.4771 343.1553 lineto
+closepath
+F doline
+grestore
+65.5000 303.7500 moveto
+65.5095 304.4787 lineto
+65.5856 305.9347 lineto
+65.7377 307.3880 lineto
+65.9657 308.8369 lineto
+66.2691 310.2796 lineto
+66.6477 311.7144 lineto
+67.1017 313.1413 lineto
+67.6293 314.5549 lineto
+68.2304 315.9553 lineto
+68.9043 317.3409 lineto
+69.6505 318.7106 lineto
+70.4685 320.0631 lineto
+71.3556 321.3941 lineto
+72.3116 322.7035 lineto
+73.3355 323.9898 lineto
+74.4259 325.2516 lineto
+75.5815 326.4871 lineto
+76.8026 327.6965 lineto
+78.0851 328.8756 lineto
+79.4278 330.0236 lineto
+80.8297 331.1397 lineto
+82.2890 332.2224 lineto
+83.8057 333.2716 lineto
+85.3746 334.2837 lineto
+86.9953 335.2585 lineto
+88.6660 336.1950 lineto
+90.3845 337.0920 lineto
+92.1489 337.9484 lineto
+93.9601 338.7645 lineto
+95.8096 339.5365 lineto
+97.6983 340.2650 lineto
+99.6240 340.9490 lineto
+101.5841 341.5877 lineto
+103.5765 342.1803 lineto
+105.6013 342.7268 lineto
+107.6507 343.2251 lineto
+109.7249 343.6753 lineto
+111.8222 344.0771 lineto
+113.9384 344.4296 lineto
+116.0745 344.7329 lineto
+118.2223 344.9859 lineto
+120.3820 345.1887 lineto
+122.5510 345.3410 lineto
+123.6386 345.3982 lineto
+F dostroke
+% ---- Object #91:99 Obj Type: 7
+0 setlinecap
+gsave
+newpath
+68.0359 298.3123 moveto
+67.9406 298.2688 lineto
+67.7476 298.1869 lineto
+67.5522 298.1119 lineto
+67.3542 298.0437 lineto
+67.1540 297.9825 lineto
+66.9517 297.9283 lineto
+66.7478 297.8812 lineto
+66.5420 297.8412 lineto
+66.3351 297.8084 lineto
+66.1273 297.7829 lineto
+65.9187 297.7646 lineto
+65.7096 297.7537 lineto
+65.5000 297.7500 lineto
+65.2907 297.7536 lineto
+65.0816 297.7646 lineto
+64.8730 297.7828 lineto
+64.6652 297.8084 lineto
+64.4584 297.8411 lineto
+64.2525 297.8811 lineto
+64.0485 297.9282 lineto
+63.9472 297.9544 lineto
+65.5000 303.7500 lineto
+68.0359 298.3123 lineto
+closepath
+F doline
+grestore
+128 261.7500 moveto
+126.9091 261.7564 lineto
+124.7294 261.8075 lineto
+122.5538 261.9098 lineto
+120.3848 262.0629 lineto
+118.2251 262.2668 lineto
+116.0773 262.5213 lineto
+113.9412 262.8264 lineto
+111.8250 263.1809 lineto
+109.7285 263.5848 lineto
+107.6543 264.0377 lineto
+105.6040 264.5391 lineto
+103.5791 265.0888 lineto
+101.5867 265.6849 lineto
+99.6265 266.3274 lineto
+97.7008 267.0154 lineto
+95.8120 267.7482 lineto
+93.9625 268.5248 lineto
+92.1520 269.3454 lineto
+90.3868 270.2072 lineto
+88.6682 271.1095 lineto
+86.9975 272.0515 lineto
+85.3767 273.0322 lineto
+83.8059 274.0514 lineto
+82.2909 275.1057 lineto
+80.8315 276.1949 lineto
+79.4296 277.3175 lineto
+78.0868 278.4724 lineto
+76.8048 279.6580 lineto
+75.5831 280.8752 lineto
+74.4273 282.1180 lineto
+73.3368 283.3873 lineto
+72.3129 284.6813 lineto
+71.3568 285.9985 lineto
+70.4696 287.3374 lineto
+69.6515 288.6981 lineto
+68.9055 290.0753 lineto
+68.2315 291.4691 lineto
+67.6300 292.8786 lineto
+67.1024 294.3006 lineto
+66.6483 295.7360 lineto
+66.2696 297.1794 lineto
+65.9660 298.6307 lineto
+65.8425 299.3591 lineto
+F dostroke
+% ---- Object #92:100 Obj Type: 3
+2 setlinecap
+gsave
+newpath
+216.3619 344.5930 moveto
+216.3269 344.6916 lineto
+216.2622 344.8907 lineto
+216.2045 345.0921 lineto
+216.1538 345.2952 lineto
+216.1102 345.5003 lineto
+216.0739 345.7065 lineto
+216.0447 345.9138 lineto
+216.0228 346.1220 lineto
+216.0082 346.3309 lineto
+216.0009 346.5401 lineto
+216.0009 346.7499 lineto
+216.0082 346.9591 lineto
+216.0228 347.1680 lineto
+216.0447 347.3762 lineto
+216.0738 347.5835 lineto
+216.1102 347.7897 lineto
+216.1538 347.9948 lineto
+216.2044 348.1979 lineto
+216.2621 348.3992 lineto
+216.3268 348.5983 lineto
+216.3618 348.6970 lineto
+222 346.6451 lineto
+216.3619 344.5930 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+129 346.4940 moveto
+216.2500 346.6358 lineto
+F dostroke
+grestore
+% ---- Object #93:102 Obj Type: 3
+2 setlinecap
+gsave
+newpath
+426.3619 344.9478 moveto
+426.3269 345.0465 lineto
+426.2622 345.2456 lineto
+426.2045 345.4469 lineto
+426.1538 345.6501 lineto
+426.1102 345.8551 lineto
+426.0739 346.0613 lineto
+426.0447 346.2687 lineto
+426.0228 346.4769 lineto
+426.0082 346.6858 lineto
+426.0009 346.8950 lineto
+426.0009 347.1047 lineto
+426.0082 347.3140 lineto
+426.0228 347.5228 lineto
+426.0447 347.7310 lineto
+426.0738 347.9384 lineto
+426.1102 348.1446 lineto
+426.1538 348.3496 lineto
+426.2044 348.5528 lineto
+426.2621 348.7541 lineto
+426.3268 348.9532 lineto
+426.3618 349.0519 lineto
+432 347 lineto
+426.3619 344.9478 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+308 346.4940 moveto
+426.2500 346.9765 lineto
+F dostroke
+grestore
+% ---- Object #94:103 Obj Type: 3
+2 setlinecap
+gsave
+newpath
+305.3619 344.5930 moveto
+305.3269 344.6916 lineto
+305.2622 344.8907 lineto
+305.2045 345.0921 lineto
+305.1538 345.2952 lineto
+305.1102 345.5003 lineto
+305.0739 345.7065 lineto
+305.0447 345.9138 lineto
+305.0228 346.1220 lineto
+305.0082 346.3309 lineto
+305.0009 346.5401 lineto
+305.0009 346.7499 lineto
+305.0082 346.9591 lineto
+305.0228 347.1680 lineto
+305.0447 347.3762 lineto
+305.0738 347.5835 lineto
+305.1102 347.7897 lineto
+305.1538 347.9948 lineto
+305.2044 348.1979 lineto
+305.2621 348.3992 lineto
+305.3268 348.5983 lineto
+305.3618 348.6970 lineto
+311 346.6451 lineto
+305.3619 344.5930 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+218 346.4940 moveto
+305.2500 346.6358 lineto
+F dostroke
+grestore
+origmtx setmatrix
+systemdict /setpacking known {origpack setpacking} if end
+showpage
+%%EndDocument:
diff --git a/utils/FIGURES/CcuList.epsf b/utils/FIGURES/CcuList.epsf
new file mode 100644
index 0000000..f894c48
--- /dev/null
+++ b/utils/FIGURES/CcuList.epsf
@@ -0,0 +1,2006 @@
+%!PS-Adobe-2.0 EPSF-1.2
+%%Title: CcuList.epsf
+%%Creator: Canvas 3.0
+%%For: chatty
+%%CreationDate: Jeu 3 D\216c 1992 18:16
+%%BoundingBox: 46 11 455 236
+%%DocumentProcSets: CanvasDict
+%%DocumentSuppliedProcSets: CanvasDict
+%%Copyright ©1988-91 Deneba Systems, Inc. - All Rights Reserved Worldwide
+%%DocumentFonts: Helvetica
+%%+ Helvetica-Oblique
+%%+ Helvetica-Bold
+%%DocumentNeededFonts: Helvetica
+%%+ Helvetica-Oblique
+%%+ Helvetica-Bold
+%%EndComments
+%%BeginProcSet:CanvasDict
+/CanvasDict where not{/CanvasDict 250 dict def}{pop}ifelse
+CanvasDict begin
+systemdict/setpacking known{/origpack currentpacking def true setpacking}if
+/bdf{bind def}bind def
+/xdf{exch bind def}bdf
+/min{2 copy gt{exch}if pop}bdf
+/edf{exch def}bdf
+/max{2 copy lt{exch}if pop}bdf
+/cvmtx matrix def
+/tpmx matrix def
+/currot 0 def
+/rotmtx matrix def
+/origmtx matrix def
+/cvangle{360 exch sub 90 add 360 mod}bdf
+/setrot{/currot edf rotmtx currentmatrix pop 2 copy translate currot rotate neg exch neg exch translate}bdf
+/endrot{rotmtx setmatrix}bdf
+/i systemdict/image get def/T true def/F false def/dbg F def
+/ncolors 0 def/st0 ()def/st1 ()def/proc0 {}def
+/penh 1 def/penv 1 def/penv2 0 def/penh2 0 def/samplesize 0 def/width 0 def/height 0 def
+/setcmykcolor where not{/setcmykcolor{/b edf 3{b add 1.0 exch sub 0.0 max 1.0 min 3 1 roll}repeat systemdict begin setrgbcolor end}bdf}{pop}ifelse
+/doeoclip{closepath{eoclip}stopped{currentflat dup 2 mul setflat eoclip setflat}if}bdf
+/SpaceExtra 0 def/LetterSpace 0 def/StringLength 0 def/NumSpaces 0 def/JustOffset 0 def
+/f0/fill load def
+/s0{1 setlinewidth cvmtx currentmatrix pop penh penv scale stroke cvmtx setmatrix}bdf
+/f1{_bp _fp impat}def
+/s1{cvmtx currentmatrix pop 1 setlinewidth penh penv scale
+{strokepath}stopped{currentflat dup 2 mul setflat strokepath setflat}if
+_bp
+cvmtx setmatrix _fp impat}def
+/filltype 0 def
+/stroketype 0 def
+/f{filltype 0 eq{f0}{f1}ifelse}bdf
+/s{stroketype 0 eq{s0}{s1}ifelse}bdf
+/_fp{}def
+/_bp{}def
+/_fg 1 def
+/_pg 0 def
+/_bkg 1 def
+/_frg 0 def
+/_frgb 3 array def
+/_frrgb [0 0 0] def
+/_fcmyk 4 array def
+/_frcmyk [0 0 0 1] def
+/_prgb 3 array def
+/_pcmyk 4 array def
+/_bkrgb [1 1 1] def
+/_bkcmyk [0 0 0 0] def
+/fg{/_fg exch def /filltype 0 def/fills{_fg setgray}def}def
+/frgb{_frgb astore pop /filltype 0 def/fills{_frgb aload pop setrgbcolor}def}def
+/fcmyk{_fcmyk astore pop /filltype 0 def/fills{_fcmyk aload pop setcmykcolor}def}def
+/pg{/_pg exch def /stroketype 0 def/pens{_pg setgray}def}def
+/prgb{_prgb astore pop /stroketype 0 def/pens{_prgb aload pop setrgbcolor}def}def
+/pcmyk{_pcmyk astore pop /stroketype 0 def/pens{_pcmyk aload pop setcmykcolor}def}def
+/fpat{/fstr edf/filltype 1 def/fills{/patstr fstr def}bdf}bdf
+/ppat{/sstr edf/stroketype 1 def/pens{/patstr sstr def}bdf}bdf
+/bkg{ /_bkg exch def /_bp{gsave _bkg setgray fill grestore}def}def
+/bkrgb{_bkrgb astore pop/_bp{gsave _bkrgb aload pop setrgbcolor fill grestore}def}def
+/bkcmyk{_bkcmyk astore pop/_bp{gsave _bkcmyk aload pop setcmykcolor fill grestore}def}def
+/frg{ /_frg exch def /_fp{_frg setgray}def}def
+/frrgb{_frrgb astore pop/_fp{_frrgb aload pop setrgbcolor}def}def
+/frcmyk{_frcmyk astore pop/_fp{_frcmyk aload pop setcmykcolor}def}def
+/icomp{/ncolors edf
+ncolors 1 gt{/proc0 edf
+dup dup 0 get ncolors div cvi exch 0 3 -1 roll put
+4 -1 roll ncolors div cvi 4 1 roll{proc0 dup/st0 edf
+0 exch ncolors exch length
+dup ncolors sub exch ncolors div cvi string/st1 edf
+{dup 0 exch dup 1 exch
+2 add{st0 exch get add}bind for
+3 div ncolors 4 eq{exch dup 3 1 roll 3 add st0 exch get add 255 exch sub dup 0 lt{pop 0}if}if cvi
+dup 255 gt{pop 255}if
+exch ncolors div cvi exch
+st1 3 1 roll put}bind for
+st1}}if i}bdf
+/ci
+{/colorimage where
+{pop false exch colorimage}
+{icomp}
+ifelse}bdf
+/impat
+{/cnt 0 def
+/MySave save def
+currot 0 ne{currot neg rotate}if
+clip
+flattenpath
+pathbbox
+3 -1 roll
+8 div floor 8 mul dup/starty edf
+sub abs 8 div ceiling 8 mul cvi/height edf
+exch 8 div floor 8 mul dup/startx edf
+sub abs 8 div ceiling 8 mul cvi/width edf
+startx starty translate
+width height scale
+/height height 8 mul def
+/st0 width string def
+width height T [width 0 0 height neg 0 height]
+{patstr
+cnt 8 mod
+get/st1 edf
+0 1
+st0 length 1 sub dup 0 le{pop 1}if
+{st0 exch
+st1
+put}bind for/cnt cnt 1 add def
+st0}bind
+imagemask
+MySave restore
+newpath}bdf
+/cm{/ncolors edf
+translate
+scale/height edf/colorimage where
+{pop}
+{ncolors mul}ifelse/width edf
+/tbitstr width string def
+width height 8 [width 0 0 height neg 0 height]
+{currentfile tbitstr readhexstring pop}bind
+ncolors
+dup 3 eq {ci}{icomp}ifelse}bdf
+/im{translate
+scale
+/height edf
+/width edf
+/tbitstr width 7 add 8 div cvi string def
+width height 1 [width 0 0 height neg 0 height]
+{currentfile tbitstr readhexstring pop}bind
+i}bdf
+/imk{/invFlag edf
+translate
+scale
+/height edf
+/width edf
+/tbitstr width 7 add 8 div cvi string def
+width height invFlag [width 0 0 height neg 0 height]
+{currentfile tbitstr readhexstring pop}bind
+imagemask}bdf
+/BeginEPSF
+{/MySave save def
+/dict_count countdictstack def
+/op_count count 1 sub def
+userdict begin
+/showpage {} def
+0 setgray 0 setlinecap
+1 setlinewidth 0 setlinejoin
+10 setmiterlimit [] 0 setdash newpath
+/languagelevel where
+{pop languagelevel 1 ne{false setstrokeadjust false setoverprint}if}if
+}bdf
+/EndEPSF
+{count op_count sub {pop}repeat
+countdictstack dict_count sub {end}repeat
+MySave restore}bdf
+/rectpath {/cv_r edf/cv_b edf/cv_l edf/cv_t edf
+cv_l cv_t moveto cv_r cv_t lineto cv_r cv_b lineto cv_l cv_b lineto cv_l cv_t lineto closepath}bdf
+/setpen{/penh edf/penv edf/penv2 penv 2 div def/penh2 penh 2 div def}bdf
+/dostroke{not pens 1.0 currentgray ne or {s}{newpath}ifelse}bdf
+/dodashfill{not fills 1.0 currentgray ne or
+{gsave f grestore gsave [] 0 setdash
+stroketype/stroketype filltype def
+s/stroketype edf grestore}{newpath}ifelse}bdf
+/dofill{not fills 1.0 currentgray ne or {f}{newpath}ifelse}bdf
+/dofillsave{not fills 1.0 currentgray ne or {gsave f grestore}if}bdf
+/doline{not pens 1.0 currentgray ne or {filltype/filltype stroketype def f/filltype edf}{newpath}ifelse}bdf
+/spx{SpaceExtra 0 32 4 -1 roll widthshow}bdf
+/lsx{SpaceExtra 0 32 LetterSpace 0 6 -1 roll awidthshow}bdf
+/Rjust{stringwidth pop JustOffset exch sub /JustOffset edf}bdf
+/Cjust{stringwidth pop 2 div JustOffset exch sub /JustOffset edf}bdf
+/adjfit{stringwidth pop LetterSpace StringLength 1 sub mul add SpaceExtra NumSpaces mul add dup /pw edf JustOffset exch
+sub dup /wdif edf StringLength div dup abs 1.0 gt{pop 0}if LetterSpace add /LetterSpace edf}bdf
+/ulb{currentpoint pop /underlinpt edf}bdf
+/ule{gsave currentpoint newpath moveto currentfont dup /ft1 known{dup /ft1 get begin /FontMatrix get FontMatrix tpmx concatmatrix pop}
+{begin FontMatrix tpmx copy pop}ifelse FontInfo begin UnderlinePosition UnderlineThickness end end dup tpmx
+dtransform pop setlinewidth dup tpmx dtransform pop 0 exch rmoveto underlinpt currentpoint pop sub 0 rlineto stroke grestore}bdf
+/fittext{ /SpaceExtra edf /LetterSpace edf /StringLength edf /NumSpaces edf /JustOffset edf not 1 currentgray ne or
+{dup {ulb}if exch
+dup adjfit
+lsx {ule}if}{pop pop}ifelse}bdf
+/cvRecFont{/encod edf FontDirectory 2 index known{cleartomark}{findfont dup length 1 add dict begin
+{1 index/FID ne{def}{pop pop}ifelse}forall encod{/Encoding CVvec def}if
+currentdict end definefont cleartomark}ifelse}bdf
+/wrk1 ( ) def/wdict 16 dict def
+/Work75 75 string def /Nmk{Work75 cvs dup}bdf /Npt{put cvn}bdf /dhOdh{Nmk 2 79 Npt}bdf /dhodh{Nmk 2 111 Npt}bdf /dhSdh{Nmk 2 83 Npt}bdf
+/sfWidth{gsave 0 0 moveto 0 0 lineto 0 0 lineto 0 0 lineto closepath clip stringwidth grestore}bdf
+/MakOF{dup dhodh FontDirectory 1 index known{exch pop}{exch findfont dup length 1 add dict begin
+{1 index/FID ne 2 index /UniqueID ne and{def}{pop pop}ifelse}forall
+/PaintType 2 def
+/StrokeWidth .24 1000 mul ftSize div dup 12 lt{pop 12}if def
+dup currentdict end definefont pop}ifelse}bdf
+/fts{dup/ftSize edf}def
+/mkFT{/tempFT 11 dict def tempFT begin
+/FontMatrix [1 0 0 1 0 0] def/FontType 3 def
+FontDirectory 3 index get /Encoding get/Encoding exch def
+/proc2 edf/ft2 exch findfont def/ft1 exch findfont def/FontBBox [0 0 1 1] def
+/BuildChar{wdict begin/chr edf/ftdt edf/chrst wrk1 dup 0 chr put def ftdt/proc2 get exec end}def
+end tempFT definefont pop}bdf
+/OLFt{dup dhOdh FontDirectory 1 index known{exch pop}
+{dup 3 -1 roll dup MakOF {outproc} mkFT}ifelse}bdf
+/mshw{moveto show}bdf
+/outproc{ftdt/ft1 get setfont gsave chrst sfWidth grestore setcharwidth dblsh}bdf
+/dblsh{currentgray 1 setgray chrst 0 0 mshw setgray ftdt/ft2 get setfont chrst 0 0 mshw}bdf
+/ShadChar{ftdt/ft1 get setfont gsave chrst sfWidth 1 index 0 ne{exch .05 add exch}if grestore setcharwidth
+chrst .06 0 mshw 0 .05 translate dblsh}bdf
+/ShFt{dup dhSdh FontDirectory 1 index known{exch pop}
+{dup 3 -1 roll dup MakOF {ShadChar} mkFT}ifelse}bdf
+/LswUnits{72 75 div dup scale}bdf
+/erasefill{_bp}def
+/CVvec 256 array def
+/NUL/SOH/STX/ETX/EOT/ENQ/ACK/BEL/BS/HT/LF/VT/FF/CR/SO/SI/DLE/DC1/DC2/DC3/DC4/NAK/SYN/ETB/CAN/EM/SUB/ESC/FS/GS/RS/US
+CVvec 0 32 getinterval astore pop
+CVvec 32/Times-Roman findfont/Encoding get
+32 96 getinterval putinterval CVvec dup 39/quotesingle put 96/grave put
+/Adieresis/Aring/Ccedilla/Eacute/Ntilde/Odieresis/Udieresis/aacute
+/agrave/acircumflex/adieresis/atilde/aring/ccedilla/eacute/egrave
+/ecircumflex/edieresis/iacute/igrave/icircumflex/idieresis/ntilde/oacute
+/ograve/ocircumflex/odieresis/otilde/uacute/ugrave/ucircumflex/udieresis
+/dagger/degree/cent/sterling/section/bullet/paragraph/germandbls
+/registered/copyright/trademark/acute/dieresis/notequal/AE/Oslash
+/infinity/plusminus/lessequal/greaterequal/yen/mu/partialdiff/summation
+/product/pi/integral/ordfeminine/ordmasculine/Omega/ae/oslash
+/questiondown/exclamdown/logicalnot/radical/florin/approxequal/Delta/guillemotleft
+/guillemotright/ellipsis/blank/Agrave/Atilde/Otilde/OE/oe
+/endash/emdash/quotedblleft/quotedblright/quoteleft/quoteright/divide/lozenge
+/ydieresis/Ydieresis/fraction/currency/guilsinglleft/guilsinglright/fi/fl
+/daggerdbl/periodcentered/quotesinglbase/quotedblbase/perthousand/Acircumflex/Ecircumflex/Aacute
+/Edieresis/Egrave/Iacute/Icircumflex/Idieresis/Igrave/Oacute/Ocircumflex
+/apple/Ograve/Uacute/Ucircumflex/Ugrave/dotlessi/circumflex/tilde
+/macron/breve/dotaccent/ring/cedilla/hungarumlaut/ogonek/caron
+CVvec 128 128 getinterval astore pop
+end
+
+%%BeginSetup
+CanvasDict begin
+0 setlinecap
+0 setlinejoin
+4 setmiterlimit
+/currot 0 def
+origmtx currentmatrix pop
+[] 0 setdash
+1 1 setpen
+1 fg
+0 pg
+0 frg
+1 bkg
+newpath
+/dbg F def
+%%EndSetup
+% ---- Object #1:32 Obj Type: 4
+0 0 setpen
+0.7500 fg
+229.2500 102.7500 197.7500 150.2500 rectpath
+F dofill
+% ---- Object #2:19 Obj Type: 4
+0 fg
+204.2500 64.7500 184.7500 119.2500 rectpath
+F dofill
+% ---- Object #3:38 Obj Type: 4
+0.7500 fg
+117.2500 95.7500 81.7500 131.2500 rectpath
+F dofill
+% ---- Object #4:17 Obj Type: 4
+0 fg
+89.2500 47.7500 67.7500 117.2500 rectpath
+F dofill
+% ---- Object #5:37 Obj Type: 4
+0.7500 fg
+117.2500 377.7500 81.7500 413.2500 rectpath
+F dofill
+% ---- Object #6:39 Obj Type: 99
+% ---- Object #7:40 Obj Type: 4
+1 0.7500 setpen
+0 setlinecap
+1 fg
+119 376 102 410.5005 rectpath
+F dofillsave
+F dostroke
+% ---- Object #8:41 Obj Type: 4
+0 setlinecap
+102 376 85 410.5005 rectpath
+F dofillsave
+F dostroke
+% ---- Object #9:43 Obj Type: 4
+0 0 setpen
+0.7500 fg
+117.2500 283.7500 81.7500 319.2500 rectpath
+F dofill
+% ---- Object #10:44 Obj Type: 99
+% ---- Object #11:45 Obj Type: 4
+1 0.7500 setpen
+0 setlinecap
+1 fg
+119 282 102 316.5005 rectpath
+F dofillsave
+F dostroke
+% ---- Object #12:46 Obj Type: 4
+0 setlinecap
+102 282 85 316.5005 rectpath
+F dofillsave
+F dostroke
+% ---- Object #13:69 Obj Type: 99
+% ---- Object #14:48 Obj Type: 4
+0 0 setpen
+0.7500 fg
+117.2500 194.7500 81.7500 230.2500 rectpath
+F dofill
+% ---- Object #15:49 Obj Type: 99
+% ---- Object #16:50 Obj Type: 4
+1 0.7500 setpen
+0 setlinecap
+1 fg
+119 193 102 227.5005 rectpath
+F dofillsave
+F dostroke
+% ---- Object #17:51 Obj Type: 4
+0 setlinecap
+102 193 85 227.5005 rectpath
+F dofillsave
+F dostroke
+% ---- Object #18:11 Obj Type: 99
+% ---- Object #19:13 Obj Type: 4
+0 setlinecap
+119 94 102 128.5005 rectpath
+F dofillsave
+F dostroke
+% ---- Object #20:14 Obj Type: 4
+0 setlinecap
+102 94 85 128.5005 rectpath
+F dofillsave
+F dostroke
+% ---- Object #21:27 Obj Type: 4
+0.5000 0.5000 setpen
+0 setlinecap
+231 101 215 148 rectpath
+F dofillsave
+F dostroke
+% ---- Object #22:28 Obj Type: 4
+0 setlinecap
+216 101 200 148 rectpath
+F dofillsave
+F dostroke
+% ---- Object #23:30 Obj Type: 3
+2 setlinecap
+gsave
+newpath
+187.3619 107.9478 moveto
+187.3269 108.0465 lineto
+187.2622 108.2456 lineto
+187.2045 108.4469 lineto
+187.1538 108.6501 lineto
+187.1102 108.8551 lineto
+187.0739 109.0613 lineto
+187.0447 109.2687 lineto
+187.0228 109.4769 lineto
+187.0082 109.6858 lineto
+187.0009 109.8950 lineto
+187.0009 110.1047 lineto
+187.0082 110.3140 lineto
+187.0228 110.5228 lineto
+187.0447 110.7310 lineto
+187.0738 110.9384 lineto
+187.1102 111.1446 lineto
+187.1538 111.3496 lineto
+187.2044 111.5528 lineto
+187.2621 111.7541 lineto
+187.3268 111.9532 lineto
+187.3618 112.0519 lineto
+193 110 lineto
+187.3619 107.9478 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+115 110 moveto
+187.2500 110 lineto
+F dostroke
+grestore
+% ---- Object #24:7 Obj Type: 2
+0 0 setpen
+save
+0 setgray
+mark /|___Helvetica /Helvetica T cvRecFont
+10 fts /|___Helvetica findfont exch scalefont setfont
+0 setgray
+134 113 moveto
+(Next)
+F F 20.5566 0 4 0 0 fittext
+restore
+% ---- Object #25:9 Obj Type: 3
+0.5000 0.5000 setpen
+2 setlinecap
+gsave
+newpath
+369.9516 107.9478 moveto
+369.9167 108.0465 lineto
+369.8520 108.2456 lineto
+369.7942 108.4469 lineto
+369.7436 108.6501 lineto
+369.7000 108.8551 lineto
+369.6636 109.0613 lineto
+369.6345 109.2687 lineto
+369.6126 109.4769 lineto
+369.5980 109.6858 lineto
+369.5906 109.8950 lineto
+369.5906 110.1047 lineto
+369.5980 110.3140 lineto
+369.6126 110.5228 lineto
+369.6344 110.7310 lineto
+369.6636 110.9384 lineto
+369.6999 111.1446 lineto
+369.7435 111.3496 lineto
+369.7942 111.5528 lineto
+369.8518 111.7541 lineto
+369.9165 111.9532 lineto
+369.9515 112.0519 lineto
+375.5897 110 lineto
+369.9516 107.9478 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+369.8397 110 moveto
+299.2821 110 lineto
+F dostroke
+grestore
+% ---- Object #26:10 Obj Type: 3
+2 setlinecap
+gsave
+newpath
+275.9784 107.9478 moveto
+275.9435 108.0465 lineto
+275.8788 108.2456 lineto
+275.8211 108.4469 lineto
+275.7704 108.6501 lineto
+275.7268 108.8551 lineto
+275.6905 109.0613 lineto
+275.6613 109.2687 lineto
+275.6394 109.4769 lineto
+275.6248 109.6858 lineto
+275.6175 109.8950 lineto
+275.6175 110.1047 lineto
+275.6248 110.3140 lineto
+275.6394 110.5228 lineto
+275.6613 110.7310 lineto
+275.6904 110.9384 lineto
+275.7268 111.1446 lineto
+275.7703 111.3496 lineto
+275.8210 111.5528 lineto
+275.8787 111.7541 lineto
+275.9434 111.9532 lineto
+275.9783 112.0519 lineto
+281.6166 110 lineto
+275.9784 107.9478 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+275.8666 110 moveto
+212.6010 110 lineto
+F dostroke
+grestore
+% ---- Object #27:21 Obj Type: 3
+2 setlinecap
+gsave
+newpath
+141.9678 48.2676 moveto
+142.0258 48.3552 lineto
+142.1459 48.5267 lineto
+142.2719 48.6939 lineto
+142.4036 48.8566 lineto
+142.5410 49.0146 lineto
+142.6838 49.1678 lineto
+142.8320 49.3160 lineto
+142.9852 49.4588 lineto
+143.1432 49.5962 lineto
+143.3059 49.7279 lineto
+143.4731 49.8540 lineto
+143.6446 49.9741 lineto
+143.8204 50.0883 lineto
+143.9999 50.1961 lineto
+144.1830 50.2976 lineto
+144.3695 50.3927 lineto
+144.5594 50.4812 lineto
+144.7524 50.5631 lineto
+144.9478 50.6381 lineto
+145.1458 50.7063 lineto
+145.2456 50.7378 lineto
+147 45 lineto
+141.9678 48.2676 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+111 93 moveto
+143.5500 49.6000 lineto
+F dostroke
+grestore
+% ---- Object #28:58 Obj Type: 99
+% ---- Object #29:23 Obj Type: 3
+2 setlinecap
+gsave
+newpath
+422.9678 48.2676 moveto
+423.0258 48.3552 lineto
+423.1459 48.5267 lineto
+423.2719 48.6939 lineto
+423.4036 48.8566 lineto
+423.5410 49.0146 lineto
+423.6838 49.1678 lineto
+423.8320 49.3160 lineto
+423.9852 49.4588 lineto
+424.1432 49.5962 lineto
+424.3059 49.7279 lineto
+424.4731 49.8540 lineto
+424.6446 49.9741 lineto
+424.8204 50.0883 lineto
+424.9999 50.1961 lineto
+425.1830 50.2976 lineto
+425.3695 50.3927 lineto
+425.5594 50.4812 lineto
+425.7524 50.5631 lineto
+425.9478 50.6381 lineto
+426.1458 50.7063 lineto
+426.2456 50.7378 lineto
+428 45 lineto
+422.9678 48.2676 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+392 93 moveto
+424.5500 49.6000 lineto
+F dostroke
+grestore
+% ---- Object #30:60 Obj Type: 6
+0.0937 0.0937 setpen
+0 setlinecap
+0 fg
+395.6000 92.0993 moveto
+395.6000 90.5082 394.3359 89.1986 392.8000 89.1986 curveto
+391.2641 89.1986 390 90.5082 390 92.0993 curveto
+390 93.6904 391.2641 95 392.8000 95 curveto
+394.3359 95 395.6000 93.6904 395.6000 92.0993 curveto
+closepath
+F dofillsave
+F dostroke
+% ---- Object #31:24 Obj Type: 3
+0.5000 0.5000 setpen
+2 setlinecap
+gsave
+newpath
+329.9678 47.2676 moveto
+330.0258 47.3552 lineto
+330.1459 47.5267 lineto
+330.2719 47.6939 lineto
+330.4036 47.8566 lineto
+330.5410 48.0146 lineto
+330.6838 48.1678 lineto
+330.8320 48.3160 lineto
+330.9852 48.4588 lineto
+331.1432 48.5962 lineto
+331.3059 48.7279 lineto
+331.4731 48.8540 lineto
+331.6446 48.9741 lineto
+331.8204 49.0883 lineto
+331.9999 49.1961 lineto
+332.1830 49.2976 lineto
+332.3695 49.3927 lineto
+332.5594 49.4812 lineto
+332.7524 49.5631 lineto
+332.9478 49.6381 lineto
+333.1458 49.7063 lineto
+333.2456 49.7378 lineto
+335 44 lineto
+329.9678 47.2676 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+299 92 moveto
+331.5500 48.6000 lineto
+F dostroke
+grestore
+% ---- Object #32:61 Obj Type: 99
+% ---- Object #33:63 Obj Type: 6
+0.0937 0.0937 setpen
+0 setlinecap
+301.6000 92.0993 moveto
+301.6000 90.5082 300.3359 89.1986 298.8000 89.1986 curveto
+297.2641 89.1986 296 90.5082 296 92.0993 curveto
+296 93.6904 297.2641 95 298.8000 95 curveto
+300.3359 95 301.6000 93.6904 301.6000 92.0993 curveto
+closepath
+F dofillsave
+F dostroke
+% ---- Object #34:56 Obj Type: 6
+0 setlinecap
+301.6000 110.0993 moveto
+301.6000 108.5082 300.3359 107.1986 298.8000 107.1986 curveto
+297.2641 107.1986 296 108.5082 296 110.0993 curveto
+296 111.6904 297.2641 113 298.8000 113 curveto
+300.3359 113 301.6000 111.6904 301.6000 110.0993 curveto
+closepath
+F dofillsave
+F dostroke
+% ---- Object #35:25 Obj Type: 3
+0.5000 0.5000 setpen
+2 setlinecap
+gsave
+newpath
+240.9678 48.2676 moveto
+241.0258 48.3552 lineto
+241.1459 48.5267 lineto
+241.2719 48.6939 lineto
+241.4036 48.8566 lineto
+241.5410 49.0146 lineto
+241.6838 49.1678 lineto
+241.8320 49.3160 lineto
+241.9852 49.4588 lineto
+242.1432 49.5962 lineto
+242.3059 49.7279 lineto
+242.4731 49.8540 lineto
+242.6446 49.9741 lineto
+242.8204 50.0883 lineto
+242.9999 50.1961 lineto
+243.1830 50.2976 lineto
+243.3695 50.3927 lineto
+243.5594 50.4812 lineto
+243.7524 50.5631 lineto
+243.9478 50.6381 lineto
+244.1458 50.7063 lineto
+244.2456 50.7378 lineto
+246 45 lineto
+240.9678 48.2676 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+210 93 moveto
+242.5500 49.6000 lineto
+F dostroke
+grestore
+% ---- Object #36:15 Obj Type: 99
+% ---- Object #37:57 Obj Type: 6
+0.0937 0.0937 setpen
+0 setlinecap
+213.6000 92.0993 moveto
+213.6000 90.5082 212.3359 89.1986 210.8000 89.1986 curveto
+209.2641 89.1986 208 90.5082 208 92.0993 curveto
+208 93.6904 209.2641 95 210.8000 95 curveto
+212.3359 95 213.6000 93.6904 213.6000 92.0993 curveto
+closepath
+F dofillsave
+F dostroke
+% ---- Object #38:75 Obj Type: 6
+0 setlinecap
+213.6000 110.0993 moveto
+213.6000 108.5082 212.3359 107.1986 210.8000 107.1986 curveto
+209.2641 107.1986 208 108.5082 208 110.0993 curveto
+208 111.6904 209.2641 113 210.8000 113 curveto
+212.3359 113 213.6000 111.6904 213.6000 110.0993 curveto
+closepath
+F dofillsave
+F dostroke
+% ---- Object #39:26 Obj Type: 2
+0 0 setpen
+save
+0 setgray
+mark /|___Helvetica /Helvetica T cvRecFont
+10 fts /|___Helvetica findfont exch scalefont setfont
+0 setgray
+131 73 moveto
+(Info)
+F F 16.6748 0 4 0 0 fittext
+restore
+% ---- Object #40:29 Obj Type: 2
+save
+0 setgray
+mark /|___Helvetica /Helvetica T cvRecFont
+10 fts /|___Helvetica findfont exch scalefont setfont
+0 setgray
+111 205 moveto
+(Status)
+F F 28.3447 0 6 0 0 fittext
+restore
+% ---- Object #41:8 Obj Type: 10
+0.5000 0.5000 setpen
+0 setlinecap
+125 224 moveto
+160.6094 223.3281 189.4844 221.6875 213 219 curveto
+236.5156 216.3125 250.7891 211.2266 256.5000 203.5000 curveto
+262.2109 195.7734 266.9687 186.7500 271 176 curveto
+275.0312 165.2500 283.5625 154.0937 297 142 curveto
+310.4375 129.9062 336.3594 121.0469 376 115 curveto
+F dostroke
+gsave
+newpath
+370.0912 113.9580 moveto
+370.0739 114.0613 lineto
+370.0447 114.2687 lineto
+370.0228 114.4769 lineto
+370.0082 114.6858 lineto
+370.0009 114.8950 lineto
+370.0009 115.1047 lineto
+370.0082 115.3140 lineto
+370.0228 115.5228 lineto
+370.0447 115.7310 lineto
+370.0738 115.9384 lineto
+370.1102 116.1446 lineto
+370.1538 116.3496 lineto
+370.2044 116.5528 lineto
+370.2621 116.7541 lineto
+370.3268 116.9532 lineto
+370.3984 117.1500 lineto
+370.4770 117.3444 lineto
+370.5621 117.5357 lineto
+370.6539 117.7239 lineto
+370.7522 117.9087 lineto
+370.8038 117.9999 lineto
+376 115 lineto
+370.0912 113.9580 lineto
+closepath
+F doline
+grestore
+% ---- Object #42:33 Obj Type: 2
+0 0 setpen
+save
+0 setgray
+mark /|___Helvetica /Helvetica T cvRecFont
+10 fts /|___Helvetica findfont exch scalefont setfont
+0 setgray
+155 226 moveto
+(Last)
+F F 18.8965 0 4 0 0 fittext
+restore
+% ---- Object #43:12 Obj Type: 6
+0.0937 0.0937 setpen
+0 setlinecap
+114.6000 110.0993 moveto
+114.6000 108.5082 113.3359 107.1986 111.8000 107.1986 curveto
+110.2641 107.1986 109 108.5082 109 110.0993 curveto
+109 111.6904 110.2641 113 111.8000 113 curveto
+113.3359 113 114.6000 111.6904 114.6000 110.0993 curveto
+closepath
+F dofillsave
+F dostroke
+% ---- Object #44:53 Obj Type: 6
+0 setlinecap
+114.6000 92.0993 moveto
+114.6000 90.5082 113.3359 89.1986 111.8000 89.1986 curveto
+110.2641 89.1986 109 90.5082 109 92.0993 curveto
+109 93.6904 110.2641 95 111.8000 95 curveto
+113.3359 95 114.6000 93.6904 114.6000 92.0993 curveto
+closepath
+F dofillsave
+F dostroke
+% ---- Object #45:52 Obj Type: 6
+0 setlinecap
+128.6000 223.0993 moveto
+128.6000 221.5082 127.3359 220.1986 125.8000 220.1986 curveto
+124.2641 220.1986 123 221.5082 123 223.0993 curveto
+123 224.6904 124.2641 226 125.8000 226 curveto
+127.3359 226 128.6000 224.6904 128.6000 223.0993 curveto
+closepath
+F dofillsave
+F dostroke
+% ---- Object #46:59 Obj Type: 6
+0 setlinecap
+395.6000 110.0993 moveto
+395.6000 108.5082 394.3359 107.1986 392.8000 107.1986 curveto
+391.2641 107.1986 390 108.5082 390 110.0993 curveto
+390 111.6904 391.2641 113 392.8000 113 curveto
+394.3359 113 395.6000 111.6904 395.6000 110.0993 curveto
+closepath
+F dofillsave
+F dostroke
+% ---- Object #47:6 Obj Type: 52
+0.5000 0.5000 setpen
+0 setlinecap
+1 fg
+%%PicComment: 100
+%%PicComment: 140
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+113 40 moveto
+154.5000 39.7500 lineto
+154.7500 17.5000 lineto
+113 17.2500 lineto
+113.2500 40 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+127.2500 34.7500 moveto
+168.7500 34.5000 lineto
+169 12.2500 lineto
+127.2500 12 lineto
+127.5000 34.7500 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+113 40 moveto
+127.2500 34.7500 lineto
+127.5000 12.2500 lineto
+113 17.5000 lineto
+113.2500 40 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+154.5000 40 moveto
+168.7500 34.7500 lineto
+169 12.2500 lineto
+154.5000 17.5000 lineto
+154.7500 40 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+113 40 moveto
+154.5000 39.7500 lineto
+168.7500 34.7500 lineto
+127.2500 34.5000 lineto
+113 40 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+113 17.5000 moveto
+154.5000 17.2500 lineto
+168.7500 12.2500 lineto
+127.2500 12 lineto
+113 17.5000 lineto
+closepath
+F dofill
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+113.2500 39.7500 moveto
+154.7500 39.7500 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+154.7500 39.5000 moveto
+169 34.5000 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+127.5000 12 moveto
+113.2500 17.2500 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+113.2500 17.2500 moveto
+113.2500 39.7500 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+127.5000 34.5000 moveto
+169 34.5000 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+169 34.2500 moveto
+169 12 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+169.2500 12 moveto
+127.5000 12 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+127.5000 11.7500 moveto
+127.5000 34.5000 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+127.5000 34.5000 moveto
+113.2500 39.7500 lineto
+F dostroke
+%%PicComment: 141
+%%PicComment: 100
+% ---- Object #48:20 Obj Type: 52
+0 setlinecap
+%%PicComment: 100
+%%PicComment: 140
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+398 40 moveto
+439.5000 39.7500 lineto
+439.7500 17.5000 lineto
+398 17.2500 lineto
+398.2500 40 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+412.2500 34.7500 moveto
+453.7500 34.5000 lineto
+454 12.2500 lineto
+412.2500 12 lineto
+412.5000 34.7500 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+398 40 moveto
+412.2500 34.7500 lineto
+412.5000 12.2500 lineto
+398 17.5000 lineto
+398.2500 40 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+439.5000 40 moveto
+453.7500 34.7500 lineto
+454 12.2500 lineto
+439.5000 17.5000 lineto
+439.7500 40 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+398 40 moveto
+439.5000 39.7500 lineto
+453.7500 34.7500 lineto
+412.2500 34.5000 lineto
+398 40 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+398 17.5000 moveto
+439.5000 17.2500 lineto
+453.7500 12.2500 lineto
+412.2500 12 lineto
+398 17.5000 lineto
+closepath
+F dofill
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+398.2500 39.7500 moveto
+439.7500 39.7500 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+439.7500 39.5000 moveto
+454 34.5000 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+412.5000 12 moveto
+398.2500 17.2500 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+398.2500 17.2500 moveto
+398.2500 39.7500 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+412.5000 34.5000 moveto
+454 34.5000 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+454 34.2500 moveto
+454 12 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+454.2500 12 moveto
+412.5000 12 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+412.5000 11.7500 moveto
+412.5000 34.5000 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+412.5000 34.5000 moveto
+398.2500 39.7500 lineto
+F dostroke
+%%PicComment: 141
+%%PicComment: 100
+% ---- Object #49:31 Obj Type: 52
+0 setlinecap
+%%PicComment: 100
+%%PicComment: 140
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+305 40 moveto
+346.5000 39.7500 lineto
+346.7500 17.5000 lineto
+305 17.2500 lineto
+305.2500 40 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+319.2500 34.7500 moveto
+360.7500 34.5000 lineto
+361 12.2500 lineto
+319.2500 12 lineto
+319.5000 34.7500 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+305 40 moveto
+319.2500 34.7500 lineto
+319.5000 12.2500 lineto
+305 17.5000 lineto
+305.2500 40 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+346.5000 40 moveto
+360.7500 34.7500 lineto
+361 12.2500 lineto
+346.5000 17.5000 lineto
+346.7500 40 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+305 40 moveto
+346.5000 39.7500 lineto
+360.7500 34.7500 lineto
+319.2500 34.5000 lineto
+305 40 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+305 17.5000 moveto
+346.5000 17.2500 lineto
+360.7500 12.2500 lineto
+319.2500 12 lineto
+305 17.5000 lineto
+closepath
+F dofill
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+305.2500 39.7500 moveto
+346.7500 39.7500 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+346.7500 39.5000 moveto
+361 34.5000 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+319.5000 12 moveto
+305.2500 17.2500 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+305.2500 17.2500 moveto
+305.2500 39.7500 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+319.5000 34.5000 moveto
+361 34.5000 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+361 34.2500 moveto
+361 12 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+361.2500 12 moveto
+319.5000 12 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+319.5000 11.7500 moveto
+319.5000 34.5000 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+319.5000 34.5000 moveto
+305.2500 39.7500 lineto
+F dostroke
+%%PicComment: 141
+%%PicComment: 100
+% ---- Object #50:34 Obj Type: 52
+0 setlinecap
+%%PicComment: 100
+%%PicComment: 140
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+214 40 moveto
+255.5000 39.7500 lineto
+255.7500 17.5000 lineto
+214 17.2500 lineto
+214.2500 40 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+228.2500 34.7500 moveto
+269.7500 34.5000 lineto
+270 12.2500 lineto
+228.2500 12 lineto
+228.5000 34.7500 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+214 40 moveto
+228.2500 34.7500 lineto
+228.5000 12.2500 lineto
+214 17.5000 lineto
+214.2500 40 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+255.5000 40 moveto
+269.7500 34.7500 lineto
+270 12.2500 lineto
+255.5000 17.5000 lineto
+255.7500 40 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+214 40 moveto
+255.5000 39.7500 lineto
+269.7500 34.7500 lineto
+228.2500 34.5000 lineto
+214 40 lineto
+closepath
+F dofill
+%%QD line
+%%QD line
+%%QD line
+%%QD line
+%%QD polygon
+%%SetFillFromPort verb: 1
+%%ColorPort
+%%PixPat patType = 0
+%%RGB Fore Color: 0 0 0
+%%RGB Back Color: 1 1 1
+%%thePattern: 0000000000000000
+%%mode: 8
+214 17.5000 moveto
+255.5000 17.2500 lineto
+269.7500 12.2500 lineto
+228.2500 12 lineto
+214 17.5000 lineto
+closepath
+F dofill
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+214.2500 39.7500 moveto
+255.7500 39.7500 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+255.7500 39.5000 moveto
+270 34.5000 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+228.5000 12 moveto
+214.2500 17.2500 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+214.2500 17.2500 moveto
+214.2500 39.7500 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+228.5000 34.5000 moveto
+270 34.5000 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+270 34.2500 moveto
+270 12 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+270.2500 12 moveto
+228.5000 12 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+228.5000 11.7500 moveto
+228.5000 34.5000 lineto
+F dostroke
+%%QD line
+%%SetPenFromPort
+%%mode: 8
+228.5000 34.5000 moveto
+214.2500 39.7500 lineto
+F dostroke
+%%PicComment: 141
+%%PicComment: 100
+% ---- Object #51:22 Obj Type: 99
+% ---- Object #52:18 Obj Type: 99
+% ---- Object #53:35 Obj Type: 7
+0 setlinecap
+gsave
+newpath
+400.4564 160.3539 moveto
+400.4879 160.2541 lineto
+400.5456 160.0528 lineto
+400.5962 159.8496 lineto
+400.6398 159.6446 lineto
+400.6762 159.4384 lineto
+400.7053 159.2310 lineto
+400.7272 159.0228 lineto
+400.7418 158.8140 lineto
+400.7491 158.6047 lineto
+400.7491 158.3953 lineto
+400.7418 158.1860 lineto
+400.7272 157.9772 lineto
+400.7053 157.7689 lineto
+400.6762 157.5616 lineto
+400.6398 157.3554 lineto
+400.5962 157.1504 lineto
+400.5456 156.9472 lineto
+400.4879 156.7459 lineto
+400.4232 156.5468 lineto
+400.3515 156.3500 lineto
+400.3132 156.2526 lineto
+394.7500 158.5000 lineto
+400.4564 160.3539 lineto
+closepath
+F doline
+grestore
+399.2599 158.3173 moveto
+399.8996 158.2615 lineto
+401.1754 158.1277 lineto
+402.4445 157.9644 lineto
+403.7025 157.7720 lineto
+404.9496 157.5507 lineto
+406.1843 157.3007 lineto
+407.4051 157.0224 lineto
+408.6104 156.7160 lineto
+409.8005 156.3815 lineto
+410.9711 156.0200 lineto
+412.1215 155.6318 lineto
+413.2507 155.2174 lineto
+414.3574 154.7770 lineto
+415.4416 154.3108 lineto
+416.4992 153.8204 lineto
+417.5303 153.3058 lineto
+418.5337 152.7678 lineto
+419.5081 152.2069 lineto
+420.4523 151.6238 lineto
+421.3668 151.0183 lineto
+422.2473 150.3930 lineto
+423.0943 149.7478 lineto
+423.9068 149.0834 lineto
+424.6838 148.4006 lineto
+425.4243 147.7003 lineto
+426.1284 146.9823 lineto
+426.7934 146.2495 lineto
+427.4196 145.5014 lineto
+428.0057 144.7397 lineto
+428.5513 143.9648 lineto
+429.0564 143.1768 lineto
+429.5191 142.3787 lineto
+429.9394 141.5703 lineto
+430.3168 140.7527 lineto
+430.6510 139.9269 lineto
+430.9414 139.0939 lineto
+431.1882 138.2532 lineto
+431.3901 137.4088 lineto
+431.5474 136.5602 lineto
+431.6599 135.7086 lineto
+431.7275 134.8548 lineto
+431.7500 134 lineto
+F dostroke
+% ---- Object #54:42 Obj Type: 7
+0 setlinecap
+gsave
+newpath
+432.7920 128.0912 moveto
+432.6887 128.0739 lineto
+432.4813 128.0447 lineto
+432.2731 128.0228 lineto
+432.0642 128.0082 lineto
+431.8550 128.0009 lineto
+431.6453 128.0009 lineto
+431.4360 128.0082 lineto
+431.2272 128.0228 lineto
+431.0189 128.0447 lineto
+430.8116 128.0738 lineto
+430.6054 128.1102 lineto
+430.4004 128.1538 lineto
+430.1972 128.2044 lineto
+429.9959 128.2621 lineto
+429.7968 128.3268 lineto
+429.6000 128.3984 lineto
+429.4056 128.4770 lineto
+429.2143 128.5621 lineto
+429.0261 128.6539 lineto
+428.8413 128.7522 lineto
+428.7501 128.8038 lineto
+431.7500 134 lineto
+432.7920 128.0912 lineto
+closepath
+F doline
+grestore
+430.9414 128.9061 moveto
+430.8018 128.4889 lineto
+430.4894 127.6594 lineto
+430.1336 126.8376 lineto
+429.7347 126.0245 lineto
+429.2929 125.2207 lineto
+428.8086 124.4270 lineto
+428.2835 123.6460 lineto
+427.7175 122.8776 lineto
+427.1114 122.1227 lineto
+426.4659 121.3823 lineto
+425.7817 120.6573 lineto
+425.0588 119.9476 lineto
+424.2996 119.2556 lineto
+423.5047 118.5819 lineto
+422.6748 117.9270 lineto
+421.8109 117.2917 lineto
+420.9130 116.6759 lineto
+419.9842 116.0820 lineto
+419.0248 115.5100 lineto
+418.0357 114.9604 lineto
+417.0184 114.4340 lineto
+415.9739 113.9315 lineto
+414.9016 113.4526 lineto
+413.8067 112.9995 lineto
+412.6886 112.5720 lineto
+411.5486 112.1707 lineto
+410.3882 111.7958 lineto
+409.2087 111.4481 lineto
+408.0100 111.1274 lineto
+406.7968 110.8350 lineto
+405.5689 110.5708 lineto
+404.3272 110.3350 lineto
+403.0745 110.1281 lineto
+401.8099 109.9501 lineto
+400.5384 109.8017 lineto
+399.2599 109.6827 lineto
+397.9758 109.5933 lineto
+396.6878 109.5336 lineto
+395.3975 109.5037 lineto
+394.7500 109.5000 lineto
+F dostroke
+% ---- Object #55:65 Obj Type: 99
+% ---- Object #56:54 Obj Type: 7
+0 setlinecap
+gsave
+newpath
+61.0022 139.6188 moveto
+61.1051 139.6398 lineto
+61.3113 139.6761 lineto
+61.5187 139.7053 lineto
+61.7269 139.7272 lineto
+61.9358 139.7418 lineto
+62.1450 139.7491 lineto
+62.3550 139.7491 lineto
+62.5642 139.7418 lineto
+62.7731 139.7272 lineto
+62.9813 139.7053 lineto
+63.1887 139.6761 lineto
+63.3948 139.6398 lineto
+63.5999 139.5962 lineto
+63.8031 139.5455 lineto
+64.0044 139.4878 lineto
+64.2035 139.4231 lineto
+64.4003 139.3515 lineto
+64.5946 139.2729 lineto
+64.7859 139.1877 lineto
+64.9741 139.0960 lineto
+65.0670 139.0476 lineto
+62.2500 133.7500 lineto
+61.0022 139.6188 lineto
+closepath
+F doline
+grestore
+62.9329 138.8959 moveto
+63.0509 139.3173 lineto
+63.3146 140.1553 lineto
+63.6152 140.9855 lineto
+63.9521 141.8069 lineto
+64.3252 142.6188 lineto
+64.7342 143.4207 lineto
+65.1778 144.2097 lineto
+65.6558 144.9859 lineto
+66.1677 145.7485 lineto
+66.7129 146.4964 lineto
+67.2908 147.2289 lineto
+67.9013 147.9458 lineto
+68.5426 148.6448 lineto
+69.2139 149.3254 lineto
+69.9148 149.9870 lineto
+70.6445 150.6288 lineto
+71.4028 151.2509 lineto
+72.1873 151.8508 lineto
+72.9977 152.4287 lineto
+73.8330 152.9839 lineto
+74.6923 153.5156 lineto
+75.5744 154.0233 lineto
+76.4800 154.5071 lineto
+77.4048 154.9648 lineto
+78.3492 155.3966 lineto
+79.3120 155.8021 lineto
+80.2921 156.1807 lineto
+81.2882 156.5320 lineto
+82.3006 156.8560 lineto
+83.3253 157.1514 lineto
+84.3624 157.4183 lineto
+85.4111 157.6565 lineto
+86.4692 157.8655 lineto
+87.5372 158.0453 lineto
+88.6111 158.1952 lineto
+89.6910 158.3155 lineto
+90.7755 158.4058 lineto
+91.8633 158.4660 lineto
+92.9531 158.4962 lineto
+93.5000 158.5000 lineto
+F dostroke
+% ---- Object #57:64 Obj Type: 7
+0 setlinecap
+gsave
+newpath
+87.7045 107.6969 moveto
+87.6783 107.7982 lineto
+87.6312 108.0022 lineto
+87.5912 108.2080 lineto
+87.5584 108.4149 lineto
+87.5329 108.6227 lineto
+87.5146 108.8313 lineto
+87.5037 109.0404 lineto
+87.5000 109.2500 lineto
+87.5036 109.4593 lineto
+87.5146 109.6684 lineto
+87.5328 109.8770 lineto
+87.5584 110.0848 lineto
+87.5911 110.2916 lineto
+87.6311 110.4975 lineto
+87.6782 110.7015 lineto
+87.7324 110.9037 lineto
+87.7936 111.1039 lineto
+87.8618 111.3019 lineto
+87.9368 111.4974 lineto
+88.0187 111.6904 lineto
+88.0621 111.7857 lineto
+93.5000 109.2500 lineto
+87.7045 107.6969 lineto
+closepath
+F doline
+grestore
+88.6126 109.5515 moveto
+88.0750 109.6220 lineto
+87.0027 109.7854 lineto
+85.9402 109.9777 lineto
+84.8868 110.1990 lineto
+83.8440 110.4489 lineto
+82.8129 110.7272 lineto
+81.7949 111.0336 lineto
+80.7897 111.3680 lineto
+79.8014 111.7293 lineto
+78.8298 112.1174 lineto
+77.8756 112.5321 lineto
+76.9409 112.9724 lineto
+76.0252 113.4386 lineto
+75.1319 113.9290 lineto
+74.2610 114.4435 lineto
+73.4135 114.9815 lineto
+72.5905 115.5424 lineto
+71.7930 116.1254 lineto
+71.0206 116.7309 lineto
+70.2769 117.3561 lineto
+69.5615 118.0014 lineto
+68.8752 118.6658 lineto
+68.2189 119.3485 lineto
+67.5934 120.0488 lineto
+66.9987 120.7667 lineto
+66.4370 121.4995 lineto
+65.9084 122.2472 lineto
+65.4132 123.0090 lineto
+64.9522 123.7841 lineto
+64.5255 124.5721 lineto
+64.1347 125.3703 lineto
+63.7797 126.1786 lineto
+63.4608 126.9962 lineto
+63.1785 127.8220 lineto
+62.9332 128.6550 lineto
+62.7248 129.4953 lineto
+62.5541 130.3401 lineto
+62.4212 131.1887 lineto
+62.3262 132.0403 lineto
+62.2691 132.8941 lineto
+62.2500 133.7500 lineto
+F dostroke
+% ---- Object #58:67 Obj Type: 3
+2 setlinecap
+gsave
+newpath
+99.6382 160.9635 moveto
+99.6732 160.8647 lineto
+99.7379 160.6656 lineto
+99.7956 160.4643 lineto
+99.8462 160.2612 lineto
+99.8898 160.0561 lineto
+99.9262 159.8499 lineto
+99.9553 159.6426 lineto
+99.9772 159.4344 lineto
+99.9918 159.2255 lineto
+99.9991 159.0163 lineto
+99.9991 158.8068 lineto
+99.9918 158.5976 lineto
+99.9772 158.3887 lineto
+99.9553 158.1805 lineto
+99.9262 157.9732 lineto
+99.8898 157.7670 lineto
+99.8462 157.5619 lineto
+99.7956 157.3587 lineto
+99.7379 157.1575 lineto
+99.6732 156.9584 lineto
+99.6382 156.8596 lineto
+94 158.9115 lineto
+99.6382 160.9635 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+99.7500 158.9170 moveto
+187 159 lineto
+F dostroke
+grestore
+% ---- Object #59:36 Obj Type: 3
+2 setlinecap
+gsave
+newpath
+357.6382 160.9635 moveto
+357.6732 160.8647 lineto
+357.7379 160.6656 lineto
+357.7956 160.4643 lineto
+357.8462 160.2612 lineto
+357.8898 160.0561 lineto
+357.9262 159.8499 lineto
+357.9553 159.6426 lineto
+357.9772 159.4344 lineto
+357.9918 159.2255 lineto
+357.9991 159.0163 lineto
+357.9991 158.8068 lineto
+357.9918 158.5976 lineto
+357.9772 158.3887 lineto
+357.9553 158.1805 lineto
+357.9262 157.9732 lineto
+357.8898 157.7670 lineto
+357.8462 157.5619 lineto
+357.7956 157.3587 lineto
+357.7379 157.1575 lineto
+357.6732 156.9584 lineto
+357.6382 156.8596 lineto
+352 158.9115 lineto
+357.6382 160.9635 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+357.7500 158.9226 moveto
+398 159 lineto
+F dostroke
+grestore
+% ---- Object #60:47 Obj Type: 3
+2 setlinecap
+gsave
+newpath
+279.6382 160.9635 moveto
+279.6732 160.8647 lineto
+279.7379 160.6656 lineto
+279.7956 160.4643 lineto
+279.8462 160.2612 lineto
+279.8898 160.0561 lineto
+279.9262 159.8499 lineto
+279.9553 159.6426 lineto
+279.9772 159.4344 lineto
+279.9918 159.2255 lineto
+279.9991 159.0163 lineto
+279.9991 158.8068 lineto
+279.9918 158.5976 lineto
+279.9772 158.3887 lineto
+279.9553 158.1805 lineto
+279.9262 157.9732 lineto
+279.8898 157.7670 lineto
+279.8462 157.5619 lineto
+279.7956 157.3587 lineto
+279.7379 157.1575 lineto
+279.6732 156.9584 lineto
+279.6382 156.8596 lineto
+274 158.9115 lineto
+279.6382 160.9635 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+279.7500 158.9170 moveto
+367 159 lineto
+F dostroke
+grestore
+% ---- Object #61:66 Obj Type: 3
+2 setlinecap
+gsave
+newpath
+188.6382 160.9635 moveto
+188.6732 160.8647 lineto
+188.7379 160.6656 lineto
+188.7956 160.4643 lineto
+188.8462 160.2612 lineto
+188.8898 160.0561 lineto
+188.9262 159.8499 lineto
+188.9553 159.6426 lineto
+188.9772 159.4344 lineto
+188.9918 159.2255 lineto
+188.9991 159.0163 lineto
+188.9991 158.8068 lineto
+188.9918 158.5976 lineto
+188.9772 158.3887 lineto
+188.9553 158.1805 lineto
+188.9262 157.9732 lineto
+188.8898 157.7670 lineto
+188.8462 157.5619 lineto
+188.7956 157.3587 lineto
+188.7379 157.1575 lineto
+188.6732 156.9584 lineto
+188.6382 156.8596 lineto
+183 158.9115 lineto
+188.6382 160.9635 lineto
+closepath
+F doline
+grestore
+gsave
+newpath
+188.7500 158.9170 moveto
+276 159 lineto
+F dostroke
+grestore
+% ---- Object #62:73 Obj Type: 2
+0 0 setpen
+save
+0 setgray
+mark /|___Helvetica-Oblique /Helvetica-Oblique T cvRecFont
+10 fts /|___Helvetica-Oblique findfont exch scalefont setfont
+0 setgray
+136 20 moveto
+(data)
+F F 19.4556 0 4 0 0 fittext
+restore
+% ---- Object #63:68 Obj Type: 2
+save
+0 setgray
+mark /|___Helvetica-Oblique /Helvetica-Oblique T cvRecFont
+10 fts /|___Helvetica-Oblique findfont exch scalefont setfont
+0 setgray
+236 20 moveto
+(data)
+F F 19.4556 0 4 0 0 fittext
+restore
+% ---- Object #64:72 Obj Type: 2
+save
+0 setgray
+mark /|___Helvetica-Oblique /Helvetica-Oblique T cvRecFont
+10 fts /|___Helvetica-Oblique findfont exch scalefont setfont
+0 setgray
+328 21 moveto
+(data)
+F F 19.4556 0 4 0 0 fittext
+restore
+% ---- Object #65:74 Obj Type: 2
+save
+0 setgray
+mark /|___Helvetica-Oblique /Helvetica-Oblique T cvRecFont
+10 fts /|___Helvetica-Oblique findfont exch scalefont setfont
+0 setgray
+421 20 moveto
+(data)
+F F 19.4556 0 4 0 0 fittext
+restore
+% ---- Object #66:5 Obj Type: 2
+save
+1 setgray
+mark /|___Helvetica-Bold /Helvetica-Bold T cvRecFont
+10 fts /|___Helvetica-Bold findfont exch scalefont setfont
+1 setgray
+52 72 moveto
+(CcuListCell)
+F F 54.9951 0 11 0 0 fittext
+restore
+% ---- Object #67:55 Obj Type: 2
+save
+1 setgray
+mark /|___Helvetica-Bold /Helvetica-Bold T cvRecFont
+10 fts /|___Helvetica-Bold findfont exch scalefont setfont
+1 setgray
+68 189 moveto
+(CcuList)
+F F 36.6602 0 7 0 0 fittext
+restore
+origmtx setmatrix
+systemdict /setpacking known {origpack setpacking} if end
+showpage
+%%EndDocument:
diff --git a/utils/FIGURES/hash.tex b/utils/FIGURES/hash.tex
new file mode 100644
index 0000000..bdd151b
--- /dev/null
+++ b/utils/FIGURES/hash.tex
@@ -0,0 +1,41 @@
+\setlength{\unitlength}{0.11mm}
+\begin{picture}(1400,728)(-580,100)
+\put(-498,392){\small\bf abc}
+\put(-420,400){\thicklines\vector(1,0){180}}
+\put(-120,400){\thicklines\vector(2,1){160}}
+\put(-170,430){\circle{20}}
+\put(-190,370){\circle{20}}
+\put(-170,390){\circle{20}}
+\put(-200,410){\oval(40,20)}
+\put(-500,500){\small\sf key}
+\put(-280,500){\small\sf hash function}
+\put(-180,400){\circle{120}}
+\put(20,700){\small\sf HTABLE}
+\put(280,700){\small\sf CELL}
+\put(220,600){\vector(1,0){100}}
+\put(360,240){\vector(1,0){100}}
+\put(220,240){\vector(1,0){100}}
+\put(80,240){\vector(1,0){100}}
+\put(80,480){\vector(1,0){100}}
+\put(80,600){\vector(1,0){100}}
+\put(320,580){\framebox(60,60){}}
+\put(320,580){\line(1,1){60}}
+\put(460,220){\framebox(60,60){}}
+\put(460,220){\line(1,1){60}}
+\put(320,220){\line(1,1){60}}
+\put(320,220){\framebox(60,60){}}
+\put(180,220){\framebox(60,60){}}
+\put(180,220){\line(1,1){60}}
+\put(180,460){\line(1,1){60}}
+\put(180,460){\framebox(60,60){}}
+\put(180,580){\line(1,1){60}}
+\put(180,580){\framebox(60,60){}}
+\put(40,220){\line(1,0){60}}
+\put(40,280){\line(1,0){60}}
+\put(40,340){\line(1,0){60}}
+\put(40,400){\line(1,0){60}}
+\put(40,460){\line(1,0){60}}
+\put(40,520){\line(1,0){60}}
+\put(40,580){\line(1,0){60}}
+\put(40,160){\framebox(60,480){}}
+\end{picture}
diff --git a/utils/testchain.cc b/utils/testchain.cc
new file mode 100644
index 0000000..ae5fef8
--- /dev/null
+++ b/utils/testchain.cc
@@ -0,0 +1,65 @@
+#include <stdio.h>
+#include "String.h"
+#include "Chain.h"
+
+class C {
+public:
+ C* Next;
+ char* CcuString;
+inline C (const char* c) : Next (0), CcuString (NewString (c)) {}
+inline C* GetNext () const { /*printf ("GetNext (%x) = %x)\n", this, Next); */ return Next; }
+inline void SetNext (C* c) { /*printf ("SetNext (%x, %x)\n", this, c); */ Next = c; }
+};
+
+main ()
+{
+ CcuChainOf <C> l;
+ char c;
+ char s[80];
+ while ((c = getchar ()) != EOF) {
+ switch (c) {
+ case 'a':
+ scanf (" %s", s);
+ l.Append (new C (s));
+ break;
+ case 'p':
+ scanf (" %s", s);
+ l.Prepend (new C (s));
+ break;
+ case '+':
+ l.RemoveFirst ();
+ break;
+ case '-':
+ l.RemoveLast ();
+ break;
+ case '\n':
+ continue;
+ case 'i':
+ {
+ int i;
+ scanf (" %d %s", &i, s);
+ CcuChainIterOf <C> lj (l);
+ while ((i-- > 0) && ++lj)
+ ;
+ l.InsertBefore (lj, new C (s));
+ break;
+ }
+ case 'j':
+ {
+ int i;
+ scanf (" %d %s", &i, s);
+ CcuChainIterOf <C> lj (l);
+ while ((i-- > 0) && ++lj)
+ ;
+ l.InsertAfter (lj, new C (s));
+ break;
+ }
+ }
+ CcuChainIterOf <C> li (l);
+ while (++li) {
+ C* pt = *li;
+ printf ("%s ", pt->CcuString);
+ }
+ printf ("\n");
+ }
+}
diff --git a/utils/testdirpath.cc b/utils/testdirpath.cc
new file mode 100644
index 0000000..c709560
--- /dev/null
+++ b/utils/testdirpath.cc
@@ -0,0 +1,19 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "DirPath.h"
+
+main ()
+{
+ char line [256];
+ const char *s;
+ const char *found;
+ CcuDirPath p;
+ const char* path = getenv ("PATH");
+ p.AppendEnvPath (path);
+
+
+ while (s = gets (line)) {
+ found = p.FindFile (s);
+ printf ("%s %s\n", found ? "found" : s, found ? found : "not found");
+ }
+}
diff --git a/utils/testdlist.cc b/utils/testdlist.cc
new file mode 100644
index 0000000..9656883
--- /dev/null
+++ b/utils/testdlist.cc
@@ -0,0 +1,77 @@
+#include <stdio.h>
+#include "String.h"
+#include "DList.h"
+
+main ()
+{
+#ifdef CPLUS_BUG19
+ CcuDList l;
+#else
+ CcuDListOf <char> l;
+#endif
+ char c;
+ char s[80];
+ while ((c = getchar ()) != EOF) {
+ switch (c) {
+ case 'a':
+ scanf (" %s", s);
+ l.Append (NewString (s));
+ break;
+ case 'p':
+ scanf (" %s", s);
+ l.Prepend (NewString (s));
+ break;
+ case '+':
+ l.RemoveFirst ();
+ break;
+ case '-':
+ l.RemoveLast ();
+ break;
+ case '\n':
+ continue;
+ case 'r':
+ {
+ CcuDListIterOf <char> li (l);
+ li.GotoEnd ();
+ while (--li) {
+ char* pt = *li;
+ printf ("%s ", pt);
+ }
+ printf ("\n");
+ continue;
+ }
+ case 'i':
+ {
+ int i;
+ scanf (" %d %s", &i, s);
+ CcuDListIterOf <char> lj (l);
+ while ((i-- > 0) && ++lj)
+ ;
+ l.InsertBefore (lj, NewString (s));
+ break;
+ }
+ case 'j':
+ {
+ int i;
+ scanf (" %d %s", &i, s);
+ CcuDListIterOf <char> lj (l);
+ while ((i-- > 0) && ++lj)
+ ;
+ l.InsertAfter (lj, NewString (s));
+ break;
+ }
+ }
+#ifdef CPLUS_BUG19
+ CcuDListIter li (l);
+ while (++li)
+ printf ("%s ", (char*) *li);
+#else
+ CcuDListIterOf <char> li (l);
+ while (++li) {
+ char* pt = *li;
+ printf ("%s ", pt);
+ }
+#endif
+ printf ("\n");
+ }
+}
diff --git a/utils/testhash.cc b/utils/testhash.cc
new file mode 100644
index 0000000..ccc5bab
--- /dev/null
+++ b/utils/testhash.cc
@@ -0,0 +1,197 @@
+#include "HashTable.h"
+#include <stdio.h>
+#include <string.h>
+
+
+CcuDictionnary dict (16);
+
+main ()
+{
+ char line [256];
+ char *s;
+ int i = 0;
+
+ printf ("? to get help\n");
+
+ for (;;) {
+ s = gets (line);
+ if (! s)
+ break;
+ if (strcmp (s, ".") == 0)
+ break;
+
+ /* help */
+ if (strcmp (s, "?") == 0) {
+ printf ("name add name\n");
+ printf ("-name delete name\n");
+ printf ("# dump table\n");
+#ifdef TUNE
+ printf ("%% statistics\n");
+#endif
+ printf ("> rehash into smaller\n");
+ printf ("< rehash into larger\n");
+ printf (". quit\n");
+
+ continue;
+ }
+
+#ifdef TUNE
+ /* stats */
+ if (strcmp (s, "%") == 0) {
+ dict.CollStats ();
+ continue;
+ }
+#endif
+ if (strcmp (s, "#") == 0) {
+ CcuDictionnary dictbis (dict);
+ CcuHashCellIter hi (dictbis);
+ while (++hi)
+ printf ("%s\n", (*hi)->GetKey());
+ continue;
+ }
+
+ /* resizing */
+ if (strcmp (s, ">") == 0) {
+ int s;
+
+ s = dict.GetSize() / 2;
+ if (s < 1) {
+ printf ("too small\n");
+ continue;
+ }
+ printf ("rehashing into smaller table : size %d\n", s);
+ dict.Resize (s);
+ continue;
+ }
+
+ if (strcmp (s, "<") == 0) {
+ int s;
+
+ s = dict.GetSize() * 2;
+ printf ("rehashing into larger table : size %d\n", s);
+ dict.Resize (s);
+ continue;
+ }
+
+ /* delete */
+ if (*s == '-') {
+ int found;
+ void* p = dict.Remove (++s, &found);
+ if (! found)
+ printf ("%s not found\n", s);
+ else
+ printf ("%s had info %d\n", s, (int) p);
+ continue;
+ }
+
+ /* add */
+// BasicHashCell* h = dict.Add (s, &found);
+// int found;
+// if (found)
+// printf ("%s duplicate\n", s);
+// else
+// h->SetInfo ((void*) i++);
+ dict[s] = (void*) i++;
+ }
+
+}
+
+#if 0
+
+static char strout[200];
+static char *ptout;
+
+static h_strlen (char *str)
+{
+ int i = 0;
+ char *pt = str;
+
+ while (*pt++) ;
+
+ return (pt - str);
+}
+
+static decimal(int i)
+{
+ int tmp = 0;
+ char buff[15];
+ char *pbuff = buff;
+
+ do {
+ tmp = i % 10;
+ *pbuff ++ = tmp + '0';
+ i /= 10;
+ } while (i) ;
+ while (pbuff - buff)
+ *ptout++ = *--pbuff;
+}
+
+static hexa(int i)
+{
+
+ int tmp = 0;
+ char buff[15];
+ char *pbuff = buff;
+
+ do {
+ tmp = i % 16;
+ *pbuff ++ = "0123456789abcdef"[tmp];
+ i /= 16;
+ } while (i) ;
+ while (pbuff - buff)
+ *ptout++ = *--pbuff;
+
+}
+
+static h_write(int fd, char *buff, int n)
+{
+ write(fd, buff, n);
+
+}
+
+print(char *fmt, int a1, int a2, int a3, int a4, int a5, int a6)
+{
+ char *pt = fmt;
+ char c;
+ int arg[6];
+ int i = 0;
+
+ ptout = strout;
+ arg[0] = a1;
+ arg[1] = a2;
+ arg[2] = a3;
+ arg[3] = a4;
+ arg[4] = a5;
+ arg[5] = a6;
+
+
+ for (c = *pt; c = *pt; pt++) {
+ if(c != '%'){
+ *ptout++ = c;
+ continue;
+ }
+ switch (c = *++pt) {
+ default:
+ *ptout++ = c;
+ break;
+ case 'd':
+ decimal((int)arg[i++]);
+ break;
+ case 'x':
+ hexa((int)arg[i++]);
+ break;
+ case 'c':
+ *ptout++ = arg[i++];
+ break;
+ case 's':{
+ char *p;
+ for (p = (char *)arg[i++]; *p; p++)
+ *ptout++ = *p;
+ }
+ }
+ }
+ *ptout = 0;
+ h_write(1, strout, h_strlen(strout));
+}
+
+#endif
diff --git a/utils/testid.cc b/utils/testid.cc
new file mode 100644
index 0000000..bb79ced
--- /dev/null
+++ b/utils/testid.cc
@@ -0,0 +1,61 @@
+#include "IdTable.h"
+#include "String.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+CcuIdTableOf <char> table (2);
+
+main ()
+{
+ char line [256];
+ char *s;
+ int i = 0;
+
+ printf ("? to get help\n");
+
+ for (;;) {
+ s = gets (line);
+ if (! s)
+ break;
+ if (strcmp (s, ".") == 0)
+ break;
+
+ /* help */
+ if (strcmp (s, "?") == 0) {
+ printf ("name\tadd name\n");
+ printf ("-id\tdelete name associated to id\n");
+ printf ("#\tdump table\n");
+ printf (".\tquit\n");
+
+ continue;
+ }
+
+ if (strcmp (s, "#") == 0) {
+ CcuIdIter hi = table;
+ while (++hi)
+ printf ("%d: %s\n", hi.CurId (), *hi);
+ continue;
+ }
+
+ /* delete */
+ if (*s == '-') {
+ bool found;
+ CcuID id = (CcuID) (atoi (++s));
+ printf ("searching id %d\n", id);
+ char* info = table.Remove (id, &found);
+ if (! found)
+ printf ("%s not found\n", s);
+ else {
+ printf ("%s had info %s\n", s, info);
+ FreeString (info);
+ }
+ continue;
+ }
+
+ /* add */
+ CcuID id = table.Store (NewString (s));
+ printf ("-> %d\n", id);
+ }
+
+}
diff --git a/utils/testlist.cc b/utils/testlist.cc
new file mode 100644
index 0000000..076d88e
--- /dev/null
+++ b/utils/testlist.cc
@@ -0,0 +1,76 @@
+#include <stdio.h>
+#include "String.h"
+#include "List.h"
+
+main ()
+{
+#ifdef CPLUS_BUG19
+ CcuList l;
+#else
+ CcuListOf <char> l;
+#endif
+ char c;
+ char s[80];
+ while ((c = getchar ()) != EOF) {
+ switch (c) {
+ case 'a':
+ scanf (" %s", s);
+ l.Append (NewString (s));
+ break;
+ case 'p':
+ scanf (" %s", s);
+ l.Prepend (NewString (s));
+ break;
+ case '+':
+ l.RemoveFirst ();
+ break;
+ case '-':
+ l.RemoveLast ();
+ break;
+ case '\n':
+ continue;
+ case 'i':
+ {
+ int i;
+ scanf (" %d %s", &i, s);
+#ifdef CPLUS_BUG19
+ CcuListIter lj (l);
+#else
+ CcuListIterOf <char> lj (l);
+#endif
+ while ((i-- > 0) && ++lj)
+ ;
+ l.InsertBefore (lj, NewString (s));
+ break;
+ }
+ case 'j':
+ {
+ int i;
+ scanf (" %d %s", &i, s);
+#ifdef CPLUS_BUG19
+ CcuListIter lj (l);
+#else
+ CcuListIterOf <char> lj (l);
+#endif
+ while ((i-- > 0) && ++lj)
+ ;
+ l.InsertAfter (lj, NewString (s));
+ break;
+ }
+ }
+#ifdef CPLUS_BUG19
+ CcuListIter li (l);
+ while (++li) {
+ char* pt = (char*) *li;
+ printf ("%s ", pt);
+ }
+#else
+ CcuListIterOf <char> li (l);
+ while (++li) {
+ char* pt = *li;
+ printf ("%s ", pt);
+ }
+#endif
+ printf ("\n");
+ }
+}
diff --git a/utils/testregexp.cc b/utils/testregexp.cc
new file mode 100644
index 0000000..5949ec8
--- /dev/null
+++ b/utils/testregexp.cc
@@ -0,0 +1,17 @@
+#include <stdlib.h>
+#include <stdio.h>
+#include "RegExp.h"
+
+
+main (int argc, char** argv)
+{
+ char* s = "toto";
+ char* s1 = "tota toto";
+ if (argc > 1)
+ s1 = argv[1];
+ CcuRegExp re = s;
+ if (re.Compile ()) {
+ if (re.Match (s1))
+ printf ("%s\n",s1);
+ }
+}
diff --git a/utils/testsignal.cc b/utils/testsignal.cc
new file mode 100644
index 0000000..4971b51
--- /dev/null
+++ b/utils/testsignal.cc
@@ -0,0 +1,74 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "Signal.h"
+
+extern "C" {
+ int write (int, const void*, unsigned int);
+ int strlen (const char*);
+}
+
+const char* signal_strings [32] = {
+ "SIGHUP\n",
+ "SIGINT\n",
+ "SIGQUIT\n",
+ "SIGILL\n",
+ "SIGTRAP\n",
+ "SIGABRT\n",
+ "SIGEMT\n",
+ "SIGFPE\n",
+ "SIGKILL\n",
+ "SIGBUS\n",
+ "SIGSEGV\n",
+ "SIGSYS\n",
+ "SIGPIPE\n",
+ "SIGALRM\n",
+ "SIGTERM\n",
+ "SIGUSR1\n",
+ "SIGUSR2\n",
+ "SIGCHLD\n",
+ "SIGPWR\n",
+ "SIGVTALRM\n",
+ "SIGPROF\n",
+ "SIGIO\n",
+ "SIGWINDOW\n",
+ "SIGSTOP\n",
+ "SIGTSTP\n",
+ "SIGCONT\n",
+ "SIGTTIN\n",
+ "SIGTTOU\n",
+ "SIGURG\n",
+ "SIGLOST\n",
+ "SIGRESERVE\n",
+ "SIGDIL\n"
+};
+
+void
+outputsig (int sig)
+{
+ write (1, signal_strings [sig-1], strlen (signal_strings [sig-1]));
+}
+
+void
+ignoresig (int)
+{
+}
+
+main ()
+{
+ {
+ printf ("block signal 2\n");
+ CcuSignalBlocker b (2);
+ getchar ();
+ }
+ printf ("print signals 1 and 2\n");
+ CcuSignalHandler s1 (1, outputsig);
+ CcuSignalHandler s3 (2, outputsig);
+ getchar ();
+ {
+ printf ("ignore signal 1\n");
+ CcuSignalHandler s2 (1, ignoresig);
+ getchar ();
+ }
+ printf ("print again signal 1\n");
+ while (1);
+}
diff --git a/utils/testtimer.cc b/utils/testtimer.cc
new file mode 100644
index 0000000..3dc4b0c
--- /dev/null
+++ b/utils/testtimer.cc
@@ -0,0 +1,43 @@
+#include "Timer.h"
+#include <stdio.h>
+#include <stdlib.h>
+
+int foo_counter = 0;
+
+void
+foo (Millisecond)
+{
+ CcuTimeStamp t;
+ fprintf (stderr, "tic %d\n", (unsigned long) (t));
+ foo_counter++;
+}
+
+void
+baz (Millisecond)
+{
+ CcuTimeStamp t;
+ fprintf (stderr, "tac %d\n", (unsigned long) (t));
+}
+
+void
+bar (Millisecond)
+{
+ printf ("%d\n", foo_counter);
+// exit (0);
+}
+
+CcuList l;
+
+main ()
+{
+#if 1
+ CcuTimer t (1000, foo, 5);
+ CcuTimer s (1000, baz);
+ CcuTimer tt (10000, bar);
+#else
+ CcuTimer t (20, foo);
+ CcuTimer tt (10000, bar);
+#endif
+ for (;;)
+ ;
+}