diff --git a/html/Global_8h_source.html b/html/Global_8h_source.html
new file mode 100644
index 0000000..328276a
--- /dev/null
+++ b/html/Global_8h_source.html
@@ -0,0 +1,134 @@
+
+
+
+
+
+
+
+My Project: Global.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
5 # include "CGIFormattedData.h"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
19 bool sessionExists(coreutils::MString sessionId);
+
20 void addSession(coreutils::MString sessionId,
__mysql *mysql);
+
21 void removeSession(coreutils::MString sessionId);
+
22 __mysql * getSession(coreutils::MString sessionId);
+
23 coreutils::ZString getSessionVariable(coreutils::MString &splitName);
+
+
25 void setupFormData(coreutils::ZString &formdata);
+
26 void setupFormURLEncoded(coreutils::ZString &formdata);
+
27 char *errorCursor = NULL;
+
+
29 coreutils::CGIFormattedData cookies;
+
30 std::map<coreutils::MString, coreutils::MString> variables;
+
31 std::map<coreutils::MString, coreutils::MString> cgiVariables;
+
32 std::map<coreutils::MString, __mysql *> sessions;
+
33 std::map<coreutils::MString, coreutils::MString> headers;
+
34 std::map<coreutils::MString, coreutils::MString> tags;
+
+
+
+
38 coreutils::MString sessionId;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/Operand_8h_source.html b/html/Operand_8h_source.html
new file mode 100644
index 0000000..d1e16ac
--- /dev/null
+++ b/html/Operand_8h_source.html
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+
+My Project: Operand.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
23 coreutils::MString
string =
"" ;
+
+
+
+
+
+
+
+
+
+
+
bool boolean
Definition Operand.h:22
+
+
+
+
+
+
diff --git a/html/SessionId_8h_source.html b/html/SessionId_8h_source.html
new file mode 100644
index 0000000..dace10a
--- /dev/null
+++ b/html/SessionId_8h_source.html
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
+My Project: SessionId.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/Tag_8h_source.html b/html/Tag_8h_source.html
new file mode 100644
index 0000000..d64fc95
--- /dev/null
+++ b/html/Tag_8h_source.html
@@ -0,0 +1,163 @@
+
+
+
+
+
+
+
+My Project: Tag.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
19 class Tag :
public coreutils::ZString {
+
+
+
22 Tag (coreutils::ZString &in, coreutils::MString &parentOut,
Global &global,
Tag *parent = NULL,
Tag *local = NULL, coreutils::ZString splitTagName =
"" );
+
+
+
25 coreutils::MString getVariable(coreutils::ZString &variable,
bool inContainer =
false );
+
+
+
28 std::map<coreutils::MString, coreutils::MString> variables;
+
29 std::map<coreutils::MString, coreutils::MString> keywords;
+
30 coreutils::ZString name;
+
31 coreutils::ZString container;
+
32 coreutils::ZString container2;
+
+
+
+
+
+
38 bool hasContainer =
false ;
+
39 bool hasContainer2 =
false ;
+
40 bool keywordDefined(coreutils::ZString variable);
+
41 void parseContainer(coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2 = NULL,
bool topLevel =
false );
+
42 void processContainer(coreutils::ZString &container, coreutils::ZString container2 = NULL,
bool topLevel =
false );
+
43 void copyContainer(coreutils::ZString &in, coreutils::MString &out);
+
+
45 coreutils::MString &parentOut;
+
46 coreutils::MString out;
+
+
+
+
50 bool filterBlankLines =
false ;
+
51 bool trimLines =
false ;
+
52 bool cleanWhitespace =
false ;
+
+
54 void renderVariableName(coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier);
+
55 void storeVariable(coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope);
+
56 void storeVariable(coreutils::ZString variable);
+
+
+
59 bool containerOnly =
false ;
+
60 coreutils::ZString splitTagName;
+
+
62 int skipBlankLine(coreutils::ZString in);
+
+
64 void scanContainer(coreutils::ZString &in);
+
65 bool ifNested(coreutils::ZString &in);
+
66 bool ifTagName(coreutils::ZString &in,
const char *tag);
+
67 bool ifTagName(coreutils::ZString &in);
+
68 bool ifTagDefined(coreutils::ZString &in, coreutils::ZString &tag);
+
69 bool ifEndTagName(coreutils::ZString &in);
+
70 bool ifSplitTagName(coreutils::ZString &in);
+
+
72 coreutils::MString processModifier(coreutils::MString &value, coreutils::MString &modifier);
+
+
+
+
+
+
+
+
+
coreutils::MString resolveKeyword(coreutils::ZString keyword)
>retrieve a vairable value from a text string cotontaining a variable name.
Definition Tag.cpp:114
+
virtual ~Tag()
>Constructor
Definition Tag.cpp:106
+
+
+
+
+
diff --git a/html/____call_8h_source.html b/html/____call_8h_source.html
new file mode 100644
index 0000000..231d044
--- /dev/null
+++ b/html/____call_8h_source.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+My Project: __call.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
11 __call (coreutils::ZString &in, coreutils::MString &parentOut,
Global &global,
Tag *parent,
Tag *local);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/____comment_8h_source.html b/html/____comment_8h_source.html
new file mode 100644
index 0000000..131c735
--- /dev/null
+++ b/html/____comment_8h_source.html
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+
+My Project: __comment.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
11 __comment (coreutils::ZString &in, coreutils::MString &parentOut,
Global &global,
Tag *parent,
Tag *local);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/____cookie_8h_source.html b/html/____cookie_8h_source.html
new file mode 100644
index 0000000..2c7be66
--- /dev/null
+++ b/html/____cookie_8h_source.html
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+My Project: __cookie.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
13 __cookie (coreutils::ZString &in, coreutils::MString &parentOut,
Global &global,
Tag *parent,
Tag *local);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/____dotag_8h_source.html b/html/____dotag_8h_source.html
new file mode 100644
index 0000000..cb631d7
--- /dev/null
+++ b/html/____dotag_8h_source.html
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+My Project: __dotag.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
12 __dotag (coreutils::ZString &in, coreutils::MString &parentOut,
Global &global,
Tag *parent,
Tag *local);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/____dump_8h_source.html b/html/____dump_8h_source.html
new file mode 100644
index 0000000..4827690
--- /dev/null
+++ b/html/____dump_8h_source.html
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+My Project: __dump.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
13 __dump (coreutils::ZString &in, coreutils::MString &parentOut,
Global &global,
Tag *parent,
Tag *local);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/____exclude_8h_source.html b/html/____exclude_8h_source.html
new file mode 100644
index 0000000..fbe7968
--- /dev/null
+++ b/html/____exclude_8h_source.html
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+
+My Project: __exclude.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
11 __exclude (coreutils::ZString &in, coreutils::MString &parentOut,
Global &global,
Tag *parent,
Tag *local);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/____for_8h_source.html b/html/____for_8h_source.html
new file mode 100644
index 0000000..3c60651
--- /dev/null
+++ b/html/____for_8h_source.html
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+My Project: __for.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
12 __for (coreutils::ZString &in, coreutils::MString &parentOut,
Global &global,
Tag *parent,
Tag *local);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/____header_8h_source.html b/html/____header_8h_source.html
new file mode 100644
index 0000000..3743001
--- /dev/null
+++ b/html/____header_8h_source.html
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+My Project: __header.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
14 __header (coreutils::ZString &in, coreutils::MString &parentOut,
Global &global,
Tag *parent,
Tag *local);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/____if_8h_source.html b/html/____if_8h_source.html
new file mode 100644
index 0000000..4df2053
--- /dev/null
+++ b/html/____if_8h_source.html
@@ -0,0 +1,111 @@
+
+
+
+
+
+
+
+My Project: __if.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
14 __if (coreutils::ZString &in, coreutils::MString &parentOut,
Global &global,
Tag *parent,
Tag *local);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/____ifrow_8h_source.html b/html/____ifrow_8h_source.html
new file mode 100644
index 0000000..5e56a64
--- /dev/null
+++ b/html/____ifrow_8h_source.html
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+
+My Project: __ifrow.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
11 __ifrow (coreutils::ZString &in, coreutils::MString &parentOut,
Global &global,
Tag *parent,
Tag *local);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/____include_8h_source.html b/html/____include_8h_source.html
new file mode 100644
index 0000000..3f7d9a7
--- /dev/null
+++ b/html/____include_8h_source.html
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+
+My Project: __include.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
11 __include (coreutils::ZString &in, coreutils::MString &parentOut,
Global &global,
Tag *parent,
Tag *local);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/____jet_8h_source.html b/html/____jet_8h_source.html
new file mode 100644
index 0000000..4e16983
--- /dev/null
+++ b/html/____jet_8h_source.html
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+My Project: __jet.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
15 __jet (coreutils::ZString &in, coreutils::MString &parentOut,
Global &global,
Tag *parent,
Tag *local);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/____mysql_8h_source.html b/html/____mysql_8h_source.html
new file mode 100644
index 0000000..8b8428d
--- /dev/null
+++ b/html/____mysql_8h_source.html
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+My Project: __mysql.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
8 #include <mysql/mysql.h>
+
+
+
+
+
+
+
+
15 __mysql (coreutils::ZString &in, coreutils::MString &parentOut,
Global &global,
Tag *parent,
Tag *local);
+
+
+
18 void query(coreutils::MString query);
+
+
+
21 coreutils::ZString getColumnValue(coreutils::ZString column);
+
+
+
+
+
+
27 unsigned long *fieldLength;
+
+
29 coreutils::MString sessionId;
+
+
31 coreutils::MString nbrOfRows =
"0" ;
+
32 coreutils::MString nbrOfColumns =
"0" ;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/____read_8h_source.html b/html/____read_8h_source.html
new file mode 100644
index 0000000..94ea0b3
--- /dev/null
+++ b/html/____read_8h_source.html
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+My Project: __read.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
11 __read (coreutils::ZString &in, coreutils::MString &parentOut,
Global &global,
Tag *parent,
Tag *local);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/____set_8h_source.html b/html/____set_8h_source.html
new file mode 100644
index 0000000..a11fabf
--- /dev/null
+++ b/html/____set_8h_source.html
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+My Project: __set.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
14 __set (coreutils::ZString &in, coreutils::MString &parentOut,
Global &global,
Tag *parent,
Tag *local);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/____sql_8h_source.html b/html/____sql_8h_source.html
new file mode 100644
index 0000000..3089cd5
--- /dev/null
+++ b/html/____sql_8h_source.html
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+
+My Project: __sql.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
11 __sql (coreutils::ZString &in, coreutils::MString &parentOut,
Global &global,
Tag *parent,
Tag *local);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/____stream_8h_source.html b/html/____stream_8h_source.html
new file mode 100644
index 0000000..cf05ded
--- /dev/null
+++ b/html/____stream_8h_source.html
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+My Project: __stream.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
12 __stream (coreutils::ZString &in, coreutils::MString &parentOut,
Global &global,
Tag *parent,
Tag *local);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/____system_8h_source.html b/html/____system_8h_source.html
new file mode 100644
index 0000000..1cb4c90
--- /dev/null
+++ b/html/____system_8h_source.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+My Project: __system.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
11 __system (coreutils::ZString &in, coreutils::MString &parentOut,
Global &global,
Tag *parent,
Tag *local);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/____tag_8h_source.html b/html/____tag_8h_source.html
new file mode 100644
index 0000000..5871bc1
--- /dev/null
+++ b/html/____tag_8h_source.html
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+My Project: __tag.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
14 __tag (coreutils::ZString &in, coreutils::MString &parentOut,
Global &global,
Tag *parent,
Tag *local);
+
+
16 std::map<coreutils::MString, coreutils::MString> tags;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/____until_8h_source.html b/html/____until_8h_source.html
new file mode 100644
index 0000000..684baf1
--- /dev/null
+++ b/html/____until_8h_source.html
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+My Project: __until.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
12 __until (coreutils::ZString &in, coreutils::MString &parentOut,
Global &global,
Tag *parent,
Tag *local);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/____while_8h_source.html b/html/____while_8h_source.html
new file mode 100644
index 0000000..8b19e05
--- /dev/null
+++ b/html/____while_8h_source.html
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+My Project: __while.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
12 __while (coreutils::ZString &in, coreutils::MString &parentOut,
Global &global,
Tag *parent,
Tag *local);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/____whiledir_8h_source.html b/html/____whiledir_8h_source.html
new file mode 100644
index 0000000..06ede2d
--- /dev/null
+++ b/html/____whiledir_8h_source.html
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+My Project: __whiledir.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
1 #ifndef ____whiledir_h__
+
2 #define ____whiledir_h__
+
+
+
+
+
+
+
+
+
+
+
+
13 __whiledir (coreutils::ZString &in, coreutils::MString &parentOut,
Global &global,
Tag *parent,
Tag *local);
+
+
+
+
+
+
+
+
+
+
Definition __whiledir.h:10
+
+
+
+
+
diff --git a/html/____whilerow_8h_source.html b/html/____whilerow_8h_source.html
new file mode 100644
index 0000000..7808c8c
--- /dev/null
+++ b/html/____whilerow_8h_source.html
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+My Project: __whilerow.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
1 #ifndef ____whilerow_h__
+
2 #define ____whilerow_h__
+
+
+
+
+
+
+
+
+
+
+
+
13 __whilerow (coreutils::ZString &in, coreutils::MString &parentOut,
Global &global,
Tag *parent,
Tag *local);
+
+
+
+
+
+
+
+
+
+
Definition __whilerow.h:10
+
+
+
+
+
diff --git a/html/____write_8h_source.html b/html/____write_8h_source.html
new file mode 100644
index 0000000..79bb1d4
--- /dev/null
+++ b/html/____write_8h_source.html
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+My Project: __write.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
14 __write (coreutils::ZString &in, coreutils::MString &parentOut,
Global &global,
Tag *parent,
Tag *local);
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/annotated.html b/html/annotated.html
new file mode 100644
index 0000000..bd74a88
--- /dev/null
+++ b/html/annotated.html
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
+My Project: Class List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+
+
+
+
+
diff --git a/html/bc_s.png b/html/bc_s.png
new file mode 100644
index 0000000..224b29a
Binary files /dev/null and b/html/bc_s.png differ
diff --git a/html/bc_sd.png b/html/bc_sd.png
new file mode 100644
index 0000000..31ca888
Binary files /dev/null and b/html/bc_sd.png differ
diff --git a/html/classes.html b/html/classes.html
new file mode 100644
index 0000000..56c65b5
--- /dev/null
+++ b/html/classes.html
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+My Project: Class Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1Global-members.html b/html/classjet_1_1Global-members.html
new file mode 100644
index 0000000..d446d35
--- /dev/null
+++ b/html/classjet_1_1Global-members.html
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::Global , including all inherited members.
+
+
+
+
+
diff --git a/html/classjet_1_1Global.html b/html/classjet_1_1Global.html
new file mode 100644
index 0000000..7961e87
--- /dev/null
+++ b/html/classjet_1_1Global.html
@@ -0,0 +1,163 @@
+
+
+
+
+
+
+
+My Project: jet::Global Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+ Global (char **envp)
+
+
+void dump ()
+
+
+bool sessionExists (coreutils::MString sessionId)
+
+
+void addSession (coreutils::MString sessionId, __mysql *mysql)
+
+
+void removeSession (coreutils::MString sessionId)
+
+
+__mysql * getSession (coreutils::MString sessionId)
+
+
+coreutils::ZString getSessionVariable (coreutils::MString &splitName)
+
+
+void outputHeaders ()
+
+
+void setupFormData (coreutils::ZString &formdata)
+
+
+void setupFormURLEncoded (coreutils::ZString &formdata)
+
+
+
+
+char * errorCursor = NULL
+
+
+coreutils::CGIFormattedData cookies
+
+
+std::map< coreutils::MString, coreutils::MString > variables
+
+
+std::map< coreutils::MString, coreutils::MString > cgiVariables
+
+
+std::map< coreutils::MString, __mysql * > sessions
+
+
+std::map< coreutils::MString, coreutils::MString > headers
+
+
+std::map< coreutils::MString, coreutils::MString > tags
+
+
+char ** envp
+
+
+bool cgi = false
+
+
+bool session = false
+
+
+coreutils::MString sessionId
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1Operand-members.html b/html/classjet_1_1Operand-members.html
new file mode 100644
index 0000000..202aa3d
--- /dev/null
+++ b/html/classjet_1_1Operand-members.html
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::Operand , including all inherited members.
+
+
+
+
+
diff --git a/html/classjet_1_1Operand.html b/html/classjet_1_1Operand.html
new file mode 100644
index 0000000..d13fc10
--- /dev/null
+++ b/html/classjet_1_1Operand.html
@@ -0,0 +1,130 @@
+
+
+
+
+
+
+
+My Project: jet::Operand Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+ Operand (coreutils::ZString &in, Tag &tag)
+
+
+
+
+bool isNumber
+
+bool boolean
+
+
+coreutils::MString string = ""
+
+
+double doubleValue
+
+
+
+
+
◆ boolean
+
+
+
+
+
+ bool jet::Operand::boolean
+
+
+
+
boolean is set by internal processes to return the boolean equivilent value.
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1SessionId-members.html b/html/classjet_1_1SessionId-members.html
new file mode 100644
index 0000000..35840b2
--- /dev/null
+++ b/html/classjet_1_1SessionId-members.html
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::SessionId , including all inherited members.
+
+
+
+
+
diff --git a/html/classjet_1_1SessionId.html b/html/classjet_1_1SessionId.html
new file mode 100644
index 0000000..09c86d9
--- /dev/null
+++ b/html/classjet_1_1SessionId.html
@@ -0,0 +1,111 @@
+
+
+
+
+
+
+
+My Project: jet::SessionId Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1SessionId__coll__graph.map b/html/classjet_1_1SessionId__coll__graph.map
new file mode 100644
index 0000000..3f16a10
--- /dev/null
+++ b/html/classjet_1_1SessionId__coll__graph.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/html/classjet_1_1SessionId__coll__graph.md5 b/html/classjet_1_1SessionId__coll__graph.md5
new file mode 100644
index 0000000..fdae69c
--- /dev/null
+++ b/html/classjet_1_1SessionId__coll__graph.md5
@@ -0,0 +1 @@
+b623d91570cf127009ea4725c62d55b9
\ No newline at end of file
diff --git a/html/classjet_1_1SessionId__coll__graph.png b/html/classjet_1_1SessionId__coll__graph.png
new file mode 100644
index 0000000..3262162
Binary files /dev/null and b/html/classjet_1_1SessionId__coll__graph.png differ
diff --git a/html/classjet_1_1SessionId__inherit__graph.map b/html/classjet_1_1SessionId__inherit__graph.map
new file mode 100644
index 0000000..3f16a10
--- /dev/null
+++ b/html/classjet_1_1SessionId__inherit__graph.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/html/classjet_1_1SessionId__inherit__graph.md5 b/html/classjet_1_1SessionId__inherit__graph.md5
new file mode 100644
index 0000000..fdae69c
--- /dev/null
+++ b/html/classjet_1_1SessionId__inherit__graph.md5
@@ -0,0 +1 @@
+b623d91570cf127009ea4725c62d55b9
\ No newline at end of file
diff --git a/html/classjet_1_1SessionId__inherit__graph.png b/html/classjet_1_1SessionId__inherit__graph.png
new file mode 100644
index 0000000..3262162
Binary files /dev/null and b/html/classjet_1_1SessionId__inherit__graph.png differ
diff --git a/html/classjet_1_1Tag-members.html b/html/classjet_1_1Tag-members.html
new file mode 100644
index 0000000..5085171
--- /dev/null
+++ b/html/classjet_1_1Tag-members.html
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::Tag , including all inherited members.
+
+ cleanWhitespace (defined in jet::Tag )jet::Tag protected
+ container (defined in jet::Tag )jet::Tag
+ container2 (defined in jet::Tag )jet::Tag
+ copyContainer (coreutils::ZString &in, coreutils::MString &out) (defined in jet::Tag )jet::Tag protected
+ evaluate (defined in jet::Tag )jet::Tag protected
+ filterBlankLines (defined in jet::Tag )jet::Tag protected
+ getVariable (coreutils::ZString &variable, bool inContainer=false) (defined in jet::Tag )jet::Tag
+ global (defined in jet::Tag )jet::Tag
+ hasContainer (defined in jet::Tag )jet::Tag protected
+ hasContainer2 (defined in jet::Tag )jet::Tag protected
+ keywordDefined (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ keywords (defined in jet::Tag )jet::Tag
+ local (defined in jet::Tag )jet::Tag
+ name (defined in jet::Tag )jet::Tag
+ out (defined in jet::Tag )jet::Tag protected
+ output (defined in jet::Tag )jet::Tag protected
+ parent (defined in jet::Tag )jet::Tag
+ parentOut (defined in jet::Tag )jet::Tag protected
+ parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier) (defined in jet::Tag )jet::Tag protected
+ resolveKeyword (coreutils::ZString keyword)jet::Tag
+ storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope) (defined in jet::Tag )jet::Tag protected
+ storeVariable (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="") (defined in jet::Tag )jet::Tag
+ trimLines (defined in jet::Tag )jet::Tag protected
+ variables (defined in jet::Tag )jet::Tag
+ ~Tag ()jet::Tag virtual
+
+
+
+
+
diff --git a/html/classjet_1_1Tag.html b/html/classjet_1_1Tag.html
new file mode 100644
index 0000000..1085c67
--- /dev/null
+++ b/html/classjet_1_1Tag.html
@@ -0,0 +1,265 @@
+
+
+
+
+
+
+
+My Project: jet::Tag Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="")
+
+
+virtual ~Tag ()
+ >Constructor
+
+
+coreutils::MString getVariable (coreutils::ZString &variable, bool inContainer=false)
+
+
+coreutils::MString resolveKeyword (coreutils::ZString keyword)
+ >retrieve a vairable value from a text string cotontaining a variable name.
+
+
+
+
+std::map< coreutils::MString, coreutils::MString > variables
+
+
+std::map< coreutils::MString, coreutils::MString > keywords
+
+
+coreutils::ZString name
+
+
+coreutils::ZString container
+
+
+coreutils::ZString container2
+
+
+Global & global
+
+
+Tag * parent
+
+
+Tag * local
+
+
+
+
+bool keywordDefined (coreutils::ZString variable)
+
+
+void parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void copyContainer (coreutils::ZString &in, coreutils::MString &out)
+
+
+void renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier)
+
+
+void storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope)
+
+
+void storeVariable (coreutils::ZString variable)
+
+
+
+
+bool hasContainer = false
+
+
+bool hasContainer2 = false
+
+
+coreutils::MString & parentOut
+
+
+coreutils::MString out
+
+
+bool output = true
+
+
+bool evaluate = true
+
+
+bool filterBlankLines = false
+
+
+bool trimLines = false
+
+
+bool cleanWhitespace = false
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1Tag__coll__graph.map b/html/classjet_1_1Tag__coll__graph.map
new file mode 100644
index 0000000..c4b7b12
--- /dev/null
+++ b/html/classjet_1_1Tag__coll__graph.map
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1Tag__coll__graph.md5 b/html/classjet_1_1Tag__coll__graph.md5
new file mode 100644
index 0000000..7d01ea5
--- /dev/null
+++ b/html/classjet_1_1Tag__coll__graph.md5
@@ -0,0 +1 @@
+0f028a2b28c65c67a27440a0bc2d5e22
\ No newline at end of file
diff --git a/html/classjet_1_1Tag__coll__graph.png b/html/classjet_1_1Tag__coll__graph.png
new file mode 100644
index 0000000..eb55827
Binary files /dev/null and b/html/classjet_1_1Tag__coll__graph.png differ
diff --git a/html/classjet_1_1Tag__inherit__graph.map b/html/classjet_1_1Tag__inherit__graph.map
new file mode 100644
index 0000000..052ed88
--- /dev/null
+++ b/html/classjet_1_1Tag__inherit__graph.map
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1Tag__inherit__graph.md5 b/html/classjet_1_1Tag__inherit__graph.md5
new file mode 100644
index 0000000..36f9864
--- /dev/null
+++ b/html/classjet_1_1Tag__inherit__graph.md5
@@ -0,0 +1 @@
+13ca375e343eb204d566f198ed989974
\ No newline at end of file
diff --git a/html/classjet_1_1Tag__inherit__graph.png b/html/classjet_1_1Tag__inherit__graph.png
new file mode 100644
index 0000000..ebc22a5
Binary files /dev/null and b/html/classjet_1_1Tag__inherit__graph.png differ
diff --git a/html/classjet_1_1____call-members.html b/html/classjet_1_1____call-members.html
new file mode 100644
index 0000000..9936fa0
--- /dev/null
+++ b/html/classjet_1_1____call-members.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::__call , including all inherited members.
+
+ __call (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local) (defined in jet::__call )jet::__call
+ cleanWhitespace (defined in jet::Tag )jet::Tag protected
+ container (defined in jet::Tag )jet::Tag
+ container2 (defined in jet::Tag )jet::Tag
+ copyContainer (coreutils::ZString &in, coreutils::MString &out) (defined in jet::Tag )jet::Tag protected
+ evaluate (defined in jet::Tag )jet::Tag protected
+ filterBlankLines (defined in jet::Tag )jet::Tag protected
+ getVariable (coreutils::ZString &variable, bool inContainer=false) (defined in jet::Tag )jet::Tag
+ global (defined in jet::Tag )jet::Tag
+ hasContainer (defined in jet::Tag )jet::Tag protected
+ hasContainer2 (defined in jet::Tag )jet::Tag protected
+ keywordDefined (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ keywords (defined in jet::Tag )jet::Tag
+ local (defined in jet::Tag )jet::Tag
+ name (defined in jet::Tag )jet::Tag
+ out (defined in jet::Tag )jet::Tag protected
+ output (defined in jet::Tag )jet::Tag protected
+ parent (defined in jet::Tag )jet::Tag
+ parentOut (defined in jet::Tag )jet::Tag protected
+ parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier) (defined in jet::Tag )jet::Tag protected
+ resolveKeyword (coreutils::ZString keyword)jet::Tag
+ storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope) (defined in jet::Tag )jet::Tag protected
+ storeVariable (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="") (defined in jet::Tag )jet::Tag
+ trimLines (defined in jet::Tag )jet::Tag protected
+ variables (defined in jet::Tag )jet::Tag
+ ~Tag ()jet::Tag virtual
+
+
+
+
+
diff --git a/html/classjet_1_1____call.html b/html/classjet_1_1____call.html
new file mode 100644
index 0000000..aab3dc1
--- /dev/null
+++ b/html/classjet_1_1____call.html
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+My Project: jet::__call Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+ __call (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local)
+
+
+
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="")
+
+
+virtual ~Tag ()
+ >Constructor
+
+
+coreutils::MString getVariable (coreutils::ZString &variable, bool inContainer=false)
+
+
+coreutils::MString resolveKeyword (coreutils::ZString keyword)
+ >retrieve a vairable value from a text string cotontaining a variable name.
+
+
+
+
+
+std::map< coreutils::MString, coreutils::MString > variables
+
+
+std::map< coreutils::MString, coreutils::MString > keywords
+
+
+coreutils::ZString name
+
+
+coreutils::ZString container
+
+
+coreutils::ZString container2
+
+
+Global & global
+
+
+Tag * parent
+
+
+Tag * local
+
+
+
+bool keywordDefined (coreutils::ZString variable)
+
+
+void parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void copyContainer (coreutils::ZString &in, coreutils::MString &out)
+
+
+void renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier)
+
+
+void storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope)
+
+
+void storeVariable (coreutils::ZString variable)
+
+
+
+bool hasContainer = false
+
+
+bool hasContainer2 = false
+
+
+coreutils::MString & parentOut
+
+
+coreutils::MString out
+
+
+bool output = true
+
+
+bool evaluate = true
+
+
+bool filterBlankLines = false
+
+
+bool trimLines = false
+
+
+bool cleanWhitespace = false
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1____call__coll__graph.map b/html/classjet_1_1____call__coll__graph.map
new file mode 100644
index 0000000..70b6150
--- /dev/null
+++ b/html/classjet_1_1____call__coll__graph.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____call__coll__graph.md5 b/html/classjet_1_1____call__coll__graph.md5
new file mode 100644
index 0000000..16341c6
--- /dev/null
+++ b/html/classjet_1_1____call__coll__graph.md5
@@ -0,0 +1 @@
+3065bfbf676275678e9099c25e9d2148
\ No newline at end of file
diff --git a/html/classjet_1_1____call__coll__graph.png b/html/classjet_1_1____call__coll__graph.png
new file mode 100644
index 0000000..74381f2
Binary files /dev/null and b/html/classjet_1_1____call__coll__graph.png differ
diff --git a/html/classjet_1_1____call__inherit__graph.map b/html/classjet_1_1____call__inherit__graph.map
new file mode 100644
index 0000000..bd370d3
--- /dev/null
+++ b/html/classjet_1_1____call__inherit__graph.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____call__inherit__graph.md5 b/html/classjet_1_1____call__inherit__graph.md5
new file mode 100644
index 0000000..54a7af1
--- /dev/null
+++ b/html/classjet_1_1____call__inherit__graph.md5
@@ -0,0 +1 @@
+51dafba043433414ac0e9a6714fbe920
\ No newline at end of file
diff --git a/html/classjet_1_1____call__inherit__graph.png b/html/classjet_1_1____call__inherit__graph.png
new file mode 100644
index 0000000..e3d234b
Binary files /dev/null and b/html/classjet_1_1____call__inherit__graph.png differ
diff --git a/html/classjet_1_1____comment-members.html b/html/classjet_1_1____comment-members.html
new file mode 100644
index 0000000..2beb016
--- /dev/null
+++ b/html/classjet_1_1____comment-members.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::__comment , including all inherited members.
+
+ __comment (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local) (defined in jet::__comment )jet::__comment
+ cleanWhitespace (defined in jet::Tag )jet::Tag protected
+ container (defined in jet::Tag )jet::Tag
+ container2 (defined in jet::Tag )jet::Tag
+ copyContainer (coreutils::ZString &in, coreutils::MString &out) (defined in jet::Tag )jet::Tag protected
+ evaluate (defined in jet::Tag )jet::Tag protected
+ filterBlankLines (defined in jet::Tag )jet::Tag protected
+ getVariable (coreutils::ZString &variable, bool inContainer=false) (defined in jet::Tag )jet::Tag
+ global (defined in jet::Tag )jet::Tag
+ hasContainer (defined in jet::Tag )jet::Tag protected
+ hasContainer2 (defined in jet::Tag )jet::Tag protected
+ keywordDefined (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ keywords (defined in jet::Tag )jet::Tag
+ local (defined in jet::Tag )jet::Tag
+ name (defined in jet::Tag )jet::Tag
+ out (defined in jet::Tag )jet::Tag protected
+ output (defined in jet::Tag )jet::Tag protected
+ parent (defined in jet::Tag )jet::Tag
+ parentOut (defined in jet::Tag )jet::Tag protected
+ parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier) (defined in jet::Tag )jet::Tag protected
+ resolveKeyword (coreutils::ZString keyword)jet::Tag
+ storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope) (defined in jet::Tag )jet::Tag protected
+ storeVariable (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="") (defined in jet::Tag )jet::Tag
+ trimLines (defined in jet::Tag )jet::Tag protected
+ variables (defined in jet::Tag )jet::Tag
+ ~Tag ()jet::Tag virtual
+
+
+
+
+
diff --git a/html/classjet_1_1____comment.html b/html/classjet_1_1____comment.html
new file mode 100644
index 0000000..b6c8d08
--- /dev/null
+++ b/html/classjet_1_1____comment.html
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+My Project: jet::__comment Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ __comment (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local)
+
+
+
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="")
+
+
+virtual ~Tag ()
+ >Constructor
+
+
+coreutils::MString getVariable (coreutils::ZString &variable, bool inContainer=false)
+
+
+coreutils::MString resolveKeyword (coreutils::ZString keyword)
+ >retrieve a vairable value from a text string cotontaining a variable name.
+
+
+
+
+
+std::map< coreutils::MString, coreutils::MString > variables
+
+
+std::map< coreutils::MString, coreutils::MString > keywords
+
+
+coreutils::ZString name
+
+
+coreutils::ZString container
+
+
+coreutils::ZString container2
+
+
+Global & global
+
+
+Tag * parent
+
+
+Tag * local
+
+
+
+bool keywordDefined (coreutils::ZString variable)
+
+
+void parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void copyContainer (coreutils::ZString &in, coreutils::MString &out)
+
+
+void renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier)
+
+
+void storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope)
+
+
+void storeVariable (coreutils::ZString variable)
+
+
+
+bool hasContainer = false
+
+
+bool hasContainer2 = false
+
+
+coreutils::MString & parentOut
+
+
+coreutils::MString out
+
+
+bool output = true
+
+
+bool evaluate = true
+
+
+bool filterBlankLines = false
+
+
+bool trimLines = false
+
+
+bool cleanWhitespace = false
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1____comment__coll__graph.map b/html/classjet_1_1____comment__coll__graph.map
new file mode 100644
index 0000000..1363aba
--- /dev/null
+++ b/html/classjet_1_1____comment__coll__graph.map
@@ -0,0 +1,10 @@
+
diff --git a/html/classjet_1_1____comment__coll__graph.md5 b/html/classjet_1_1____comment__coll__graph.md5
new file mode 100644
index 0000000..43b8264
--- /dev/null
+++ b/html/classjet_1_1____comment__coll__graph.md5
@@ -0,0 +1 @@
+de5d6d5acccd073be6690167342851ee
\ No newline at end of file
diff --git a/html/classjet_1_1____comment__coll__graph.png b/html/classjet_1_1____comment__coll__graph.png
new file mode 100644
index 0000000..a27a67e
Binary files /dev/null and b/html/classjet_1_1____comment__coll__graph.png differ
diff --git a/html/classjet_1_1____comment__inherit__graph.map b/html/classjet_1_1____comment__inherit__graph.map
new file mode 100644
index 0000000..73122a1
--- /dev/null
+++ b/html/classjet_1_1____comment__inherit__graph.map
@@ -0,0 +1,7 @@
+
diff --git a/html/classjet_1_1____comment__inherit__graph.md5 b/html/classjet_1_1____comment__inherit__graph.md5
new file mode 100644
index 0000000..8b2ab87
--- /dev/null
+++ b/html/classjet_1_1____comment__inherit__graph.md5
@@ -0,0 +1 @@
+4c12c7ed7974ec0952544c1803145cc0
\ No newline at end of file
diff --git a/html/classjet_1_1____comment__inherit__graph.png b/html/classjet_1_1____comment__inherit__graph.png
new file mode 100644
index 0000000..dd2dfba
Binary files /dev/null and b/html/classjet_1_1____comment__inherit__graph.png differ
diff --git a/html/classjet_1_1____cookie-members.html b/html/classjet_1_1____cookie-members.html
new file mode 100644
index 0000000..ce6de17
--- /dev/null
+++ b/html/classjet_1_1____cookie-members.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::__cookie , including all inherited members.
+
+ __cookie (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local) (defined in jet::__cookie )jet::__cookie
+ cleanWhitespace (defined in jet::Tag )jet::Tag protected
+ container (defined in jet::Tag )jet::Tag
+ container2 (defined in jet::Tag )jet::Tag
+ copyContainer (coreutils::ZString &in, coreutils::MString &out) (defined in jet::Tag )jet::Tag protected
+ evaluate (defined in jet::Tag )jet::Tag protected
+ filterBlankLines (defined in jet::Tag )jet::Tag protected
+ getVariable (coreutils::ZString &variable, bool inContainer=false) (defined in jet::Tag )jet::Tag
+ global (defined in jet::Tag )jet::Tag
+ hasContainer (defined in jet::Tag )jet::Tag protected
+ hasContainer2 (defined in jet::Tag )jet::Tag protected
+ keywordDefined (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ keywords (defined in jet::Tag )jet::Tag
+ local (defined in jet::Tag )jet::Tag
+ name (defined in jet::Tag )jet::Tag
+ out (defined in jet::Tag )jet::Tag protected
+ output (defined in jet::Tag )jet::Tag protected
+ parent (defined in jet::Tag )jet::Tag
+ parentOut (defined in jet::Tag )jet::Tag protected
+ parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier) (defined in jet::Tag )jet::Tag protected
+ resolveKeyword (coreutils::ZString keyword)jet::Tag
+ storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope) (defined in jet::Tag )jet::Tag protected
+ storeVariable (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="") (defined in jet::Tag )jet::Tag
+ trimLines (defined in jet::Tag )jet::Tag protected
+ variables (defined in jet::Tag )jet::Tag
+ ~Tag ()jet::Tag virtual
+
+
+
+
+
diff --git a/html/classjet_1_1____cookie.html b/html/classjet_1_1____cookie.html
new file mode 100644
index 0000000..f4d70a8
--- /dev/null
+++ b/html/classjet_1_1____cookie.html
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+My Project: jet::__cookie Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+ __cookie (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local)
+
+
+
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="")
+
+
+virtual ~Tag ()
+ >Constructor
+
+
+coreutils::MString getVariable (coreutils::ZString &variable, bool inContainer=false)
+
+
+coreutils::MString resolveKeyword (coreutils::ZString keyword)
+ >retrieve a vairable value from a text string cotontaining a variable name.
+
+
+
+
+
+std::map< coreutils::MString, coreutils::MString > variables
+
+
+std::map< coreutils::MString, coreutils::MString > keywords
+
+
+coreutils::ZString name
+
+
+coreutils::ZString container
+
+
+coreutils::ZString container2
+
+
+Global & global
+
+
+Tag * parent
+
+
+Tag * local
+
+
+
+bool keywordDefined (coreutils::ZString variable)
+
+
+void parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void copyContainer (coreutils::ZString &in, coreutils::MString &out)
+
+
+void renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier)
+
+
+void storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope)
+
+
+void storeVariable (coreutils::ZString variable)
+
+
+
+bool hasContainer = false
+
+
+bool hasContainer2 = false
+
+
+coreutils::MString & parentOut
+
+
+coreutils::MString out
+
+
+bool output = true
+
+
+bool evaluate = true
+
+
+bool filterBlankLines = false
+
+
+bool trimLines = false
+
+
+bool cleanWhitespace = false
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1____cookie__coll__graph.map b/html/classjet_1_1____cookie__coll__graph.map
new file mode 100644
index 0000000..877de20
--- /dev/null
+++ b/html/classjet_1_1____cookie__coll__graph.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____cookie__coll__graph.md5 b/html/classjet_1_1____cookie__coll__graph.md5
new file mode 100644
index 0000000..c40d889
--- /dev/null
+++ b/html/classjet_1_1____cookie__coll__graph.md5
@@ -0,0 +1 @@
+4634b3e5cc10747d89e55b859495e396
\ No newline at end of file
diff --git a/html/classjet_1_1____cookie__coll__graph.png b/html/classjet_1_1____cookie__coll__graph.png
new file mode 100644
index 0000000..fcf9b42
Binary files /dev/null and b/html/classjet_1_1____cookie__coll__graph.png differ
diff --git a/html/classjet_1_1____cookie__inherit__graph.map b/html/classjet_1_1____cookie__inherit__graph.map
new file mode 100644
index 0000000..3f4d25e
--- /dev/null
+++ b/html/classjet_1_1____cookie__inherit__graph.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____cookie__inherit__graph.md5 b/html/classjet_1_1____cookie__inherit__graph.md5
new file mode 100644
index 0000000..f2b3d03
--- /dev/null
+++ b/html/classjet_1_1____cookie__inherit__graph.md5
@@ -0,0 +1 @@
+744a27df268d7e5236a2d3b3c51b9da0
\ No newline at end of file
diff --git a/html/classjet_1_1____cookie__inherit__graph.png b/html/classjet_1_1____cookie__inherit__graph.png
new file mode 100644
index 0000000..eb99c46
Binary files /dev/null and b/html/classjet_1_1____cookie__inherit__graph.png differ
diff --git a/html/classjet_1_1____dotag-members.html b/html/classjet_1_1____dotag-members.html
new file mode 100644
index 0000000..d12b74d
--- /dev/null
+++ b/html/classjet_1_1____dotag-members.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::__dotag , including all inherited members.
+
+ __dotag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local) (defined in jet::__dotag )jet::__dotag
+ cleanWhitespace (defined in jet::Tag )jet::Tag protected
+ container (defined in jet::Tag )jet::Tag
+ container2 (defined in jet::Tag )jet::Tag
+ copyContainer (coreutils::ZString &in, coreutils::MString &out) (defined in jet::Tag )jet::Tag protected
+ evaluate (defined in jet::Tag )jet::Tag protected
+ filterBlankLines (defined in jet::Tag )jet::Tag protected
+ getVariable (coreutils::ZString &variable, bool inContainer=false) (defined in jet::Tag )jet::Tag
+ global (defined in jet::Tag )jet::Tag
+ hasContainer (defined in jet::Tag )jet::Tag protected
+ hasContainer2 (defined in jet::Tag )jet::Tag protected
+ keywordDefined (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ keywords (defined in jet::Tag )jet::Tag
+ local (defined in jet::Tag )jet::Tag
+ name (defined in jet::Tag )jet::Tag
+ out (defined in jet::Tag )jet::Tag protected
+ output (defined in jet::Tag )jet::Tag protected
+ parent (defined in jet::Tag )jet::Tag
+ parentOut (defined in jet::Tag )jet::Tag protected
+ parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier) (defined in jet::Tag )jet::Tag protected
+ resolveKeyword (coreutils::ZString keyword)jet::Tag
+ storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope) (defined in jet::Tag )jet::Tag protected
+ storeVariable (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="") (defined in jet::Tag )jet::Tag
+ trimLines (defined in jet::Tag )jet::Tag protected
+ variables (defined in jet::Tag )jet::Tag
+ ~Tag ()jet::Tag virtual
+
+
+
+
+
diff --git a/html/classjet_1_1____dotag.html b/html/classjet_1_1____dotag.html
new file mode 100644
index 0000000..29dacdd
--- /dev/null
+++ b/html/classjet_1_1____dotag.html
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+My Project: jet::__dotag Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+ __dotag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local)
+
+
+
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="")
+
+
+virtual ~Tag ()
+ >Constructor
+
+
+coreutils::MString getVariable (coreutils::ZString &variable, bool inContainer=false)
+
+
+coreutils::MString resolveKeyword (coreutils::ZString keyword)
+ >retrieve a vairable value from a text string cotontaining a variable name.
+
+
+
+
+
+std::map< coreutils::MString, coreutils::MString > variables
+
+
+std::map< coreutils::MString, coreutils::MString > keywords
+
+
+coreutils::ZString name
+
+
+coreutils::ZString container
+
+
+coreutils::ZString container2
+
+
+Global & global
+
+
+Tag * parent
+
+
+Tag * local
+
+
+
+bool keywordDefined (coreutils::ZString variable)
+
+
+void parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void copyContainer (coreutils::ZString &in, coreutils::MString &out)
+
+
+void renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier)
+
+
+void storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope)
+
+
+void storeVariable (coreutils::ZString variable)
+
+
+
+bool hasContainer = false
+
+
+bool hasContainer2 = false
+
+
+coreutils::MString & parentOut
+
+
+coreutils::MString out
+
+
+bool output = true
+
+
+bool evaluate = true
+
+
+bool filterBlankLines = false
+
+
+bool trimLines = false
+
+
+bool cleanWhitespace = false
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1____dotag__coll__graph.map b/html/classjet_1_1____dotag__coll__graph.map
new file mode 100644
index 0000000..81e4f99
--- /dev/null
+++ b/html/classjet_1_1____dotag__coll__graph.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____dotag__coll__graph.md5 b/html/classjet_1_1____dotag__coll__graph.md5
new file mode 100644
index 0000000..0789a5c
--- /dev/null
+++ b/html/classjet_1_1____dotag__coll__graph.md5
@@ -0,0 +1 @@
+f4c78148eaaa70aaf80f7aca58767393
\ No newline at end of file
diff --git a/html/classjet_1_1____dotag__coll__graph.png b/html/classjet_1_1____dotag__coll__graph.png
new file mode 100644
index 0000000..173c986
Binary files /dev/null and b/html/classjet_1_1____dotag__coll__graph.png differ
diff --git a/html/classjet_1_1____dotag__inherit__graph.map b/html/classjet_1_1____dotag__inherit__graph.map
new file mode 100644
index 0000000..0dedcab
--- /dev/null
+++ b/html/classjet_1_1____dotag__inherit__graph.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____dotag__inherit__graph.md5 b/html/classjet_1_1____dotag__inherit__graph.md5
new file mode 100644
index 0000000..32313e4
--- /dev/null
+++ b/html/classjet_1_1____dotag__inherit__graph.md5
@@ -0,0 +1 @@
+8c3b499140a9ed774350e845d375e793
\ No newline at end of file
diff --git a/html/classjet_1_1____dotag__inherit__graph.png b/html/classjet_1_1____dotag__inherit__graph.png
new file mode 100644
index 0000000..65e6fc5
Binary files /dev/null and b/html/classjet_1_1____dotag__inherit__graph.png differ
diff --git a/html/classjet_1_1____dump-members.html b/html/classjet_1_1____dump-members.html
new file mode 100644
index 0000000..92868f8
--- /dev/null
+++ b/html/classjet_1_1____dump-members.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::__dump , including all inherited members.
+
+ __dump (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local) (defined in jet::__dump )jet::__dump
+ cleanWhitespace (defined in jet::Tag )jet::Tag protected
+ container (defined in jet::Tag )jet::Tag
+ container2 (defined in jet::Tag )jet::Tag
+ copyContainer (coreutils::ZString &in, coreutils::MString &out) (defined in jet::Tag )jet::Tag protected
+ evaluate (defined in jet::Tag )jet::Tag protected
+ filterBlankLines (defined in jet::Tag )jet::Tag protected
+ getVariable (coreutils::ZString &variable, bool inContainer=false) (defined in jet::Tag )jet::Tag
+ global (defined in jet::Tag )jet::Tag
+ hasContainer (defined in jet::Tag )jet::Tag protected
+ hasContainer2 (defined in jet::Tag )jet::Tag protected
+ keywordDefined (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ keywords (defined in jet::Tag )jet::Tag
+ local (defined in jet::Tag )jet::Tag
+ name (defined in jet::Tag )jet::Tag
+ out (defined in jet::Tag )jet::Tag protected
+ output (defined in jet::Tag )jet::Tag protected
+ parent (defined in jet::Tag )jet::Tag
+ parentOut (defined in jet::Tag )jet::Tag protected
+ parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier) (defined in jet::Tag )jet::Tag protected
+ resolveKeyword (coreutils::ZString keyword)jet::Tag
+ storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope) (defined in jet::Tag )jet::Tag protected
+ storeVariable (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="") (defined in jet::Tag )jet::Tag
+ trimLines (defined in jet::Tag )jet::Tag protected
+ variables (defined in jet::Tag )jet::Tag
+ ~Tag ()jet::Tag virtual
+
+
+
+
+
diff --git a/html/classjet_1_1____dump.html b/html/classjet_1_1____dump.html
new file mode 100644
index 0000000..8cd1042
--- /dev/null
+++ b/html/classjet_1_1____dump.html
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+My Project: jet::__dump Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+ __dump (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local)
+
+
+
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="")
+
+
+virtual ~Tag ()
+ >Constructor
+
+
+coreutils::MString getVariable (coreutils::ZString &variable, bool inContainer=false)
+
+
+coreutils::MString resolveKeyword (coreutils::ZString keyword)
+ >retrieve a vairable value from a text string cotontaining a variable name.
+
+
+
+
+
+std::map< coreutils::MString, coreutils::MString > variables
+
+
+std::map< coreutils::MString, coreutils::MString > keywords
+
+
+coreutils::ZString name
+
+
+coreutils::ZString container
+
+
+coreutils::ZString container2
+
+
+Global & global
+
+
+Tag * parent
+
+
+Tag * local
+
+
+
+bool keywordDefined (coreutils::ZString variable)
+
+
+void parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void copyContainer (coreutils::ZString &in, coreutils::MString &out)
+
+
+void renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier)
+
+
+void storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope)
+
+
+void storeVariable (coreutils::ZString variable)
+
+
+
+bool hasContainer = false
+
+
+bool hasContainer2 = false
+
+
+coreutils::MString & parentOut
+
+
+coreutils::MString out
+
+
+bool output = true
+
+
+bool evaluate = true
+
+
+bool filterBlankLines = false
+
+
+bool trimLines = false
+
+
+bool cleanWhitespace = false
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1____dump__coll__graph.map b/html/classjet_1_1____dump__coll__graph.map
new file mode 100644
index 0000000..a153226
--- /dev/null
+++ b/html/classjet_1_1____dump__coll__graph.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____dump__coll__graph.md5 b/html/classjet_1_1____dump__coll__graph.md5
new file mode 100644
index 0000000..7cb067e
--- /dev/null
+++ b/html/classjet_1_1____dump__coll__graph.md5
@@ -0,0 +1 @@
+8c55dfbf2727127b764a45da20904601
\ No newline at end of file
diff --git a/html/classjet_1_1____dump__coll__graph.png b/html/classjet_1_1____dump__coll__graph.png
new file mode 100644
index 0000000..10b3bbd
Binary files /dev/null and b/html/classjet_1_1____dump__coll__graph.png differ
diff --git a/html/classjet_1_1____dump__inherit__graph.map b/html/classjet_1_1____dump__inherit__graph.map
new file mode 100644
index 0000000..18f0a10
--- /dev/null
+++ b/html/classjet_1_1____dump__inherit__graph.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____dump__inherit__graph.md5 b/html/classjet_1_1____dump__inherit__graph.md5
new file mode 100644
index 0000000..742dcdd
--- /dev/null
+++ b/html/classjet_1_1____dump__inherit__graph.md5
@@ -0,0 +1 @@
+dfda176ef0f9e66ddfb7e7df23c30a5a
\ No newline at end of file
diff --git a/html/classjet_1_1____dump__inherit__graph.png b/html/classjet_1_1____dump__inherit__graph.png
new file mode 100644
index 0000000..083fb7c
Binary files /dev/null and b/html/classjet_1_1____dump__inherit__graph.png differ
diff --git a/html/classjet_1_1____exclude-members.html b/html/classjet_1_1____exclude-members.html
new file mode 100644
index 0000000..e25514f
--- /dev/null
+++ b/html/classjet_1_1____exclude-members.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::__exclude , including all inherited members.
+
+ __exclude (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local) (defined in jet::__exclude )jet::__exclude
+ cleanWhitespace (defined in jet::Tag )jet::Tag protected
+ container (defined in jet::Tag )jet::Tag
+ container2 (defined in jet::Tag )jet::Tag
+ copyContainer (coreutils::ZString &in, coreutils::MString &out) (defined in jet::Tag )jet::Tag protected
+ evaluate (defined in jet::Tag )jet::Tag protected
+ filterBlankLines (defined in jet::Tag )jet::Tag protected
+ getVariable (coreutils::ZString &variable, bool inContainer=false) (defined in jet::Tag )jet::Tag
+ global (defined in jet::Tag )jet::Tag
+ hasContainer (defined in jet::Tag )jet::Tag protected
+ hasContainer2 (defined in jet::Tag )jet::Tag protected
+ keywordDefined (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ keywords (defined in jet::Tag )jet::Tag
+ local (defined in jet::Tag )jet::Tag
+ name (defined in jet::Tag )jet::Tag
+ out (defined in jet::Tag )jet::Tag protected
+ output (defined in jet::Tag )jet::Tag protected
+ parent (defined in jet::Tag )jet::Tag
+ parentOut (defined in jet::Tag )jet::Tag protected
+ parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier) (defined in jet::Tag )jet::Tag protected
+ resolveKeyword (coreutils::ZString keyword)jet::Tag
+ storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope) (defined in jet::Tag )jet::Tag protected
+ storeVariable (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="") (defined in jet::Tag )jet::Tag
+ trimLines (defined in jet::Tag )jet::Tag protected
+ variables (defined in jet::Tag )jet::Tag
+ ~Tag ()jet::Tag virtual
+
+
+
+
+
diff --git a/html/classjet_1_1____exclude.html b/html/classjet_1_1____exclude.html
new file mode 100644
index 0000000..77bd222
--- /dev/null
+++ b/html/classjet_1_1____exclude.html
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+My Project: jet::__exclude Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+ __exclude (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local)
+
+
+
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="")
+
+
+virtual ~Tag ()
+ >Constructor
+
+
+coreutils::MString getVariable (coreutils::ZString &variable, bool inContainer=false)
+
+
+coreutils::MString resolveKeyword (coreutils::ZString keyword)
+ >retrieve a vairable value from a text string cotontaining a variable name.
+
+
+
+
+
+std::map< coreutils::MString, coreutils::MString > variables
+
+
+std::map< coreutils::MString, coreutils::MString > keywords
+
+
+coreutils::ZString name
+
+
+coreutils::ZString container
+
+
+coreutils::ZString container2
+
+
+Global & global
+
+
+Tag * parent
+
+
+Tag * local
+
+
+
+bool keywordDefined (coreutils::ZString variable)
+
+
+void parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void copyContainer (coreutils::ZString &in, coreutils::MString &out)
+
+
+void renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier)
+
+
+void storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope)
+
+
+void storeVariable (coreutils::ZString variable)
+
+
+
+bool hasContainer = false
+
+
+bool hasContainer2 = false
+
+
+coreutils::MString & parentOut
+
+
+coreutils::MString out
+
+
+bool output = true
+
+
+bool evaluate = true
+
+
+bool filterBlankLines = false
+
+
+bool trimLines = false
+
+
+bool cleanWhitespace = false
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1____exclude__coll__graph.map b/html/classjet_1_1____exclude__coll__graph.map
new file mode 100644
index 0000000..15cb6d2
--- /dev/null
+++ b/html/classjet_1_1____exclude__coll__graph.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____exclude__coll__graph.md5 b/html/classjet_1_1____exclude__coll__graph.md5
new file mode 100644
index 0000000..1070af6
--- /dev/null
+++ b/html/classjet_1_1____exclude__coll__graph.md5
@@ -0,0 +1 @@
+16aac5bfa2d168bb2867e3ff811e7a68
\ No newline at end of file
diff --git a/html/classjet_1_1____exclude__coll__graph.png b/html/classjet_1_1____exclude__coll__graph.png
new file mode 100644
index 0000000..ee16d23
Binary files /dev/null and b/html/classjet_1_1____exclude__coll__graph.png differ
diff --git a/html/classjet_1_1____exclude__inherit__graph.map b/html/classjet_1_1____exclude__inherit__graph.map
new file mode 100644
index 0000000..0ba9aa5
--- /dev/null
+++ b/html/classjet_1_1____exclude__inherit__graph.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____exclude__inherit__graph.md5 b/html/classjet_1_1____exclude__inherit__graph.md5
new file mode 100644
index 0000000..2cfd05e
--- /dev/null
+++ b/html/classjet_1_1____exclude__inherit__graph.md5
@@ -0,0 +1 @@
+4be1c28d45b3862f9d4552f5e9afa985
\ No newline at end of file
diff --git a/html/classjet_1_1____exclude__inherit__graph.png b/html/classjet_1_1____exclude__inherit__graph.png
new file mode 100644
index 0000000..a0e2340
Binary files /dev/null and b/html/classjet_1_1____exclude__inherit__graph.png differ
diff --git a/html/classjet_1_1____for-members.html b/html/classjet_1_1____for-members.html
new file mode 100644
index 0000000..a6f717d
--- /dev/null
+++ b/html/classjet_1_1____for-members.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::__for , including all inherited members.
+
+ __for (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local) (defined in jet::__for )jet::__for
+ cleanWhitespace (defined in jet::Tag )jet::Tag protected
+ container (defined in jet::Tag )jet::Tag
+ container2 (defined in jet::Tag )jet::Tag
+ copyContainer (coreutils::ZString &in, coreutils::MString &out) (defined in jet::Tag )jet::Tag protected
+ evaluate (defined in jet::Tag )jet::Tag protected
+ filterBlankLines (defined in jet::Tag )jet::Tag protected
+ getVariable (coreutils::ZString &variable, bool inContainer=false) (defined in jet::Tag )jet::Tag
+ global (defined in jet::Tag )jet::Tag
+ hasContainer (defined in jet::Tag )jet::Tag protected
+ hasContainer2 (defined in jet::Tag )jet::Tag protected
+ keywordDefined (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ keywords (defined in jet::Tag )jet::Tag
+ local (defined in jet::Tag )jet::Tag
+ name (defined in jet::Tag )jet::Tag
+ out (defined in jet::Tag )jet::Tag protected
+ output (defined in jet::Tag )jet::Tag protected
+ parent (defined in jet::Tag )jet::Tag
+ parentOut (defined in jet::Tag )jet::Tag protected
+ parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier) (defined in jet::Tag )jet::Tag protected
+ resolveKeyword (coreutils::ZString keyword)jet::Tag
+ storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope) (defined in jet::Tag )jet::Tag protected
+ storeVariable (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="") (defined in jet::Tag )jet::Tag
+ trimLines (defined in jet::Tag )jet::Tag protected
+ variables (defined in jet::Tag )jet::Tag
+ ~Tag ()jet::Tag virtual
+
+
+
+
+
diff --git a/html/classjet_1_1____for.html b/html/classjet_1_1____for.html
new file mode 100644
index 0000000..c1762c4
--- /dev/null
+++ b/html/classjet_1_1____for.html
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+My Project: jet::__for Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+ __for (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local)
+
+
+
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="")
+
+
+virtual ~Tag ()
+ >Constructor
+
+
+coreutils::MString getVariable (coreutils::ZString &variable, bool inContainer=false)
+
+
+coreutils::MString resolveKeyword (coreutils::ZString keyword)
+ >retrieve a vairable value from a text string cotontaining a variable name.
+
+
+
+
+
+std::map< coreutils::MString, coreutils::MString > variables
+
+
+std::map< coreutils::MString, coreutils::MString > keywords
+
+
+coreutils::ZString name
+
+
+coreutils::ZString container
+
+
+coreutils::ZString container2
+
+
+Global & global
+
+
+Tag * parent
+
+
+Tag * local
+
+
+
+bool keywordDefined (coreutils::ZString variable)
+
+
+void parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void copyContainer (coreutils::ZString &in, coreutils::MString &out)
+
+
+void renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier)
+
+
+void storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope)
+
+
+void storeVariable (coreutils::ZString variable)
+
+
+
+bool hasContainer = false
+
+
+bool hasContainer2 = false
+
+
+coreutils::MString & parentOut
+
+
+coreutils::MString out
+
+
+bool output = true
+
+
+bool evaluate = true
+
+
+bool filterBlankLines = false
+
+
+bool trimLines = false
+
+
+bool cleanWhitespace = false
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1____for__coll__graph.map b/html/classjet_1_1____for__coll__graph.map
new file mode 100644
index 0000000..9c4e65d
--- /dev/null
+++ b/html/classjet_1_1____for__coll__graph.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____for__coll__graph.md5 b/html/classjet_1_1____for__coll__graph.md5
new file mode 100644
index 0000000..ecb625c
--- /dev/null
+++ b/html/classjet_1_1____for__coll__graph.md5
@@ -0,0 +1 @@
+32cb90567de1789ffc51aa9640faf7e5
\ No newline at end of file
diff --git a/html/classjet_1_1____for__coll__graph.png b/html/classjet_1_1____for__coll__graph.png
new file mode 100644
index 0000000..7e9bcba
Binary files /dev/null and b/html/classjet_1_1____for__coll__graph.png differ
diff --git a/html/classjet_1_1____for__inherit__graph.map b/html/classjet_1_1____for__inherit__graph.map
new file mode 100644
index 0000000..9b95b23
--- /dev/null
+++ b/html/classjet_1_1____for__inherit__graph.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____for__inherit__graph.md5 b/html/classjet_1_1____for__inherit__graph.md5
new file mode 100644
index 0000000..df9ebc3
--- /dev/null
+++ b/html/classjet_1_1____for__inherit__graph.md5
@@ -0,0 +1 @@
+8477b64419474747ef1208df39eeee21
\ No newline at end of file
diff --git a/html/classjet_1_1____for__inherit__graph.png b/html/classjet_1_1____for__inherit__graph.png
new file mode 100644
index 0000000..9ceb11b
Binary files /dev/null and b/html/classjet_1_1____for__inherit__graph.png differ
diff --git a/html/classjet_1_1____header-members.html b/html/classjet_1_1____header-members.html
new file mode 100644
index 0000000..15c1c12
--- /dev/null
+++ b/html/classjet_1_1____header-members.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::__header , including all inherited members.
+
+ __header (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local) (defined in jet::__header )jet::__header
+ cleanWhitespace (defined in jet::Tag )jet::Tag protected
+ container (defined in jet::Tag )jet::Tag
+ container2 (defined in jet::Tag )jet::Tag
+ copyContainer (coreutils::ZString &in, coreutils::MString &out) (defined in jet::Tag )jet::Tag protected
+ evaluate (defined in jet::Tag )jet::Tag protected
+ filterBlankLines (defined in jet::Tag )jet::Tag protected
+ getVariable (coreutils::ZString &variable, bool inContainer=false) (defined in jet::Tag )jet::Tag
+ global (defined in jet::Tag )jet::Tag
+ hasContainer (defined in jet::Tag )jet::Tag protected
+ hasContainer2 (defined in jet::Tag )jet::Tag protected
+ keywordDefined (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ keywords (defined in jet::Tag )jet::Tag
+ local (defined in jet::Tag )jet::Tag
+ name (defined in jet::Tag )jet::Tag
+ out (defined in jet::Tag )jet::Tag protected
+ output (defined in jet::Tag )jet::Tag protected
+ parent (defined in jet::Tag )jet::Tag
+ parentOut (defined in jet::Tag )jet::Tag protected
+ parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier) (defined in jet::Tag )jet::Tag protected
+ resolveKeyword (coreutils::ZString keyword)jet::Tag
+ storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope) (defined in jet::Tag )jet::Tag protected
+ storeVariable (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="") (defined in jet::Tag )jet::Tag
+ trimLines (defined in jet::Tag )jet::Tag protected
+ variables (defined in jet::Tag )jet::Tag
+ ~Tag ()jet::Tag virtual
+
+
+
+
+
diff --git a/html/classjet_1_1____header.html b/html/classjet_1_1____header.html
new file mode 100644
index 0000000..87733f4
--- /dev/null
+++ b/html/classjet_1_1____header.html
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+My Project: jet::__header Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ __header (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local)
+
+
+
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="")
+
+
+virtual ~Tag ()
+ >Constructor
+
+
+coreutils::MString getVariable (coreutils::ZString &variable, bool inContainer=false)
+
+
+coreutils::MString resolveKeyword (coreutils::ZString keyword)
+ >retrieve a vairable value from a text string cotontaining a variable name.
+
+
+
+
+
+std::map< coreutils::MString, coreutils::MString > variables
+
+
+std::map< coreutils::MString, coreutils::MString > keywords
+
+
+coreutils::ZString name
+
+
+coreutils::ZString container
+
+
+coreutils::ZString container2
+
+
+Global & global
+
+
+Tag * parent
+
+
+Tag * local
+
+
+
+bool keywordDefined (coreutils::ZString variable)
+
+
+void parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void copyContainer (coreutils::ZString &in, coreutils::MString &out)
+
+
+void renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier)
+
+
+void storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope)
+
+
+void storeVariable (coreutils::ZString variable)
+
+
+
+bool hasContainer = false
+
+
+bool hasContainer2 = false
+
+
+coreutils::MString & parentOut
+
+
+coreutils::MString out
+
+
+bool output = true
+
+
+bool evaluate = true
+
+
+bool filterBlankLines = false
+
+
+bool trimLines = false
+
+
+bool cleanWhitespace = false
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1____header__coll__graph.map b/html/classjet_1_1____header__coll__graph.map
new file mode 100644
index 0000000..9ae43dc
--- /dev/null
+++ b/html/classjet_1_1____header__coll__graph.map
@@ -0,0 +1,10 @@
+
diff --git a/html/classjet_1_1____header__coll__graph.md5 b/html/classjet_1_1____header__coll__graph.md5
new file mode 100644
index 0000000..63b893f
--- /dev/null
+++ b/html/classjet_1_1____header__coll__graph.md5
@@ -0,0 +1 @@
+85d1862691b557e1768b5b0148979aad
\ No newline at end of file
diff --git a/html/classjet_1_1____header__coll__graph.png b/html/classjet_1_1____header__coll__graph.png
new file mode 100644
index 0000000..3f1d609
Binary files /dev/null and b/html/classjet_1_1____header__coll__graph.png differ
diff --git a/html/classjet_1_1____header__inherit__graph.map b/html/classjet_1_1____header__inherit__graph.map
new file mode 100644
index 0000000..6eb0a7f
--- /dev/null
+++ b/html/classjet_1_1____header__inherit__graph.map
@@ -0,0 +1,7 @@
+
diff --git a/html/classjet_1_1____header__inherit__graph.md5 b/html/classjet_1_1____header__inherit__graph.md5
new file mode 100644
index 0000000..90974f9
--- /dev/null
+++ b/html/classjet_1_1____header__inherit__graph.md5
@@ -0,0 +1 @@
+4010740e5b4a672ab8a5c5953e656bae
\ No newline at end of file
diff --git a/html/classjet_1_1____header__inherit__graph.png b/html/classjet_1_1____header__inherit__graph.png
new file mode 100644
index 0000000..9e839e8
Binary files /dev/null and b/html/classjet_1_1____header__inherit__graph.png differ
diff --git a/html/classjet_1_1____if-members.html b/html/classjet_1_1____if-members.html
new file mode 100644
index 0000000..1621e64
--- /dev/null
+++ b/html/classjet_1_1____if-members.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::__if , including all inherited members.
+
+ __if (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local) (defined in jet::__if )jet::__if
+ cleanWhitespace (defined in jet::Tag )jet::Tag protected
+ container (defined in jet::Tag )jet::Tag
+ container2 (defined in jet::Tag )jet::Tag
+ copyContainer (coreutils::ZString &in, coreutils::MString &out) (defined in jet::Tag )jet::Tag protected
+ evaluate (defined in jet::Tag )jet::Tag protected
+ filterBlankLines (defined in jet::Tag )jet::Tag protected
+ getVariable (coreutils::ZString &variable, bool inContainer=false) (defined in jet::Tag )jet::Tag
+ global (defined in jet::Tag )jet::Tag
+ hasContainer (defined in jet::Tag )jet::Tag protected
+ hasContainer2 (defined in jet::Tag )jet::Tag protected
+ keywordDefined (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ keywords (defined in jet::Tag )jet::Tag
+ local (defined in jet::Tag )jet::Tag
+ name (defined in jet::Tag )jet::Tag
+ out (defined in jet::Tag )jet::Tag protected
+ output (defined in jet::Tag )jet::Tag protected
+ parent (defined in jet::Tag )jet::Tag
+ parentOut (defined in jet::Tag )jet::Tag protected
+ parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier) (defined in jet::Tag )jet::Tag protected
+ resolveKeyword (coreutils::ZString keyword)jet::Tag
+ storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope) (defined in jet::Tag )jet::Tag protected
+ storeVariable (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="") (defined in jet::Tag )jet::Tag
+ trimLines (defined in jet::Tag )jet::Tag protected
+ variables (defined in jet::Tag )jet::Tag
+ ~Tag ()jet::Tag virtual
+
+
+
+
+
diff --git a/html/classjet_1_1____if.html b/html/classjet_1_1____if.html
new file mode 100644
index 0000000..2ed55bb
--- /dev/null
+++ b/html/classjet_1_1____if.html
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+My Project: jet::__if Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+ __if (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local)
+
+
+
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="")
+
+
+virtual ~Tag ()
+ >Constructor
+
+
+coreutils::MString getVariable (coreutils::ZString &variable, bool inContainer=false)
+
+
+coreutils::MString resolveKeyword (coreutils::ZString keyword)
+ >retrieve a vairable value from a text string cotontaining a variable name.
+
+
+
+
+
+std::map< coreutils::MString, coreutils::MString > variables
+
+
+std::map< coreutils::MString, coreutils::MString > keywords
+
+
+coreutils::ZString name
+
+
+coreutils::ZString container
+
+
+coreutils::ZString container2
+
+
+Global & global
+
+
+Tag * parent
+
+
+Tag * local
+
+
+
+bool keywordDefined (coreutils::ZString variable)
+
+
+void parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void copyContainer (coreutils::ZString &in, coreutils::MString &out)
+
+
+void renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier)
+
+
+void storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope)
+
+
+void storeVariable (coreutils::ZString variable)
+
+
+
+bool hasContainer = false
+
+
+bool hasContainer2 = false
+
+
+coreutils::MString & parentOut
+
+
+coreutils::MString out
+
+
+bool output = true
+
+
+bool evaluate = true
+
+
+bool filterBlankLines = false
+
+
+bool trimLines = false
+
+
+bool cleanWhitespace = false
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1____if__coll__graph.map b/html/classjet_1_1____if__coll__graph.map
new file mode 100644
index 0000000..4ff8e2c
--- /dev/null
+++ b/html/classjet_1_1____if__coll__graph.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____if__coll__graph.md5 b/html/classjet_1_1____if__coll__graph.md5
new file mode 100644
index 0000000..041e217
--- /dev/null
+++ b/html/classjet_1_1____if__coll__graph.md5
@@ -0,0 +1 @@
+8e1d6789ddd4d83b5ce10269dc8ede62
\ No newline at end of file
diff --git a/html/classjet_1_1____if__coll__graph.png b/html/classjet_1_1____if__coll__graph.png
new file mode 100644
index 0000000..49f513a
Binary files /dev/null and b/html/classjet_1_1____if__coll__graph.png differ
diff --git a/html/classjet_1_1____if__inherit__graph.map b/html/classjet_1_1____if__inherit__graph.map
new file mode 100644
index 0000000..ab0aa76
--- /dev/null
+++ b/html/classjet_1_1____if__inherit__graph.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____if__inherit__graph.md5 b/html/classjet_1_1____if__inherit__graph.md5
new file mode 100644
index 0000000..eb076a1
--- /dev/null
+++ b/html/classjet_1_1____if__inherit__graph.md5
@@ -0,0 +1 @@
+16b83febad31c1ce5fd9f9f855b066c5
\ No newline at end of file
diff --git a/html/classjet_1_1____if__inherit__graph.png b/html/classjet_1_1____if__inherit__graph.png
new file mode 100644
index 0000000..2cba06e
Binary files /dev/null and b/html/classjet_1_1____if__inherit__graph.png differ
diff --git a/html/classjet_1_1____ifrow-members.html b/html/classjet_1_1____ifrow-members.html
new file mode 100644
index 0000000..99fbde7
--- /dev/null
+++ b/html/classjet_1_1____ifrow-members.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::__ifrow , including all inherited members.
+
+ __ifrow (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local) (defined in jet::__ifrow )jet::__ifrow
+ cleanWhitespace (defined in jet::Tag )jet::Tag protected
+ container (defined in jet::Tag )jet::Tag
+ container2 (defined in jet::Tag )jet::Tag
+ copyContainer (coreutils::ZString &in, coreutils::MString &out) (defined in jet::Tag )jet::Tag protected
+ evaluate (defined in jet::Tag )jet::Tag protected
+ filterBlankLines (defined in jet::Tag )jet::Tag protected
+ getVariable (coreutils::ZString &variable, bool inContainer=false) (defined in jet::Tag )jet::Tag
+ global (defined in jet::Tag )jet::Tag
+ hasContainer (defined in jet::Tag )jet::Tag protected
+ hasContainer2 (defined in jet::Tag )jet::Tag protected
+ keywordDefined (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ keywords (defined in jet::Tag )jet::Tag
+ local (defined in jet::Tag )jet::Tag
+ name (defined in jet::Tag )jet::Tag
+ out (defined in jet::Tag )jet::Tag protected
+ output (defined in jet::Tag )jet::Tag protected
+ parent (defined in jet::Tag )jet::Tag
+ parentOut (defined in jet::Tag )jet::Tag protected
+ parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier) (defined in jet::Tag )jet::Tag protected
+ resolveKeyword (coreutils::ZString keyword)jet::Tag
+ storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope) (defined in jet::Tag )jet::Tag protected
+ storeVariable (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="") (defined in jet::Tag )jet::Tag
+ trimLines (defined in jet::Tag )jet::Tag protected
+ variables (defined in jet::Tag )jet::Tag
+ ~Tag ()jet::Tag virtual
+
+
+
+
+
diff --git a/html/classjet_1_1____ifrow.html b/html/classjet_1_1____ifrow.html
new file mode 100644
index 0000000..c033dd7
--- /dev/null
+++ b/html/classjet_1_1____ifrow.html
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+My Project: jet::__ifrow Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+ __ifrow (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local)
+
+
+
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="")
+
+
+virtual ~Tag ()
+ >Constructor
+
+
+coreutils::MString getVariable (coreutils::ZString &variable, bool inContainer=false)
+
+
+coreutils::MString resolveKeyword (coreutils::ZString keyword)
+ >retrieve a vairable value from a text string cotontaining a variable name.
+
+
+
+
+
+std::map< coreutils::MString, coreutils::MString > variables
+
+
+std::map< coreutils::MString, coreutils::MString > keywords
+
+
+coreutils::ZString name
+
+
+coreutils::ZString container
+
+
+coreutils::ZString container2
+
+
+Global & global
+
+
+Tag * parent
+
+
+Tag * local
+
+
+
+bool keywordDefined (coreutils::ZString variable)
+
+
+void parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void copyContainer (coreutils::ZString &in, coreutils::MString &out)
+
+
+void renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier)
+
+
+void storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope)
+
+
+void storeVariable (coreutils::ZString variable)
+
+
+
+bool hasContainer = false
+
+
+bool hasContainer2 = false
+
+
+coreutils::MString & parentOut
+
+
+coreutils::MString out
+
+
+bool output = true
+
+
+bool evaluate = true
+
+
+bool filterBlankLines = false
+
+
+bool trimLines = false
+
+
+bool cleanWhitespace = false
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1____ifrow__coll__graph.map b/html/classjet_1_1____ifrow__coll__graph.map
new file mode 100644
index 0000000..0405a49
--- /dev/null
+++ b/html/classjet_1_1____ifrow__coll__graph.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____ifrow__coll__graph.md5 b/html/classjet_1_1____ifrow__coll__graph.md5
new file mode 100644
index 0000000..bc926db
--- /dev/null
+++ b/html/classjet_1_1____ifrow__coll__graph.md5
@@ -0,0 +1 @@
+89c7596dacfee1ef8e3f3bee4b7003bc
\ No newline at end of file
diff --git a/html/classjet_1_1____ifrow__coll__graph.png b/html/classjet_1_1____ifrow__coll__graph.png
new file mode 100644
index 0000000..d2d34de
Binary files /dev/null and b/html/classjet_1_1____ifrow__coll__graph.png differ
diff --git a/html/classjet_1_1____ifrow__inherit__graph.map b/html/classjet_1_1____ifrow__inherit__graph.map
new file mode 100644
index 0000000..9563448
--- /dev/null
+++ b/html/classjet_1_1____ifrow__inherit__graph.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____ifrow__inherit__graph.md5 b/html/classjet_1_1____ifrow__inherit__graph.md5
new file mode 100644
index 0000000..94d041c
--- /dev/null
+++ b/html/classjet_1_1____ifrow__inherit__graph.md5
@@ -0,0 +1 @@
+6057783050929e4522cb2126b001cd34
\ No newline at end of file
diff --git a/html/classjet_1_1____ifrow__inherit__graph.png b/html/classjet_1_1____ifrow__inherit__graph.png
new file mode 100644
index 0000000..b1a8e03
Binary files /dev/null and b/html/classjet_1_1____ifrow__inherit__graph.png differ
diff --git a/html/classjet_1_1____include-members.html b/html/classjet_1_1____include-members.html
new file mode 100644
index 0000000..e9d65d4
--- /dev/null
+++ b/html/classjet_1_1____include-members.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::__include , including all inherited members.
+
+ __include (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local) (defined in jet::__include )jet::__include
+ cleanWhitespace (defined in jet::Tag )jet::Tag protected
+ container (defined in jet::Tag )jet::Tag
+ container2 (defined in jet::Tag )jet::Tag
+ copyContainer (coreutils::ZString &in, coreutils::MString &out) (defined in jet::Tag )jet::Tag protected
+ evaluate (defined in jet::Tag )jet::Tag protected
+ filterBlankLines (defined in jet::Tag )jet::Tag protected
+ getVariable (coreutils::ZString &variable, bool inContainer=false) (defined in jet::Tag )jet::Tag
+ global (defined in jet::Tag )jet::Tag
+ hasContainer (defined in jet::Tag )jet::Tag protected
+ hasContainer2 (defined in jet::Tag )jet::Tag protected
+ keywordDefined (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ keywords (defined in jet::Tag )jet::Tag
+ local (defined in jet::Tag )jet::Tag
+ name (defined in jet::Tag )jet::Tag
+ out (defined in jet::Tag )jet::Tag protected
+ output (defined in jet::Tag )jet::Tag protected
+ parent (defined in jet::Tag )jet::Tag
+ parentOut (defined in jet::Tag )jet::Tag protected
+ parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier) (defined in jet::Tag )jet::Tag protected
+ resolveKeyword (coreutils::ZString keyword)jet::Tag
+ storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope) (defined in jet::Tag )jet::Tag protected
+ storeVariable (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="") (defined in jet::Tag )jet::Tag
+ trimLines (defined in jet::Tag )jet::Tag protected
+ variables (defined in jet::Tag )jet::Tag
+ ~Tag ()jet::Tag virtual
+
+
+
+
+
diff --git a/html/classjet_1_1____include.html b/html/classjet_1_1____include.html
new file mode 100644
index 0000000..6fe8fc1
--- /dev/null
+++ b/html/classjet_1_1____include.html
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+My Project: jet::__include Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+ __include (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local)
+
+
+
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="")
+
+
+virtual ~Tag ()
+ >Constructor
+
+
+coreutils::MString getVariable (coreutils::ZString &variable, bool inContainer=false)
+
+
+coreutils::MString resolveKeyword (coreutils::ZString keyword)
+ >retrieve a vairable value from a text string cotontaining a variable name.
+
+
+
+
+
+std::map< coreutils::MString, coreutils::MString > variables
+
+
+std::map< coreutils::MString, coreutils::MString > keywords
+
+
+coreutils::ZString name
+
+
+coreutils::ZString container
+
+
+coreutils::ZString container2
+
+
+Global & global
+
+
+Tag * parent
+
+
+Tag * local
+
+
+
+bool keywordDefined (coreutils::ZString variable)
+
+
+void parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void copyContainer (coreutils::ZString &in, coreutils::MString &out)
+
+
+void renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier)
+
+
+void storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope)
+
+
+void storeVariable (coreutils::ZString variable)
+
+
+
+bool hasContainer = false
+
+
+bool hasContainer2 = false
+
+
+coreutils::MString & parentOut
+
+
+coreutils::MString out
+
+
+bool output = true
+
+
+bool evaluate = true
+
+
+bool filterBlankLines = false
+
+
+bool trimLines = false
+
+
+bool cleanWhitespace = false
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1____include__coll__graph.map b/html/classjet_1_1____include__coll__graph.map
new file mode 100644
index 0000000..0e5e793
--- /dev/null
+++ b/html/classjet_1_1____include__coll__graph.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____include__coll__graph.md5 b/html/classjet_1_1____include__coll__graph.md5
new file mode 100644
index 0000000..ed79072
--- /dev/null
+++ b/html/classjet_1_1____include__coll__graph.md5
@@ -0,0 +1 @@
+6fab3d5916ba402fca455d8688ad6e24
\ No newline at end of file
diff --git a/html/classjet_1_1____include__coll__graph.png b/html/classjet_1_1____include__coll__graph.png
new file mode 100644
index 0000000..4e57808
Binary files /dev/null and b/html/classjet_1_1____include__coll__graph.png differ
diff --git a/html/classjet_1_1____include__inherit__graph.map b/html/classjet_1_1____include__inherit__graph.map
new file mode 100644
index 0000000..8bc4872
--- /dev/null
+++ b/html/classjet_1_1____include__inherit__graph.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____include__inherit__graph.md5 b/html/classjet_1_1____include__inherit__graph.md5
new file mode 100644
index 0000000..35270f7
--- /dev/null
+++ b/html/classjet_1_1____include__inherit__graph.md5
@@ -0,0 +1 @@
+dd93ad639a0457336213d896370527e9
\ No newline at end of file
diff --git a/html/classjet_1_1____include__inherit__graph.png b/html/classjet_1_1____include__inherit__graph.png
new file mode 100644
index 0000000..c34fff8
Binary files /dev/null and b/html/classjet_1_1____include__inherit__graph.png differ
diff --git a/html/classjet_1_1____jet-members.html b/html/classjet_1_1____jet-members.html
new file mode 100644
index 0000000..eeaf597
--- /dev/null
+++ b/html/classjet_1_1____jet-members.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::__jet , including all inherited members.
+
+ __jet (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local) (defined in jet::__jet )jet::__jet
+ cleanWhitespace (defined in jet::Tag )jet::Tag protected
+ container (defined in jet::Tag )jet::Tag
+ container2 (defined in jet::Tag )jet::Tag
+ copyContainer (coreutils::ZString &in, coreutils::MString &out) (defined in jet::Tag )jet::Tag protected
+ evaluate (defined in jet::Tag )jet::Tag protected
+ filterBlankLines (defined in jet::Tag )jet::Tag protected
+ getVariable (coreutils::ZString &variable, bool inContainer=false) (defined in jet::Tag )jet::Tag
+ global (defined in jet::Tag )jet::Tag
+ hasContainer (defined in jet::Tag )jet::Tag protected
+ hasContainer2 (defined in jet::Tag )jet::Tag protected
+ keywordDefined (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ keywords (defined in jet::Tag )jet::Tag
+ local (defined in jet::Tag )jet::Tag
+ name (defined in jet::Tag )jet::Tag
+ out (defined in jet::Tag )jet::Tag protected
+ output (defined in jet::Tag )jet::Tag protected
+ parent (defined in jet::Tag )jet::Tag
+ parentOut (defined in jet::Tag )jet::Tag protected
+ parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier) (defined in jet::Tag )jet::Tag protected
+ resolveKeyword (coreutils::ZString keyword)jet::Tag
+ storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope) (defined in jet::Tag )jet::Tag protected
+ storeVariable (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="") (defined in jet::Tag )jet::Tag
+ trimLines (defined in jet::Tag )jet::Tag protected
+ variables (defined in jet::Tag )jet::Tag
+ ~Tag ()jet::Tag virtual
+
+
+
+
+
diff --git a/html/classjet_1_1____jet.html b/html/classjet_1_1____jet.html
new file mode 100644
index 0000000..44ae9d4
--- /dev/null
+++ b/html/classjet_1_1____jet.html
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+My Project: jet::__jet Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+ __jet (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local)
+
+
+
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="")
+
+
+virtual ~Tag ()
+ >Constructor
+
+
+coreutils::MString getVariable (coreutils::ZString &variable, bool inContainer=false)
+
+
+coreutils::MString resolveKeyword (coreutils::ZString keyword)
+ >retrieve a vairable value from a text string cotontaining a variable name.
+
+
+
+
+
+std::map< coreutils::MString, coreutils::MString > variables
+
+
+std::map< coreutils::MString, coreutils::MString > keywords
+
+
+coreutils::ZString name
+
+
+coreutils::ZString container
+
+
+coreutils::ZString container2
+
+
+Global & global
+
+
+Tag * parent
+
+
+Tag * local
+
+
+
+bool keywordDefined (coreutils::ZString variable)
+
+
+void parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void copyContainer (coreutils::ZString &in, coreutils::MString &out)
+
+
+void renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier)
+
+
+void storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope)
+
+
+void storeVariable (coreutils::ZString variable)
+
+
+
+bool hasContainer = false
+
+
+bool hasContainer2 = false
+
+
+coreutils::MString & parentOut
+
+
+coreutils::MString out
+
+
+bool output = true
+
+
+bool evaluate = true
+
+
+bool filterBlankLines = false
+
+
+bool trimLines = false
+
+
+bool cleanWhitespace = false
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1____jet__coll__graph.map b/html/classjet_1_1____jet__coll__graph.map
new file mode 100644
index 0000000..ac5ac5f
--- /dev/null
+++ b/html/classjet_1_1____jet__coll__graph.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____jet__coll__graph.md5 b/html/classjet_1_1____jet__coll__graph.md5
new file mode 100644
index 0000000..1f238e1
--- /dev/null
+++ b/html/classjet_1_1____jet__coll__graph.md5
@@ -0,0 +1 @@
+782e5690f0aa4d558e1293e3334d1b70
\ No newline at end of file
diff --git a/html/classjet_1_1____jet__coll__graph.png b/html/classjet_1_1____jet__coll__graph.png
new file mode 100644
index 0000000..96a745a
Binary files /dev/null and b/html/classjet_1_1____jet__coll__graph.png differ
diff --git a/html/classjet_1_1____jet__inherit__graph.map b/html/classjet_1_1____jet__inherit__graph.map
new file mode 100644
index 0000000..8b68dee
--- /dev/null
+++ b/html/classjet_1_1____jet__inherit__graph.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____jet__inherit__graph.md5 b/html/classjet_1_1____jet__inherit__graph.md5
new file mode 100644
index 0000000..cb01f32
--- /dev/null
+++ b/html/classjet_1_1____jet__inherit__graph.md5
@@ -0,0 +1 @@
+c53a650ad641398f3a4060a04183e9a6
\ No newline at end of file
diff --git a/html/classjet_1_1____jet__inherit__graph.png b/html/classjet_1_1____jet__inherit__graph.png
new file mode 100644
index 0000000..bc54a03
Binary files /dev/null and b/html/classjet_1_1____jet__inherit__graph.png differ
diff --git a/html/classjet_1_1____mysql-members.html b/html/classjet_1_1____mysql-members.html
new file mode 100644
index 0000000..0e07cc2
--- /dev/null
+++ b/html/classjet_1_1____mysql-members.html
@@ -0,0 +1,122 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::__mysql , including all inherited members.
+
+ __mysql (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local) (defined in jet::__mysql )jet::__mysql
+ cleanWhitespace (defined in jet::Tag )jet::Tag protected
+ container (defined in jet::Tag )jet::Tag
+ container2 (defined in jet::Tag )jet::Tag
+ copyContainer (coreutils::ZString &in, coreutils::MString &out) (defined in jet::Tag )jet::Tag protected
+ evaluate (defined in jet::Tag )jet::Tag protected
+ filterBlankLines (defined in jet::Tag )jet::Tag protected
+ getColumnValue (coreutils::ZString column) (defined in jet::__mysql )jet::__mysql
+ getVariable (coreutils::ZString &variable, bool inContainer=false) (defined in jet::Tag )jet::Tag
+ global (defined in jet::Tag )jet::Tag
+ hasContainer (defined in jet::Tag )jet::Tag protected
+ hasContainer2 (defined in jet::Tag )jet::Tag protected
+ hasRow () (defined in jet::__mysql )jet::__mysql
+ keywordDefined (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ keywords (defined in jet::Tag )jet::Tag
+ local (defined in jet::Tag )jet::Tag
+ name (defined in jet::Tag )jet::Tag
+ nextRow () (defined in jet::__mysql )jet::__mysql
+ out (defined in jet::Tag )jet::Tag protected
+ output (defined in jet::Tag )jet::Tag protected
+ parent (defined in jet::Tag )jet::Tag
+ parentOut (defined in jet::Tag )jet::Tag protected
+ parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ query (coreutils::MString query) (defined in jet::__mysql )jet::__mysql
+ renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier) (defined in jet::Tag )jet::Tag protected
+ resolveKeyword (coreutils::ZString keyword)jet::Tag
+ storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope) (defined in jet::Tag )jet::Tag protected
+ storeVariable (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="") (defined in jet::Tag )jet::Tag
+ trimLines (defined in jet::Tag )jet::Tag protected
+ variables (defined in jet::Tag )jet::Tag
+ ~__mysql () (defined in jet::__mysql )jet::__mysql
+ ~Tag ()jet::Tag virtual
+
+
+
+
+
diff --git a/html/classjet_1_1____mysql.html b/html/classjet_1_1____mysql.html
new file mode 100644
index 0000000..c92f369
--- /dev/null
+++ b/html/classjet_1_1____mysql.html
@@ -0,0 +1,231 @@
+
+
+
+
+
+
+
+My Project: jet::__mysql Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+ __mysql (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local)
+
+
+void query (coreutils::MString query)
+
+
+void nextRow ()
+
+
+bool hasRow ()
+
+
+coreutils::ZString getColumnValue (coreutils::ZString column)
+
+
+
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="")
+
+
+virtual ~Tag ()
+ >Constructor
+
+
+coreutils::MString getVariable (coreutils::ZString &variable, bool inContainer=false)
+
+
+coreutils::MString resolveKeyword (coreutils::ZString keyword)
+ >retrieve a vairable value from a text string cotontaining a variable name.
+
+
+
+
+
+std::map< coreutils::MString, coreutils::MString > variables
+
+
+std::map< coreutils::MString, coreutils::MString > keywords
+
+
+coreutils::ZString name
+
+
+coreutils::ZString container
+
+
+coreutils::ZString container2
+
+
+Global & global
+
+
+Tag * parent
+
+
+Tag * local
+
+
+
+bool keywordDefined (coreutils::ZString variable)
+
+
+void parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void copyContainer (coreutils::ZString &in, coreutils::MString &out)
+
+
+void renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier)
+
+
+void storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope)
+
+
+void storeVariable (coreutils::ZString variable)
+
+
+
+bool hasContainer = false
+
+
+bool hasContainer2 = false
+
+
+coreutils::MString & parentOut
+
+
+coreutils::MString out
+
+
+bool output = true
+
+
+bool evaluate = true
+
+
+bool filterBlankLines = false
+
+
+bool trimLines = false
+
+
+bool cleanWhitespace = false
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1____mysql__coll__graph.map b/html/classjet_1_1____mysql__coll__graph.map
new file mode 100644
index 0000000..4a435c6
--- /dev/null
+++ b/html/classjet_1_1____mysql__coll__graph.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____mysql__coll__graph.md5 b/html/classjet_1_1____mysql__coll__graph.md5
new file mode 100644
index 0000000..64bfdc3
--- /dev/null
+++ b/html/classjet_1_1____mysql__coll__graph.md5
@@ -0,0 +1 @@
+2eb8a6b13c6d9332be80cdfb3cfb63c9
\ No newline at end of file
diff --git a/html/classjet_1_1____mysql__coll__graph.png b/html/classjet_1_1____mysql__coll__graph.png
new file mode 100644
index 0000000..22f2e71
Binary files /dev/null and b/html/classjet_1_1____mysql__coll__graph.png differ
diff --git a/html/classjet_1_1____mysql__inherit__graph.map b/html/classjet_1_1____mysql__inherit__graph.map
new file mode 100644
index 0000000..32beb29
--- /dev/null
+++ b/html/classjet_1_1____mysql__inherit__graph.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____mysql__inherit__graph.md5 b/html/classjet_1_1____mysql__inherit__graph.md5
new file mode 100644
index 0000000..cdc258a
--- /dev/null
+++ b/html/classjet_1_1____mysql__inherit__graph.md5
@@ -0,0 +1 @@
+cd2566a7a5baf4a58d193abbbc4b45c0
\ No newline at end of file
diff --git a/html/classjet_1_1____mysql__inherit__graph.png b/html/classjet_1_1____mysql__inherit__graph.png
new file mode 100644
index 0000000..5e15ac1
Binary files /dev/null and b/html/classjet_1_1____mysql__inherit__graph.png differ
diff --git a/html/classjet_1_1____read-members.html b/html/classjet_1_1____read-members.html
new file mode 100644
index 0000000..2a5246f
--- /dev/null
+++ b/html/classjet_1_1____read-members.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::__read , including all inherited members.
+
+ __read (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local) (defined in jet::__read )jet::__read
+ cleanWhitespace (defined in jet::Tag )jet::Tag protected
+ container (defined in jet::Tag )jet::Tag
+ container2 (defined in jet::Tag )jet::Tag
+ copyContainer (coreutils::ZString &in, coreutils::MString &out) (defined in jet::Tag )jet::Tag protected
+ evaluate (defined in jet::Tag )jet::Tag protected
+ filterBlankLines (defined in jet::Tag )jet::Tag protected
+ getVariable (coreutils::ZString &variable, bool inContainer=false) (defined in jet::Tag )jet::Tag
+ global (defined in jet::Tag )jet::Tag
+ hasContainer (defined in jet::Tag )jet::Tag protected
+ hasContainer2 (defined in jet::Tag )jet::Tag protected
+ keywordDefined (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ keywords (defined in jet::Tag )jet::Tag
+ local (defined in jet::Tag )jet::Tag
+ name (defined in jet::Tag )jet::Tag
+ out (defined in jet::Tag )jet::Tag protected
+ output (defined in jet::Tag )jet::Tag protected
+ parent (defined in jet::Tag )jet::Tag
+ parentOut (defined in jet::Tag )jet::Tag protected
+ parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier) (defined in jet::Tag )jet::Tag protected
+ resolveKeyword (coreutils::ZString keyword)jet::Tag
+ storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope) (defined in jet::Tag )jet::Tag protected
+ storeVariable (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="") (defined in jet::Tag )jet::Tag
+ trimLines (defined in jet::Tag )jet::Tag protected
+ variables (defined in jet::Tag )jet::Tag
+ ~Tag ()jet::Tag virtual
+
+
+
+
+
diff --git a/html/classjet_1_1____read.html b/html/classjet_1_1____read.html
new file mode 100644
index 0000000..d384521
--- /dev/null
+++ b/html/classjet_1_1____read.html
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+My Project: jet::__read Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+ __read (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local)
+
+
+
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="")
+
+
+virtual ~Tag ()
+ >Constructor
+
+
+coreutils::MString getVariable (coreutils::ZString &variable, bool inContainer=false)
+
+
+coreutils::MString resolveKeyword (coreutils::ZString keyword)
+ >retrieve a vairable value from a text string cotontaining a variable name.
+
+
+
+
+
+std::map< coreutils::MString, coreutils::MString > variables
+
+
+std::map< coreutils::MString, coreutils::MString > keywords
+
+
+coreutils::ZString name
+
+
+coreutils::ZString container
+
+
+coreutils::ZString container2
+
+
+Global & global
+
+
+Tag * parent
+
+
+Tag * local
+
+
+
+bool keywordDefined (coreutils::ZString variable)
+
+
+void parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void copyContainer (coreutils::ZString &in, coreutils::MString &out)
+
+
+void renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier)
+
+
+void storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope)
+
+
+void storeVariable (coreutils::ZString variable)
+
+
+
+bool hasContainer = false
+
+
+bool hasContainer2 = false
+
+
+coreutils::MString & parentOut
+
+
+coreutils::MString out
+
+
+bool output = true
+
+
+bool evaluate = true
+
+
+bool filterBlankLines = false
+
+
+bool trimLines = false
+
+
+bool cleanWhitespace = false
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1____read__coll__graph.map b/html/classjet_1_1____read__coll__graph.map
new file mode 100644
index 0000000..3ba5fcd
--- /dev/null
+++ b/html/classjet_1_1____read__coll__graph.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____read__coll__graph.md5 b/html/classjet_1_1____read__coll__graph.md5
new file mode 100644
index 0000000..a0d661a
--- /dev/null
+++ b/html/classjet_1_1____read__coll__graph.md5
@@ -0,0 +1 @@
+c1e597488159e633a9f1fe26da2884b3
\ No newline at end of file
diff --git a/html/classjet_1_1____read__coll__graph.png b/html/classjet_1_1____read__coll__graph.png
new file mode 100644
index 0000000..5d6465c
Binary files /dev/null and b/html/classjet_1_1____read__coll__graph.png differ
diff --git a/html/classjet_1_1____read__inherit__graph.map b/html/classjet_1_1____read__inherit__graph.map
new file mode 100644
index 0000000..9942483
--- /dev/null
+++ b/html/classjet_1_1____read__inherit__graph.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____read__inherit__graph.md5 b/html/classjet_1_1____read__inherit__graph.md5
new file mode 100644
index 0000000..a644b4d
--- /dev/null
+++ b/html/classjet_1_1____read__inherit__graph.md5
@@ -0,0 +1 @@
+ba39cfdfa5d72d13195a57e239e2aeb5
\ No newline at end of file
diff --git a/html/classjet_1_1____read__inherit__graph.png b/html/classjet_1_1____read__inherit__graph.png
new file mode 100644
index 0000000..be8587d
Binary files /dev/null and b/html/classjet_1_1____read__inherit__graph.png differ
diff --git a/html/classjet_1_1____set-members.html b/html/classjet_1_1____set-members.html
new file mode 100644
index 0000000..14d4f20
--- /dev/null
+++ b/html/classjet_1_1____set-members.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::__set , including all inherited members.
+
+ __set (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local) (defined in jet::__set )jet::__set
+ cleanWhitespace (defined in jet::Tag )jet::Tag protected
+ container (defined in jet::Tag )jet::Tag
+ container2 (defined in jet::Tag )jet::Tag
+ copyContainer (coreutils::ZString &in, coreutils::MString &out) (defined in jet::Tag )jet::Tag protected
+ evaluate (defined in jet::Tag )jet::Tag protected
+ filterBlankLines (defined in jet::Tag )jet::Tag protected
+ getVariable (coreutils::ZString &variable, bool inContainer=false) (defined in jet::Tag )jet::Tag
+ global (defined in jet::Tag )jet::Tag
+ hasContainer (defined in jet::Tag )jet::Tag protected
+ hasContainer2 (defined in jet::Tag )jet::Tag protected
+ keywordDefined (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ keywords (defined in jet::Tag )jet::Tag
+ local (defined in jet::Tag )jet::Tag
+ name (defined in jet::Tag )jet::Tag
+ out (defined in jet::Tag )jet::Tag protected
+ output (defined in jet::Tag )jet::Tag protected
+ parent (defined in jet::Tag )jet::Tag
+ parentOut (defined in jet::Tag )jet::Tag protected
+ parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier) (defined in jet::Tag )jet::Tag protected
+ resolveKeyword (coreutils::ZString keyword)jet::Tag
+ storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope) (defined in jet::Tag )jet::Tag protected
+ storeVariable (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="") (defined in jet::Tag )jet::Tag
+ trimLines (defined in jet::Tag )jet::Tag protected
+ variables (defined in jet::Tag )jet::Tag
+ ~Tag ()jet::Tag virtual
+
+
+
+
+
diff --git a/html/classjet_1_1____set.html b/html/classjet_1_1____set.html
new file mode 100644
index 0000000..8240896
--- /dev/null
+++ b/html/classjet_1_1____set.html
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+My Project: jet::__set Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+ __set (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local)
+
+
+
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="")
+
+
+virtual ~Tag ()
+ >Constructor
+
+
+coreutils::MString getVariable (coreutils::ZString &variable, bool inContainer=false)
+
+
+coreutils::MString resolveKeyword (coreutils::ZString keyword)
+ >retrieve a vairable value from a text string cotontaining a variable name.
+
+
+
+
+
+std::map< coreutils::MString, coreutils::MString > variables
+
+
+std::map< coreutils::MString, coreutils::MString > keywords
+
+
+coreutils::ZString name
+
+
+coreutils::ZString container
+
+
+coreutils::ZString container2
+
+
+Global & global
+
+
+Tag * parent
+
+
+Tag * local
+
+
+
+bool keywordDefined (coreutils::ZString variable)
+
+
+void parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void copyContainer (coreutils::ZString &in, coreutils::MString &out)
+
+
+void renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier)
+
+
+void storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope)
+
+
+void storeVariable (coreutils::ZString variable)
+
+
+
+bool hasContainer = false
+
+
+bool hasContainer2 = false
+
+
+coreutils::MString & parentOut
+
+
+coreutils::MString out
+
+
+bool output = true
+
+
+bool evaluate = true
+
+
+bool filterBlankLines = false
+
+
+bool trimLines = false
+
+
+bool cleanWhitespace = false
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1____set__coll__graph.map b/html/classjet_1_1____set__coll__graph.map
new file mode 100644
index 0000000..4bb039c
--- /dev/null
+++ b/html/classjet_1_1____set__coll__graph.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____set__coll__graph.md5 b/html/classjet_1_1____set__coll__graph.md5
new file mode 100644
index 0000000..d6bf222
--- /dev/null
+++ b/html/classjet_1_1____set__coll__graph.md5
@@ -0,0 +1 @@
+c05d569265860ac3e7aec50bbd8fdaf6
\ No newline at end of file
diff --git a/html/classjet_1_1____set__coll__graph.png b/html/classjet_1_1____set__coll__graph.png
new file mode 100644
index 0000000..3093c40
Binary files /dev/null and b/html/classjet_1_1____set__coll__graph.png differ
diff --git a/html/classjet_1_1____set__inherit__graph.map b/html/classjet_1_1____set__inherit__graph.map
new file mode 100644
index 0000000..0c2f27e
--- /dev/null
+++ b/html/classjet_1_1____set__inherit__graph.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____set__inherit__graph.md5 b/html/classjet_1_1____set__inherit__graph.md5
new file mode 100644
index 0000000..3ab341e
--- /dev/null
+++ b/html/classjet_1_1____set__inherit__graph.md5
@@ -0,0 +1 @@
+a3cb8fc7309caad3f04645bf59a0d26b
\ No newline at end of file
diff --git a/html/classjet_1_1____set__inherit__graph.png b/html/classjet_1_1____set__inherit__graph.png
new file mode 100644
index 0000000..05eb4ed
Binary files /dev/null and b/html/classjet_1_1____set__inherit__graph.png differ
diff --git a/html/classjet_1_1____sql-members.html b/html/classjet_1_1____sql-members.html
new file mode 100644
index 0000000..3b50470
--- /dev/null
+++ b/html/classjet_1_1____sql-members.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::__sql , including all inherited members.
+
+ __sql (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local) (defined in jet::__sql )jet::__sql
+ cleanWhitespace (defined in jet::Tag )jet::Tag protected
+ container (defined in jet::Tag )jet::Tag
+ container2 (defined in jet::Tag )jet::Tag
+ copyContainer (coreutils::ZString &in, coreutils::MString &out) (defined in jet::Tag )jet::Tag protected
+ evaluate (defined in jet::Tag )jet::Tag protected
+ filterBlankLines (defined in jet::Tag )jet::Tag protected
+ getVariable (coreutils::ZString &variable, bool inContainer=false) (defined in jet::Tag )jet::Tag
+ global (defined in jet::Tag )jet::Tag
+ hasContainer (defined in jet::Tag )jet::Tag protected
+ hasContainer2 (defined in jet::Tag )jet::Tag protected
+ keywordDefined (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ keywords (defined in jet::Tag )jet::Tag
+ local (defined in jet::Tag )jet::Tag
+ name (defined in jet::Tag )jet::Tag
+ out (defined in jet::Tag )jet::Tag protected
+ output (defined in jet::Tag )jet::Tag protected
+ parent (defined in jet::Tag )jet::Tag
+ parentOut (defined in jet::Tag )jet::Tag protected
+ parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier) (defined in jet::Tag )jet::Tag protected
+ resolveKeyword (coreutils::ZString keyword)jet::Tag
+ storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope) (defined in jet::Tag )jet::Tag protected
+ storeVariable (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="") (defined in jet::Tag )jet::Tag
+ trimLines (defined in jet::Tag )jet::Tag protected
+ variables (defined in jet::Tag )jet::Tag
+ ~Tag ()jet::Tag virtual
+
+
+
+
+
diff --git a/html/classjet_1_1____sql.html b/html/classjet_1_1____sql.html
new file mode 100644
index 0000000..6696057
--- /dev/null
+++ b/html/classjet_1_1____sql.html
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+My Project: jet::__sql Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+ __sql (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local)
+
+
+
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="")
+
+
+virtual ~Tag ()
+ >Constructor
+
+
+coreutils::MString getVariable (coreutils::ZString &variable, bool inContainer=false)
+
+
+coreutils::MString resolveKeyword (coreutils::ZString keyword)
+ >retrieve a vairable value from a text string cotontaining a variable name.
+
+
+
+
+
+std::map< coreutils::MString, coreutils::MString > variables
+
+
+std::map< coreutils::MString, coreutils::MString > keywords
+
+
+coreutils::ZString name
+
+
+coreutils::ZString container
+
+
+coreutils::ZString container2
+
+
+Global & global
+
+
+Tag * parent
+
+
+Tag * local
+
+
+
+bool keywordDefined (coreutils::ZString variable)
+
+
+void parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void copyContainer (coreutils::ZString &in, coreutils::MString &out)
+
+
+void renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier)
+
+
+void storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope)
+
+
+void storeVariable (coreutils::ZString variable)
+
+
+
+bool hasContainer = false
+
+
+bool hasContainer2 = false
+
+
+coreutils::MString & parentOut
+
+
+coreutils::MString out
+
+
+bool output = true
+
+
+bool evaluate = true
+
+
+bool filterBlankLines = false
+
+
+bool trimLines = false
+
+
+bool cleanWhitespace = false
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1____sql__coll__graph.map b/html/classjet_1_1____sql__coll__graph.map
new file mode 100644
index 0000000..4301b68
--- /dev/null
+++ b/html/classjet_1_1____sql__coll__graph.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____sql__coll__graph.md5 b/html/classjet_1_1____sql__coll__graph.md5
new file mode 100644
index 0000000..e1b1310
--- /dev/null
+++ b/html/classjet_1_1____sql__coll__graph.md5
@@ -0,0 +1 @@
+5488ed3f737ebb6d5df3714b6fe51a43
\ No newline at end of file
diff --git a/html/classjet_1_1____sql__coll__graph.png b/html/classjet_1_1____sql__coll__graph.png
new file mode 100644
index 0000000..b9e0439
Binary files /dev/null and b/html/classjet_1_1____sql__coll__graph.png differ
diff --git a/html/classjet_1_1____sql__inherit__graph.map b/html/classjet_1_1____sql__inherit__graph.map
new file mode 100644
index 0000000..41a7dd0
--- /dev/null
+++ b/html/classjet_1_1____sql__inherit__graph.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____sql__inherit__graph.md5 b/html/classjet_1_1____sql__inherit__graph.md5
new file mode 100644
index 0000000..28b5e27
--- /dev/null
+++ b/html/classjet_1_1____sql__inherit__graph.md5
@@ -0,0 +1 @@
+320e2ce31a245d1eab1e47c6a0939ab5
\ No newline at end of file
diff --git a/html/classjet_1_1____sql__inherit__graph.png b/html/classjet_1_1____sql__inherit__graph.png
new file mode 100644
index 0000000..8ad67d5
Binary files /dev/null and b/html/classjet_1_1____sql__inherit__graph.png differ
diff --git a/html/classjet_1_1____stream-members.html b/html/classjet_1_1____stream-members.html
new file mode 100644
index 0000000..00c463e
--- /dev/null
+++ b/html/classjet_1_1____stream-members.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::__stream , including all inherited members.
+
+ __stream (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local) (defined in jet::__stream )jet::__stream
+ cleanWhitespace (defined in jet::Tag )jet::Tag protected
+ container (defined in jet::Tag )jet::Tag
+ container2 (defined in jet::Tag )jet::Tag
+ copyContainer (coreutils::ZString &in, coreutils::MString &out) (defined in jet::Tag )jet::Tag protected
+ evaluate (defined in jet::Tag )jet::Tag protected
+ filterBlankLines (defined in jet::Tag )jet::Tag protected
+ getVariable (coreutils::ZString &variable, bool inContainer=false) (defined in jet::Tag )jet::Tag
+ global (defined in jet::Tag )jet::Tag
+ hasContainer (defined in jet::Tag )jet::Tag protected
+ hasContainer2 (defined in jet::Tag )jet::Tag protected
+ keywordDefined (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ keywords (defined in jet::Tag )jet::Tag
+ local (defined in jet::Tag )jet::Tag
+ name (defined in jet::Tag )jet::Tag
+ out (defined in jet::Tag )jet::Tag protected
+ output (defined in jet::Tag )jet::Tag protected
+ parent (defined in jet::Tag )jet::Tag
+ parentOut (defined in jet::Tag )jet::Tag protected
+ parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier) (defined in jet::Tag )jet::Tag protected
+ resolveKeyword (coreutils::ZString keyword)jet::Tag
+ storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope) (defined in jet::Tag )jet::Tag protected
+ storeVariable (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="") (defined in jet::Tag )jet::Tag
+ trimLines (defined in jet::Tag )jet::Tag protected
+ variables (defined in jet::Tag )jet::Tag
+ ~Tag ()jet::Tag virtual
+
+
+
+
+
diff --git a/html/classjet_1_1____stream.html b/html/classjet_1_1____stream.html
new file mode 100644
index 0000000..a539a2d
--- /dev/null
+++ b/html/classjet_1_1____stream.html
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+My Project: jet::__stream Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+ __stream (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local)
+
+
+
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="")
+
+
+virtual ~Tag ()
+ >Constructor
+
+
+coreutils::MString getVariable (coreutils::ZString &variable, bool inContainer=false)
+
+
+coreutils::MString resolveKeyword (coreutils::ZString keyword)
+ >retrieve a vairable value from a text string cotontaining a variable name.
+
+
+
+
+
+std::map< coreutils::MString, coreutils::MString > variables
+
+
+std::map< coreutils::MString, coreutils::MString > keywords
+
+
+coreutils::ZString name
+
+
+coreutils::ZString container
+
+
+coreutils::ZString container2
+
+
+Global & global
+
+
+Tag * parent
+
+
+Tag * local
+
+
+
+bool keywordDefined (coreutils::ZString variable)
+
+
+void parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void copyContainer (coreutils::ZString &in, coreutils::MString &out)
+
+
+void renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier)
+
+
+void storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope)
+
+
+void storeVariable (coreutils::ZString variable)
+
+
+
+bool hasContainer = false
+
+
+bool hasContainer2 = false
+
+
+coreutils::MString & parentOut
+
+
+coreutils::MString out
+
+
+bool output = true
+
+
+bool evaluate = true
+
+
+bool filterBlankLines = false
+
+
+bool trimLines = false
+
+
+bool cleanWhitespace = false
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1____stream__coll__graph.map b/html/classjet_1_1____stream__coll__graph.map
new file mode 100644
index 0000000..ff548a2
--- /dev/null
+++ b/html/classjet_1_1____stream__coll__graph.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____stream__coll__graph.md5 b/html/classjet_1_1____stream__coll__graph.md5
new file mode 100644
index 0000000..b5f26ac
--- /dev/null
+++ b/html/classjet_1_1____stream__coll__graph.md5
@@ -0,0 +1 @@
+2dd91a8a81a844190a15db21fe095195
\ No newline at end of file
diff --git a/html/classjet_1_1____stream__coll__graph.png b/html/classjet_1_1____stream__coll__graph.png
new file mode 100644
index 0000000..09cc350
Binary files /dev/null and b/html/classjet_1_1____stream__coll__graph.png differ
diff --git a/html/classjet_1_1____stream__inherit__graph.map b/html/classjet_1_1____stream__inherit__graph.map
new file mode 100644
index 0000000..043a601
--- /dev/null
+++ b/html/classjet_1_1____stream__inherit__graph.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____stream__inherit__graph.md5 b/html/classjet_1_1____stream__inherit__graph.md5
new file mode 100644
index 0000000..61aca2e
--- /dev/null
+++ b/html/classjet_1_1____stream__inherit__graph.md5
@@ -0,0 +1 @@
+86da6ac7808b1abee7ae58bce5fb7098
\ No newline at end of file
diff --git a/html/classjet_1_1____stream__inherit__graph.png b/html/classjet_1_1____stream__inherit__graph.png
new file mode 100644
index 0000000..847bf30
Binary files /dev/null and b/html/classjet_1_1____stream__inherit__graph.png differ
diff --git a/html/classjet_1_1____system-members.html b/html/classjet_1_1____system-members.html
new file mode 100644
index 0000000..3843337
--- /dev/null
+++ b/html/classjet_1_1____system-members.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::__system , including all inherited members.
+
+ __system (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local) (defined in jet::__system )jet::__system
+ cleanWhitespace (defined in jet::Tag )jet::Tag protected
+ container (defined in jet::Tag )jet::Tag
+ container2 (defined in jet::Tag )jet::Tag
+ copyContainer (coreutils::ZString &in, coreutils::MString &out) (defined in jet::Tag )jet::Tag protected
+ evaluate (defined in jet::Tag )jet::Tag protected
+ filterBlankLines (defined in jet::Tag )jet::Tag protected
+ getVariable (coreutils::ZString &variable, bool inContainer=false) (defined in jet::Tag )jet::Tag
+ global (defined in jet::Tag )jet::Tag
+ hasContainer (defined in jet::Tag )jet::Tag protected
+ hasContainer2 (defined in jet::Tag )jet::Tag protected
+ keywordDefined (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ keywords (defined in jet::Tag )jet::Tag
+ local (defined in jet::Tag )jet::Tag
+ name (defined in jet::Tag )jet::Tag
+ out (defined in jet::Tag )jet::Tag protected
+ output (defined in jet::Tag )jet::Tag protected
+ parent (defined in jet::Tag )jet::Tag
+ parentOut (defined in jet::Tag )jet::Tag protected
+ parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier) (defined in jet::Tag )jet::Tag protected
+ resolveKeyword (coreutils::ZString keyword)jet::Tag
+ storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope) (defined in jet::Tag )jet::Tag protected
+ storeVariable (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="") (defined in jet::Tag )jet::Tag
+ trimLines (defined in jet::Tag )jet::Tag protected
+ variables (defined in jet::Tag )jet::Tag
+ ~Tag ()jet::Tag virtual
+
+
+
+
+
diff --git a/html/classjet_1_1____system.html b/html/classjet_1_1____system.html
new file mode 100644
index 0000000..a721721
--- /dev/null
+++ b/html/classjet_1_1____system.html
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+My Project: jet::__system Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+ __system (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local)
+
+
+
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="")
+
+
+virtual ~Tag ()
+ >Constructor
+
+
+coreutils::MString getVariable (coreutils::ZString &variable, bool inContainer=false)
+
+
+coreutils::MString resolveKeyword (coreutils::ZString keyword)
+ >retrieve a vairable value from a text string cotontaining a variable name.
+
+
+
+
+
+std::map< coreutils::MString, coreutils::MString > variables
+
+
+std::map< coreutils::MString, coreutils::MString > keywords
+
+
+coreutils::ZString name
+
+
+coreutils::ZString container
+
+
+coreutils::ZString container2
+
+
+Global & global
+
+
+Tag * parent
+
+
+Tag * local
+
+
+
+bool keywordDefined (coreutils::ZString variable)
+
+
+void parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void copyContainer (coreutils::ZString &in, coreutils::MString &out)
+
+
+void renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier)
+
+
+void storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope)
+
+
+void storeVariable (coreutils::ZString variable)
+
+
+
+bool hasContainer = false
+
+
+bool hasContainer2 = false
+
+
+coreutils::MString & parentOut
+
+
+coreutils::MString out
+
+
+bool output = true
+
+
+bool evaluate = true
+
+
+bool filterBlankLines = false
+
+
+bool trimLines = false
+
+
+bool cleanWhitespace = false
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1____system__coll__graph.map b/html/classjet_1_1____system__coll__graph.map
new file mode 100644
index 0000000..817f276
--- /dev/null
+++ b/html/classjet_1_1____system__coll__graph.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____system__coll__graph.md5 b/html/classjet_1_1____system__coll__graph.md5
new file mode 100644
index 0000000..99a489a
--- /dev/null
+++ b/html/classjet_1_1____system__coll__graph.md5
@@ -0,0 +1 @@
+74bd0dd39d609bdeb5377db31a10a807
\ No newline at end of file
diff --git a/html/classjet_1_1____system__coll__graph.png b/html/classjet_1_1____system__coll__graph.png
new file mode 100644
index 0000000..3683dd9
Binary files /dev/null and b/html/classjet_1_1____system__coll__graph.png differ
diff --git a/html/classjet_1_1____system__inherit__graph.map b/html/classjet_1_1____system__inherit__graph.map
new file mode 100644
index 0000000..c8d6be3
--- /dev/null
+++ b/html/classjet_1_1____system__inherit__graph.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____system__inherit__graph.md5 b/html/classjet_1_1____system__inherit__graph.md5
new file mode 100644
index 0000000..e298248
--- /dev/null
+++ b/html/classjet_1_1____system__inherit__graph.md5
@@ -0,0 +1 @@
+a70cee362976765dce1292556306515c
\ No newline at end of file
diff --git a/html/classjet_1_1____system__inherit__graph.png b/html/classjet_1_1____system__inherit__graph.png
new file mode 100644
index 0000000..2220756
Binary files /dev/null and b/html/classjet_1_1____system__inherit__graph.png differ
diff --git a/html/classjet_1_1____tag-members.html b/html/classjet_1_1____tag-members.html
new file mode 100644
index 0000000..935992a
--- /dev/null
+++ b/html/classjet_1_1____tag-members.html
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::__tag , including all inherited members.
+
+ __tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local) (defined in jet::__tag )jet::__tag
+ cleanWhitespace (defined in jet::Tag )jet::Tag protected
+ container (defined in jet::Tag )jet::Tag
+ container2 (defined in jet::Tag )jet::Tag
+ copyContainer (coreutils::ZString &in, coreutils::MString &out) (defined in jet::Tag )jet::Tag protected
+ evaluate (defined in jet::Tag )jet::Tag protected
+ filterBlankLines (defined in jet::Tag )jet::Tag protected
+ getVariable (coreutils::ZString &variable, bool inContainer=false) (defined in jet::Tag )jet::Tag
+ global (defined in jet::Tag )jet::Tag
+ hasContainer (defined in jet::Tag )jet::Tag protected
+ hasContainer2 (defined in jet::Tag )jet::Tag protected
+ keywordDefined (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ keywords (defined in jet::Tag )jet::Tag
+ local (defined in jet::Tag )jet::Tag
+ name (defined in jet::Tag )jet::Tag
+ out (defined in jet::Tag )jet::Tag protected
+ output (defined in jet::Tag )jet::Tag protected
+ parent (defined in jet::Tag )jet::Tag
+ parentOut (defined in jet::Tag )jet::Tag protected
+ parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier) (defined in jet::Tag )jet::Tag protected
+ resolveKeyword (coreutils::ZString keyword)jet::Tag
+ storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope) (defined in jet::Tag )jet::Tag protected
+ storeVariable (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="") (defined in jet::Tag )jet::Tag
+ tags (defined in jet::__tag )jet::__tag
+ trimLines (defined in jet::Tag )jet::Tag protected
+ variables (defined in jet::Tag )jet::Tag
+ ~Tag ()jet::Tag virtual
+
+
+
+
+
diff --git a/html/classjet_1_1____tag.html b/html/classjet_1_1____tag.html
new file mode 100644
index 0000000..474dd02
--- /dev/null
+++ b/html/classjet_1_1____tag.html
@@ -0,0 +1,226 @@
+
+
+
+
+
+
+
+My Project: jet::__tag Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+ __tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local)
+
+
+
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="")
+
+
+virtual ~Tag ()
+ >Constructor
+
+
+coreutils::MString getVariable (coreutils::ZString &variable, bool inContainer=false)
+
+
+coreutils::MString resolveKeyword (coreutils::ZString keyword)
+ >retrieve a vairable value from a text string cotontaining a variable name.
+
+
+
+
+std::map< coreutils::MString, coreutils::MString > tags
+
+
+
+std::map< coreutils::MString, coreutils::MString > variables
+
+
+std::map< coreutils::MString, coreutils::MString > keywords
+
+
+coreutils::ZString name
+
+
+coreutils::ZString container
+
+
+coreutils::ZString container2
+
+
+Global & global
+
+
+Tag * parent
+
+
+Tag * local
+
+
+
+
+
+bool keywordDefined (coreutils::ZString variable)
+
+
+void parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void copyContainer (coreutils::ZString &in, coreutils::MString &out)
+
+
+void renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier)
+
+
+void storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope)
+
+
+void storeVariable (coreutils::ZString variable)
+
+
+
+bool hasContainer = false
+
+
+bool hasContainer2 = false
+
+
+coreutils::MString & parentOut
+
+
+coreutils::MString out
+
+
+bool output = true
+
+
+bool evaluate = true
+
+
+bool filterBlankLines = false
+
+
+bool trimLines = false
+
+
+bool cleanWhitespace = false
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1____tag__coll__graph.map b/html/classjet_1_1____tag__coll__graph.map
new file mode 100644
index 0000000..c788cdd
--- /dev/null
+++ b/html/classjet_1_1____tag__coll__graph.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____tag__coll__graph.md5 b/html/classjet_1_1____tag__coll__graph.md5
new file mode 100644
index 0000000..de4dbd0
--- /dev/null
+++ b/html/classjet_1_1____tag__coll__graph.md5
@@ -0,0 +1 @@
+33fe441ddeec210aa47844e2840a4446
\ No newline at end of file
diff --git a/html/classjet_1_1____tag__coll__graph.png b/html/classjet_1_1____tag__coll__graph.png
new file mode 100644
index 0000000..5229fd3
Binary files /dev/null and b/html/classjet_1_1____tag__coll__graph.png differ
diff --git a/html/classjet_1_1____tag__inherit__graph.map b/html/classjet_1_1____tag__inherit__graph.map
new file mode 100644
index 0000000..aa77871
--- /dev/null
+++ b/html/classjet_1_1____tag__inherit__graph.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____tag__inherit__graph.md5 b/html/classjet_1_1____tag__inherit__graph.md5
new file mode 100644
index 0000000..cfcb36c
--- /dev/null
+++ b/html/classjet_1_1____tag__inherit__graph.md5
@@ -0,0 +1 @@
+ae4e87b324783acd3e634f5ea144bde6
\ No newline at end of file
diff --git a/html/classjet_1_1____tag__inherit__graph.png b/html/classjet_1_1____tag__inherit__graph.png
new file mode 100644
index 0000000..f9f4b96
Binary files /dev/null and b/html/classjet_1_1____tag__inherit__graph.png differ
diff --git a/html/classjet_1_1____until-members.html b/html/classjet_1_1____until-members.html
new file mode 100644
index 0000000..8b094a6
--- /dev/null
+++ b/html/classjet_1_1____until-members.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::__until , including all inherited members.
+
+ __until (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local) (defined in jet::__until )jet::__until
+ cleanWhitespace (defined in jet::Tag )jet::Tag protected
+ container (defined in jet::Tag )jet::Tag
+ container2 (defined in jet::Tag )jet::Tag
+ copyContainer (coreutils::ZString &in, coreutils::MString &out) (defined in jet::Tag )jet::Tag protected
+ evaluate (defined in jet::Tag )jet::Tag protected
+ filterBlankLines (defined in jet::Tag )jet::Tag protected
+ getVariable (coreutils::ZString &variable, bool inContainer=false) (defined in jet::Tag )jet::Tag
+ global (defined in jet::Tag )jet::Tag
+ hasContainer (defined in jet::Tag )jet::Tag protected
+ hasContainer2 (defined in jet::Tag )jet::Tag protected
+ keywordDefined (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ keywords (defined in jet::Tag )jet::Tag
+ local (defined in jet::Tag )jet::Tag
+ name (defined in jet::Tag )jet::Tag
+ out (defined in jet::Tag )jet::Tag protected
+ output (defined in jet::Tag )jet::Tag protected
+ parent (defined in jet::Tag )jet::Tag
+ parentOut (defined in jet::Tag )jet::Tag protected
+ parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier) (defined in jet::Tag )jet::Tag protected
+ resolveKeyword (coreutils::ZString keyword)jet::Tag
+ storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope) (defined in jet::Tag )jet::Tag protected
+ storeVariable (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="") (defined in jet::Tag )jet::Tag
+ trimLines (defined in jet::Tag )jet::Tag protected
+ variables (defined in jet::Tag )jet::Tag
+ ~Tag ()jet::Tag virtual
+
+
+
+
+
diff --git a/html/classjet_1_1____until.html b/html/classjet_1_1____until.html
new file mode 100644
index 0000000..d83b44e
--- /dev/null
+++ b/html/classjet_1_1____until.html
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+My Project: jet::__until Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+ __until (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local)
+
+
+
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="")
+
+
+virtual ~Tag ()
+ >Constructor
+
+
+coreutils::MString getVariable (coreutils::ZString &variable, bool inContainer=false)
+
+
+coreutils::MString resolveKeyword (coreutils::ZString keyword)
+ >retrieve a vairable value from a text string cotontaining a variable name.
+
+
+
+
+
+std::map< coreutils::MString, coreutils::MString > variables
+
+
+std::map< coreutils::MString, coreutils::MString > keywords
+
+
+coreutils::ZString name
+
+
+coreutils::ZString container
+
+
+coreutils::ZString container2
+
+
+Global & global
+
+
+Tag * parent
+
+
+Tag * local
+
+
+
+bool keywordDefined (coreutils::ZString variable)
+
+
+void parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void copyContainer (coreutils::ZString &in, coreutils::MString &out)
+
+
+void renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier)
+
+
+void storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope)
+
+
+void storeVariable (coreutils::ZString variable)
+
+
+
+bool hasContainer = false
+
+
+bool hasContainer2 = false
+
+
+coreutils::MString & parentOut
+
+
+coreutils::MString out
+
+
+bool output = true
+
+
+bool evaluate = true
+
+
+bool filterBlankLines = false
+
+
+bool trimLines = false
+
+
+bool cleanWhitespace = false
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1____until__coll__graph.map b/html/classjet_1_1____until__coll__graph.map
new file mode 100644
index 0000000..0c40142
--- /dev/null
+++ b/html/classjet_1_1____until__coll__graph.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____until__coll__graph.md5 b/html/classjet_1_1____until__coll__graph.md5
new file mode 100644
index 0000000..489b658
--- /dev/null
+++ b/html/classjet_1_1____until__coll__graph.md5
@@ -0,0 +1 @@
+0a12f2c8083ebcd0b1137ea45767aff1
\ No newline at end of file
diff --git a/html/classjet_1_1____until__coll__graph.png b/html/classjet_1_1____until__coll__graph.png
new file mode 100644
index 0000000..7ba3dd4
Binary files /dev/null and b/html/classjet_1_1____until__coll__graph.png differ
diff --git a/html/classjet_1_1____until__inherit__graph.map b/html/classjet_1_1____until__inherit__graph.map
new file mode 100644
index 0000000..b02ab19
--- /dev/null
+++ b/html/classjet_1_1____until__inherit__graph.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____until__inherit__graph.md5 b/html/classjet_1_1____until__inherit__graph.md5
new file mode 100644
index 0000000..ff003d2
--- /dev/null
+++ b/html/classjet_1_1____until__inherit__graph.md5
@@ -0,0 +1 @@
+9db77d2e2fb74ed5e66dbcb8f7fe70e4
\ No newline at end of file
diff --git a/html/classjet_1_1____until__inherit__graph.png b/html/classjet_1_1____until__inherit__graph.png
new file mode 100644
index 0000000..f644894
Binary files /dev/null and b/html/classjet_1_1____until__inherit__graph.png differ
diff --git a/html/classjet_1_1____while-members.html b/html/classjet_1_1____while-members.html
new file mode 100644
index 0000000..f45920e
--- /dev/null
+++ b/html/classjet_1_1____while-members.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::__while , including all inherited members.
+
+ __while (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local) (defined in jet::__while )jet::__while
+ cleanWhitespace (defined in jet::Tag )jet::Tag protected
+ container (defined in jet::Tag )jet::Tag
+ container2 (defined in jet::Tag )jet::Tag
+ copyContainer (coreutils::ZString &in, coreutils::MString &out) (defined in jet::Tag )jet::Tag protected
+ evaluate (defined in jet::Tag )jet::Tag protected
+ filterBlankLines (defined in jet::Tag )jet::Tag protected
+ getVariable (coreutils::ZString &variable, bool inContainer=false) (defined in jet::Tag )jet::Tag
+ global (defined in jet::Tag )jet::Tag
+ hasContainer (defined in jet::Tag )jet::Tag protected
+ hasContainer2 (defined in jet::Tag )jet::Tag protected
+ keywordDefined (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ keywords (defined in jet::Tag )jet::Tag
+ local (defined in jet::Tag )jet::Tag
+ name (defined in jet::Tag )jet::Tag
+ out (defined in jet::Tag )jet::Tag protected
+ output (defined in jet::Tag )jet::Tag protected
+ parent (defined in jet::Tag )jet::Tag
+ parentOut (defined in jet::Tag )jet::Tag protected
+ parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier) (defined in jet::Tag )jet::Tag protected
+ resolveKeyword (coreutils::ZString keyword)jet::Tag
+ storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope) (defined in jet::Tag )jet::Tag protected
+ storeVariable (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="") (defined in jet::Tag )jet::Tag
+ trimLines (defined in jet::Tag )jet::Tag protected
+ variables (defined in jet::Tag )jet::Tag
+ ~Tag ()jet::Tag virtual
+
+
+
+
+
diff --git a/html/classjet_1_1____while.html b/html/classjet_1_1____while.html
new file mode 100644
index 0000000..04d2239
--- /dev/null
+++ b/html/classjet_1_1____while.html
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+My Project: jet::__while Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+ __while (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local)
+
+
+
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="")
+
+
+virtual ~Tag ()
+ >Constructor
+
+
+coreutils::MString getVariable (coreutils::ZString &variable, bool inContainer=false)
+
+
+coreutils::MString resolveKeyword (coreutils::ZString keyword)
+ >retrieve a vairable value from a text string cotontaining a variable name.
+
+
+
+
+
+std::map< coreutils::MString, coreutils::MString > variables
+
+
+std::map< coreutils::MString, coreutils::MString > keywords
+
+
+coreutils::ZString name
+
+
+coreutils::ZString container
+
+
+coreutils::ZString container2
+
+
+Global & global
+
+
+Tag * parent
+
+
+Tag * local
+
+
+
+bool keywordDefined (coreutils::ZString variable)
+
+
+void parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void copyContainer (coreutils::ZString &in, coreutils::MString &out)
+
+
+void renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier)
+
+
+void storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope)
+
+
+void storeVariable (coreutils::ZString variable)
+
+
+
+bool hasContainer = false
+
+
+bool hasContainer2 = false
+
+
+coreutils::MString & parentOut
+
+
+coreutils::MString out
+
+
+bool output = true
+
+
+bool evaluate = true
+
+
+bool filterBlankLines = false
+
+
+bool trimLines = false
+
+
+bool cleanWhitespace = false
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1____while__coll__graph.map b/html/classjet_1_1____while__coll__graph.map
new file mode 100644
index 0000000..801ce34
--- /dev/null
+++ b/html/classjet_1_1____while__coll__graph.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____while__coll__graph.md5 b/html/classjet_1_1____while__coll__graph.md5
new file mode 100644
index 0000000..9b549dc
--- /dev/null
+++ b/html/classjet_1_1____while__coll__graph.md5
@@ -0,0 +1 @@
+202246f31aa86a020bceb86668cd498c
\ No newline at end of file
diff --git a/html/classjet_1_1____while__coll__graph.png b/html/classjet_1_1____while__coll__graph.png
new file mode 100644
index 0000000..816eb2a
Binary files /dev/null and b/html/classjet_1_1____while__coll__graph.png differ
diff --git a/html/classjet_1_1____while__inherit__graph.map b/html/classjet_1_1____while__inherit__graph.map
new file mode 100644
index 0000000..7d860eb
--- /dev/null
+++ b/html/classjet_1_1____while__inherit__graph.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____while__inherit__graph.md5 b/html/classjet_1_1____while__inherit__graph.md5
new file mode 100644
index 0000000..a56ba8f
--- /dev/null
+++ b/html/classjet_1_1____while__inherit__graph.md5
@@ -0,0 +1 @@
+1a57d9f0337344a807fbb6038768aa78
\ No newline at end of file
diff --git a/html/classjet_1_1____while__inherit__graph.png b/html/classjet_1_1____while__inherit__graph.png
new file mode 100644
index 0000000..14ef331
Binary files /dev/null and b/html/classjet_1_1____while__inherit__graph.png differ
diff --git a/html/classjet_1_1____whiledir-members.html b/html/classjet_1_1____whiledir-members.html
new file mode 100644
index 0000000..ad5410a
--- /dev/null
+++ b/html/classjet_1_1____whiledir-members.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::__whiledir , including all inherited members.
+
+ __whiledir (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local) (defined in jet::__whiledir )jet::__whiledir
+ cleanWhitespace (defined in jet::Tag )jet::Tag protected
+ container (defined in jet::Tag )jet::Tag
+ container2 (defined in jet::Tag )jet::Tag
+ copyContainer (coreutils::ZString &in, coreutils::MString &out) (defined in jet::Tag )jet::Tag protected
+ evaluate (defined in jet::Tag )jet::Tag protected
+ filterBlankLines (defined in jet::Tag )jet::Tag protected
+ getVariable (coreutils::ZString &variable, bool inContainer=false) (defined in jet::Tag )jet::Tag
+ global (defined in jet::Tag )jet::Tag
+ hasContainer (defined in jet::Tag )jet::Tag protected
+ hasContainer2 (defined in jet::Tag )jet::Tag protected
+ keywordDefined (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ keywords (defined in jet::Tag )jet::Tag
+ local (defined in jet::Tag )jet::Tag
+ name (defined in jet::Tag )jet::Tag
+ out (defined in jet::Tag )jet::Tag protected
+ output (defined in jet::Tag )jet::Tag protected
+ parent (defined in jet::Tag )jet::Tag
+ parentOut (defined in jet::Tag )jet::Tag protected
+ parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier) (defined in jet::Tag )jet::Tag protected
+ resolveKeyword (coreutils::ZString keyword)jet::Tag
+ storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope) (defined in jet::Tag )jet::Tag protected
+ storeVariable (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="") (defined in jet::Tag )jet::Tag
+ trimLines (defined in jet::Tag )jet::Tag protected
+ variables (defined in jet::Tag )jet::Tag
+ ~Tag ()jet::Tag virtual
+
+
+
+
+
diff --git a/html/classjet_1_1____whiledir.html b/html/classjet_1_1____whiledir.html
new file mode 100644
index 0000000..6290fc4
--- /dev/null
+++ b/html/classjet_1_1____whiledir.html
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+My Project: jet::__whiledir Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+ __whiledir (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local)
+
+
+
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="")
+
+
+virtual ~Tag ()
+ >Constructor
+
+
+coreutils::MString getVariable (coreutils::ZString &variable, bool inContainer=false)
+
+
+coreutils::MString resolveKeyword (coreutils::ZString keyword)
+ >retrieve a vairable value from a text string cotontaining a variable name.
+
+
+
+
+
+std::map< coreutils::MString, coreutils::MString > variables
+
+
+std::map< coreutils::MString, coreutils::MString > keywords
+
+
+coreutils::ZString name
+
+
+coreutils::ZString container
+
+
+coreutils::ZString container2
+
+
+Global & global
+
+
+Tag * parent
+
+
+Tag * local
+
+
+
+bool keywordDefined (coreutils::ZString variable)
+
+
+void parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void copyContainer (coreutils::ZString &in, coreutils::MString &out)
+
+
+void renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier)
+
+
+void storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope)
+
+
+void storeVariable (coreutils::ZString variable)
+
+
+
+bool hasContainer = false
+
+
+bool hasContainer2 = false
+
+
+coreutils::MString & parentOut
+
+
+coreutils::MString out
+
+
+bool output = true
+
+
+bool evaluate = true
+
+
+bool filterBlankLines = false
+
+
+bool trimLines = false
+
+
+bool cleanWhitespace = false
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1____whiledir__coll__graph.map b/html/classjet_1_1____whiledir__coll__graph.map
new file mode 100644
index 0000000..ee322ed
--- /dev/null
+++ b/html/classjet_1_1____whiledir__coll__graph.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____whiledir__coll__graph.md5 b/html/classjet_1_1____whiledir__coll__graph.md5
new file mode 100644
index 0000000..9180244
--- /dev/null
+++ b/html/classjet_1_1____whiledir__coll__graph.md5
@@ -0,0 +1 @@
+8c547294a376ac04f92a099ba278c6c4
\ No newline at end of file
diff --git a/html/classjet_1_1____whiledir__coll__graph.png b/html/classjet_1_1____whiledir__coll__graph.png
new file mode 100644
index 0000000..f93b050
Binary files /dev/null and b/html/classjet_1_1____whiledir__coll__graph.png differ
diff --git a/html/classjet_1_1____whiledir__inherit__graph.map b/html/classjet_1_1____whiledir__inherit__graph.map
new file mode 100644
index 0000000..2b56d7b
--- /dev/null
+++ b/html/classjet_1_1____whiledir__inherit__graph.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____whiledir__inherit__graph.md5 b/html/classjet_1_1____whiledir__inherit__graph.md5
new file mode 100644
index 0000000..48ed2ac
--- /dev/null
+++ b/html/classjet_1_1____whiledir__inherit__graph.md5
@@ -0,0 +1 @@
+7d4800edc31befaf3537daba52e5772b
\ No newline at end of file
diff --git a/html/classjet_1_1____whiledir__inherit__graph.png b/html/classjet_1_1____whiledir__inherit__graph.png
new file mode 100644
index 0000000..9d8d88b
Binary files /dev/null and b/html/classjet_1_1____whiledir__inherit__graph.png differ
diff --git a/html/classjet_1_1____whilerow-members.html b/html/classjet_1_1____whilerow-members.html
new file mode 100644
index 0000000..4794328
--- /dev/null
+++ b/html/classjet_1_1____whilerow-members.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::__whilerow , including all inherited members.
+
+ __whilerow (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local) (defined in jet::__whilerow )jet::__whilerow
+ cleanWhitespace (defined in jet::Tag )jet::Tag protected
+ container (defined in jet::Tag )jet::Tag
+ container2 (defined in jet::Tag )jet::Tag
+ copyContainer (coreutils::ZString &in, coreutils::MString &out) (defined in jet::Tag )jet::Tag protected
+ evaluate (defined in jet::Tag )jet::Tag protected
+ filterBlankLines (defined in jet::Tag )jet::Tag protected
+ getVariable (coreutils::ZString &variable, bool inContainer=false) (defined in jet::Tag )jet::Tag
+ global (defined in jet::Tag )jet::Tag
+ hasContainer (defined in jet::Tag )jet::Tag protected
+ hasContainer2 (defined in jet::Tag )jet::Tag protected
+ keywordDefined (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ keywords (defined in jet::Tag )jet::Tag
+ local (defined in jet::Tag )jet::Tag
+ name (defined in jet::Tag )jet::Tag
+ out (defined in jet::Tag )jet::Tag protected
+ output (defined in jet::Tag )jet::Tag protected
+ parent (defined in jet::Tag )jet::Tag
+ parentOut (defined in jet::Tag )jet::Tag protected
+ parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier) (defined in jet::Tag )jet::Tag protected
+ resolveKeyword (coreutils::ZString keyword)jet::Tag
+ storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope) (defined in jet::Tag )jet::Tag protected
+ storeVariable (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="") (defined in jet::Tag )jet::Tag
+ trimLines (defined in jet::Tag )jet::Tag protected
+ variables (defined in jet::Tag )jet::Tag
+ ~Tag ()jet::Tag virtual
+
+
+
+
+
diff --git a/html/classjet_1_1____whilerow.html b/html/classjet_1_1____whilerow.html
new file mode 100644
index 0000000..6d1db7d
--- /dev/null
+++ b/html/classjet_1_1____whilerow.html
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+My Project: jet::__whilerow Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+ __whilerow (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local)
+
+
+
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="")
+
+
+virtual ~Tag ()
+ >Constructor
+
+
+coreutils::MString getVariable (coreutils::ZString &variable, bool inContainer=false)
+
+
+coreutils::MString resolveKeyword (coreutils::ZString keyword)
+ >retrieve a vairable value from a text string cotontaining a variable name.
+
+
+
+
+
+std::map< coreutils::MString, coreutils::MString > variables
+
+
+std::map< coreutils::MString, coreutils::MString > keywords
+
+
+coreutils::ZString name
+
+
+coreutils::ZString container
+
+
+coreutils::ZString container2
+
+
+Global & global
+
+
+Tag * parent
+
+
+Tag * local
+
+
+
+bool keywordDefined (coreutils::ZString variable)
+
+
+void parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void copyContainer (coreutils::ZString &in, coreutils::MString &out)
+
+
+void renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier)
+
+
+void storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope)
+
+
+void storeVariable (coreutils::ZString variable)
+
+
+
+bool hasContainer = false
+
+
+bool hasContainer2 = false
+
+
+coreutils::MString & parentOut
+
+
+coreutils::MString out
+
+
+bool output = true
+
+
+bool evaluate = true
+
+
+bool filterBlankLines = false
+
+
+bool trimLines = false
+
+
+bool cleanWhitespace = false
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1____whilerow__coll__graph.map b/html/classjet_1_1____whilerow__coll__graph.map
new file mode 100644
index 0000000..eddb52d
--- /dev/null
+++ b/html/classjet_1_1____whilerow__coll__graph.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____whilerow__coll__graph.md5 b/html/classjet_1_1____whilerow__coll__graph.md5
new file mode 100644
index 0000000..32cca3c
--- /dev/null
+++ b/html/classjet_1_1____whilerow__coll__graph.md5
@@ -0,0 +1 @@
+e247341134f9c1ed5324b3a6146058a1
\ No newline at end of file
diff --git a/html/classjet_1_1____whilerow__coll__graph.png b/html/classjet_1_1____whilerow__coll__graph.png
new file mode 100644
index 0000000..de4e2a8
Binary files /dev/null and b/html/classjet_1_1____whilerow__coll__graph.png differ
diff --git a/html/classjet_1_1____whilerow__inherit__graph.map b/html/classjet_1_1____whilerow__inherit__graph.map
new file mode 100644
index 0000000..4d8b87a
--- /dev/null
+++ b/html/classjet_1_1____whilerow__inherit__graph.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____whilerow__inherit__graph.md5 b/html/classjet_1_1____whilerow__inherit__graph.md5
new file mode 100644
index 0000000..cea2fee
--- /dev/null
+++ b/html/classjet_1_1____whilerow__inherit__graph.md5
@@ -0,0 +1 @@
+513e44e612a95dcee7292d3fb2bd1d69
\ No newline at end of file
diff --git a/html/classjet_1_1____whilerow__inherit__graph.png b/html/classjet_1_1____whilerow__inherit__graph.png
new file mode 100644
index 0000000..3ab6631
Binary files /dev/null and b/html/classjet_1_1____whilerow__inherit__graph.png differ
diff --git a/html/classjet_1_1____write-members.html b/html/classjet_1_1____write-members.html
new file mode 100644
index 0000000..b8236eb
--- /dev/null
+++ b/html/classjet_1_1____write-members.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+My Project: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for jet::__write , including all inherited members.
+
+ __write (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local) (defined in jet::__write )jet::__write
+ cleanWhitespace (defined in jet::Tag )jet::Tag protected
+ container (defined in jet::Tag )jet::Tag
+ container2 (defined in jet::Tag )jet::Tag
+ copyContainer (coreutils::ZString &in, coreutils::MString &out) (defined in jet::Tag )jet::Tag protected
+ evaluate (defined in jet::Tag )jet::Tag protected
+ filterBlankLines (defined in jet::Tag )jet::Tag protected
+ getVariable (coreutils::ZString &variable, bool inContainer=false) (defined in jet::Tag )jet::Tag
+ global (defined in jet::Tag )jet::Tag
+ hasContainer (defined in jet::Tag )jet::Tag protected
+ hasContainer2 (defined in jet::Tag )jet::Tag protected
+ keywordDefined (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ keywords (defined in jet::Tag )jet::Tag
+ local (defined in jet::Tag )jet::Tag
+ name (defined in jet::Tag )jet::Tag
+ out (defined in jet::Tag )jet::Tag protected
+ output (defined in jet::Tag )jet::Tag protected
+ parent (defined in jet::Tag )jet::Tag
+ parentOut (defined in jet::Tag )jet::Tag protected
+ parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false) (defined in jet::Tag )jet::Tag protected
+ renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier) (defined in jet::Tag )jet::Tag protected
+ resolveKeyword (coreutils::ZString keyword)jet::Tag
+ storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope) (defined in jet::Tag )jet::Tag protected
+ storeVariable (coreutils::ZString variable) (defined in jet::Tag )jet::Tag protected
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="") (defined in jet::Tag )jet::Tag
+ trimLines (defined in jet::Tag )jet::Tag protected
+ variables (defined in jet::Tag )jet::Tag
+ ~Tag ()jet::Tag virtual
+
+
+
+
+
diff --git a/html/classjet_1_1____write.html b/html/classjet_1_1____write.html
new file mode 100644
index 0000000..07e5c7a
--- /dev/null
+++ b/html/classjet_1_1____write.html
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+My Project: jet::__write Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+ __write (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent, Tag *local)
+
+
+
+ Tag (coreutils::ZString &in, coreutils::MString &parentOut, Global &global, Tag *parent=NULL, Tag *local=NULL, coreutils::ZString splitTagName="")
+
+
+virtual ~Tag ()
+ >Constructor
+
+
+coreutils::MString getVariable (coreutils::ZString &variable, bool inContainer=false)
+
+
+coreutils::MString resolveKeyword (coreutils::ZString keyword)
+ >retrieve a vairable value from a text string cotontaining a variable name.
+
+
+
+
+
+std::map< coreutils::MString, coreutils::MString > variables
+
+
+std::map< coreutils::MString, coreutils::MString > keywords
+
+
+coreutils::ZString name
+
+
+coreutils::ZString container
+
+
+coreutils::ZString container2
+
+
+Global & global
+
+
+Tag * parent
+
+
+Tag * local
+
+
+
+bool keywordDefined (coreutils::ZString variable)
+
+
+void parseContainer (coreutils::ZString &in, coreutils::MString &out, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void processContainer (coreutils::ZString &container, coreutils::ZString container2=NULL, bool topLevel=false)
+
+
+void copyContainer (coreutils::ZString &in, coreutils::MString &out)
+
+
+void renderVariableName (coreutils::ZString &variable, coreutils::MString &name, coreutils::MString &modifier)
+
+
+void storeVariable (coreutils::ZString variable, coreutils::MString value, coreutils::ZString scope)
+
+
+void storeVariable (coreutils::ZString variable)
+
+
+
+bool hasContainer = false
+
+
+bool hasContainer2 = false
+
+
+coreutils::MString & parentOut
+
+
+coreutils::MString out
+
+
+bool output = true
+
+
+bool evaluate = true
+
+
+bool filterBlankLines = false
+
+
+bool trimLines = false
+
+
+bool cleanWhitespace = false
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git a/html/classjet_1_1____write__coll__graph.map b/html/classjet_1_1____write__coll__graph.map
new file mode 100644
index 0000000..d3ecada
--- /dev/null
+++ b/html/classjet_1_1____write__coll__graph.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____write__coll__graph.md5 b/html/classjet_1_1____write__coll__graph.md5
new file mode 100644
index 0000000..753e63a
--- /dev/null
+++ b/html/classjet_1_1____write__coll__graph.md5
@@ -0,0 +1 @@
+047d77a5f280de5f3dcfd6af41410e4b
\ No newline at end of file
diff --git a/html/classjet_1_1____write__coll__graph.png b/html/classjet_1_1____write__coll__graph.png
new file mode 100644
index 0000000..af798b9
Binary files /dev/null and b/html/classjet_1_1____write__coll__graph.png differ
diff --git a/html/classjet_1_1____write__inherit__graph.map b/html/classjet_1_1____write__inherit__graph.map
new file mode 100644
index 0000000..2e2f66e
--- /dev/null
+++ b/html/classjet_1_1____write__inherit__graph.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/html/classjet_1_1____write__inherit__graph.md5 b/html/classjet_1_1____write__inherit__graph.md5
new file mode 100644
index 0000000..1e9f642
--- /dev/null
+++ b/html/classjet_1_1____write__inherit__graph.md5
@@ -0,0 +1 @@
+d7e4ac96778bc1ab09038f72526bd41b
\ No newline at end of file
diff --git a/html/classjet_1_1____write__inherit__graph.png b/html/classjet_1_1____write__inherit__graph.png
new file mode 100644
index 0000000..3fa1345
Binary files /dev/null and b/html/classjet_1_1____write__inherit__graph.png differ
diff --git a/html/closed.png b/html/closed.png
new file mode 100644
index 0000000..98cc2c9
Binary files /dev/null and b/html/closed.png differ
diff --git a/html/doc.svg b/html/doc.svg
new file mode 100644
index 0000000..0b928a5
--- /dev/null
+++ b/html/doc.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/docd.svg b/html/docd.svg
new file mode 100644
index 0000000..ac18b27
--- /dev/null
+++ b/html/docd.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/doxygen.css b/html/doxygen.css
new file mode 100644
index 0000000..009a9b5
--- /dev/null
+++ b/html/doxygen.css
@@ -0,0 +1,2045 @@
+/* The standard CSS for doxygen 1.9.8*/
+
+html {
+/* page base colors */
+--page-background-color: white;
+--page-foreground-color: black;
+--page-link-color: #3D578C;
+--page-visited-link-color: #4665A2;
+
+/* index */
+--index-odd-item-bg-color: #F8F9FC;
+--index-even-item-bg-color: white;
+--index-header-color: black;
+--index-separator-color: #A0A0A0;
+
+/* header */
+--header-background-color: #F9FAFC;
+--header-separator-color: #C4CFE5;
+--header-gradient-image: url('nav_h.png');
+--group-header-separator-color: #879ECB;
+--group-header-color: #354C7B;
+--inherit-header-color: gray;
+
+--footer-foreground-color: #2A3D61;
+--footer-logo-width: 104px;
+--citation-label-color: #334975;
+--glow-color: cyan;
+
+--title-background-color: white;
+--title-separator-color: #5373B4;
+--directory-separator-color: #9CAFD4;
+--separator-color: #4A6AAA;
+
+--blockquote-background-color: #F7F8FB;
+--blockquote-border-color: #9CAFD4;
+
+--scrollbar-thumb-color: #9CAFD4;
+--scrollbar-background-color: #F9FAFC;
+
+--icon-background-color: #728DC1;
+--icon-foreground-color: white;
+--icon-doc-image: url('doc.svg');
+--icon-folder-open-image: url('folderopen.svg');
+--icon-folder-closed-image: url('folderclosed.svg');
+
+/* brief member declaration list */
+--memdecl-background-color: #F9FAFC;
+--memdecl-separator-color: #DEE4F0;
+--memdecl-foreground-color: #555;
+--memdecl-template-color: #4665A2;
+
+/* detailed member list */
+--memdef-border-color: #A8B8D9;
+--memdef-title-background-color: #E2E8F2;
+--memdef-title-gradient-image: url('nav_f.png');
+--memdef-proto-background-color: #DFE5F1;
+--memdef-proto-text-color: #253555;
+--memdef-proto-text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+--memdef-doc-background-color: white;
+--memdef-param-name-color: #602020;
+--memdef-template-color: #4665A2;
+
+/* tables */
+--table-cell-border-color: #2D4068;
+--table-header-background-color: #374F7F;
+--table-header-foreground-color: #FFFFFF;
+
+/* labels */
+--label-background-color: #728DC1;
+--label-left-top-border-color: #5373B4;
+--label-right-bottom-border-color: #C4CFE5;
+--label-foreground-color: white;
+
+/** navigation bar/tree/menu */
+--nav-background-color: #F9FAFC;
+--nav-foreground-color: #364D7C;
+--nav-gradient-image: url('tab_b.png');
+--nav-gradient-hover-image: url('tab_h.png');
+--nav-gradient-active-image: url('tab_a.png');
+--nav-gradient-active-image-parent: url("../tab_a.png");
+--nav-separator-image: url('tab_s.png');
+--nav-breadcrumb-image: url('bc_s.png');
+--nav-breadcrumb-border-color: #C2CDE4;
+--nav-splitbar-image: url('splitbar.png');
+--nav-font-size-level1: 13px;
+--nav-font-size-level2: 10px;
+--nav-font-size-level3: 9px;
+--nav-text-normal-color: #283A5D;
+--nav-text-hover-color: white;
+--nav-text-active-color: white;
+--nav-text-normal-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+--nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+--nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+--nav-menu-button-color: #364D7C;
+--nav-menu-background-color: white;
+--nav-menu-foreground-color: #555555;
+--nav-menu-toggle-color: rgba(255, 255, 255, 0.5);
+--nav-arrow-color: #9CAFD4;
+--nav-arrow-selected-color: #9CAFD4;
+
+/* table of contents */
+--toc-background-color: #F4F6FA;
+--toc-border-color: #D8DFEE;
+--toc-header-color: #4665A2;
+--toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595; ");
+
+/** search field */
+--search-background-color: white;
+--search-foreground-color: #909090;
+--search-magnification-image: url('mag.svg');
+--search-magnification-select-image: url('mag_sel.svg');
+--search-active-color: black;
+--search-filter-background-color: #F9FAFC;
+--search-filter-foreground-color: black;
+--search-filter-border-color: #90A5CE;
+--search-filter-highlight-text-color: white;
+--search-filter-highlight-bg-color: #3D578C;
+--search-results-foreground-color: #425E97;
+--search-results-background-color: #EEF1F7;
+--search-results-border-color: black;
+--search-box-shadow: inset 0.5px 0.5px 3px 0px #555;
+
+/** code fragments */
+--code-keyword-color: #008000;
+--code-type-keyword-color: #604020;
+--code-flow-keyword-color: #E08000;
+--code-comment-color: #800000;
+--code-preprocessor-color: #806020;
+--code-string-literal-color: #002080;
+--code-char-literal-color: #008080;
+--code-xml-cdata-color: black;
+--code-vhdl-digit-color: #FF00FF;
+--code-vhdl-char-color: #000000;
+--code-vhdl-keyword-color: #700070;
+--code-vhdl-logic-color: #FF0000;
+--code-link-color: #4665A2;
+--code-external-link-color: #4665A2;
+--fragment-foreground-color: black;
+--fragment-background-color: #FBFCFD;
+--fragment-border-color: #C4CFE5;
+--fragment-lineno-border-color: #00FF00;
+--fragment-lineno-background-color: #E8E8E8;
+--fragment-lineno-foreground-color: black;
+--fragment-lineno-link-fg-color: #4665A2;
+--fragment-lineno-link-bg-color: #D8D8D8;
+--fragment-lineno-link-hover-fg-color: #4665A2;
+--fragment-lineno-link-hover-bg-color: #C8C8C8;
+--tooltip-foreground-color: black;
+--tooltip-background-color: white;
+--tooltip-border-color: gray;
+--tooltip-doc-color: grey;
+--tooltip-declaration-color: #006318;
+--tooltip-link-color: #4665A2;
+--tooltip-shadow: 1px 1px 7px gray;
+--fold-line-color: #808080;
+--fold-minus-image: url('minus.svg');
+--fold-plus-image: url('plus.svg');
+--fold-minus-image-relpath: url('../../minus.svg');
+--fold-plus-image-relpath: url('../../plus.svg');
+
+/** font-family */
+--font-family-normal: Roboto,sans-serif;
+--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed;
+--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+--font-family-title: Tahoma,Arial,sans-serif;
+--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif;
+--font-family-search: Arial,Verdana,sans-serif;
+--font-family-icon: Arial,Helvetica;
+--font-family-tooltip: Roboto,sans-serif;
+
+}
+
+@media (prefers-color-scheme: dark) {
+ html:not(.dark-mode) {
+ color-scheme: dark;
+
+/* page base colors */
+--page-background-color: black;
+--page-foreground-color: #C9D1D9;
+--page-link-color: #90A5CE;
+--page-visited-link-color: #A3B4D7;
+
+/* index */
+--index-odd-item-bg-color: #0B101A;
+--index-even-item-bg-color: black;
+--index-header-color: #C4CFE5;
+--index-separator-color: #334975;
+
+/* header */
+--header-background-color: #070B11;
+--header-separator-color: #141C2E;
+--header-gradient-image: url('nav_hd.png');
+--group-header-separator-color: #283A5D;
+--group-header-color: #90A5CE;
+--inherit-header-color: #A0A0A0;
+
+--footer-foreground-color: #5B7AB7;
+--footer-logo-width: 60px;
+--citation-label-color: #90A5CE;
+--glow-color: cyan;
+
+--title-background-color: #090D16;
+--title-separator-color: #354C79;
+--directory-separator-color: #283A5D;
+--separator-color: #283A5D;
+
+--blockquote-background-color: #101826;
+--blockquote-border-color: #283A5D;
+
+--scrollbar-thumb-color: #283A5D;
+--scrollbar-background-color: #070B11;
+
+--icon-background-color: #334975;
+--icon-foreground-color: #C4CFE5;
+--icon-doc-image: url('docd.svg');
+--icon-folder-open-image: url('folderopend.svg');
+--icon-folder-closed-image: url('folderclosedd.svg');
+
+/* brief member declaration list */
+--memdecl-background-color: #0B101A;
+--memdecl-separator-color: #2C3F65;
+--memdecl-foreground-color: #BBB;
+--memdecl-template-color: #7C95C6;
+
+/* detailed member list */
+--memdef-border-color: #233250;
+--memdef-title-background-color: #1B2840;
+--memdef-title-gradient-image: url('nav_fd.png');
+--memdef-proto-background-color: #19243A;
+--memdef-proto-text-color: #9DB0D4;
+--memdef-proto-text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.9);
+--memdef-doc-background-color: black;
+--memdef-param-name-color: #D28757;
+--memdef-template-color: #7C95C6;
+
+/* tables */
+--table-cell-border-color: #283A5D;
+--table-header-background-color: #283A5D;
+--table-header-foreground-color: #C4CFE5;
+
+/* labels */
+--label-background-color: #354C7B;
+--label-left-top-border-color: #4665A2;
+--label-right-bottom-border-color: #283A5D;
+--label-foreground-color: #CCCCCC;
+
+/** navigation bar/tree/menu */
+--nav-background-color: #101826;
+--nav-foreground-color: #364D7C;
+--nav-gradient-image: url('tab_bd.png');
+--nav-gradient-hover-image: url('tab_hd.png');
+--nav-gradient-active-image: url('tab_ad.png');
+--nav-gradient-active-image-parent: url("../tab_ad.png");
+--nav-separator-image: url('tab_sd.png');
+--nav-breadcrumb-image: url('bc_sd.png');
+--nav-breadcrumb-border-color: #2A3D61;
+--nav-splitbar-image: url('splitbard.png');
+--nav-font-size-level1: 13px;
+--nav-font-size-level2: 10px;
+--nav-font-size-level3: 9px;
+--nav-text-normal-color: #B6C4DF;
+--nav-text-hover-color: #DCE2EF;
+--nav-text-active-color: #DCE2EF;
+--nav-text-normal-shadow: 0px 1px 1px black;
+--nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+--nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+--nav-menu-button-color: #B6C4DF;
+--nav-menu-background-color: #05070C;
+--nav-menu-foreground-color: #BBBBBB;
+--nav-menu-toggle-color: rgba(255, 255, 255, 0.2);
+--nav-arrow-color: #334975;
+--nav-arrow-selected-color: #90A5CE;
+
+/* table of contents */
+--toc-background-color: #151E30;
+--toc-border-color: #202E4A;
+--toc-header-color: #A3B4D7;
+--toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595; ");
+
+/** search field */
+--search-background-color: black;
+--search-foreground-color: #C5C5C5;
+--search-magnification-image: url('mag_d.svg');
+--search-magnification-select-image: url('mag_seld.svg');
+--search-active-color: #C5C5C5;
+--search-filter-background-color: #101826;
+--search-filter-foreground-color: #90A5CE;
+--search-filter-border-color: #7C95C6;
+--search-filter-highlight-text-color: #BCC9E2;
+--search-filter-highlight-bg-color: #283A5D;
+--search-results-background-color: #101826;
+--search-results-foreground-color: #90A5CE;
+--search-results-border-color: #7C95C6;
+--search-box-shadow: inset 0.5px 0.5px 3px 0px #2F436C;
+
+/** code fragments */
+--code-keyword-color: #CC99CD;
+--code-type-keyword-color: #AB99CD;
+--code-flow-keyword-color: #E08000;
+--code-comment-color: #717790;
+--code-preprocessor-color: #65CABE;
+--code-string-literal-color: #7EC699;
+--code-char-literal-color: #00E0F0;
+--code-xml-cdata-color: #C9D1D9;
+--code-vhdl-digit-color: #FF00FF;
+--code-vhdl-char-color: #C0C0C0;
+--code-vhdl-keyword-color: #CF53C9;
+--code-vhdl-logic-color: #FF0000;
+--code-link-color: #79C0FF;
+--code-external-link-color: #79C0FF;
+--fragment-foreground-color: #C9D1D9;
+--fragment-background-color: black;
+--fragment-border-color: #30363D;
+--fragment-lineno-border-color: #30363D;
+--fragment-lineno-background-color: black;
+--fragment-lineno-foreground-color: #6E7681;
+--fragment-lineno-link-fg-color: #6E7681;
+--fragment-lineno-link-bg-color: #303030;
+--fragment-lineno-link-hover-fg-color: #8E96A1;
+--fragment-lineno-link-hover-bg-color: #505050;
+--tooltip-foreground-color: #C9D1D9;
+--tooltip-background-color: #202020;
+--tooltip-border-color: #C9D1D9;
+--tooltip-doc-color: #D9E1E9;
+--tooltip-declaration-color: #20C348;
+--tooltip-link-color: #79C0FF;
+--tooltip-shadow: none;
+--fold-line-color: #808080;
+--fold-minus-image: url('minusd.svg');
+--fold-plus-image: url('plusd.svg');
+--fold-minus-image-relpath: url('../../minusd.svg');
+--fold-plus-image-relpath: url('../../plusd.svg');
+
+/** font-family */
+--font-family-normal: Roboto,sans-serif;
+--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed;
+--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+--font-family-title: Tahoma,Arial,sans-serif;
+--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif;
+--font-family-search: Arial,Verdana,sans-serif;
+--font-family-icon: Arial,Helvetica;
+--font-family-tooltip: Roboto,sans-serif;
+
+}}
+body {
+ background-color: var(--page-background-color);
+ color: var(--page-foreground-color);
+}
+
+body, table, div, p, dl {
+ font-weight: 400;
+ font-size: 14px;
+ font-family: var(--font-family-normal);
+ line-height: 22px;
+}
+
+/* @group Heading Levels */
+
+.title {
+ font-weight: 400;
+ font-size: 14px;
+ font-family: var(--font-family-normal);
+ line-height: 28px;
+ font-size: 150%;
+ font-weight: bold;
+ margin: 10px 2px;
+}
+
+h1.groupheader {
+ font-size: 150%;
+}
+
+h2.groupheader {
+ border-bottom: 1px solid var(--group-header-separator-color);
+ color: var(--group-header-color);
+ font-size: 150%;
+ font-weight: normal;
+ margin-top: 1.75em;
+ padding-top: 8px;
+ padding-bottom: 4px;
+ width: 100%;
+}
+
+h3.groupheader {
+ font-size: 100%;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ -webkit-transition: text-shadow 0.5s linear;
+ -moz-transition: text-shadow 0.5s linear;
+ -ms-transition: text-shadow 0.5s linear;
+ -o-transition: text-shadow 0.5s linear;
+ transition: text-shadow 0.5s linear;
+ margin-right: 15px;
+}
+
+h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
+ text-shadow: 0 0 15px var(--glow-color);
+}
+
+dt {
+ font-weight: bold;
+}
+
+p.startli, p.startdd {
+ margin-top: 2px;
+}
+
+th p.starttd, th p.intertd, th p.endtd {
+ font-size: 100%;
+ font-weight: 700;
+}
+
+p.starttd {
+ margin-top: 0px;
+}
+
+p.endli {
+ margin-bottom: 0px;
+}
+
+p.enddd {
+ margin-bottom: 4px;
+}
+
+p.endtd {
+ margin-bottom: 2px;
+}
+
+p.interli {
+}
+
+p.interdd {
+}
+
+p.intertd {
+}
+
+/* @end */
+
+caption {
+ font-weight: bold;
+}
+
+span.legend {
+ font-size: 70%;
+ text-align: center;
+}
+
+h3.version {
+ font-size: 90%;
+ text-align: center;
+}
+
+div.navtab {
+ padding-right: 15px;
+ text-align: right;
+ line-height: 110%;
+}
+
+div.navtab table {
+ border-spacing: 0;
+}
+
+td.navtab {
+ padding-right: 6px;
+ padding-left: 6px;
+}
+
+td.navtabHL {
+ background-image: var(--nav-gradient-active-image);
+ background-repeat:repeat-x;
+ padding-right: 6px;
+ padding-left: 6px;
+}
+
+td.navtabHL a, td.navtabHL a:visited {
+ color: var(--nav-text-hover-color);
+ text-shadow: var(--nav-text-hover-shadow);
+}
+
+a.navtab {
+ font-weight: bold;
+}
+
+div.qindex{
+ text-align: center;
+ width: 100%;
+ line-height: 140%;
+ font-size: 130%;
+ color: var(--index-separator-color);
+}
+
+#main-menu a:focus {
+ outline: auto;
+ z-index: 10;
+ position: relative;
+}
+
+dt.alphachar{
+ font-size: 180%;
+ font-weight: bold;
+}
+
+.alphachar a{
+ color: var(--index-header-color);
+}
+
+.alphachar a:hover, .alphachar a:visited{
+ text-decoration: none;
+}
+
+.classindex dl {
+ padding: 25px;
+ column-count:1
+}
+
+.classindex dd {
+ display:inline-block;
+ margin-left: 50px;
+ width: 90%;
+ line-height: 1.15em;
+}
+
+.classindex dl.even {
+ background-color: var(--index-even-item-bg-color);
+}
+
+.classindex dl.odd {
+ background-color: var(--index-odd-item-bg-color);
+}
+
+@media(min-width: 1120px) {
+ .classindex dl {
+ column-count:2
+ }
+}
+
+@media(min-width: 1320px) {
+ .classindex dl {
+ column-count:3
+ }
+}
+
+
+/* @group Link Styling */
+
+a {
+ color: var(--page-link-color);
+ font-weight: normal;
+ text-decoration: none;
+}
+
+.contents a:visited {
+ color: var(--page-visited-link-color);
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+a.el {
+ font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code, a.code:visited, a.line, a.line:visited {
+ color: var(--code-link-color);
+}
+
+a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
+ color: var(--code-external-link-color);
+}
+
+a.code.hl_class { /* style for links to class names in code snippets */ }
+a.code.hl_struct { /* style for links to struct names in code snippets */ }
+a.code.hl_union { /* style for links to union names in code snippets */ }
+a.code.hl_interface { /* style for links to interface names in code snippets */ }
+a.code.hl_protocol { /* style for links to protocol names in code snippets */ }
+a.code.hl_category { /* style for links to category names in code snippets */ }
+a.code.hl_exception { /* style for links to exception names in code snippets */ }
+a.code.hl_service { /* style for links to service names in code snippets */ }
+a.code.hl_singleton { /* style for links to singleton names in code snippets */ }
+a.code.hl_concept { /* style for links to concept names in code snippets */ }
+a.code.hl_namespace { /* style for links to namespace names in code snippets */ }
+a.code.hl_package { /* style for links to package names in code snippets */ }
+a.code.hl_define { /* style for links to macro names in code snippets */ }
+a.code.hl_function { /* style for links to function names in code snippets */ }
+a.code.hl_variable { /* style for links to variable names in code snippets */ }
+a.code.hl_typedef { /* style for links to typedef names in code snippets */ }
+a.code.hl_enumvalue { /* style for links to enum value names in code snippets */ }
+a.code.hl_enumeration { /* style for links to enumeration names in code snippets */ }
+a.code.hl_signal { /* style for links to Qt signal names in code snippets */ }
+a.code.hl_slot { /* style for links to Qt slot names in code snippets */ }
+a.code.hl_friend { /* style for links to friend names in code snippets */ }
+a.code.hl_dcop { /* style for links to KDE3 DCOP names in code snippets */ }
+a.code.hl_property { /* style for links to property names in code snippets */ }
+a.code.hl_event { /* style for links to event names in code snippets */ }
+a.code.hl_sequence { /* style for links to sequence names in code snippets */ }
+a.code.hl_dictionary { /* style for links to dictionary names in code snippets */ }
+
+/* @end */
+
+dl.el {
+ margin-left: -1cm;
+}
+
+ul {
+ overflow: visible;
+}
+
+ul.multicol {
+ -moz-column-gap: 1em;
+ -webkit-column-gap: 1em;
+ column-gap: 1em;
+ -moz-column-count: 3;
+ -webkit-column-count: 3;
+ column-count: 3;
+ list-style-type: none;
+}
+
+#side-nav ul {
+ overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */
+}
+
+#main-nav ul {
+ overflow: visible; /* reset ul rule for the navigation bar drop down lists */
+}
+
+.fragment {
+ text-align: left;
+ direction: ltr;
+ overflow-x: auto; /*Fixed: fragment lines overlap floating elements*/
+ overflow-y: hidden;
+}
+
+pre.fragment {
+ border: 1px solid var(--fragment-border-color);
+ background-color: var(--fragment-background-color);
+ color: var(--fragment-foreground-color);
+ padding: 4px 6px;
+ margin: 4px 8px 4px 2px;
+ overflow: auto;
+ word-wrap: break-word;
+ font-size: 9pt;
+ line-height: 125%;
+ font-family: var(--font-family-monospace);
+ font-size: 105%;
+}
+
+div.fragment {
+ padding: 0 0 1px 0; /*Fixed: last line underline overlap border*/
+ margin: 4px 8px 4px 2px;
+ color: var(--fragment-foreground-color);
+ background-color: var(--fragment-background-color);
+ border: 1px solid var(--fragment-border-color);
+}
+
+div.line {
+ font-family: var(--font-family-monospace);
+ font-size: 13px;
+ min-height: 13px;
+ line-height: 1.2;
+ text-wrap: unrestricted;
+ white-space: -moz-pre-wrap; /* Moz */
+ white-space: -pre-wrap; /* Opera 4-6 */
+ white-space: -o-pre-wrap; /* Opera 7 */
+ white-space: pre-wrap; /* CSS3 */
+ word-wrap: break-word; /* IE 5.5+ */
+ text-indent: -53px;
+ padding-left: 53px;
+ padding-bottom: 0px;
+ margin: 0px;
+ -webkit-transition-property: background-color, box-shadow;
+ -webkit-transition-duration: 0.5s;
+ -moz-transition-property: background-color, box-shadow;
+ -moz-transition-duration: 0.5s;
+ -ms-transition-property: background-color, box-shadow;
+ -ms-transition-duration: 0.5s;
+ -o-transition-property: background-color, box-shadow;
+ -o-transition-duration: 0.5s;
+ transition-property: background-color, box-shadow;
+ transition-duration: 0.5s;
+}
+
+div.line:after {
+ content:"\000A";
+ white-space: pre;
+}
+
+div.line.glow {
+ background-color: var(--glow-color);
+ box-shadow: 0 0 10px var(--glow-color);
+}
+
+span.fold {
+ margin-left: 5px;
+ margin-right: 1px;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0px;
+ display: inline-block;
+ width: 12px;
+ height: 12px;
+ background-repeat:no-repeat;
+ background-position:center;
+}
+
+span.lineno {
+ padding-right: 4px;
+ margin-right: 9px;
+ text-align: right;
+ border-right: 2px solid var(--fragment-lineno-border-color);
+ color: var(--fragment-lineno-foreground-color);
+ background-color: var(--fragment-lineno-background-color);
+ white-space: pre;
+}
+span.lineno a, span.lineno a:visited {
+ color: var(--fragment-lineno-link-fg-color);
+ background-color: var(--fragment-lineno-link-bg-color);
+}
+
+span.lineno a:hover {
+ color: var(--fragment-lineno-link-hover-fg-color);
+ background-color: var(--fragment-lineno-link-hover-bg-color);
+}
+
+.lineno {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+div.classindex ul {
+ list-style: none;
+ padding-left: 0;
+}
+
+div.classindex span.ai {
+ display: inline-block;
+}
+
+div.groupHeader {
+ margin-left: 16px;
+ margin-top: 12px;
+ font-weight: bold;
+}
+
+div.groupText {
+ margin-left: 16px;
+ font-style: italic;
+}
+
+body {
+ color: var(--page-foreground-color);
+ margin: 0;
+}
+
+div.contents {
+ margin-top: 10px;
+ margin-left: 12px;
+ margin-right: 8px;
+}
+
+p.formulaDsp {
+ text-align: center;
+}
+
+img.dark-mode-visible {
+ display: none;
+}
+img.light-mode-visible {
+ display: none;
+}
+
+img.formulaDsp {
+
+}
+
+img.formulaInl, img.inline {
+ vertical-align: middle;
+}
+
+div.center {
+ text-align: center;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0px;
+}
+
+div.center img {
+ border: 0px;
+}
+
+address.footer {
+ text-align: right;
+ padding-right: 12px;
+}
+
+img.footer {
+ border: 0px;
+ vertical-align: middle;
+ width: var(--footer-logo-width);
+}
+
+.compoundTemplParams {
+ color: var(--memdecl-template-color);
+ font-size: 80%;
+ line-height: 120%;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+ color: var(--code-keyword-color);
+}
+
+span.keywordtype {
+ color: var(--code-type-keyword-color);
+}
+
+span.keywordflow {
+ color: var(--code-flow-keyword-color);
+}
+
+span.comment {
+ color: var(--code-comment-color);
+}
+
+span.preprocessor {
+ color: var(--code-preprocessor-color);
+}
+
+span.stringliteral {
+ color: var(--code-string-literal-color);
+}
+
+span.charliteral {
+ color: var(--code-char-literal-color);
+}
+
+span.xmlcdata {
+ color: var(--code-xml-cdata-color);
+}
+
+span.vhdldigit {
+ color: var(--code-vhdl-digit-color);
+}
+
+span.vhdlchar {
+ color: var(--code-vhdl-char-color);
+}
+
+span.vhdlkeyword {
+ color: var(--code-vhdl-keyword-color);
+}
+
+span.vhdllogic {
+ color: var(--code-vhdl-logic-color);
+}
+
+blockquote {
+ background-color: var(--blockquote-background-color);
+ border-left: 2px solid var(--blockquote-border-color);
+ margin: 0 24px 0 4px;
+ padding: 0 12px 0 16px;
+}
+
+/* @end */
+
+td.tiny {
+ font-size: 75%;
+}
+
+.dirtab {
+ padding: 4px;
+ border-collapse: collapse;
+ border: 1px solid var(--table-cell-border-color);
+}
+
+th.dirtab {
+ background-color: var(--table-header-background-color);
+ color: var(--table-header-foreground-color);
+ font-weight: bold;
+}
+
+hr {
+ height: 0px;
+ border: none;
+ border-top: 1px solid var(--separator-color);
+}
+
+hr.footer {
+ height: 1px;
+}
+
+/* @group Member Descriptions */
+
+table.memberdecls {
+ border-spacing: 0px;
+ padding: 0px;
+}
+
+.memberdecls td, .fieldtable tr {
+ -webkit-transition-property: background-color, box-shadow;
+ -webkit-transition-duration: 0.5s;
+ -moz-transition-property: background-color, box-shadow;
+ -moz-transition-duration: 0.5s;
+ -ms-transition-property: background-color, box-shadow;
+ -ms-transition-duration: 0.5s;
+ -o-transition-property: background-color, box-shadow;
+ -o-transition-duration: 0.5s;
+ transition-property: background-color, box-shadow;
+ transition-duration: 0.5s;
+}
+
+.memberdecls td.glow, .fieldtable tr.glow {
+ background-color: var(--glow-color);
+ box-shadow: 0 0 15px var(--glow-color);
+}
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+ background-color: var(--memdecl-background-color);
+ border: none;
+ margin: 4px;
+ padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+ padding: 0px 8px 4px 8px;
+ color: var(--memdecl-foreground-color);
+}
+
+.memSeparator {
+ border-bottom: 1px solid var(--memdecl-separator-color);
+ line-height: 1px;
+ margin: 0px;
+ padding: 0px;
+}
+
+.memItemLeft, .memTemplItemLeft {
+ white-space: nowrap;
+}
+
+.memItemRight, .memTemplItemRight {
+ width: 100%;
+}
+
+.memTemplParams {
+ color: var(--memdecl-template-color);
+ white-space: nowrap;
+ font-size: 80%;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtitle {
+ padding: 8px;
+ border-top: 1px solid var(--memdef-border-color);
+ border-left: 1px solid var(--memdef-border-color);
+ border-right: 1px solid var(--memdef-border-color);
+ border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+ margin-bottom: -1px;
+ background-image: var(--memdef-title-gradient-image);
+ background-repeat: repeat-x;
+ background-color: var(--memdef-title-background-color);
+ line-height: 1.25;
+ font-weight: 300;
+ float:left;
+}
+
+.permalink
+{
+ font-size: 65%;
+ display: inline-block;
+ vertical-align: middle;
+}
+
+.memtemplate {
+ font-size: 80%;
+ color: var(--memdef-template-color);
+ font-weight: normal;
+ margin-left: 9px;
+}
+
+.mempage {
+ width: 100%;
+}
+
+.memitem {
+ padding: 0;
+ margin-bottom: 10px;
+ margin-right: 5px;
+ -webkit-transition: box-shadow 0.5s linear;
+ -moz-transition: box-shadow 0.5s linear;
+ -ms-transition: box-shadow 0.5s linear;
+ -o-transition: box-shadow 0.5s linear;
+ transition: box-shadow 0.5s linear;
+ display: table !important;
+ width: 100%;
+}
+
+.memitem.glow {
+ box-shadow: 0 0 15px var(--glow-color);
+}
+
+.memname {
+ font-weight: 400;
+ margin-left: 6px;
+}
+
+.memname td {
+ vertical-align: bottom;
+}
+
+.memproto, dl.reflist dt {
+ border-top: 1px solid var(--memdef-border-color);
+ border-left: 1px solid var(--memdef-border-color);
+ border-right: 1px solid var(--memdef-border-color);
+ padding: 6px 0px 6px 0px;
+ color: var(--memdef-proto-text-color);
+ font-weight: bold;
+ text-shadow: var(--memdef-proto-text-shadow);
+ background-color: var(--memdef-proto-background-color);
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ border-top-right-radius: 4px;
+}
+
+.overload {
+ font-family: var(--font-family-monospace);
+ font-size: 65%;
+}
+
+.memdoc, dl.reflist dd {
+ border-bottom: 1px solid var(--memdef-border-color);
+ border-left: 1px solid var(--memdef-border-color);
+ border-right: 1px solid var(--memdef-border-color);
+ padding: 6px 10px 2px 10px;
+ border-top-width: 0;
+ background-image:url('nav_g.png');
+ background-repeat:repeat-x;
+ background-color: var(--memdef-doc-background-color);
+ /* opera specific markup */
+ border-bottom-left-radius: 4px;
+ border-bottom-right-radius: 4px;
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ /* firefox specific markup */
+ -moz-border-radius-bottomleft: 4px;
+ -moz-border-radius-bottomright: 4px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ /* webkit specific markup */
+ -webkit-border-bottom-left-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+dl.reflist dt {
+ padding: 5px;
+}
+
+dl.reflist dd {
+ margin: 0px 0px 10px 0px;
+ padding: 5px;
+}
+
+.paramkey {
+ text-align: right;
+}
+
+.paramtype {
+ white-space: nowrap;
+}
+
+.paramname {
+ color: var(--memdef-param-name-color);
+ white-space: nowrap;
+}
+.paramname em {
+ font-style: normal;
+}
+.paramname code {
+ line-height: 14px;
+}
+
+.params, .retval, .exception, .tparams {
+ margin-left: 0px;
+ padding-left: 0px;
+}
+
+.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname {
+ font-weight: bold;
+ vertical-align: top;
+}
+
+.params .paramtype, .tparams .paramtype {
+ font-style: italic;
+ vertical-align: top;
+}
+
+.params .paramdir, .tparams .paramdir {
+ font-family: var(--font-family-monospace);
+ vertical-align: top;
+}
+
+table.mlabels {
+ border-spacing: 0px;
+}
+
+td.mlabels-left {
+ width: 100%;
+ padding: 0px;
+}
+
+td.mlabels-right {
+ vertical-align: bottom;
+ padding: 0px;
+ white-space: nowrap;
+}
+
+span.mlabels {
+ margin-left: 8px;
+}
+
+span.mlabel {
+ background-color: var(--label-background-color);
+ border-top:1px solid var(--label-left-top-border-color);
+ border-left:1px solid var(--label-left-top-border-color);
+ border-right:1px solid var(--label-right-bottom-border-color);
+ border-bottom:1px solid var(--label-right-bottom-border-color);
+ text-shadow: none;
+ color: var(--label-foreground-color);
+ margin-right: 4px;
+ padding: 2px 3px;
+ border-radius: 3px;
+ font-size: 7pt;
+ white-space: nowrap;
+ vertical-align: middle;
+}
+
+
+
+/* @end */
+
+/* these are for tree view inside a (index) page */
+
+div.directory {
+ margin: 10px 0px;
+ border-top: 1px solid var(--directory-separator-color);
+ border-bottom: 1px solid var(--directory-separator-color);
+ width: 100%;
+}
+
+.directory table {
+ border-collapse:collapse;
+}
+
+.directory td {
+ margin: 0px;
+ padding: 0px;
+ vertical-align: top;
+}
+
+.directory td.entry {
+ white-space: nowrap;
+ padding-right: 6px;
+ padding-top: 3px;
+}
+
+.directory td.entry a {
+ outline:none;
+}
+
+.directory td.entry a img {
+ border: none;
+}
+
+.directory td.desc {
+ width: 100%;
+ padding-left: 6px;
+ padding-right: 6px;
+ padding-top: 3px;
+ border-left: 1px solid rgba(0,0,0,0.05);
+}
+
+.directory tr.odd {
+ padding-left: 6px;
+ background-color: var(--index-odd-item-bg-color);
+}
+
+.directory tr.even {
+ padding-left: 6px;
+ background-color: var(--index-even-item-bg-color);
+}
+
+.directory img {
+ vertical-align: -30%;
+}
+
+.directory .levels {
+ white-space: nowrap;
+ width: 100%;
+ text-align: right;
+ font-size: 9pt;
+}
+
+.directory .levels span {
+ cursor: pointer;
+ padding-left: 2px;
+ padding-right: 2px;
+ color: var(--page-link-color);
+}
+
+.arrow {
+ color: var(--nav-arrow-color);
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ cursor: pointer;
+ font-size: 80%;
+ display: inline-block;
+ width: 16px;
+ height: 22px;
+}
+
+.icon {
+ font-family: var(--font-family-icon);
+ line-height: normal;
+ font-weight: bold;
+ font-size: 12px;
+ height: 14px;
+ width: 16px;
+ display: inline-block;
+ background-color: var(--icon-background-color);
+ color: var(--icon-foreground-color);
+ text-align: center;
+ border-radius: 4px;
+ margin-left: 2px;
+ margin-right: 2px;
+}
+
+.icona {
+ width: 24px;
+ height: 22px;
+ display: inline-block;
+}
+
+.iconfopen {
+ width: 24px;
+ height: 18px;
+ margin-bottom: 4px;
+ background-image:var(--icon-folder-open-image);
+ background-repeat: repeat-y;
+ vertical-align:top;
+ display: inline-block;
+}
+
+.iconfclosed {
+ width: 24px;
+ height: 18px;
+ margin-bottom: 4px;
+ background-image:var(--icon-folder-closed-image);
+ background-repeat: repeat-y;
+ vertical-align:top;
+ display: inline-block;
+}
+
+.icondoc {
+ width: 24px;
+ height: 18px;
+ margin-bottom: 4px;
+ background-image:var(--icon-doc-image);
+ background-position: 0px -4px;
+ background-repeat: repeat-y;
+ vertical-align:top;
+ display: inline-block;
+}
+
+/* @end */
+
+div.dynheader {
+ margin-top: 8px;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+address {
+ font-style: normal;
+ color: var(--footer-foreground-color);
+}
+
+table.doxtable caption {
+ caption-side: top;
+}
+
+table.doxtable {
+ border-collapse:collapse;
+ margin-top: 4px;
+ margin-bottom: 4px;
+}
+
+table.doxtable td, table.doxtable th {
+ border: 1px solid var(--table-cell-border-color);
+ padding: 3px 7px 2px;
+}
+
+table.doxtable th {
+ background-color: var(--table-header-background-color);
+ color: var(--table-header-foreground-color);
+ font-size: 110%;
+ padding-bottom: 4px;
+ padding-top: 5px;
+}
+
+table.fieldtable {
+ margin-bottom: 10px;
+ border: 1px solid var(--memdef-border-color);
+ border-spacing: 0px;
+ border-radius: 4px;
+ box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+}
+
+.fieldtable td, .fieldtable th {
+ padding: 3px 7px 2px;
+}
+
+.fieldtable td.fieldtype, .fieldtable td.fieldname {
+ white-space: nowrap;
+ border-right: 1px solid var(--memdef-border-color);
+ border-bottom: 1px solid var(--memdef-border-color);
+ vertical-align: top;
+}
+
+.fieldtable td.fieldname {
+ padding-top: 3px;
+}
+
+.fieldtable td.fielddoc {
+ border-bottom: 1px solid var(--memdef-border-color);
+}
+
+.fieldtable td.fielddoc p:first-child {
+ margin-top: 0px;
+}
+
+.fieldtable td.fielddoc p:last-child {
+ margin-bottom: 2px;
+}
+
+.fieldtable tr:last-child td {
+ border-bottom: none;
+}
+
+.fieldtable th {
+ background-image: var(--memdef-title-gradient-image);
+ background-repeat:repeat-x;
+ background-color: var(--memdef-title-background-color);
+ font-size: 90%;
+ color: var(--memdef-proto-text-color);
+ padding-bottom: 4px;
+ padding-top: 5px;
+ text-align:left;
+ font-weight: 400;
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ border-bottom: 1px solid var(--memdef-border-color);
+}
+
+
+.tabsearch {
+ top: 0px;
+ left: 10px;
+ height: 36px;
+ background-image: var(--nav-gradient-image);
+ z-index: 101;
+ overflow: hidden;
+ font-size: 13px;
+}
+
+.navpath ul
+{
+ font-size: 11px;
+ background-image: var(--nav-gradient-image);
+ background-repeat:repeat-x;
+ background-position: 0 -5px;
+ height:30px;
+ line-height:30px;
+ color:var(--nav-text-normal-color);
+ border:solid 1px var(--nav-breadcrumb-border-color);
+ overflow:hidden;
+ margin:0px;
+ padding:0px;
+}
+
+.navpath li
+{
+ list-style-type:none;
+ float:left;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:var(--nav-breadcrumb-image);
+ background-repeat:no-repeat;
+ background-position:right;
+ color: var(--nav-foreground-color);
+}
+
+.navpath li.navelem a
+{
+ height:32px;
+ display:block;
+ text-decoration: none;
+ outline: none;
+ color: var(--nav-text-normal-color);
+ font-family: var(--font-family-nav);
+ text-shadow: var(--nav-text-normal-shadow);
+ text-decoration: none;
+}
+
+.navpath li.navelem a:hover
+{
+ color: var(--nav-text-hover-color);
+ text-shadow: var(--nav-text-hover-shadow);
+}
+
+.navpath li.footer
+{
+ list-style-type:none;
+ float:right;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:none;
+ background-repeat:no-repeat;
+ background-position:right;
+ color: var(--footer-foreground-color);
+ font-size: 8pt;
+}
+
+
+div.summary
+{
+ float: right;
+ font-size: 8pt;
+ padding-right: 5px;
+ width: 50%;
+ text-align: right;
+}
+
+div.summary a
+{
+ white-space: nowrap;
+}
+
+table.classindex
+{
+ margin: 10px;
+ white-space: nowrap;
+ margin-left: 3%;
+ margin-right: 3%;
+ width: 94%;
+ border: 0;
+ border-spacing: 0;
+ padding: 0;
+}
+
+div.ingroups
+{
+ font-size: 8pt;
+ width: 50%;
+ text-align: left;
+}
+
+div.ingroups a
+{
+ white-space: nowrap;
+}
+
+div.header
+{
+ background-image: var(--header-gradient-image);
+ background-repeat:repeat-x;
+ background-color: var(--header-background-color);
+ margin: 0px;
+ border-bottom: 1px solid var(--header-separator-color);
+}
+
+div.headertitle
+{
+ padding: 5px 5px 5px 10px;
+}
+
+.PageDocRTL-title div.headertitle {
+ text-align: right;
+ direction: rtl;
+}
+
+dl {
+ padding: 0 0 0 0;
+}
+
+/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug, dl.examples */
+dl.section {
+ margin-left: 0px;
+ padding-left: 0px;
+}
+
+dl.note {
+ margin-left: -7px;
+ padding-left: 3px;
+ border-left: 4px solid;
+ border-color: #D0C000;
+}
+
+dl.warning, dl.attention {
+ margin-left: -7px;
+ padding-left: 3px;
+ border-left: 4px solid;
+ border-color: #FF0000;
+}
+
+dl.pre, dl.post, dl.invariant {
+ margin-left: -7px;
+ padding-left: 3px;
+ border-left: 4px solid;
+ border-color: #00D000;
+}
+
+dl.deprecated {
+ margin-left: -7px;
+ padding-left: 3px;
+ border-left: 4px solid;
+ border-color: #505050;
+}
+
+dl.todo {
+ margin-left: -7px;
+ padding-left: 3px;
+ border-left: 4px solid;
+ border-color: #00C0E0;
+}
+
+dl.test {
+ margin-left: -7px;
+ padding-left: 3px;
+ border-left: 4px solid;
+ border-color: #3030E0;
+}
+
+dl.bug {
+ margin-left: -7px;
+ padding-left: 3px;
+ border-left: 4px solid;
+ border-color: #C08050;
+}
+
+dl.section dd {
+ margin-bottom: 6px;
+}
+
+
+#projectrow
+{
+ height: 56px;
+}
+
+#projectlogo
+{
+ text-align: center;
+ vertical-align: bottom;
+ border-collapse: separate;
+}
+
+#projectlogo img
+{
+ border: 0px none;
+}
+
+#projectalign
+{
+ vertical-align: middle;
+ padding-left: 0.5em;
+}
+
+#projectname
+{
+ font-size: 200%;
+ font-family: var(--font-family-title);
+ margin: 0px;
+ padding: 2px 0px;
+}
+
+#projectbrief
+{
+ font-size: 90%;
+ font-family: var(--font-family-title);
+ margin: 0px;
+ padding: 0px;
+}
+
+#projectnumber
+{
+ font-size: 50%;
+ font-family: 50% var(--font-family-title);
+ margin: 0px;
+ padding: 0px;
+}
+
+#titlearea
+{
+ padding: 0px;
+ margin: 0px;
+ width: 100%;
+ border-bottom: 1px solid var(--title-separator-color);
+ background-color: var(--title-background-color);
+}
+
+.image
+{
+ text-align: center;
+}
+
+.dotgraph
+{
+ text-align: center;
+}
+
+.mscgraph
+{
+ text-align: center;
+}
+
+.plantumlgraph
+{
+ text-align: center;
+}
+
+.diagraph
+{
+ text-align: center;
+}
+
+.caption
+{
+ font-weight: bold;
+}
+
+dl.citelist {
+ margin-bottom:50px;
+}
+
+dl.citelist dt {
+ color:var(--citation-label-color);
+ float:left;
+ font-weight:bold;
+ margin-right:10px;
+ padding:5px;
+ text-align:right;
+ width:52px;
+}
+
+dl.citelist dd {
+ margin:2px 0 2px 72px;
+ padding:5px 0;
+}
+
+div.toc {
+ padding: 14px 25px;
+ background-color: var(--toc-background-color);
+ border: 1px solid var(--toc-border-color);
+ border-radius: 7px 7px 7px 7px;
+ float: right;
+ height: auto;
+ margin: 0 8px 10px 10px;
+ width: 200px;
+}
+
+div.toc li {
+ background: var(--toc-down-arrow-image) no-repeat scroll 0 5px transparent;
+ font: 10px/1.2 var(--font-family-toc);
+ margin-top: 5px;
+ padding-left: 10px;
+ padding-top: 2px;
+}
+
+div.toc h3 {
+ font: bold 12px/1.2 var(--font-family-toc);
+ color: var(--toc-header-color);
+ border-bottom: 0 none;
+ margin: 0;
+}
+
+div.toc ul {
+ list-style: none outside none;
+ border: medium none;
+ padding: 0px;
+}
+
+div.toc li.level1 {
+ margin-left: 0px;
+}
+
+div.toc li.level2 {
+ margin-left: 15px;
+}
+
+div.toc li.level3 {
+ margin-left: 15px;
+}
+
+div.toc li.level4 {
+ margin-left: 15px;
+}
+
+span.emoji {
+ /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html
+ * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort;
+ */
+}
+
+span.obfuscator {
+ display: none;
+}
+
+.inherit_header {
+ font-weight: bold;
+ color: var(--inherit-header-color);
+ cursor: pointer;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+.inherit_header td {
+ padding: 6px 0px 2px 5px;
+}
+
+.inherit {
+ display: none;
+}
+
+tr.heading h2 {
+ margin-top: 12px;
+ margin-bottom: 4px;
+}
+
+/* tooltip related style info */
+
+.ttc {
+ position: absolute;
+ display: none;
+}
+
+#powerTip {
+ cursor: default;
+ /*white-space: nowrap;*/
+ color: var(--tooltip-foreground-color);
+ background-color: var(--tooltip-background-color);
+ border: 1px solid var(--tooltip-border-color);
+ border-radius: 4px 4px 4px 4px;
+ box-shadow: var(--tooltip-shadow);
+ display: none;
+ font-size: smaller;
+ max-width: 80%;
+ opacity: 0.9;
+ padding: 1ex 1em 1em;
+ position: absolute;
+ z-index: 2147483647;
+}
+
+#powerTip div.ttdoc {
+ color: var(--tooltip-doc-color);
+ font-style: italic;
+}
+
+#powerTip div.ttname a {
+ font-weight: bold;
+}
+
+#powerTip a {
+ color: var(--tooltip-link-color);
+}
+
+#powerTip div.ttname {
+ font-weight: bold;
+}
+
+#powerTip div.ttdeci {
+ color: var(--tooltip-declaration-color);
+}
+
+#powerTip div {
+ margin: 0px;
+ padding: 0px;
+ font-size: 12px;
+ font-family: var(--font-family-tooltip);
+ line-height: 16px;
+}
+
+#powerTip:before, #powerTip:after {
+ content: "";
+ position: absolute;
+ margin: 0px;
+}
+
+#powerTip.n:after, #powerTip.n:before,
+#powerTip.s:after, #powerTip.s:before,
+#powerTip.w:after, #powerTip.w:before,
+#powerTip.e:after, #powerTip.e:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.nw:after, #powerTip.nw:before,
+#powerTip.sw:after, #powerTip.sw:before {
+ border: solid transparent;
+ content: " ";
+ height: 0;
+ width: 0;
+ position: absolute;
+}
+
+#powerTip.n:after, #powerTip.s:after,
+#powerTip.w:after, #powerTip.e:after,
+#powerTip.nw:after, #powerTip.ne:after,
+#powerTip.sw:after, #powerTip.se:after {
+ border-color: rgba(255, 255, 255, 0);
+}
+
+#powerTip.n:before, #powerTip.s:before,
+#powerTip.w:before, #powerTip.e:before,
+#powerTip.nw:before, #powerTip.ne:before,
+#powerTip.sw:before, #powerTip.se:before {
+ border-color: rgba(128, 128, 128, 0);
+}
+
+#powerTip.n:after, #powerTip.n:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.nw:after, #powerTip.nw:before {
+ top: 100%;
+}
+
+#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
+ border-top-color: var(--tooltip-background-color);
+ border-width: 10px;
+ margin: 0px -10px;
+}
+#powerTip.n:before, #powerTip.ne:before, #powerTip.nw:before {
+ border-top-color: var(--tooltip-border-color);
+ border-width: 11px;
+ margin: 0px -11px;
+}
+#powerTip.n:after, #powerTip.n:before {
+ left: 50%;
+}
+
+#powerTip.nw:after, #powerTip.nw:before {
+ right: 14px;
+}
+
+#powerTip.ne:after, #powerTip.ne:before {
+ left: 14px;
+}
+
+#powerTip.s:after, #powerTip.s:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.sw:after, #powerTip.sw:before {
+ bottom: 100%;
+}
+
+#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
+ border-bottom-color: var(--tooltip-background-color);
+ border-width: 10px;
+ margin: 0px -10px;
+}
+
+#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {
+ border-bottom-color: var(--tooltip-border-color);
+ border-width: 11px;
+ margin: 0px -11px;
+}
+
+#powerTip.s:after, #powerTip.s:before {
+ left: 50%;
+}
+
+#powerTip.sw:after, #powerTip.sw:before {
+ right: 14px;
+}
+
+#powerTip.se:after, #powerTip.se:before {
+ left: 14px;
+}
+
+#powerTip.e:after, #powerTip.e:before {
+ left: 100%;
+}
+#powerTip.e:after {
+ border-left-color: var(--tooltip-border-color);
+ border-width: 10px;
+ top: 50%;
+ margin-top: -10px;
+}
+#powerTip.e:before {
+ border-left-color: var(--tooltip-border-color);
+ border-width: 11px;
+ top: 50%;
+ margin-top: -11px;
+}
+
+#powerTip.w:after, #powerTip.w:before {
+ right: 100%;
+}
+#powerTip.w:after {
+ border-right-color: var(--tooltip-border-color);
+ border-width: 10px;
+ top: 50%;
+ margin-top: -10px;
+}
+#powerTip.w:before {
+ border-right-color: var(--tooltip-border-color);
+ border-width: 11px;
+ top: 50%;
+ margin-top: -11px;
+}
+
+@media print
+{
+ #top { display: none; }
+ #side-nav { display: none; }
+ #nav-path { display: none; }
+ body { overflow:visible; }
+ h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
+ .summary { display: none; }
+ .memitem { page-break-inside: avoid; }
+ #doc-content
+ {
+ margin-left:0 !important;
+ height:auto !important;
+ width:auto !important;
+ overflow:inherit;
+ display:inline;
+ }
+}
+
+/* @group Markdown */
+
+table.markdownTable {
+ border-collapse:collapse;
+ margin-top: 4px;
+ margin-bottom: 4px;
+}
+
+table.markdownTable td, table.markdownTable th {
+ border: 1px solid var(--table-cell-border-color);
+ padding: 3px 7px 2px;
+}
+
+table.markdownTable tr {
+}
+
+th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone {
+ background-color: var(--table-header-background-color);
+ color: var(--table-header-foreground-color);
+ font-size: 110%;
+ padding-bottom: 4px;
+ padding-top: 5px;
+}
+
+th.markdownTableHeadLeft, td.markdownTableBodyLeft {
+ text-align: left
+}
+
+th.markdownTableHeadRight, td.markdownTableBodyRight {
+ text-align: right
+}
+
+th.markdownTableHeadCenter, td.markdownTableBodyCenter {
+ text-align: center
+}
+
+tt, code, kbd, samp
+{
+ display: inline-block;
+}
+/* @end */
+
+u {
+ text-decoration: underline;
+}
+
+details>summary {
+ list-style-type: none;
+}
+
+details > summary::-webkit-details-marker {
+ display: none;
+}
+
+details>summary::before {
+ content: "\25ba";
+ padding-right:4px;
+ font-size: 80%;
+}
+
+details[open]>summary::before {
+ content: "\25bc";
+ padding-right:4px;
+ font-size: 80%;
+}
+
+body {
+ scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-background-color);
+}
+
+::-webkit-scrollbar {
+ background-color: var(--scrollbar-background-color);
+ height: 12px;
+ width: 12px;
+}
+::-webkit-scrollbar-thumb {
+ border-radius: 6px;
+ box-shadow: inset 0 0 12px 12px var(--scrollbar-thumb-color);
+ border: solid 2px transparent;
+}
+::-webkit-scrollbar-corner {
+ background-color: var(--scrollbar-background-color);
+}
+
diff --git a/html/doxygen.svg b/html/doxygen.svg
new file mode 100644
index 0000000..79a7635
--- /dev/null
+++ b/html/doxygen.svg
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/dynsections.js b/html/dynsections.js
new file mode 100644
index 0000000..b73c828
--- /dev/null
+++ b/html/dynsections.js
@@ -0,0 +1,192 @@
+/*
+ @licstart The following is the entire license notice for the JavaScript code in this file.
+
+ The MIT License (MIT)
+
+ Copyright (C) 1997-2020 by Dimitri van Heesch
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ and associated documentation files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all copies or
+ substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ @licend The above is the entire license notice for the JavaScript code in this file
+ */
+function toggleVisibility(linkObj)
+{
+ var base = $(linkObj).attr('id');
+ var summary = $('#'+base+'-summary');
+ var content = $('#'+base+'-content');
+ var trigger = $('#'+base+'-trigger');
+ var src=$(trigger).attr('src');
+ if (content.is(':visible')===true) {
+ content.hide();
+ summary.show();
+ $(linkObj).addClass('closed').removeClass('opened');
+ $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
+ } else {
+ content.show();
+ summary.hide();
+ $(linkObj).removeClass('closed').addClass('opened');
+ $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
+ }
+ return false;
+}
+
+function updateStripes()
+{
+ $('table.directory tr').
+ removeClass('even').filter(':visible:even').addClass('even');
+ $('table.directory tr').
+ removeClass('odd').filter(':visible:odd').addClass('odd');
+}
+
+function toggleLevel(level)
+{
+ $('table.directory tr').each(function() {
+ var l = this.id.split('_').length-1;
+ var i = $('#img'+this.id.substring(3));
+ var a = $('#arr'+this.id.substring(3));
+ if (l');
+ // add vertical lines to other rows
+ $('span[class=lineno]').not(':eq(0)').append(' ');
+ // add toggle controls to lines with fold divs
+ $('div[class=foldopen]').each(function() {
+ // extract specific id to use
+ var id = $(this).attr('id').replace('foldopen','');
+ // extract start and end foldable fragment attributes
+ var start = $(this).attr('data-start');
+ var end = $(this).attr('data-end');
+ // replace normal fold span with controls for the first line of a foldable fragment
+ $(this).find('span[class=fold]:first').replaceWith(' ');
+ // append div for folded (closed) representation
+ $(this).after('
');
+ // extract the first line from the "open" section to represent closed content
+ var line = $(this).children().first().clone();
+ // remove any glow that might still be active on the original line
+ $(line).removeClass('glow');
+ if (start) {
+ // if line already ends with a start marker (e.g. trailing {), remove it
+ $(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),''));
+ }
+ // replace minus with plus symbol
+ $(line).find('span[class=fold]').css('background-image',plusImg[relPath]);
+ // append ellipsis
+ $(line).append(' '+start+'… '+end);
+ // insert constructed line into closed div
+ $('#foldclosed'+id).html(line);
+ });
+}
+
+/* @license-end */
diff --git a/html/files.html b/html/files.html
new file mode 100644
index 0000000..d47fa6a
--- /dev/null
+++ b/html/files.html
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+My Project: File List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
Here is a list of all documented files with brief descriptions:
+
+ __call.h
+ __comment.h
+ __cookie.h
+ __dotag.h
+ __dump.h
+ __exclude.h
+ __for.h
+ __header.h
+ __if.h
+ __ifrow.h
+ __include.h
+ __jet.h
+ __mysql.h
+ __read.h
+ __set.h
+ __sql.h
+ __stream.h
+ __system.h
+ __tag.h
+ __until.h
+ __while.h
+ __whiledir.h
+ __whilerow.h
+ __write.h
+ Global.h
+ Operand.h
+ SessionId.h
+ Tag.h
+
+
+
+
+
+
+
diff --git a/html/folderclosed.svg b/html/folderclosed.svg
new file mode 100644
index 0000000..b04bed2
--- /dev/null
+++ b/html/folderclosed.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/html/folderclosedd.svg b/html/folderclosedd.svg
new file mode 100644
index 0000000..52f0166
--- /dev/null
+++ b/html/folderclosedd.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/html/folderopen.svg b/html/folderopen.svg
new file mode 100644
index 0000000..f6896dd
--- /dev/null
+++ b/html/folderopen.svg
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/html/folderopend.svg b/html/folderopend.svg
new file mode 100644
index 0000000..2d1f06e
--- /dev/null
+++ b/html/folderopend.svg
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/functions.html b/html/functions.html
new file mode 100644
index 0000000..7f007e3
--- /dev/null
+++ b/html/functions.html
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+My Project: Class Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
Here is a list of all documented class members with links to the class documentation for each member:
+
+
+
+
+
diff --git a/html/functions_func.html b/html/functions_func.html
new file mode 100644
index 0000000..d0b64a0
--- /dev/null
+++ b/html/functions_func.html
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+My Project: Class Members - Functions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
Here is a list of all documented functions with links to the class documentation for each member:
+
+
+
+
+
diff --git a/html/functions_vars.html b/html/functions_vars.html
new file mode 100644
index 0000000..a380132
--- /dev/null
+++ b/html/functions_vars.html
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+My Project: Class Members - Variables
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
Here is a list of all documented variables with links to the class documentation for each member:
+
+
+
+
+
diff --git a/html/graph_legend.html b/html/graph_legend.html
new file mode 100644
index 0000000..ecc9d7b
--- /dev/null
+++ b/html/graph_legend.html
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+My Project: Graph Legend
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
This page explains how to interpret the graphs that are generated by doxygen.
+
Consider the following example:
+
class Invisible { };
+
+
+
class Truncated : public Invisible { };
+
+
+
class Undocumented { };
+
+
+
class PublicBase : public Truncated { };
+
+
+
template <class T> class Templ { };
+
+
+
class ProtectedBase { };
+
+
+
class PrivateBase { };
+
+
+
class Used { };
+
+
+
class Inherited : public PublicBase,
+
protected ProtectedBase,
+
private PrivateBase,
+
public Undocumented,
+
public Templ<int>
+
{
+
private :
+
Used *m_usedClass;
+
};
+
This will result in the following graph:
+
The boxes in the above graph have the following meaning:
+
+
+A filled gray box represents the struct or class for which the graph is generated.
+
+A box with a black border denotes a documented struct or class.
+
+A box with a gray border denotes an undocumented struct or class.
+
+A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
+
+
The arrows have the following meaning:
+
+
+A blue arrow is used to visualize a public inheritance relation between two classes.
+
+A dark green arrow is used for protected inheritance.
+
+A dark red arrow is used for private inheritance.
+
+A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible.
+
+A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance.
+
+
+
+
+
+
diff --git a/html/graph_legend.md5 b/html/graph_legend.md5
new file mode 100644
index 0000000..da515da
--- /dev/null
+++ b/html/graph_legend.md5
@@ -0,0 +1 @@
+f74606a252eb303675caf37987d0b7af
\ No newline at end of file
diff --git a/html/graph_legend.png b/html/graph_legend.png
new file mode 100644
index 0000000..2d88046
Binary files /dev/null and b/html/graph_legend.png differ
diff --git a/html/hierarchy.html b/html/hierarchy.html
new file mode 100644
index 0000000..0acf9c7
--- /dev/null
+++ b/html/hierarchy.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+My Project: Class Hierarchy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
Go to the graphical class hierarchy
+This inheritance list is sorted roughly, but not completely, alphabetically:
+
+
+
+
+
diff --git a/html/index.html b/html/index.html
new file mode 100644
index 0000000..a6ec34d
--- /dev/null
+++ b/html/index.html
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+My Project: Main Page
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/inherit_graph_0.map b/html/inherit_graph_0.map
new file mode 100644
index 0000000..483a53b
--- /dev/null
+++ b/html/inherit_graph_0.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/html/inherit_graph_0.md5 b/html/inherit_graph_0.md5
new file mode 100644
index 0000000..369ed6d
--- /dev/null
+++ b/html/inherit_graph_0.md5
@@ -0,0 +1 @@
+045cf145660a837eb82bf9261bdf73e1
\ No newline at end of file
diff --git a/html/inherit_graph_0.png b/html/inherit_graph_0.png
new file mode 100644
index 0000000..ddc56b2
Binary files /dev/null and b/html/inherit_graph_0.png differ
diff --git a/html/inherit_graph_1.map b/html/inherit_graph_1.map
new file mode 100644
index 0000000..181b16f
--- /dev/null
+++ b/html/inherit_graph_1.map
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/inherit_graph_1.md5 b/html/inherit_graph_1.md5
new file mode 100644
index 0000000..b7afa8f
--- /dev/null
+++ b/html/inherit_graph_1.md5
@@ -0,0 +1 @@
+be75327a4169e79776d73e0cfb8e0ece
\ No newline at end of file
diff --git a/html/inherit_graph_1.png b/html/inherit_graph_1.png
new file mode 100644
index 0000000..69f74a5
Binary files /dev/null and b/html/inherit_graph_1.png differ
diff --git a/html/inherit_graph_2.map b/html/inherit_graph_2.map
new file mode 100644
index 0000000..fba2768
--- /dev/null
+++ b/html/inherit_graph_2.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/html/inherit_graph_2.md5 b/html/inherit_graph_2.md5
new file mode 100644
index 0000000..c720c57
--- /dev/null
+++ b/html/inherit_graph_2.md5
@@ -0,0 +1 @@
+3c3240361f5bf46eef1ebcf35c506193
\ No newline at end of file
diff --git a/html/inherit_graph_2.png b/html/inherit_graph_2.png
new file mode 100644
index 0000000..f5a20d2
Binary files /dev/null and b/html/inherit_graph_2.png differ
diff --git a/html/inherit_graph_3.map b/html/inherit_graph_3.map
new file mode 100644
index 0000000..872a03a
--- /dev/null
+++ b/html/inherit_graph_3.map
@@ -0,0 +1,3 @@
+
+
+
diff --git a/html/inherit_graph_3.md5 b/html/inherit_graph_3.md5
new file mode 100644
index 0000000..cf8170c
--- /dev/null
+++ b/html/inherit_graph_3.md5
@@ -0,0 +1 @@
+0bd8b4dfc5bbdd563402fd67255a11ff
\ No newline at end of file
diff --git a/html/inherit_graph_3.png b/html/inherit_graph_3.png
new file mode 100644
index 0000000..d97e960
Binary files /dev/null and b/html/inherit_graph_3.png differ
diff --git a/html/inherits.html b/html/inherits.html
new file mode 100644
index 0000000..29a53aa
--- /dev/null
+++ b/html/inherits.html
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+My Project: Class Hierarchy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ My Project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+
+
+
+
+
+
+
diff --git a/html/jquery.js b/html/jquery.js
new file mode 100644
index 0000000..1dffb65
--- /dev/null
+++ b/html/jquery.js
@@ -0,0 +1,34 @@
+/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML=" ",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML=" ";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML=" ",y.option=!!ce.lastChild;var ge={thead:[1,""],col:[2,""],tr:[2,""],td:[3,""],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=y(e||this.defaultElement||this)[0],this.element=y(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=y(),this.hoverable=y(),this.focusable=y(),this.classesElementLookup={},e!==this&&(y.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=y(e.style?e.ownerDocument:e.document||e),this.window=y(this.document[0].defaultView||this.document[0].parentWindow)),this.options=y.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:y.noop,_create:y.noop,_init:y.noop,destroy:function(){var i=this;this._destroy(),y.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:y.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return y.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=y.widget.extend({},this.options[t]),n=0;n
"),i=e.children()[0];return y("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthx(D(s),D(n))?o.important="horizontal":o.important="vertical",p.using.call(this,t,o)}),h.offset(y.extend(l,{using:t}))})},y.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,h=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),y.ui.plugin={add:function(t,e,i){var s,n=y.ui[t].prototype;for(s in i)n.plugins[s]=n.plugins[s]||[],n.plugins[s].push([e,i[s]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;n").css({overflow:"hidden",position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,t={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(t),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(t),this._proportionallyResize()),this._setupHandles(),e.autoHide&&y(this.element).on("mouseenter",function(){e.disabled||(i._removeClass("ui-resizable-autohide"),i._handles.show())}).on("mouseleave",function(){e.disabled||i.resizing||(i._addClass("ui-resizable-autohide"),i._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy(),this._addedHandles.remove();function t(t){y(t).removeData("resizable").removeData("ui-resizable").off(".resizable")}var e;return this.elementIsWrapper&&(t(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),t(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;case"aspectRatio":this._aspectRatio=!!e}},_setupHandles:function(){var t,e,i,s,n,o=this.options,h=this;if(this.handles=o.handles||(y(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=y(),this._addedHandles=y(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),i=this.handles.split(","),this.handles={},e=0;e"),this._addClass(n,"ui-resizable-handle "+s),n.css({zIndex:o.zIndex}),this.handles[t]=".ui-resizable-"+t,this.element.children(this.handles[t]).length||(this.element.append(n),this._addedHandles=this._addedHandles.add(n));this._renderAxis=function(t){var e,i,s;for(e in t=t||this.element,this.handles)this.handles[e].constructor===String?this.handles[e]=this.element.children(this.handles[e]).first().show():(this.handles[e].jquery||this.handles[e].nodeType)&&(this.handles[e]=y(this.handles[e]),this._on(this.handles[e],{mousedown:h._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(i=y(this.handles[e],this.element),s=/sw|ne|nw|se|n|s/.test(e)?i.outerHeight():i.outerWidth(),i=["padding",/ne|nw|n/.test(e)?"Top":/se|sw|s/.test(e)?"Bottom":/^e$/.test(e)?"Right":"Left"].join(""),t.css(i,s),this._proportionallyResize()),this._handles=this._handles.add(this.handles[e])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){h.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),h.axis=n&&n[1]?n[1]:"se")}),o.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._addedHandles.remove()},_mouseCapture:function(t){var e,i,s=!1;for(e in this.handles)(i=y(this.handles[e])[0])!==t.target&&!y.contains(i,t.target)||(s=!0);return!this.options.disabled&&s},_mouseStart:function(t){var e,i,s=this.options,n=this.element;return this.resizing=!0,this._renderProxy(),e=this._num(this.helper.css("left")),i=this._num(this.helper.css("top")),s.containment&&(e+=y(s.containment).scrollLeft()||0,i+=y(s.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:e,top:i},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:n.width(),height:n.height()},this.originalSize=this._helper?{width:n.outerWidth(),height:n.outerHeight()}:{width:n.width(),height:n.height()},this.sizeDiff={width:n.outerWidth()-n.width(),height:n.outerHeight()-n.height()},this.originalPosition={left:e,top:i},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof s.aspectRatio?s.aspectRatio:this.originalSize.width/this.originalSize.height||1,s=y(".ui-resizable-"+this.axis).css("cursor"),y("body").css("cursor","auto"===s?this.axis+"-resize":s),this._addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var e=this.originalMousePosition,i=this.axis,s=t.pageX-e.left||0,e=t.pageY-e.top||0,i=this._change[i];return this._updatePrevProperties(),i&&(e=i.apply(this,[t,s,e]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(e=this._updateRatio(e,t)),e=this._respectSize(e,t),this._updateCache(e),this._propagate("resize",t),e=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),y.isEmptyObject(e)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges())),!1},_mouseStop:function(t){this.resizing=!1;var e,i,s,n=this.options,o=this;return this._helper&&(s=(e=(i=this._proportionallyResizeElements).length&&/textarea/i.test(i[0].nodeName))&&this._hasScroll(i[0],"left")?0:o.sizeDiff.height,i=e?0:o.sizeDiff.width,e={width:o.helper.width()-i,height:o.helper.height()-s},i=parseFloat(o.element.css("left"))+(o.position.left-o.originalPosition.left)||null,s=parseFloat(o.element.css("top"))+(o.position.top-o.originalPosition.top)||null,n.animate||this.element.css(y.extend(e,{top:s,left:i})),o.helper.height(o.size.height),o.helper.width(o.size.width),this._helper&&!n.animate&&this._proportionallyResize()),y("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s=this.options,n={minWidth:this._isNumber(s.minWidth)?s.minWidth:0,maxWidth:this._isNumber(s.maxWidth)?s.maxWidth:1/0,minHeight:this._isNumber(s.minHeight)?s.minHeight:0,maxHeight:this._isNumber(s.maxHeight)?s.maxHeight:1/0};(this._aspectRatio||t)&&(e=n.minHeight*this.aspectRatio,i=n.minWidth/this.aspectRatio,s=n.maxHeight*this.aspectRatio,t=n.maxWidth/this.aspectRatio,e>n.minWidth&&(n.minWidth=e),i>n.minHeight&&(n.minHeight=i),st.width,h=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,a=this.originalPosition.left+this.originalSize.width,r=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),i=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),h&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=a-e.minWidth),s&&l&&(t.left=a-e.maxWidth),h&&i&&(t.top=r-e.minHeight),n&&i&&(t.top=r-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];e<4;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;e").css({overflow:"hidden"}),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++e.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize;return{left:this.originalPosition.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize;return{top:this.originalPosition.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},sw:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,e,i]))},ne:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},nw:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,e,i]))}},_propagate:function(t,e){y.ui.plugin.call(this,t,[e,this.ui()]),"resize"!==t&&this._trigger(t,e,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),y.ui.plugin.add("resizable","animate",{stop:function(e){var i=y(this).resizable("instance"),t=i.options,s=i._proportionallyResizeElements,n=s.length&&/textarea/i.test(s[0].nodeName),o=n&&i._hasScroll(s[0],"left")?0:i.sizeDiff.height,h=n?0:i.sizeDiff.width,n={width:i.size.width-h,height:i.size.height-o},h=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,o=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(y.extend(n,o&&h?{top:o,left:h}:{}),{duration:t.animateDuration,easing:t.animateEasing,step:function(){var t={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};s&&s.length&&y(s[0]).css({width:t.width,height:t.height}),i._updateCache(t),i._propagate("resize",e)}})}}),y.ui.plugin.add("resizable","containment",{start:function(){var i,s,n=y(this).resizable("instance"),t=n.options,e=n.element,o=t.containment,h=o instanceof y?o.get(0):/parent/.test(o)?e.parent().get(0):o;h&&(n.containerElement=y(h),/document/.test(o)||o===document?(n.containerOffset={left:0,top:0},n.containerPosition={left:0,top:0},n.parentData={element:y(document),left:0,top:0,width:y(document).width(),height:y(document).height()||document.body.parentNode.scrollHeight}):(i=y(h),s=[],y(["Top","Right","Left","Bottom"]).each(function(t,e){s[t]=n._num(i.css("padding"+e))}),n.containerOffset=i.offset(),n.containerPosition=i.position(),n.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},t=n.containerOffset,e=n.containerSize.height,o=n.containerSize.width,o=n._hasScroll(h,"left")?h.scrollWidth:o,e=n._hasScroll(h)?h.scrollHeight:e,n.parentData={element:h,left:t.left,top:t.top,width:o,height:e}))},resize:function(t){var e=y(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.position,o=e._aspectRatio||t.shiftKey,h={top:0,left:0},a=e.containerElement,t=!0;a[0]!==document&&/static/.test(a.css("position"))&&(h=s),n.left<(e._helper?s.left:0)&&(e.size.width=e.size.width+(e._helper?e.position.left-s.left:e.position.left-h.left),o&&(e.size.height=e.size.width/e.aspectRatio,t=!1),e.position.left=i.helper?s.left:0),n.top<(e._helper?s.top:0)&&(e.size.height=e.size.height+(e._helper?e.position.top-s.top:e.position.top),o&&(e.size.width=e.size.height*e.aspectRatio,t=!1),e.position.top=e._helper?s.top:0),i=e.containerElement.get(0)===e.element.parent().get(0),n=/relative|absolute/.test(e.containerElement.css("position")),i&&n?(e.offset.left=e.parentData.left+e.position.left,e.offset.top=e.parentData.top+e.position.top):(e.offset.left=e.element.offset().left,e.offset.top=e.element.offset().top),n=Math.abs(e.sizeDiff.width+(e._helper?e.offset.left-h.left:e.offset.left-s.left)),s=Math.abs(e.sizeDiff.height+(e._helper?e.offset.top-h.top:e.offset.top-s.top)),n+e.size.width>=e.parentData.width&&(e.size.width=e.parentData.width-n,o&&(e.size.height=e.size.width/e.aspectRatio,t=!1)),s+e.size.height>=e.parentData.height&&(e.size.height=e.parentData.height-s,o&&(e.size.width=e.size.height*e.aspectRatio,t=!1)),t||(e.position.left=e.prevPosition.left,e.position.top=e.prevPosition.top,e.size.width=e.prevSize.width,e.size.height=e.prevSize.height)},stop:function(){var t=y(this).resizable("instance"),e=t.options,i=t.containerOffset,s=t.containerPosition,n=t.containerElement,o=y(t.helper),h=o.offset(),a=o.outerWidth()-t.sizeDiff.width,o=o.outerHeight()-t.sizeDiff.height;t._helper&&!e.animate&&/relative/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o}),t._helper&&!e.animate&&/static/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o})}}),y.ui.plugin.add("resizable","alsoResize",{start:function(){var t=y(this).resizable("instance").options;y(t.alsoResize).each(function(){var t=y(this);t.data("ui-resizable-alsoresize",{width:parseFloat(t.width()),height:parseFloat(t.height()),left:parseFloat(t.css("left")),top:parseFloat(t.css("top"))})})},resize:function(t,i){var e=y(this).resizable("instance"),s=e.options,n=e.originalSize,o=e.originalPosition,h={height:e.size.height-n.height||0,width:e.size.width-n.width||0,top:e.position.top-o.top||0,left:e.position.left-o.left||0};y(s.alsoResize).each(function(){var t=y(this),s=y(this).data("ui-resizable-alsoresize"),n={},e=t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];y.each(e,function(t,e){var i=(s[e]||0)+(h[e]||0);i&&0<=i&&(n[e]=i||null)}),t.css(n)})},stop:function(){y(this).removeData("ui-resizable-alsoresize")}}),y.ui.plugin.add("resizable","ghost",{start:function(){var t=y(this).resizable("instance"),e=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}),t._addClass(t.ghost,"ui-resizable-ghost"),!1!==y.uiBackCompat&&"string"==typeof t.options.ghost&&t.ghost.addClass(this.options.ghost),t.ghost.appendTo(t.helper)},resize:function(){var t=y(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=y(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),y.ui.plugin.add("resizable","grid",{resize:function(){var t,e=y(this).resizable("instance"),i=e.options,s=e.size,n=e.originalSize,o=e.originalPosition,h=e.axis,a="number"==typeof i.grid?[i.grid,i.grid]:i.grid,r=a[0]||1,l=a[1]||1,u=Math.round((s.width-n.width)/r)*r,p=Math.round((s.height-n.height)/l)*l,d=n.width+u,c=n.height+p,f=i.maxWidth&&i.maxWidthd,s=i.minHeight&&i.minHeight>c;i.grid=a,m&&(d+=r),s&&(c+=l),f&&(d-=r),g&&(c-=l),/^(se|s|e)$/.test(h)?(e.size.width=d,e.size.height=c):/^(ne)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.top=o.top-p):/^(sw)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.left=o.left-u):((c-l<=0||d-r<=0)&&(t=e._getPaddingPlusBorderDimensions(this)),0=f[g]?0:Math.min(f[g],n));!a&&1-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference ",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017
+ * http://www.smartmenus.org/
+ * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$(" ").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$(' ')[0],$(' ')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$});
\ No newline at end of file
diff --git a/html/menu.js b/html/menu.js
new file mode 100644
index 0000000..b0b2693
--- /dev/null
+++ b/html/menu.js
@@ -0,0 +1,136 @@
+/*
+ @licstart The following is the entire license notice for the JavaScript code in this file.
+
+ The MIT License (MIT)
+
+ Copyright (C) 1997-2020 by Dimitri van Heesch
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ and associated documentation files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all copies or
+ substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ @licend The above is the entire license notice for the JavaScript code in this file
+ */
+function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
+ function makeTree(data,relPath) {
+ var result='';
+ if ('children' in data) {
+ result+='';
+ for (var i in data.children) {
+ var url;
+ var link;
+ link = data.children[i].url;
+ if (link.substring(0,1)=='^') {
+ url = link.substring(1);
+ } else {
+ url = relPath+link;
+ }
+ result+=''+
+ data.children[i].text+' '+
+ makeTree(data.children[i],relPath)+' ';
+ }
+ result+=' ';
+ }
+ return result;
+ }
+ var searchBoxHtml;
+ if (searchEnabled) {
+ if (serverSide) {
+ searchBoxHtml=''+
+ '
'+
+ ''+
+ '
'+
+ '
'+
+ '
';
+ } else {
+ searchBoxHtml=''+
+ '
'+
+ ' '+
+ ' '+
+ ' '+
+ '
'+
+ ' '+
+ ''+
+ '
';
+ }
+ }
+
+ $('#main-nav').before(' '+
+ ''+
+ ' '+
+ 'Toggle main menu visibility '+
+ ' '+
+ '
');
+ $('#main-nav').append(makeTree(menudata,relPath));
+ $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
+ if (searchBoxHtml) {
+ $('#main-menu').append(' ');
+ }
+ var $mainMenuState = $('#main-menu-state');
+ var prevWidth = 0;
+ if ($mainMenuState.length) {
+ function initResizableIfExists() {
+ if (typeof initResizable==='function') initResizable();
+ }
+ // animate mobile menu
+ $mainMenuState.change(function(e) {
+ var $menu = $('#main-menu');
+ var options = { duration: 250, step: initResizableIfExists };
+ if (this.checked) {
+ options['complete'] = function() { $menu.css('display', 'block') };
+ $menu.hide().slideDown(options);
+ } else {
+ options['complete'] = function() { $menu.css('display', 'none') };
+ $menu.show().slideUp(options);
+ }
+ });
+ // set default menu visibility
+ function resetState() {
+ var $menu = $('#main-menu');
+ var $mainMenuState = $('#main-menu-state');
+ var newWidth = $(window).outerWidth();
+ if (newWidth!=prevWidth) {
+ if ($(window).outerWidth()<768) {
+ $mainMenuState.prop('checked',false); $menu.hide();
+ $('#searchBoxPos1').html(searchBoxHtml);
+ $('#searchBoxPos2').hide();
+ } else {
+ $menu.show();
+ $('#searchBoxPos1').empty();
+ $('#searchBoxPos2').html(searchBoxHtml);
+ $('#searchBoxPos2').show();
+ }
+ if (typeof searchBox!=='undefined') {
+ searchBox.CloseResultsWindow();
+ }
+ prevWidth = newWidth;
+ }
+ }
+ $(window).ready(function() { resetState(); initResizableIfExists(); });
+ $(window).resize(resetState);
+ }
+ $('#main-menu').smartmenus();
+}
+/* @license-end */
diff --git a/html/menudata.js b/html/menudata.js
new file mode 100644
index 0000000..e6aa5c8
--- /dev/null
+++ b/html/menudata.js
@@ -0,0 +1,36 @@
+/*
+ @licstart The following is the entire license notice for the JavaScript code in this file.
+
+ The MIT License (MIT)
+
+ Copyright (C) 1997-2020 by Dimitri van Heesch
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ and associated documentation files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all copies or
+ substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ @licend The above is the entire license notice for the JavaScript code in this file
+*/
+var menudata={children:[
+{text:"Main Page",url:"index.html"},
+{text:"Classes",url:"annotated.html",children:[
+{text:"Class List",url:"annotated.html"},
+{text:"Class Index",url:"classes.html"},
+{text:"Class Hierarchy",url:"inherits.html"},
+{text:"Class Members",url:"functions.html",children:[
+{text:"All",url:"functions.html"},
+{text:"Functions",url:"functions_func.html"},
+{text:"Variables",url:"functions_vars.html"}]}]},
+{text:"Files",url:"files.html",children:[
+{text:"File List",url:"files.html"}]}]}
diff --git a/html/minus.svg b/html/minus.svg
new file mode 100644
index 0000000..f70d0c1
--- /dev/null
+++ b/html/minus.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/html/minusd.svg b/html/minusd.svg
new file mode 100644
index 0000000..5f8e879
--- /dev/null
+++ b/html/minusd.svg
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/html/nav_f.png b/html/nav_f.png
new file mode 100644
index 0000000..72a58a5
Binary files /dev/null and b/html/nav_f.png differ
diff --git a/html/nav_fd.png b/html/nav_fd.png
new file mode 100644
index 0000000..032fbdd
Binary files /dev/null and b/html/nav_fd.png differ
diff --git a/html/nav_g.png b/html/nav_g.png
new file mode 100644
index 0000000..2093a23
Binary files /dev/null and b/html/nav_g.png differ
diff --git a/html/nav_h.png b/html/nav_h.png
new file mode 100644
index 0000000..33389b1
Binary files /dev/null and b/html/nav_h.png differ
diff --git a/html/nav_hd.png b/html/nav_hd.png
new file mode 100644
index 0000000..de80f18
Binary files /dev/null and b/html/nav_hd.png differ
diff --git a/html/open.png b/html/open.png
new file mode 100644
index 0000000..30f75c7
Binary files /dev/null and b/html/open.png differ
diff --git a/html/plus.svg b/html/plus.svg
new file mode 100644
index 0000000..0752016
--- /dev/null
+++ b/html/plus.svg
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/html/plusd.svg b/html/plusd.svg
new file mode 100644
index 0000000..0c65bfe
--- /dev/null
+++ b/html/plusd.svg
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/html/search/all_0.js b/html/search/all_0.js
new file mode 100644
index 0000000..ed34116
--- /dev/null
+++ b/html/search/all_0.js
@@ -0,0 +1,27 @@
+var searchData=
+[
+ ['_5f_5fcall_0',['__call',['../classjet_1_1____call.html',1,'jet']]],
+ ['_5f_5fcomment_1',['__comment',['../classjet_1_1____comment.html',1,'jet']]],
+ ['_5f_5fcookie_2',['__cookie',['../classjet_1_1____cookie.html',1,'jet']]],
+ ['_5f_5fdotag_3',['__dotag',['../classjet_1_1____dotag.html',1,'jet']]],
+ ['_5f_5fdump_4',['__dump',['../classjet_1_1____dump.html',1,'jet']]],
+ ['_5f_5fexclude_5',['__exclude',['../classjet_1_1____exclude.html',1,'jet']]],
+ ['_5f_5ffor_6',['__for',['../classjet_1_1____for.html',1,'jet']]],
+ ['_5f_5fheader_7',['__header',['../classjet_1_1____header.html',1,'jet']]],
+ ['_5f_5fif_8',['__if',['../classjet_1_1____if.html',1,'jet']]],
+ ['_5f_5fifrow_9',['__ifrow',['../classjet_1_1____ifrow.html',1,'jet']]],
+ ['_5f_5finclude_10',['__include',['../classjet_1_1____include.html',1,'jet']]],
+ ['_5f_5fjet_11',['__jet',['../classjet_1_1____jet.html',1,'jet']]],
+ ['_5f_5fmysql_12',['__mysql',['../classjet_1_1____mysql.html',1,'jet']]],
+ ['_5f_5fread_13',['__read',['../classjet_1_1____read.html',1,'jet']]],
+ ['_5f_5fset_14',['__set',['../classjet_1_1____set.html',1,'jet']]],
+ ['_5f_5fsql_15',['__sql',['../classjet_1_1____sql.html',1,'jet']]],
+ ['_5f_5fstream_16',['__stream',['../classjet_1_1____stream.html',1,'jet']]],
+ ['_5f_5fsystem_17',['__system',['../classjet_1_1____system.html',1,'jet']]],
+ ['_5f_5ftag_18',['__tag',['../classjet_1_1____tag.html',1,'jet']]],
+ ['_5f_5funtil_19',['__until',['../classjet_1_1____until.html',1,'jet']]],
+ ['_5f_5fwhile_20',['__while',['../classjet_1_1____while.html',1,'jet']]],
+ ['_5f_5fwhiledir_21',['__whiledir',['../classjet_1_1____whiledir.html',1,'jet']]],
+ ['_5f_5fwhilerow_22',['__whilerow',['../classjet_1_1____whilerow.html',1,'jet']]],
+ ['_5f_5fwrite_23',['__write',['../classjet_1_1____write.html',1,'jet']]]
+];
diff --git a/html/search/all_1.js b/html/search/all_1.js
new file mode 100644
index 0000000..de72de9
--- /dev/null
+++ b/html/search/all_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['boolean_0',['boolean',['../classjet_1_1Operand.html#aff226980c53d083ab2b6babdb595bf5b',1,'jet::Operand']]]
+];
diff --git a/html/search/all_2.js b/html/search/all_2.js
new file mode 100644
index 0000000..34e3531
--- /dev/null
+++ b/html/search/all_2.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['global_0',['Global',['../classjet_1_1Global.html',1,'jet']]]
+];
diff --git a/html/search/all_3.js b/html/search/all_3.js
new file mode 100644
index 0000000..6296428
--- /dev/null
+++ b/html/search/all_3.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['operand_0',['Operand',['../classjet_1_1Operand.html',1,'jet']]]
+];
diff --git a/html/search/all_4.js b/html/search/all_4.js
new file mode 100644
index 0000000..1d648e4
--- /dev/null
+++ b/html/search/all_4.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['resolvekeyword_0',['resolveKeyword',['../classjet_1_1Tag.html#a8dfb107f3c2bbe7bcc9e8d566153c0e3',1,'jet::Tag']]]
+];
diff --git a/html/search/all_5.js b/html/search/all_5.js
new file mode 100644
index 0000000..d2a3b5b
--- /dev/null
+++ b/html/search/all_5.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['sessionid_0',['SessionId',['../classjet_1_1SessionId.html',1,'jet']]]
+];
diff --git a/html/search/all_6.js b/html/search/all_6.js
new file mode 100644
index 0000000..84c13be
--- /dev/null
+++ b/html/search/all_6.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['tag_0',['Tag',['../classjet_1_1Tag.html',1,'jet']]]
+];
diff --git a/html/search/all_7.js b/html/search/all_7.js
new file mode 100644
index 0000000..39f17a2
--- /dev/null
+++ b/html/search/all_7.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['_7etag_0',['~Tag',['../classjet_1_1Tag.html#ae38b29ca4dc8b0cbd09a2b2b377f2704',1,'jet::Tag']]]
+];
diff --git a/html/search/classes_0.js b/html/search/classes_0.js
new file mode 100644
index 0000000..ed34116
--- /dev/null
+++ b/html/search/classes_0.js
@@ -0,0 +1,27 @@
+var searchData=
+[
+ ['_5f_5fcall_0',['__call',['../classjet_1_1____call.html',1,'jet']]],
+ ['_5f_5fcomment_1',['__comment',['../classjet_1_1____comment.html',1,'jet']]],
+ ['_5f_5fcookie_2',['__cookie',['../classjet_1_1____cookie.html',1,'jet']]],
+ ['_5f_5fdotag_3',['__dotag',['../classjet_1_1____dotag.html',1,'jet']]],
+ ['_5f_5fdump_4',['__dump',['../classjet_1_1____dump.html',1,'jet']]],
+ ['_5f_5fexclude_5',['__exclude',['../classjet_1_1____exclude.html',1,'jet']]],
+ ['_5f_5ffor_6',['__for',['../classjet_1_1____for.html',1,'jet']]],
+ ['_5f_5fheader_7',['__header',['../classjet_1_1____header.html',1,'jet']]],
+ ['_5f_5fif_8',['__if',['../classjet_1_1____if.html',1,'jet']]],
+ ['_5f_5fifrow_9',['__ifrow',['../classjet_1_1____ifrow.html',1,'jet']]],
+ ['_5f_5finclude_10',['__include',['../classjet_1_1____include.html',1,'jet']]],
+ ['_5f_5fjet_11',['__jet',['../classjet_1_1____jet.html',1,'jet']]],
+ ['_5f_5fmysql_12',['__mysql',['../classjet_1_1____mysql.html',1,'jet']]],
+ ['_5f_5fread_13',['__read',['../classjet_1_1____read.html',1,'jet']]],
+ ['_5f_5fset_14',['__set',['../classjet_1_1____set.html',1,'jet']]],
+ ['_5f_5fsql_15',['__sql',['../classjet_1_1____sql.html',1,'jet']]],
+ ['_5f_5fstream_16',['__stream',['../classjet_1_1____stream.html',1,'jet']]],
+ ['_5f_5fsystem_17',['__system',['../classjet_1_1____system.html',1,'jet']]],
+ ['_5f_5ftag_18',['__tag',['../classjet_1_1____tag.html',1,'jet']]],
+ ['_5f_5funtil_19',['__until',['../classjet_1_1____until.html',1,'jet']]],
+ ['_5f_5fwhile_20',['__while',['../classjet_1_1____while.html',1,'jet']]],
+ ['_5f_5fwhiledir_21',['__whiledir',['../classjet_1_1____whiledir.html',1,'jet']]],
+ ['_5f_5fwhilerow_22',['__whilerow',['../classjet_1_1____whilerow.html',1,'jet']]],
+ ['_5f_5fwrite_23',['__write',['../classjet_1_1____write.html',1,'jet']]]
+];
diff --git a/html/search/classes_1.js b/html/search/classes_1.js
new file mode 100644
index 0000000..34e3531
--- /dev/null
+++ b/html/search/classes_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['global_0',['Global',['../classjet_1_1Global.html',1,'jet']]]
+];
diff --git a/html/search/classes_2.js b/html/search/classes_2.js
new file mode 100644
index 0000000..6296428
--- /dev/null
+++ b/html/search/classes_2.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['operand_0',['Operand',['../classjet_1_1Operand.html',1,'jet']]]
+];
diff --git a/html/search/classes_3.js b/html/search/classes_3.js
new file mode 100644
index 0000000..d2a3b5b
--- /dev/null
+++ b/html/search/classes_3.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['sessionid_0',['SessionId',['../classjet_1_1SessionId.html',1,'jet']]]
+];
diff --git a/html/search/classes_4.js b/html/search/classes_4.js
new file mode 100644
index 0000000..84c13be
--- /dev/null
+++ b/html/search/classes_4.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['tag_0',['Tag',['../classjet_1_1Tag.html',1,'jet']]]
+];
diff --git a/html/search/close.svg b/html/search/close.svg
new file mode 100644
index 0000000..337d6cc
--- /dev/null
+++ b/html/search/close.svg
@@ -0,0 +1,18 @@
+
+
+
+
+
+
diff --git a/html/search/functions_0.js b/html/search/functions_0.js
new file mode 100644
index 0000000..1d648e4
--- /dev/null
+++ b/html/search/functions_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['resolvekeyword_0',['resolveKeyword',['../classjet_1_1Tag.html#a8dfb107f3c2bbe7bcc9e8d566153c0e3',1,'jet::Tag']]]
+];
diff --git a/html/search/functions_1.js b/html/search/functions_1.js
new file mode 100644
index 0000000..39f17a2
--- /dev/null
+++ b/html/search/functions_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['_7etag_0',['~Tag',['../classjet_1_1Tag.html#ae38b29ca4dc8b0cbd09a2b2b377f2704',1,'jet::Tag']]]
+];
diff --git a/html/search/mag.svg b/html/search/mag.svg
new file mode 100644
index 0000000..ffb6cf0
--- /dev/null
+++ b/html/search/mag.svg
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
diff --git a/html/search/mag_d.svg b/html/search/mag_d.svg
new file mode 100644
index 0000000..4122773
--- /dev/null
+++ b/html/search/mag_d.svg
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
diff --git a/html/search/mag_sel.svg b/html/search/mag_sel.svg
new file mode 100644
index 0000000..553dba8
--- /dev/null
+++ b/html/search/mag_sel.svg
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
diff --git a/html/search/mag_seld.svg b/html/search/mag_seld.svg
new file mode 100644
index 0000000..c906f84
--- /dev/null
+++ b/html/search/mag_seld.svg
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
diff --git a/html/search/search.css b/html/search/search.css
new file mode 100644
index 0000000..19f76f9
--- /dev/null
+++ b/html/search/search.css
@@ -0,0 +1,291 @@
+/*---------------- Search Box positioning */
+
+#main-menu > li:last-child {
+ /* This object is the parent of the search bar */
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ height: 36px;
+ margin-right: 1em;
+}
+
+/*---------------- Search box styling */
+
+.SRPage * {
+ font-weight: normal;
+ line-height: normal;
+}
+
+dark-mode-toggle {
+ margin-left: 5px;
+ display: flex;
+ float: right;
+}
+
+#MSearchBox {
+ display: inline-block;
+ white-space : nowrap;
+ background: var(--search-background-color);
+ border-radius: 0.65em;
+ box-shadow: var(--search-box-shadow);
+ z-index: 102;
+}
+
+#MSearchBox .left {
+ display: inline-block;
+ vertical-align: middle;
+ height: 1.4em;
+}
+
+#MSearchSelect {
+ display: inline-block;
+ vertical-align: middle;
+ width: 20px;
+ height: 19px;
+ background-image: var(--search-magnification-select-image);
+ margin: 0 0 0 0.3em;
+ padding: 0;
+}
+
+#MSearchSelectExt {
+ display: inline-block;
+ vertical-align: middle;
+ width: 10px;
+ height: 19px;
+ background-image: var(--search-magnification-image);
+ margin: 0 0 0 0.5em;
+ padding: 0;
+}
+
+
+#MSearchField {
+ display: inline-block;
+ vertical-align: middle;
+ width: 7.5em;
+ height: 19px;
+ margin: 0 0.15em;
+ padding: 0;
+ line-height: 1em;
+ border:none;
+ color: var(--search-foreground-color);
+ outline: none;
+ font-family: var(--font-family-search);
+ -webkit-border-radius: 0px;
+ border-radius: 0px;
+ background: none;
+}
+
+@media(hover: none) {
+ /* to avoid zooming on iOS */
+ #MSearchField {
+ font-size: 16px;
+ }
+}
+
+#MSearchBox .right {
+ display: inline-block;
+ vertical-align: middle;
+ width: 1.4em;
+ height: 1.4em;
+}
+
+#MSearchClose {
+ display: none;
+ font-size: inherit;
+ background : none;
+ border: none;
+ margin: 0;
+ padding: 0;
+ outline: none;
+
+}
+
+#MSearchCloseImg {
+ padding: 0.3em;
+ margin: 0;
+}
+
+.MSearchBoxActive #MSearchField {
+ color: var(--search-active-color);
+}
+
+
+
+/*---------------- Search filter selection */
+
+#MSearchSelectWindow {
+ display: none;
+ position: absolute;
+ left: 0; top: 0;
+ border: 1px solid var(--search-filter-border-color);
+ background-color: var(--search-filter-background-color);
+ z-index: 10001;
+ padding-top: 4px;
+ padding-bottom: 4px;
+ -moz-border-radius: 4px;
+ -webkit-border-top-left-radius: 4px;
+ -webkit-border-top-right-radius: 4px;
+ -webkit-border-bottom-left-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+.SelectItem {
+ font: 8pt var(--font-family-search);
+ padding-left: 2px;
+ padding-right: 12px;
+ border: 0px;
+}
+
+span.SelectionMark {
+ margin-right: 4px;
+ font-family: var(--font-family-monospace);
+ outline-style: none;
+ text-decoration: none;
+}
+
+a.SelectItem {
+ display: block;
+ outline-style: none;
+ color: var(--search-filter-foreground-color);
+ text-decoration: none;
+ padding-left: 6px;
+ padding-right: 12px;
+}
+
+a.SelectItem:focus,
+a.SelectItem:active {
+ color: var(--search-filter-foreground-color);
+ outline-style: none;
+ text-decoration: none;
+}
+
+a.SelectItem:hover {
+ color: var(--search-filter-highlight-text-color);
+ background-color: var(--search-filter-highlight-bg-color);
+ outline-style: none;
+ text-decoration: none;
+ cursor: pointer;
+ display: block;
+}
+
+/*---------------- Search results window */
+
+iframe#MSearchResults {
+ /*width: 60ex;*/
+ height: 15em;
+}
+
+#MSearchResultsWindow {
+ display: none;
+ position: absolute;
+ left: 0; top: 0;
+ border: 1px solid var(--search-results-border-color);
+ background-color: var(--search-results-background-color);
+ z-index:10000;
+ width: 300px;
+ height: 400px;
+ overflow: auto;
+}
+
+/* ----------------------------------- */
+
+
+#SRIndex {
+ clear:both;
+}
+
+.SREntry {
+ font-size: 10pt;
+ padding-left: 1ex;
+}
+
+.SRPage .SREntry {
+ font-size: 8pt;
+ padding: 1px 5px;
+}
+
+div.SRPage {
+ margin: 5px 2px;
+ background-color: var(--search-results-background-color);
+}
+
+.SRChildren {
+ padding-left: 3ex; padding-bottom: .5em
+}
+
+.SRPage .SRChildren {
+ display: none;
+}
+
+.SRSymbol {
+ font-weight: bold;
+ color: var(--search-results-foreground-color);
+ font-family: var(--font-family-search);
+ text-decoration: none;
+ outline: none;
+}
+
+a.SRScope {
+ display: block;
+ color: var(--search-results-foreground-color);
+ font-family: var(--font-family-search);
+ font-size: 8pt;
+ text-decoration: none;
+ outline: none;
+}
+
+a.SRSymbol:focus, a.SRSymbol:active,
+a.SRScope:focus, a.SRScope:active {
+ text-decoration: underline;
+}
+
+span.SRScope {
+ padding-left: 4px;
+ font-family: var(--font-family-search);
+}
+
+.SRPage .SRStatus {
+ padding: 2px 5px;
+ font-size: 8pt;
+ font-style: italic;
+ font-family: var(--font-family-search);
+}
+
+.SRResult {
+ display: none;
+}
+
+div.searchresults {
+ margin-left: 10px;
+ margin-right: 10px;
+}
+
+/*---------------- External search page results */
+
+.pages b {
+ color: white;
+ padding: 5px 5px 3px 5px;
+ background-image: var(--nav-gradient-active-image-parent);
+ background-repeat: repeat-x;
+ text-shadow: 0 1px 1px #000000;
+}
+
+.pages {
+ line-height: 17px;
+ margin-left: 4px;
+ text-decoration: none;
+}
+
+.hl {
+ font-weight: bold;
+}
+
+#searchresults {
+ margin-bottom: 20px;
+}
+
+.searchpages {
+ margin-top: 10px;
+}
+
diff --git a/html/search/search.js b/html/search/search.js
new file mode 100644
index 0000000..6fd40c6
--- /dev/null
+++ b/html/search/search.js
@@ -0,0 +1,840 @@
+/*
+ @licstart The following is the entire license notice for the JavaScript code in this file.
+
+ The MIT License (MIT)
+
+ Copyright (C) 1997-2020 by Dimitri van Heesch
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ and associated documentation files (the "Software"), to deal in the Software without restriction,
+ including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all copies or
+ substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ @licend The above is the entire license notice for the JavaScript code in this file
+ */
+function convertToId(search)
+{
+ var result = '';
+ for (i=0;i do a search
+ {
+ this.Search();
+ }
+ }
+
+ this.OnSearchSelectKey = function(evt)
+ {
+ var e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==40 && this.searchIndex0) // Up
+ {
+ this.searchIndex--;
+ this.OnSelectItem(this.searchIndex);
+ }
+ else if (e.keyCode==13 || e.keyCode==27)
+ {
+ e.stopPropagation();
+ this.OnSelectItem(this.searchIndex);
+ this.CloseSelectionWindow();
+ this.DOMSearchField().focus();
+ }
+ return false;
+ }
+
+ // --------- Actions
+
+ // Closes the results window.
+ this.CloseResultsWindow = function()
+ {
+ this.DOMPopupSearchResultsWindow().style.display = 'none';
+ this.DOMSearchClose().style.display = 'none';
+ this.Activate(false);
+ }
+
+ this.CloseSelectionWindow = function()
+ {
+ this.DOMSearchSelectWindow().style.display = 'none';
+ }
+
+ // Performs a search.
+ this.Search = function()
+ {
+ this.keyTimeout = 0;
+
+ // strip leading whitespace
+ var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
+
+ var code = searchValue.toLowerCase().charCodeAt(0);
+ var idxChar = searchValue.substr(0, 1).toLowerCase();
+ if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair
+ {
+ idxChar = searchValue.substr(0, 2);
+ }
+
+ var jsFile;
+
+ var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
+ if (idx!=-1)
+ {
+ var hexCode=idx.toString(16);
+ jsFile = this.resultsPath + indexSectionNames[this.searchIndex] + '_' + hexCode + '.js';
+ }
+
+ var loadJS = function(url, impl, loc){
+ var scriptTag = document.createElement('script');
+ scriptTag.src = url;
+ scriptTag.onload = impl;
+ scriptTag.onreadystatechange = impl;
+ loc.appendChild(scriptTag);
+ }
+
+ var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
+ var domSearchBox = this.DOMSearchBox();
+ var domPopupSearchResults = this.DOMPopupSearchResults();
+ var domSearchClose = this.DOMSearchClose();
+ var resultsPath = this.resultsPath;
+
+ var handleResults = function() {
+ document.getElementById("Loading").style.display="none";
+ if (typeof searchData !== 'undefined') {
+ createResults(resultsPath);
+ document.getElementById("NoMatches").style.display="none";
+ }
+
+ if (idx!=-1) {
+ searchResults.Search(searchValue);
+ } else { // no file with search results => force empty search results
+ searchResults.Search('====');
+ }
+
+ if (domPopupSearchResultsWindow.style.display!='block')
+ {
+ domSearchClose.style.display = 'inline-block';
+ var left = getXPos(domSearchBox) + 150;
+ var top = getYPos(domSearchBox) + 20;
+ domPopupSearchResultsWindow.style.display = 'block';
+ left -= domPopupSearchResults.offsetWidth;
+ var maxWidth = document.body.clientWidth;
+ var maxHeight = document.body.clientHeight;
+ var width = 300;
+ if (left<10) left=10;
+ if (width+left+8>maxWidth) width=maxWidth-left-8;
+ var height = 400;
+ if (height+top+8>maxHeight) height=maxHeight-top-8;
+ domPopupSearchResultsWindow.style.top = top + 'px';
+ domPopupSearchResultsWindow.style.left = left + 'px';
+ domPopupSearchResultsWindow.style.width = width + 'px';
+ domPopupSearchResultsWindow.style.height = height + 'px';
+ }
+ }
+
+ if (jsFile) {
+ loadJS(jsFile, handleResults, this.DOMPopupSearchResultsWindow());
+ } else {
+ handleResults();
+ }
+
+ this.lastSearchValue = searchValue;
+ }
+
+ // -------- Activation Functions
+
+ // Activates or deactivates the search panel, resetting things to
+ // their default values if necessary.
+ this.Activate = function(isActive)
+ {
+ if (isActive || // open it
+ this.DOMPopupSearchResultsWindow().style.display == 'block'
+ )
+ {
+ this.DOMSearchBox().className = 'MSearchBoxActive';
+ this.searchActive = true;
+ }
+ else if (!isActive) // directly remove the panel
+ {
+ this.DOMSearchBox().className = 'MSearchBoxInactive';
+ this.searchActive = false;
+ this.lastSearchValue = ''
+ this.lastResultsPage = '';
+ this.DOMSearchField().value = '';
+ }
+ }
+}
+
+// -----------------------------------------------------------------------
+
+// The class that handles everything on the search results page.
+function SearchResults(name)
+{
+ // The number of matches from the last run of .
+ this.lastMatchCount = 0;
+ this.lastKey = 0;
+ this.repeatOn = false;
+
+ // Toggles the visibility of the passed element ID.
+ this.FindChildElement = function(id)
+ {
+ var parentElement = document.getElementById(id);
+ var element = parentElement.firstChild;
+
+ while (element && element!=parentElement)
+ {
+ if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren')
+ {
+ return element;
+ }
+
+ if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes())
+ {
+ element = element.firstChild;
+ }
+ else if (element.nextSibling)
+ {
+ element = element.nextSibling;
+ }
+ else
+ {
+ do
+ {
+ element = element.parentNode;
+ }
+ while (element && element!=parentElement && !element.nextSibling);
+
+ if (element && element!=parentElement)
+ {
+ element = element.nextSibling;
+ }
+ }
+ }
+ }
+
+ this.Toggle = function(id)
+ {
+ var element = this.FindChildElement(id);
+ if (element)
+ {
+ if (element.style.display == 'block')
+ {
+ element.style.display = 'none';
+ }
+ else
+ {
+ element.style.display = 'block';
+ }
+ }
+ }
+
+ // Searches for the passed string. If there is no parameter,
+ // it takes it from the URL query.
+ //
+ // Always returns true, since other documents may try to call it
+ // and that may or may not be possible.
+ this.Search = function(search)
+ {
+ if (!search) // get search word from URL
+ {
+ search = window.location.search;
+ search = search.substring(1); // Remove the leading '?'
+ search = unescape(search);
+ }
+
+ search = search.replace(/^ +/, ""); // strip leading spaces
+ search = search.replace(/ +$/, ""); // strip trailing spaces
+ search = search.toLowerCase();
+ search = convertToId(search);
+
+ var resultRows = document.getElementsByTagName("div");
+ var matches = 0;
+
+ var i = 0;
+ while (i < resultRows.length)
+ {
+ var row = resultRows.item(i);
+ if (row.className == "SRResult")
+ {
+ var rowMatchName = row.id.toLowerCase();
+ rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
+
+ if (search.length<=rowMatchName.length &&
+ rowMatchName.substr(0, search.length)==search)
+ {
+ row.style.display = 'block';
+ matches++;
+ }
+ else
+ {
+ row.style.display = 'none';
+ }
+ }
+ i++;
+ }
+ document.getElementById("Searching").style.display='none';
+ if (matches == 0) // no results
+ {
+ document.getElementById("NoMatches").style.display='block';
+ }
+ else // at least one result
+ {
+ document.getElementById("NoMatches").style.display='none';
+ }
+ this.lastMatchCount = matches;
+ return true;
+ }
+
+ // return the first item with index index or higher that is visible
+ this.NavNext = function(index)
+ {
+ var focusItem;
+ while (1)
+ {
+ var focusName = 'Item'+index;
+ focusItem = document.getElementById(focusName);
+ if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
+ {
+ break;
+ }
+ else if (!focusItem) // last element
+ {
+ break;
+ }
+ focusItem=null;
+ index++;
+ }
+ return focusItem;
+ }
+
+ this.NavPrev = function(index)
+ {
+ var focusItem;
+ while (1)
+ {
+ var focusName = 'Item'+index;
+ focusItem = document.getElementById(focusName);
+ if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
+ {
+ break;
+ }
+ else if (!focusItem) // last element
+ {
+ break;
+ }
+ focusItem=null;
+ index--;
+ }
+ return focusItem;
+ }
+
+ this.ProcessKeys = function(e)
+ {
+ if (e.type == "keydown")
+ {
+ this.repeatOn = false;
+ this.lastKey = e.keyCode;
+ }
+ else if (e.type == "keypress")
+ {
+ if (!this.repeatOn)
+ {
+ if (this.lastKey) this.repeatOn = true;
+ return false; // ignore first keypress after keydown
+ }
+ }
+ else if (e.type == "keyup")
+ {
+ this.lastKey = 0;
+ this.repeatOn = false;
+ }
+ return this.lastKey!=0;
+ }
+
+ this.Nav = function(evt,itemIndex)
+ {
+ var e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==13) return true;
+ if (!this.ProcessKeys(e)) return false;
+
+ if (this.lastKey==38) // Up
+ {
+ var newIndex = itemIndex-1;
+ var focusItem = this.NavPrev(newIndex);
+ if (focusItem)
+ {
+ var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
+ if (child && child.style.display == 'block') // children visible
+ {
+ var n=0;
+ var tmpElem;
+ while (1) // search for last child
+ {
+ tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
+ if (tmpElem)
+ {
+ focusItem = tmpElem;
+ }
+ else // found it!
+ {
+ break;
+ }
+ n++;
+ }
+ }
+ }
+ if (focusItem)
+ {
+ focusItem.focus();
+ }
+ else // return focus to search field
+ {
+ document.getElementById("MSearchField").focus();
+ }
+ }
+ else if (this.lastKey==40) // Down
+ {
+ var newIndex = itemIndex+1;
+ var focusItem;
+ var item = document.getElementById('Item'+itemIndex);
+ var elem = this.FindChildElement(item.parentNode.parentNode.id);
+ if (elem && elem.style.display == 'block') // children visible
+ {
+ focusItem = document.getElementById('Item'+itemIndex+'_c0');
+ }
+ if (!focusItem) focusItem = this.NavNext(newIndex);
+ if (focusItem) focusItem.focus();
+ }
+ else if (this.lastKey==39) // Right
+ {
+ var item = document.getElementById('Item'+itemIndex);
+ var elem = this.FindChildElement(item.parentNode.parentNode.id);
+ if (elem) elem.style.display = 'block';
+ }
+ else if (this.lastKey==37) // Left
+ {
+ var item = document.getElementById('Item'+itemIndex);
+ var elem = this.FindChildElement(item.parentNode.parentNode.id);
+ if (elem) elem.style.display = 'none';
+ }
+ else if (this.lastKey==27) // Escape
+ {
+ e.stopPropagation();
+ searchBox.CloseResultsWindow();
+ document.getElementById("MSearchField").focus();
+ }
+ else if (this.lastKey==13) // Enter
+ {
+ return true;
+ }
+ return false;
+ }
+
+ this.NavChild = function(evt,itemIndex,childIndex)
+ {
+ var e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==13) return true;
+ if (!this.ProcessKeys(e)) return false;
+
+ if (this.lastKey==38) // Up
+ {
+ if (childIndex>0)
+ {
+ var newIndex = childIndex-1;
+ document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
+ }
+ else // already at first child, jump to parent
+ {
+ document.getElementById('Item'+itemIndex).focus();
+ }
+ }
+ else if (this.lastKey==40) // Down
+ {
+ var newIndex = childIndex+1;
+ var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
+ if (!elem) // last child, jump to parent next parent
+ {
+ elem = this.NavNext(itemIndex+1);
+ }
+ if (elem)
+ {
+ elem.focus();
+ }
+ }
+ else if (this.lastKey==27) // Escape
+ {
+ e.stopPropagation();
+ searchBox.CloseResultsWindow();
+ document.getElementById("MSearchField").focus();
+ }
+ else if (this.lastKey==13) // Enter
+ {
+ return true;
+ }
+ return false;
+ }
+}
+
+function setKeyActions(elem,action)
+{
+ elem.setAttribute('onkeydown',action);
+ elem.setAttribute('onkeypress',action);
+ elem.setAttribute('onkeyup',action);
+}
+
+function setClassAttr(elem,attr)
+{
+ elem.setAttribute('class',attr);
+ elem.setAttribute('className',attr);
+}
+
+function createResults(resultsPath)
+{
+ var results = document.getElementById("SRResults");
+ results.innerHTML = '';
+ for (var e=0; eli>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all 0.25s;transition:all 0.25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked~.main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked~.main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked~.main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px, 1px, 1px, 1px)}#main-menu-state:not(:checked)~#main-menu{display:none}#main-menu-state:checked~#main-menu{display:block}@media (min-width: 768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked)~#main-menu{display:block}}.sm-dox{background-image:var(--nav-gradient-image)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:var(--nav-text-normal-shadow);color:var(--nav-text-normal-color);outline:none}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:var(--nav-menu-toggle-color);border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:var(--nav-gradient-image);line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:var(--nav-text-normal-color) transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:var(--nav-separator-image);background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a:hover span.sub-arrow{border-color:var(--nav-text-hover-color) transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--nav-menu-foreground-color);border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important;color:var(--nav-menu-foreground-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent var(--nav-text-hover-color)}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:var(--nav-gradient-image)}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}}
diff --git a/latex/Global_8h_source.tex b/latex/Global_8h_source.tex
new file mode 100644
index 0000000..15491e6
--- /dev/null
+++ b/latex/Global_8h_source.tex
@@ -0,0 +1,49 @@
+\doxysection{Global.\+h}
+\hypertarget{Global_8h_source}{}\label{Global_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_Global\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#\ define\ \_\_Global\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#\ include\ "{}MString.h"{}}}
+\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#\ include\ "{}CGIFormattedData.h"{}}}
+\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#\ include\ }}
+\DoxyCodeLine{00007\ }
+\DoxyCodeLine{00008\ \textcolor{keyword}{namespace\ \ }jet\ \{}
+\DoxyCodeLine{00009\ }
+\DoxyCodeLine{00010\ \ \ \ \textcolor{keyword}{class\ }\_\_mysql;}
+\DoxyCodeLine{00011\ \ \ \ }
+\DoxyCodeLine{00012\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1Global}{Global}}\ \{}
+\DoxyCodeLine{00013\ }
+\DoxyCodeLine{00014\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00015\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1Global}{Global}}(\textcolor{keywordtype}{char}\ **envp);}
+\DoxyCodeLine{00016\ \ \ \ \ \ \ \textcolor{keyword}{virtual}\ \mbox{\hyperlink{classjet_1_1Global}{\string~Global}}();}
+\DoxyCodeLine{00017\ }
+\DoxyCodeLine{00018\ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ dump();}
+\DoxyCodeLine{00019\ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ sessionExists(coreutils::MString\ sessionId);}
+\DoxyCodeLine{00020\ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ addSession(coreutils::MString\ sessionId,\ \mbox{\hyperlink{classjet_1_1____mysql}{\_\_mysql}}\ *mysql);}
+\DoxyCodeLine{00021\ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ removeSession(coreutils::MString\ sessionId);}
+\DoxyCodeLine{00022\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1____mysql}{\_\_mysql}}\ *\ getSession(coreutils::MString\ sessionId);}
+\DoxyCodeLine{00023\ \ \ \ \ \ \ coreutils::ZString\ getSessionVariable(coreutils::MString\ \&splitName);}
+\DoxyCodeLine{00024\ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ outputHeaders();}
+\DoxyCodeLine{00025\ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ setupFormData(coreutils::ZString\ \&formdata);}
+\DoxyCodeLine{00026\ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ setupFormURLEncoded(coreutils::ZString\ \&formdata);}
+\DoxyCodeLine{00027\ \ \ \ \ \ \ \textcolor{keywordtype}{char}\ *errorCursor\ =\ NULL;}
+\DoxyCodeLine{00028\ \ \ \ \ }
+\DoxyCodeLine{00029\ \ \ \ \ \ \ coreutils::CGIFormattedData\ cookies;}
+\DoxyCodeLine{00030\ \ \ \ \ \ \ std::map\ variables;}
+\DoxyCodeLine{00031\ \ \ \ \ \ \ std::map\ cgiVariables;}
+\DoxyCodeLine{00032\ \ \ \ \ \ \ std::map\ sessions;}
+\DoxyCodeLine{00033\ \ \ \ \ \ \ std::map\ headers;}
+\DoxyCodeLine{00034\ \ \ \ \ \ \ std::map\ tags;}
+\DoxyCodeLine{00035\ \ \ \ \ \ \ \textcolor{keywordtype}{char}\ **envp;}
+\DoxyCodeLine{00036\ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ cgi\ =\ \textcolor{keyword}{false};}
+\DoxyCodeLine{00037\ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ session\ =\ \textcolor{keyword}{false};}
+\DoxyCodeLine{00038\ \ \ \ \ \ \ coreutils::MString\ sessionId;}
+\DoxyCodeLine{00039\ \ \ \ \ \ \ }
+\DoxyCodeLine{00040\ \ \ \ \};}
+\DoxyCodeLine{00041\ }
+\DoxyCodeLine{00042\ \}}
+\DoxyCodeLine{00043\ }
+\DoxyCodeLine{00044\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/Makefile b/latex/Makefile
new file mode 100644
index 0000000..7f82972
--- /dev/null
+++ b/latex/Makefile
@@ -0,0 +1,27 @@
+LATEX_CMD?=pdflatex
+MKIDX_CMD?=makeindex
+BIBTEX_CMD?=bibtex
+LATEX_COUNT?=8
+MANUAL_FILE?=refman
+
+all: $(MANUAL_FILE).pdf
+
+pdf: $(MANUAL_FILE).pdf
+
+$(MANUAL_FILE).pdf: clean $(MANUAL_FILE).tex
+ $(LATEX_CMD) $(MANUAL_FILE)
+ $(MKIDX_CMD) $(MANUAL_FILE).idx
+ $(LATEX_CMD) $(MANUAL_FILE)
+ latex_count=$(LATEX_COUNT) ; \
+ while grep -E -s 'Rerun (LaTeX|to get cross-references right|to get bibliographical references right)' $(MANUAL_FILE).log && [ $$latex_count -gt 0 ] ;\
+ do \
+ echo "Rerunning latex...." ;\
+ $(LATEX_CMD) $(MANUAL_FILE) ;\
+ latex_count=`expr $$latex_count - 1` ;\
+ done
+ $(MKIDX_CMD) $(MANUAL_FILE).idx
+ $(LATEX_CMD) $(MANUAL_FILE)
+
+
+clean:
+ rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl $(MANUAL_FILE).pdf
diff --git a/latex/Operand_8h_source.tex b/latex/Operand_8h_source.tex
new file mode 100644
index 0000000..6cd5a0a
--- /dev/null
+++ b/latex/Operand_8h_source.tex
@@ -0,0 +1,32 @@
+\doxysection{Operand.\+h}
+\hypertarget{Operand_8h_source}{}\label{Operand_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_Operand\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_Operand\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}MString.h"{}}}
+\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ "{}Tag.h"{}}}
+\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ "{}Global.h"{}}}
+\DoxyCodeLine{00007\ }
+\DoxyCodeLine{00008\ \textcolor{keyword}{namespace\ }jet\ \{}
+\DoxyCodeLine{00009\ }
+\DoxyCodeLine{00010\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1Operand}{Operand}}\ \{}
+\DoxyCodeLine{00011\ }
+\DoxyCodeLine{00012\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00013\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1Operand}{Operand}}(coreutils::ZString\ \&in,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ \&tag);}
+\DoxyCodeLine{00014\ }
+\DoxyCodeLine{00015\ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ isNumber;}
+\DoxyCodeLine{00016\ }
+\DoxyCodeLine{00021\ \ \ \ \ \ \ }
+\DoxyCodeLine{00022\ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ \mbox{\hyperlink{classjet_1_1Operand_aff226980c53d083ab2b6babdb595bf5b}{boolean}};}
+\DoxyCodeLine{00023\ \ \ \ \ \ \ coreutils::MString\ \textcolor{keywordtype}{string}\ =\ \textcolor{stringliteral}{"{}"{}};}
+\DoxyCodeLine{00024\ \ \ \ \ \ \ }
+\DoxyCodeLine{00025\ \ \ \ \ \ \ \textcolor{keywordtype}{double}\ doubleValue;}
+\DoxyCodeLine{00026\ \ \ \ \ \ \ }
+\DoxyCodeLine{00027\ }
+\DoxyCodeLine{00028\ \ \ \ \};}
+\DoxyCodeLine{00029\ \}}
+\DoxyCodeLine{00030\ }
+\DoxyCodeLine{00031\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/SessionId_8h_source.tex b/latex/SessionId_8h_source.tex
new file mode 100644
index 0000000..4a5f0e6
--- /dev/null
+++ b/latex/SessionId_8h_source.tex
@@ -0,0 +1,21 @@
+\doxysection{Session\+Id.\+h}
+\hypertarget{SessionId_8h_source}{}\label{SessionId_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_SessionId\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_SessionId\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}MString.h"{}}}
+\DoxyCodeLine{00005\ }
+\DoxyCodeLine{00006\ \textcolor{keyword}{namespace\ }jet\ \{}
+\DoxyCodeLine{00007\ }
+\DoxyCodeLine{00008\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1SessionId}{SessionId}}\ :\ \textcolor{keyword}{public}\ coreutils::MString\ \{}
+\DoxyCodeLine{00009\ }
+\DoxyCodeLine{00010\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00011\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1SessionId}{SessionId}}();\ \ \ \ \ \ }
+\DoxyCodeLine{00012\ }
+\DoxyCodeLine{00013\ \ \ \ \};}
+\DoxyCodeLine{00014\ \}}
+\DoxyCodeLine{00015\ }
+\DoxyCodeLine{00016\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/Tag_8h_source.tex b/latex/Tag_8h_source.tex
new file mode 100644
index 0000000..7fe720a
--- /dev/null
+++ b/latex/Tag_8h_source.tex
@@ -0,0 +1,76 @@
+\doxysection{Tag.\+h}
+\hypertarget{Tag_8h_source}{}\label{Tag_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_Tag\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_Tag\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}ZString.h"{}}}
+\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ "{}MString.h"{}}}
+\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ "{}Global.h"{}}}
+\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#include\ }}
+\DoxyCodeLine{00008\ }
+\DoxyCodeLine{00012\ }
+\DoxyCodeLine{00013\ \textcolor{keyword}{namespace\ }jet\ \{}
+\DoxyCodeLine{00014\ }
+\DoxyCodeLine{00018\ \ \ \ }
+\DoxyCodeLine{00019\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ :\ \textcolor{keyword}{public}\ coreutils::ZString\ \{}
+\DoxyCodeLine{00020\ }
+\DoxyCodeLine{00021\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00022\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}(coreutils::ZString\ \&in,\ coreutils::MString\ \&parentOut,\ \mbox{\hyperlink{classjet_1_1Global}{Global}}\ \&global,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *parent\ =\ NULL,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *local\ =\ NULL,\ coreutils::ZString\ splitTagName\ =\ \textcolor{stringliteral}{"{}"{}});\ }
+\DoxyCodeLine{00023\ \ \ \ \ \ \ \textcolor{keyword}{virtual}\ \mbox{\hyperlink{classjet_1_1Tag_ae38b29ca4dc8b0cbd09a2b2b377f2704}{\string~Tag}}();}
+\DoxyCodeLine{00024\ }
+\DoxyCodeLine{00025\ \ \ \ \ \ \ coreutils::MString\ getVariable(coreutils::ZString\ \&variable,\ \textcolor{keywordtype}{bool}\ inContainer\ =\ \textcolor{keyword}{false});\ }
+\DoxyCodeLine{00026\ }
+\DoxyCodeLine{00027\ \ \ \ \ \ \ coreutils::MString\ \mbox{\hyperlink{classjet_1_1Tag_a8dfb107f3c2bbe7bcc9e8d566153c0e3}{resolveKeyword}}(coreutils::ZString\ keyword);}
+\DoxyCodeLine{00028\ \ \ \ \ \ \ std::map\ variables;}
+\DoxyCodeLine{00029\ \ \ \ \ \ \ std::map\ keywords;}
+\DoxyCodeLine{00030\ \ \ \ \ \ \ coreutils::ZString\ name;}
+\DoxyCodeLine{00031\ \ \ \ \ \ \ coreutils::ZString\ container;}
+\DoxyCodeLine{00032\ \ \ \ \ \ \ coreutils::ZString\ container2;}
+\DoxyCodeLine{00033\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1Global}{Global}}\ \&global;}
+\DoxyCodeLine{00034\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *parent;}
+\DoxyCodeLine{00035\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *local;}
+\DoxyCodeLine{00036\ }
+\DoxyCodeLine{00037\ \ \ \ \ \textcolor{keyword}{protected}:}
+\DoxyCodeLine{00038\ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ hasContainer\ =\ \textcolor{keyword}{false};}
+\DoxyCodeLine{00039\ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ hasContainer2\ =\ \textcolor{keyword}{false};}
+\DoxyCodeLine{00040\ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ keywordDefined(coreutils::ZString\ variable);}
+\DoxyCodeLine{00041\ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ parseContainer(coreutils::ZString\ \&in,\ coreutils::MString\ \&out,\ coreutils::ZString\ container2\ =\ NULL,\ \textcolor{keywordtype}{bool}\ topLevel\ =\ \ \textcolor{keyword}{false});}
+\DoxyCodeLine{00042\ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ processContainer(coreutils::ZString\ \&container,\ coreutils::ZString\ container2\ =\ NULL,\ \textcolor{keywordtype}{bool}\ topLevel\ =\ \textcolor{keyword}{false});}
+\DoxyCodeLine{00043\ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ copyContainer(coreutils::ZString\ \&in,\ coreutils::MString\ \&out);}
+\DoxyCodeLine{00044\ }
+\DoxyCodeLine{00045\ \ \ \ \ \ \ coreutils::MString\ \&parentOut;}
+\DoxyCodeLine{00046\ \ \ \ \ \ \ coreutils::MString\ out;}
+\DoxyCodeLine{00047\ }
+\DoxyCodeLine{00048\ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ output\ =\ \textcolor{keyword}{true};}
+\DoxyCodeLine{00049\ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ evaluate\ =\ \textcolor{keyword}{true};}
+\DoxyCodeLine{00050\ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ filterBlankLines\ =\ \textcolor{keyword}{false};}
+\DoxyCodeLine{00051\ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ trimLines\ =\ \textcolor{keyword}{false};}
+\DoxyCodeLine{00052\ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ cleanWhitespace\ =\ \textcolor{keyword}{false};}
+\DoxyCodeLine{00053\ }
+\DoxyCodeLine{00054\ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ renderVariableName(coreutils::ZString\ \&variable,\ coreutils::MString\ \&name,\ coreutils::MString\ \&modifier);}
+\DoxyCodeLine{00055\ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ storeVariable(coreutils::ZString\ variable,\ coreutils::MString\ value,\ coreutils::ZString\ scope);}
+\DoxyCodeLine{00056\ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ storeVariable(coreutils::ZString\ variable);}
+\DoxyCodeLine{00057\ \ \ \ \ \ \ }
+\DoxyCodeLine{00058\ \ \ \ \ \textcolor{keyword}{private}:}
+\DoxyCodeLine{00059\ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ containerOnly\ =\ \textcolor{keyword}{false};}
+\DoxyCodeLine{00060\ \ \ \ \ \ \ coreutils::ZString\ splitTagName;}
+\DoxyCodeLine{00061\ }
+\DoxyCodeLine{00062\ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ skipBlankLine(coreutils::ZString\ in);}
+\DoxyCodeLine{00063\ }
+\DoxyCodeLine{00064\ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ scanContainer(coreutils::ZString\ \&in);}
+\DoxyCodeLine{00065\ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ ifNested(coreutils::ZString\ \&in);}
+\DoxyCodeLine{00066\ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ ifTagName(coreutils::ZString\ \&in,\ \textcolor{keyword}{const}\ \textcolor{keywordtype}{char}\ *tag);}
+\DoxyCodeLine{00067\ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ ifTagName(coreutils::ZString\ \&in);}
+\DoxyCodeLine{00068\ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ ifTagDefined(coreutils::ZString\ \&in,\ coreutils::ZString\ \&tag);}
+\DoxyCodeLine{00069\ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ ifEndTagName(coreutils::ZString\ \&in);}
+\DoxyCodeLine{00070\ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ ifSplitTagName(coreutils::ZString\ \&in);}
+\DoxyCodeLine{00071\ \ \ \ \ \ \ }
+\DoxyCodeLine{00072\ \ \ \ \ \ \ coreutils::MString\ processModifier(coreutils::MString\ \&value,\ coreutils::MString\ \&modifier);}
+\DoxyCodeLine{00073\ \ \ \ \};}
+\DoxyCodeLine{00074\ }
+\DoxyCodeLine{00075\ \}}
+\DoxyCodeLine{00076\ }
+\DoxyCodeLine{00077\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/____call_8h_source.tex b/latex/____call_8h_source.tex
new file mode 100644
index 0000000..f3b192d
--- /dev/null
+++ b/latex/____call_8h_source.tex
@@ -0,0 +1,31 @@
+\doxysection{\+\_\+\+\_\+call.\+h}
+\hypertarget{____call_8h_source}{}\label{____call_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_\_\_call\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_\_\_call\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}Tag.h"{}}}
+\DoxyCodeLine{00005\ }
+\DoxyCodeLine{00006\ \textcolor{keyword}{namespace\ }jet\ \{}
+\DoxyCodeLine{00007\ \ \ \ }
+\DoxyCodeLine{00008\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1____call}{\_\_call}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ \{}
+\DoxyCodeLine{00009\ \ \ \ }
+\DoxyCodeLine{00010\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00011\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1____call}{\_\_call}}(coreutils::ZString\ \&in,\ coreutils::MString\ \&parentOut,\ \mbox{\hyperlink{classjet_1_1Global}{Global}}\ \&global,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *parent,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *local);}
+\DoxyCodeLine{00012\ }
+\DoxyCodeLine{00013\ \ \ \ \ \textcolor{keyword}{private}:}
+\DoxyCodeLine{00014\ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ pid;}
+\DoxyCodeLine{00015\ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ status;}
+\DoxyCodeLine{00016\ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ ix;}
+\DoxyCodeLine{00017\ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ fdi[2];}
+\DoxyCodeLine{00018\ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ fdo[2];}
+\DoxyCodeLine{00019\ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ rc;}
+\DoxyCodeLine{00020\ \ \ \ \ \ \ \textcolor{keywordtype}{char}\ *argv[50];}
+\DoxyCodeLine{00021\ \ \ \ \ \ \ }
+\DoxyCodeLine{00022\ \ \ \ \};}
+\DoxyCodeLine{00023\ \ \ \ \ \ \ }
+\DoxyCodeLine{00024\ \}}
+\DoxyCodeLine{00025\ }
+\DoxyCodeLine{00026\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/____comment_8h_source.tex b/latex/____comment_8h_source.tex
new file mode 100644
index 0000000..5036941
--- /dev/null
+++ b/latex/____comment_8h_source.tex
@@ -0,0 +1,22 @@
+\doxysection{\+\_\+\+\_\+comment.\+h}
+\hypertarget{____comment_8h_source}{}\label{____comment_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_\_\_comment\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_\_\_comment\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}Tag.h"{}}}
+\DoxyCodeLine{00005\ }
+\DoxyCodeLine{00006\ \textcolor{keyword}{namespace\ }jet\ \{}
+\DoxyCodeLine{00007\ \ \ \ }
+\DoxyCodeLine{00008\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1____comment}{\_\_comment}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ \{}
+\DoxyCodeLine{00009\ \ \ \ }
+\DoxyCodeLine{00010\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00011\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1____comment}{\_\_comment}}(coreutils::ZString\ \&in,\ coreutils::MString\ \&parentOut,\ \mbox{\hyperlink{classjet_1_1Global}{Global}}\ \&global,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *parent,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *local);}
+\DoxyCodeLine{00012\ \ \ \ \ \ \ }
+\DoxyCodeLine{00013\ \ \ \ \};}
+\DoxyCodeLine{00014\ \ \ \ \ \ \ }
+\DoxyCodeLine{00015\ \}}
+\DoxyCodeLine{00016\ }
+\DoxyCodeLine{00017\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/____cookie_8h_source.tex b/latex/____cookie_8h_source.tex
new file mode 100644
index 0000000..ca11253
--- /dev/null
+++ b/latex/____cookie_8h_source.tex
@@ -0,0 +1,24 @@
+\doxysection{\+\_\+\+\_\+cookie.\+h}
+\hypertarget{____cookie_8h_source}{}\label{____cookie_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_\_\_cookie\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_\_\_cookie\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}Tag.h"{}}}
+\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ "{}ZString.h"{}}}
+\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ "{}MString.h"{}}}
+\DoxyCodeLine{00007\ }
+\DoxyCodeLine{00008\ \textcolor{keyword}{namespace\ }jet\ \{}
+\DoxyCodeLine{00009\ \ \ \ }
+\DoxyCodeLine{00010\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1____cookie}{\_\_cookie}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ \{}
+\DoxyCodeLine{00011\ \ \ \ }
+\DoxyCodeLine{00012\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00013\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1____cookie}{\_\_cookie}}(coreutils::ZString\ \&in,\ coreutils::MString\ \&parentOut,\ \mbox{\hyperlink{classjet_1_1Global}{Global}}\ \&global,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *parent,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *local);\ \ \ }
+\DoxyCodeLine{00014\ \ \ \ \ \ \ }
+\DoxyCodeLine{00015\ \ \ \ \};}
+\DoxyCodeLine{00016\ \ \ \ }
+\DoxyCodeLine{00017\ \}}
+\DoxyCodeLine{00018\ }
+\DoxyCodeLine{00019\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/____dotag_8h_source.tex b/latex/____dotag_8h_source.tex
new file mode 100644
index 0000000..facce8d
--- /dev/null
+++ b/latex/____dotag_8h_source.tex
@@ -0,0 +1,23 @@
+\doxysection{\+\_\+\+\_\+dotag.\+h}
+\hypertarget{____dotag_8h_source}{}\label{____dotag_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_\_\_dotag\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_\_\_dotag\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}Tag.h"{}}}
+\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ "{}ZString.h"{}}}
+\DoxyCodeLine{00006\ }
+\DoxyCodeLine{00007\ \textcolor{keyword}{namespace\ }jet\ \{}
+\DoxyCodeLine{00008\ \ \ \ }
+\DoxyCodeLine{00009\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1____dotag}{\_\_dotag}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ \{}
+\DoxyCodeLine{00010\ \ \ \ }
+\DoxyCodeLine{00011\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00012\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1____dotag}{\_\_dotag}}(coreutils::ZString\ \&in,\ coreutils::MString\ \&parentOut,\ \mbox{\hyperlink{classjet_1_1Global}{Global}}\ \&global,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *parent,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *local);}
+\DoxyCodeLine{00013\ \ \ \ \ \ \ }
+\DoxyCodeLine{00014\ \ \ \ \};}
+\DoxyCodeLine{00015\ \ \ \ \ \ \ }
+\DoxyCodeLine{00016\ \}}
+\DoxyCodeLine{00017\ }
+\DoxyCodeLine{00018\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/____dump_8h_source.tex b/latex/____dump_8h_source.tex
new file mode 100644
index 0000000..7094a46
--- /dev/null
+++ b/latex/____dump_8h_source.tex
@@ -0,0 +1,24 @@
+\doxysection{\+\_\+\+\_\+dump.\+h}
+\hypertarget{____dump_8h_source}{}\label{____dump_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_\_\_dump\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_\_\_dump\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}Tag.h"{}}}
+\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ "{}MString.h"{}}}
+\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ "{}Global.h"{}}}
+\DoxyCodeLine{00007\ }
+\DoxyCodeLine{00008\ \textcolor{keyword}{namespace\ }jet\ \{}
+\DoxyCodeLine{00009\ \ \ \ }
+\DoxyCodeLine{00010\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1____dump}{\_\_dump}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ \{}
+\DoxyCodeLine{00011\ \ \ \ }
+\DoxyCodeLine{00012\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00013\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1____dump}{\_\_dump}}(coreutils::ZString\ \&in,\ coreutils::MString\ \&parentOut,\ \mbox{\hyperlink{classjet_1_1Global}{Global}}\ \&global,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *parent,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *local);}
+\DoxyCodeLine{00014\ \ \ \ }
+\DoxyCodeLine{00015\ \ \ \ \};}
+\DoxyCodeLine{00016\ \ \ \ \ \ \ }
+\DoxyCodeLine{00017\ \}}
+\DoxyCodeLine{00018\ }
+\DoxyCodeLine{00019\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/____exclude_8h_source.tex b/latex/____exclude_8h_source.tex
new file mode 100644
index 0000000..496dcfc
--- /dev/null
+++ b/latex/____exclude_8h_source.tex
@@ -0,0 +1,22 @@
+\doxysection{\+\_\+\+\_\+exclude.\+h}
+\hypertarget{____exclude_8h_source}{}\label{____exclude_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_\_\_exclude\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_\_\_exclude\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}Tag.h"{}}}
+\DoxyCodeLine{00005\ }
+\DoxyCodeLine{00006\ \textcolor{keyword}{namespace\ }jet\ \{}
+\DoxyCodeLine{00007\ \ \ \ }
+\DoxyCodeLine{00008\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1____exclude}{\_\_exclude}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ \{}
+\DoxyCodeLine{00009\ \ \ \ }
+\DoxyCodeLine{00010\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00011\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1____exclude}{\_\_exclude}}(coreutils::ZString\ \&in,\ coreutils::MString\ \&parentOut,\ \mbox{\hyperlink{classjet_1_1Global}{Global}}\ \&global,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *parent,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *local);}
+\DoxyCodeLine{00012\ \ \ \ \ \ \ }
+\DoxyCodeLine{00013\ \ \ \ \};}
+\DoxyCodeLine{00014\ \ \ \ \ \ \ }
+\DoxyCodeLine{00015\ \}}
+\DoxyCodeLine{00016\ }
+\DoxyCodeLine{00017\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/____for_8h_source.tex b/latex/____for_8h_source.tex
new file mode 100644
index 0000000..f921e09
--- /dev/null
+++ b/latex/____for_8h_source.tex
@@ -0,0 +1,23 @@
+\doxysection{\+\_\+\+\_\+for.\+h}
+\hypertarget{____for_8h_source}{}\label{____for_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_\_\_for\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_\_\_for\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}Tag.h"{}}}
+\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ }}
+\DoxyCodeLine{00006\ }
+\DoxyCodeLine{00007\ \textcolor{keyword}{namespace\ }jet\ \{}
+\DoxyCodeLine{00008\ \ \ \ }
+\DoxyCodeLine{00009\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1____for}{\_\_for}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ \{}
+\DoxyCodeLine{00010\ \ \ \ }
+\DoxyCodeLine{00011\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00012\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1____for}{\_\_for}}(coreutils::ZString\ \&in,\ coreutils::MString\ \&parentOut,\ \mbox{\hyperlink{classjet_1_1Global}{Global}}\ \&global,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *parent,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *local);}
+\DoxyCodeLine{00013\ \ \ \ }
+\DoxyCodeLine{00014\ \ \ \ \};}
+\DoxyCodeLine{00015\ \ \ \ \ \ \ }
+\DoxyCodeLine{00016\ \}}
+\DoxyCodeLine{00017\ }
+\DoxyCodeLine{00018\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/____header_8h_source.tex b/latex/____header_8h_source.tex
new file mode 100644
index 0000000..c2fe689
--- /dev/null
+++ b/latex/____header_8h_source.tex
@@ -0,0 +1,27 @@
+\doxysection{\+\_\+\+\_\+header.\+h}
+\hypertarget{____header_8h_source}{}\label{____header_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_\_\_header\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_\_\_header\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}Tag.h"{}}}
+\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ "{}ZString.h"{}}}
+\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ "{}MString.h"{}}}
+\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#include\ }}
+\DoxyCodeLine{00008\ }
+\DoxyCodeLine{00009\ \textcolor{keyword}{namespace\ }jet\ \{}
+\DoxyCodeLine{00010\ \ \ \ }
+\DoxyCodeLine{00011\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1____header}{\_\_header}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ \{}
+\DoxyCodeLine{00012\ \ \ \ }
+\DoxyCodeLine{00013\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00014\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1____header}{\_\_header}}(coreutils::ZString\ \&in,\ coreutils::MString\ \&parentOut,\ \mbox{\hyperlink{classjet_1_1Global}{Global}}\ \&global,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *parent,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *local);\ \ \ }
+\DoxyCodeLine{00015\ }
+\DoxyCodeLine{00016\ \ \ \ \ \textcolor{keyword}{protected}:}
+\DoxyCodeLine{00017\ \ \ \ \ \ \ }
+\DoxyCodeLine{00018\ \ \ \ \};}
+\DoxyCodeLine{00019\ \ \ \ \ \ \ }
+\DoxyCodeLine{00020\ \}}
+\DoxyCodeLine{00021\ }
+\DoxyCodeLine{00022\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/____if_8h_source.tex b/latex/____if_8h_source.tex
new file mode 100644
index 0000000..3a6cb85
--- /dev/null
+++ b/latex/____if_8h_source.tex
@@ -0,0 +1,25 @@
+\doxysection{\+\_\+\+\_\+if.\+h}
+\hypertarget{____if_8h_source}{}\label{____if_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_\_\_if\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_\_\_if\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}Tag.h"{}}}
+\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ "{}ZString.h"{}}}
+\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ "{}MString.h"{}}}
+\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#include\ }}
+\DoxyCodeLine{00008\ }
+\DoxyCodeLine{00009\ \textcolor{keyword}{namespace\ }jet\ \{}
+\DoxyCodeLine{00010\ }
+\DoxyCodeLine{00011\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1____if}{\_\_if}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ \{}
+\DoxyCodeLine{00012\ }
+\DoxyCodeLine{00013\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00014\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1____if}{\_\_if}}(coreutils::ZString\ \&in,\ coreutils::MString\ \&parentOut,\ \mbox{\hyperlink{classjet_1_1Global}{Global}}\ \&global,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *parent,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *local);}
+\DoxyCodeLine{00015\ }
+\DoxyCodeLine{00016\ \ \ \ \};}
+\DoxyCodeLine{00017\ }
+\DoxyCodeLine{00018\ \}}
+\DoxyCodeLine{00019\ }
+\DoxyCodeLine{00020\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/____ifrow_8h_source.tex b/latex/____ifrow_8h_source.tex
new file mode 100644
index 0000000..d57b80e
--- /dev/null
+++ b/latex/____ifrow_8h_source.tex
@@ -0,0 +1,22 @@
+\doxysection{\+\_\+\+\_\+ifrow.\+h}
+\hypertarget{____ifrow_8h_source}{}\label{____ifrow_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_\_\_ifrow\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_\_\_ifrow\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}Tag.h"{}}}
+\DoxyCodeLine{00005\ }
+\DoxyCodeLine{00006\ \textcolor{keyword}{namespace\ }jet\ \{}
+\DoxyCodeLine{00007\ \ \ \ }
+\DoxyCodeLine{00008\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1____ifrow}{\_\_ifrow}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ \{}
+\DoxyCodeLine{00009\ \ \ \ }
+\DoxyCodeLine{00010\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00011\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1____ifrow}{\_\_ifrow}}(coreutils::ZString\ \&in,\ coreutils::MString\ \&parentOut,\ \mbox{\hyperlink{classjet_1_1Global}{Global}}\ \&global,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *parent,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *local);}
+\DoxyCodeLine{00012\ \ \ \ \ \ \ }
+\DoxyCodeLine{00013\ \ \ \ \};}
+\DoxyCodeLine{00014\ \ \ \ \ \ \ }
+\DoxyCodeLine{00015\ \}}
+\DoxyCodeLine{00016\ }
+\DoxyCodeLine{00017\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/____include_8h_source.tex b/latex/____include_8h_source.tex
new file mode 100644
index 0000000..e270ab3
--- /dev/null
+++ b/latex/____include_8h_source.tex
@@ -0,0 +1,22 @@
+\doxysection{\+\_\+\+\_\+include.\+h}
+\hypertarget{____include_8h_source}{}\label{____include_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_\_\_include\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_\_\_include\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}Tag.h"{}}}
+\DoxyCodeLine{00005\ }
+\DoxyCodeLine{00006\ \textcolor{keyword}{namespace\ }jet\ \{}
+\DoxyCodeLine{00007\ \ \ \ }
+\DoxyCodeLine{00008\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1____include}{\_\_include}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ \{}
+\DoxyCodeLine{00009\ \ \ \ }
+\DoxyCodeLine{00010\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00011\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1____include}{\_\_include}}(coreutils::ZString\ \&in,\ coreutils::MString\ \&parentOut,\ \mbox{\hyperlink{classjet_1_1Global}{Global}}\ \&global,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *parent,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *local);}
+\DoxyCodeLine{00012\ \ \ \ \ \ \ }
+\DoxyCodeLine{00013\ \ \ \ \};}
+\DoxyCodeLine{00014\ \ \ \ \ \ \ }
+\DoxyCodeLine{00015\ \}}
+\DoxyCodeLine{00016\ }
+\DoxyCodeLine{00017\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/____jet_8h_source.tex b/latex/____jet_8h_source.tex
new file mode 100644
index 0000000..d9ec0a9
--- /dev/null
+++ b/latex/____jet_8h_source.tex
@@ -0,0 +1,26 @@
+\doxysection{\+\_\+\+\_\+jet.\+h}
+\hypertarget{____jet_8h_source}{}\label{____jet_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_\_\_jet\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_\_\_jet\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}Tag.h"{}}}
+\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ "{}ZString.h"{}}}
+\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ "{}IMFRequest.h"{}}}
+\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#include\ "{}IMFMessage.h"{}}}
+\DoxyCodeLine{00008\ \textcolor{preprocessor}{\#include\ }}
+\DoxyCodeLine{00009\ }
+\DoxyCodeLine{00010\ \textcolor{keyword}{namespace\ }jet\ \{}
+\DoxyCodeLine{00011\ \ \ \ }
+\DoxyCodeLine{00012\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1____jet}{\_\_jet}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ \{}
+\DoxyCodeLine{00013\ \ \ \ }
+\DoxyCodeLine{00014\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00015\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1____jet}{\_\_jet}}(coreutils::ZString\ \&in,\ coreutils::MString\ \&parentOut,\ \mbox{\hyperlink{classjet_1_1Global}{Global}}\ \&global,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *parent,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *local);}
+\DoxyCodeLine{00016\ \ \ \ \ \ \ }
+\DoxyCodeLine{00017\ \ \ \ \};}
+\DoxyCodeLine{00018\ \ \ \ \ \ \ }
+\DoxyCodeLine{00019\ \}}
+\DoxyCodeLine{00020\ }
+\DoxyCodeLine{00021\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/____mysql_8h_source.tex b/latex/____mysql_8h_source.tex
new file mode 100644
index 0000000..19fff5b
--- /dev/null
+++ b/latex/____mysql_8h_source.tex
@@ -0,0 +1,43 @@
+\doxysection{\+\_\+\+\_\+mysql.\+h}
+\hypertarget{____mysql_8h_source}{}\label{____mysql_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_\_\_mysql\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_\_\_mysql\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}Tag.h"{}}}
+\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ "{}ZString.h"{}}}
+\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ "{}MString.h"{}}}
+\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#include\ }}
+\DoxyCodeLine{00008\ \textcolor{preprocessor}{\#include\ }}
+\DoxyCodeLine{00009\ }
+\DoxyCodeLine{00010\ \textcolor{keyword}{namespace\ }jet\ \{}
+\DoxyCodeLine{00011\ }
+\DoxyCodeLine{00012\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1____mysql}{\_\_mysql}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ \{}
+\DoxyCodeLine{00013\ }
+\DoxyCodeLine{00014\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00015\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1____mysql}{\_\_mysql}}(coreutils::ZString\ \&in,\ coreutils::MString\ \&parentOut,\ \mbox{\hyperlink{classjet_1_1Global}{Global}}\ \&global,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *parent,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *local);}
+\DoxyCodeLine{00016\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1____mysql}{\string~\_\_mysql}}();}
+\DoxyCodeLine{00017\ }
+\DoxyCodeLine{00018\ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ query(coreutils::MString\ query);}
+\DoxyCodeLine{00019\ \ \ \ \ \ \ \textcolor{keywordtype}{void}\ nextRow();}
+\DoxyCodeLine{00020\ \ \ \ \ \ \ \textcolor{keywordtype}{bool}\ hasRow();}
+\DoxyCodeLine{00021\ \ \ \ \ \ \ coreutils::ZString\ getColumnValue(coreutils::ZString\ column);}
+\DoxyCodeLine{00022\ \ \ \ \ \ \ }
+\DoxyCodeLine{00023\ \ \ \ \ \textcolor{keyword}{private}:}
+\DoxyCodeLine{00024\ \ \ \ \ \ \ MYSQL\ *mysql;}
+\DoxyCodeLine{00025\ \ \ \ \ \ \ MYSQL\_RES\ *result;}
+\DoxyCodeLine{00026\ \ \ \ \ \ \ MYSQL\_ROW\ row;}
+\DoxyCodeLine{00027\ \ \ \ \ \ \ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{long}\ *fieldLength;}
+\DoxyCodeLine{00028\ \ \ \ \ \ \ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{int}\ qFields;}
+\DoxyCodeLine{00029\ \ \ \ \ \ \ coreutils::MString\ sessionId;}
+\DoxyCodeLine{00030\ }
+\DoxyCodeLine{00031\ \ \ \ \ \ \ coreutils::MString\ nbrOfRows\ =\ \textcolor{stringliteral}{"{}0"{}};}
+\DoxyCodeLine{00032\ \ \ \ \ \ \ coreutils::MString\ nbrOfColumns\ =\ \textcolor{stringliteral}{"{}0"{}};}
+\DoxyCodeLine{00033\ \ \ \ \ \ \ }
+\DoxyCodeLine{00034\ \ \ \ \};}
+\DoxyCodeLine{00035\ }
+\DoxyCodeLine{00036\ \}}
+\DoxyCodeLine{00037\ }
+\DoxyCodeLine{00038\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/____read_8h_source.tex b/latex/____read_8h_source.tex
new file mode 100644
index 0000000..654e09f
--- /dev/null
+++ b/latex/____read_8h_source.tex
@@ -0,0 +1,27 @@
+\doxysection{\+\_\+\+\_\+read.\+h}
+\hypertarget{____read_8h_source}{}\label{____read_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_\_\_read\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_\_\_read\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}Tag.h"{}}}
+\DoxyCodeLine{00005\ }
+\DoxyCodeLine{00006\ \textcolor{keyword}{namespace\ }jet\ \{}
+\DoxyCodeLine{00007\ \ \ \ }
+\DoxyCodeLine{00008\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1____read}{\_\_read}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ \{}
+\DoxyCodeLine{00009\ \ \ \ }
+\DoxyCodeLine{00010\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00011\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1____read}{\_\_read}}(coreutils::ZString\ \&in,\ coreutils::MString\ \&parentOut,\ \mbox{\hyperlink{classjet_1_1Global}{Global}}\ \&global,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *parent,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *local);}
+\DoxyCodeLine{00012\ }
+\DoxyCodeLine{00013\ \ \ \ \ \textcolor{keyword}{private}:}
+\DoxyCodeLine{00014\ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ fd;}
+\DoxyCodeLine{00015\ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ len;}
+\DoxyCodeLine{00016\ \ \ \ \ \ \ \textcolor{keywordtype}{char}\ buffer[4096];}
+\DoxyCodeLine{00017\ \ \ \ \ \ \ }
+\DoxyCodeLine{00018\ \ \ \ \};}
+\DoxyCodeLine{00019\ \ \ \ \ \ \ }
+\DoxyCodeLine{00020\ \}}
+\DoxyCodeLine{00021\ }
+\DoxyCodeLine{00022\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/____set_8h_source.tex b/latex/____set_8h_source.tex
new file mode 100644
index 0000000..e29d79f
--- /dev/null
+++ b/latex/____set_8h_source.tex
@@ -0,0 +1,27 @@
+\doxysection{\+\_\+\+\_\+set.\+h}
+\hypertarget{____set_8h_source}{}\label{____set_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_\_\_set\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_\_\_set\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}Tag.h"{}}}
+\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ "{}ZString.h"{}}}
+\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ "{}MString.h"{}}}
+\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#include\ }}
+\DoxyCodeLine{00008\ }
+\DoxyCodeLine{00009\ \textcolor{keyword}{namespace\ }jet\ \{}
+\DoxyCodeLine{00010\ \ \ \ }
+\DoxyCodeLine{00011\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1____set}{\_\_set}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ \{}
+\DoxyCodeLine{00012\ \ \ \ }
+\DoxyCodeLine{00013\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00014\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1____set}{\_\_set}}(coreutils::ZString\ \&in,\ coreutils::MString\ \&parentOut,\ \mbox{\hyperlink{classjet_1_1Global}{Global}}\ \&global,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *parent,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *local);\ \ \ }
+\DoxyCodeLine{00015\ }
+\DoxyCodeLine{00016\ \ \ \ \ \textcolor{keyword}{protected}:}
+\DoxyCodeLine{00017\ \ \ \ \ \ \ }
+\DoxyCodeLine{00018\ \ \ \ \};}
+\DoxyCodeLine{00019\ \ \ \ \ \ \ }
+\DoxyCodeLine{00020\ \}}
+\DoxyCodeLine{00021\ }
+\DoxyCodeLine{00022\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/____sql_8h_source.tex b/latex/____sql_8h_source.tex
new file mode 100644
index 0000000..c265b58
--- /dev/null
+++ b/latex/____sql_8h_source.tex
@@ -0,0 +1,22 @@
+\doxysection{\+\_\+\+\_\+sql.\+h}
+\hypertarget{____sql_8h_source}{}\label{____sql_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_\_\_sql\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_\_\_sql\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}Tag.h"{}}}
+\DoxyCodeLine{00005\ }
+\DoxyCodeLine{00006\ \textcolor{keyword}{namespace\ }jet\ \{}
+\DoxyCodeLine{00007\ \ \ \ }
+\DoxyCodeLine{00008\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1____sql}{\_\_sql}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ \{}
+\DoxyCodeLine{00009\ \ \ \ }
+\DoxyCodeLine{00010\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00011\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1____sql}{\_\_sql}}(coreutils::ZString\ \&in,\ coreutils::MString\ \&parentOut,\ \mbox{\hyperlink{classjet_1_1Global}{Global}}\ \&global,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *parent,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *local);}
+\DoxyCodeLine{00012\ \ \ \ \ \ \ }
+\DoxyCodeLine{00013\ \ \ \ \};}
+\DoxyCodeLine{00014\ \ \ \ \ \ \ }
+\DoxyCodeLine{00015\ \}}
+\DoxyCodeLine{00016\ }
+\DoxyCodeLine{00017\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/____stream_8h_source.tex b/latex/____stream_8h_source.tex
new file mode 100644
index 0000000..d626c85
--- /dev/null
+++ b/latex/____stream_8h_source.tex
@@ -0,0 +1,23 @@
+\doxysection{\+\_\+\+\_\+stream.\+h}
+\hypertarget{____stream_8h_source}{}\label{____stream_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_\_\_stream\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_\_\_stream\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}Tag.h"{}}}
+\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ "{}ZString.h"{}}}
+\DoxyCodeLine{00006\ }
+\DoxyCodeLine{00007\ \textcolor{keyword}{namespace\ }jet\ \{}
+\DoxyCodeLine{00008\ \ \ \ }
+\DoxyCodeLine{00009\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1____stream}{\_\_stream}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ \{}
+\DoxyCodeLine{00010\ \ \ \ }
+\DoxyCodeLine{00011\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00012\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1____stream}{\_\_stream}}(coreutils::ZString\ \&in,\ coreutils::MString\ \&parentOut,\ \mbox{\hyperlink{classjet_1_1Global}{Global}}\ \&global,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *parent,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *local);}
+\DoxyCodeLine{00013\ \ \ \ \ \ \ }
+\DoxyCodeLine{00014\ \ \ \ \};}
+\DoxyCodeLine{00015\ \ \ \ \ \ \ }
+\DoxyCodeLine{00016\ \}}
+\DoxyCodeLine{00017\ }
+\DoxyCodeLine{00018\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/____system_8h_source.tex b/latex/____system_8h_source.tex
new file mode 100644
index 0000000..d62ca20
--- /dev/null
+++ b/latex/____system_8h_source.tex
@@ -0,0 +1,31 @@
+\doxysection{\+\_\+\+\_\+system.\+h}
+\hypertarget{____system_8h_source}{}\label{____system_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_\_\_system\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_\_\_system\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}Tag.h"{}}}
+\DoxyCodeLine{00005\ }
+\DoxyCodeLine{00006\ \textcolor{keyword}{namespace\ }jet\ \{}
+\DoxyCodeLine{00007\ \ \ \ }
+\DoxyCodeLine{00008\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1____system}{\_\_system}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ \{}
+\DoxyCodeLine{00009\ \ \ \ }
+\DoxyCodeLine{00010\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00011\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1____system}{\_\_system}}(coreutils::ZString\ \&in,\ coreutils::MString\ \&parentOut,\ \mbox{\hyperlink{classjet_1_1Global}{Global}}\ \&global,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *parent,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *local);}
+\DoxyCodeLine{00012\ }
+\DoxyCodeLine{00013\ \ \ \ \ \textcolor{keyword}{private}:}
+\DoxyCodeLine{00014\ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ pid;}
+\DoxyCodeLine{00015\ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ status;}
+\DoxyCodeLine{00016\ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ ix;}
+\DoxyCodeLine{00017\ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ fdi[2];}
+\DoxyCodeLine{00018\ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ fdo[2];}
+\DoxyCodeLine{00019\ \ \ \ \ \ \ \textcolor{keywordtype}{int}\ rc;}
+\DoxyCodeLine{00020\ \ \ \ \ \ \ \textcolor{keywordtype}{char}\ *argv[50];}
+\DoxyCodeLine{00021\ \ \ \ \ \ \ }
+\DoxyCodeLine{00022\ \ \ \ \};}
+\DoxyCodeLine{00023\ \ \ \ \ \ \ }
+\DoxyCodeLine{00024\ \}}
+\DoxyCodeLine{00025\ }
+\DoxyCodeLine{00026\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/____tag_8h_source.tex b/latex/____tag_8h_source.tex
new file mode 100644
index 0000000..130bf84
--- /dev/null
+++ b/latex/____tag_8h_source.tex
@@ -0,0 +1,27 @@
+\doxysection{\+\_\+\+\_\+tag.\+h}
+\hypertarget{____tag_8h_source}{}\label{____tag_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_\_\_tag\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_\_\_tag\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}Tag.h"{}}}
+\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ "{}ZString.h"{}}}
+\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ "{}MString.h"{}}}
+\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#include\ }}
+\DoxyCodeLine{00008\ }
+\DoxyCodeLine{00009\ \textcolor{keyword}{namespace\ }jet\ \{}
+\DoxyCodeLine{00010\ \ \ \ }
+\DoxyCodeLine{00011\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1____tag}{\_\_tag}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ \{}
+\DoxyCodeLine{00012\ \ \ \ }
+\DoxyCodeLine{00013\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00014\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1____tag}{\_\_tag}}(coreutils::ZString\ \&in,\ coreutils::MString\ \&parentOut,\ \mbox{\hyperlink{classjet_1_1Global}{Global}}\ \&global,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *parent,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *local);}
+\DoxyCodeLine{00015\ }
+\DoxyCodeLine{00016\ \ \ \ \ \ \ std::map\ tags;\ }
+\DoxyCodeLine{00017\ \ \ \ \ \ \ }
+\DoxyCodeLine{00018\ \ \ \ \};}
+\DoxyCodeLine{00019\ \ \ \ \ \ \ }
+\DoxyCodeLine{00020\ \}}
+\DoxyCodeLine{00021\ }
+\DoxyCodeLine{00022\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/____until_8h_source.tex b/latex/____until_8h_source.tex
new file mode 100644
index 0000000..3cb0988
--- /dev/null
+++ b/latex/____until_8h_source.tex
@@ -0,0 +1,23 @@
+\doxysection{\+\_\+\+\_\+until.\+h}
+\hypertarget{____until_8h_source}{}\label{____until_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_\_\_until\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_\_\_until\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}Tag.h"{}}}
+\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ }}
+\DoxyCodeLine{00006\ }
+\DoxyCodeLine{00007\ \textcolor{keyword}{namespace\ }jet\ \{}
+\DoxyCodeLine{00008\ \ \ \ }
+\DoxyCodeLine{00009\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1____until}{\_\_until}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ \{}
+\DoxyCodeLine{00010\ \ \ \ }
+\DoxyCodeLine{00011\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00012\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1____until}{\_\_until}}(coreutils::ZString\ \&in,\ coreutils::MString\ \&parentOut,\ \mbox{\hyperlink{classjet_1_1Global}{Global}}\ \&global,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *parent,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *local);}
+\DoxyCodeLine{00013\ \ \ \ }
+\DoxyCodeLine{00014\ \ \ \ \};}
+\DoxyCodeLine{00015\ \ \ \ \ \ \ }
+\DoxyCodeLine{00016\ \}}
+\DoxyCodeLine{00017\ }
+\DoxyCodeLine{00018\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/____while_8h_source.tex b/latex/____while_8h_source.tex
new file mode 100644
index 0000000..ef198be
--- /dev/null
+++ b/latex/____while_8h_source.tex
@@ -0,0 +1,23 @@
+\doxysection{\+\_\+\+\_\+while.\+h}
+\hypertarget{____while_8h_source}{}\label{____while_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_\_\_while\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_\_\_while\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}Tag.h"{}}}
+\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ }}
+\DoxyCodeLine{00006\ }
+\DoxyCodeLine{00007\ \textcolor{keyword}{namespace\ }jet\ \{}
+\DoxyCodeLine{00008\ \ \ \ }
+\DoxyCodeLine{00009\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1____while}{\_\_while}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ \{}
+\DoxyCodeLine{00010\ \ \ \ }
+\DoxyCodeLine{00011\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00012\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1____while}{\_\_while}}(coreutils::ZString\ \&in,\ coreutils::MString\ \&parentOut,\ \mbox{\hyperlink{classjet_1_1Global}{Global}}\ \&global,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *parent,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *local);}
+\DoxyCodeLine{00013\ \ \ \ }
+\DoxyCodeLine{00014\ \ \ \ \};}
+\DoxyCodeLine{00015\ \ \ \ \ \ \ }
+\DoxyCodeLine{00016\ \}}
+\DoxyCodeLine{00017\ }
+\DoxyCodeLine{00018\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/____whiledir_8h_source.tex b/latex/____whiledir_8h_source.tex
new file mode 100644
index 0000000..043a1c0
--- /dev/null
+++ b/latex/____whiledir_8h_source.tex
@@ -0,0 +1,24 @@
+\doxysection{\+\_\+\+\_\+whiledir.\+h}
+\hypertarget{____whiledir_8h_source}{}\label{____whiledir_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_\_\_whiledir\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_\_\_whiledir\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}Tag.h"{}}}
+\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ "{}ZString.h"{}}}
+\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ "{}MString.h"{}}}
+\DoxyCodeLine{00007\ }
+\DoxyCodeLine{00008\ \textcolor{keyword}{namespace\ }jet\ \{}
+\DoxyCodeLine{00009\ }
+\DoxyCodeLine{00010\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1____whiledir}{\_\_whiledir}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ \{}
+\DoxyCodeLine{00011\ }
+\DoxyCodeLine{00012\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00013\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1____whiledir}{\_\_whiledir}}(coreutils::ZString\ \&in,\ coreutils::MString\ \&parentOut,\ \mbox{\hyperlink{classjet_1_1Global}{Global}}\ \&global,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *parent,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *local);}
+\DoxyCodeLine{00014\ \ \ \ \ \ \ }
+\DoxyCodeLine{00015\ \ \ \ \};}
+\DoxyCodeLine{00016\ }
+\DoxyCodeLine{00017\ \}}
+\DoxyCodeLine{00018\ }
+\DoxyCodeLine{00019\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/____whilerow_8h_source.tex b/latex/____whilerow_8h_source.tex
new file mode 100644
index 0000000..678ac06
--- /dev/null
+++ b/latex/____whilerow_8h_source.tex
@@ -0,0 +1,24 @@
+\doxysection{\+\_\+\+\_\+whilerow.\+h}
+\hypertarget{____whilerow_8h_source}{}\label{____whilerow_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_\_\_whilerow\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_\_\_whilerow\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}Tag.h"{}}}
+\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ "{}ZString.h"{}}}
+\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ "{}MString.h"{}}}
+\DoxyCodeLine{00007\ }
+\DoxyCodeLine{00008\ \textcolor{keyword}{namespace\ }jet\ \{}
+\DoxyCodeLine{00009\ }
+\DoxyCodeLine{00010\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1____whilerow}{\_\_whilerow}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ \{}
+\DoxyCodeLine{00011\ }
+\DoxyCodeLine{00012\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00013\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1____whilerow}{\_\_whilerow}}(coreutils::ZString\ \&in,\ coreutils::MString\ \&parentOut,\ \mbox{\hyperlink{classjet_1_1Global}{Global}}\ \&global,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *parent,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *local);}
+\DoxyCodeLine{00014\ \ \ \ \ \ \ }
+\DoxyCodeLine{00015\ \ \ \ \};}
+\DoxyCodeLine{00016\ }
+\DoxyCodeLine{00017\ \}}
+\DoxyCodeLine{00018\ }
+\DoxyCodeLine{00019\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/____write_8h_source.tex b/latex/____write_8h_source.tex
new file mode 100644
index 0000000..a8e33d0
--- /dev/null
+++ b/latex/____write_8h_source.tex
@@ -0,0 +1,27 @@
+\doxysection{\+\_\+\+\_\+write.\+h}
+\hypertarget{____write_8h_source}{}\label{____write_8h_source}
+\begin{DoxyCode}{0}
+\DoxyCodeLine{00001\ \textcolor{preprocessor}{\#ifndef\ \_\_write\_h\_\_}}
+\DoxyCodeLine{00002\ \textcolor{preprocessor}{\#define\ \_\_write\_h\_\_}}
+\DoxyCodeLine{00003\ }
+\DoxyCodeLine{00004\ \textcolor{preprocessor}{\#include\ "{}Tag.h"{}}}
+\DoxyCodeLine{00005\ \textcolor{preprocessor}{\#include\ "{}ZString.h"{}}}
+\DoxyCodeLine{00006\ \textcolor{preprocessor}{\#include\ "{}MString.h"{}}}
+\DoxyCodeLine{00007\ \textcolor{preprocessor}{\#include\ }}
+\DoxyCodeLine{00008\ }
+\DoxyCodeLine{00009\ \textcolor{keyword}{namespace\ }jet\ \{}
+\DoxyCodeLine{00010\ \ \ \ }
+\DoxyCodeLine{00011\ \ \ \ \textcolor{keyword}{class\ }\mbox{\hyperlink{classjet_1_1____write}{\_\_write}}\ :\ \textcolor{keyword}{public}\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ \{}
+\DoxyCodeLine{00012\ \ \ \ }
+\DoxyCodeLine{00013\ \ \ \ \ \textcolor{keyword}{public}:}
+\DoxyCodeLine{00014\ \ \ \ \ \ \ \mbox{\hyperlink{classjet_1_1____write}{\_\_write}}(coreutils::ZString\ \&in,\ coreutils::MString\ \&parentOut,\ \mbox{\hyperlink{classjet_1_1Global}{Global}}\ \&global,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *parent,\ \mbox{\hyperlink{classjet_1_1Tag}{Tag}}\ *local);\ \ \ }
+\DoxyCodeLine{00015\ }
+\DoxyCodeLine{00016\ \ \ \ \ \textcolor{keyword}{protected}:}
+\DoxyCodeLine{00017\ \ \ \ \ \ \ }
+\DoxyCodeLine{00018\ \ \ \ \};}
+\DoxyCodeLine{00019\ \ \ \ \ \ \ }
+\DoxyCodeLine{00020\ \}}
+\DoxyCodeLine{00021\ }
+\DoxyCodeLine{00022\ \textcolor{preprocessor}{\#endif}}
+
+\end{DoxyCode}
diff --git a/latex/annotated.tex b/latex/annotated.tex
new file mode 100644
index 0000000..38e5909
--- /dev/null
+++ b/latex/annotated.tex
@@ -0,0 +1,31 @@
+\doxysection{Class List}
+Here are the classes, structs, unions and interfaces with brief descriptions\+:\begin{DoxyCompactList}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1____call}{jet\+::\+\_\+\+\_\+call}} }{\pageref{classjet_1_1____call}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1____comment}{jet\+::\+\_\+\+\_\+comment}} }{\pageref{classjet_1_1____comment}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1____cookie}{jet\+::\+\_\+\+\_\+cookie}} }{\pageref{classjet_1_1____cookie}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1____dotag}{jet\+::\+\_\+\+\_\+dotag}} }{\pageref{classjet_1_1____dotag}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1____dump}{jet\+::\+\_\+\+\_\+dump}} }{\pageref{classjet_1_1____dump}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1____exclude}{jet\+::\+\_\+\+\_\+exclude}} }{\pageref{classjet_1_1____exclude}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1____for}{jet\+::\+\_\+\+\_\+for}} }{\pageref{classjet_1_1____for}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1____header}{jet\+::\+\_\+\+\_\+header}} }{\pageref{classjet_1_1____header}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1____if}{jet\+::\+\_\+\+\_\+if}} }{\pageref{classjet_1_1____if}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1____ifrow}{jet\+::\+\_\+\+\_\+ifrow}} }{\pageref{classjet_1_1____ifrow}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1____include}{jet\+::\+\_\+\+\_\+include}} }{\pageref{classjet_1_1____include}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1____jet}{jet\+::\+\_\+\+\_\+jet}} }{\pageref{classjet_1_1____jet}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1____mysql}{jet\+::\+\_\+\+\_\+mysql}} }{\pageref{classjet_1_1____mysql}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1____read}{jet\+::\+\_\+\+\_\+read}} }{\pageref{classjet_1_1____read}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1____set}{jet\+::\+\_\+\+\_\+set}} }{\pageref{classjet_1_1____set}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1____sql}{jet\+::\+\_\+\+\_\+sql}} }{\pageref{classjet_1_1____sql}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1____stream}{jet\+::\+\_\+\+\_\+stream}} }{\pageref{classjet_1_1____stream}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1____system}{jet\+::\+\_\+\+\_\+system}} }{\pageref{classjet_1_1____system}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1____tag}{jet\+::\+\_\+\+\_\+tag}} }{\pageref{classjet_1_1____tag}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1____until}{jet\+::\+\_\+\+\_\+until}} }{\pageref{classjet_1_1____until}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1____while}{jet\+::\+\_\+\+\_\+while}} }{\pageref{classjet_1_1____while}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1____whiledir}{jet\+::\+\_\+\+\_\+whiledir}} }{\pageref{classjet_1_1____whiledir}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1____whilerow}{jet\+::\+\_\+\+\_\+whilerow}} }{\pageref{classjet_1_1____whilerow}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1____write}{jet\+::\+\_\+\+\_\+write}} }{\pageref{classjet_1_1____write}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1Global}{jet\+::\+Global}} }{\pageref{classjet_1_1Global}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1Operand}{jet\+::\+Operand}} }{\pageref{classjet_1_1Operand}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1SessionId}{jet\+::\+Session\+Id}} }{\pageref{classjet_1_1SessionId}}{}
+\item\contentsline{section}{\mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}} }{\pageref{classjet_1_1Tag}}{}
+\end{DoxyCompactList}
diff --git a/latex/classjet_1_1Global.tex b/latex/classjet_1_1Global.tex
new file mode 100644
index 0000000..8972e67
--- /dev/null
+++ b/latex/classjet_1_1Global.tex
@@ -0,0 +1,77 @@
+\doxysection{jet\+::Global Class Reference}
+\hypertarget{classjet_1_1Global}{}\label{classjet_1_1Global}\index{jet::Global@{jet::Global}}
+\doxysubsubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1Global_ae3f0b7008b554fdaed575165ab8616f9}\label{classjet_1_1Global_ae3f0b7008b554fdaed575165ab8616f9}
+{\bfseries Global} (char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*}envp)
+\item
+\Hypertarget{classjet_1_1Global_a63062bc596ddcbaaa58723cb8ab8ba53}\label{classjet_1_1Global_a63062bc596ddcbaaa58723cb8ab8ba53}
+void {\bfseries dump} ()
+\item
+\Hypertarget{classjet_1_1Global_ac249eccf6116e6d8a7b8a51b580d818a}\label{classjet_1_1Global_ac249eccf6116e6d8a7b8a51b580d818a}
+bool {\bfseries session\+Exists} (coreutils\+::\+MString session\+Id)
+\item
+\Hypertarget{classjet_1_1Global_a20b0c4863fce50ca2cc1e4b84a2d3c5c}\label{classjet_1_1Global_a20b0c4863fce50ca2cc1e4b84a2d3c5c}
+void {\bfseries add\+Session} (coreutils\+::\+MString session\+Id, \mbox{\hyperlink{classjet_1_1____mysql}{\+\_\+\+\_\+mysql}} \texorpdfstring{$\ast$}{*}mysql)
+\item
+\Hypertarget{classjet_1_1Global_aaf2adcb3f1947e2eedb9218b5c1e4e64}\label{classjet_1_1Global_aaf2adcb3f1947e2eedb9218b5c1e4e64}
+void {\bfseries remove\+Session} (coreutils\+::\+MString session\+Id)
+\item
+\Hypertarget{classjet_1_1Global_a069e96dc72610f7c844906b24b3ef76d}\label{classjet_1_1Global_a069e96dc72610f7c844906b24b3ef76d}
+\mbox{\hyperlink{classjet_1_1____mysql}{\+\_\+\+\_\+mysql}} \texorpdfstring{$\ast$}{*} {\bfseries get\+Session} (coreutils\+::\+MString session\+Id)
+\item
+\Hypertarget{classjet_1_1Global_a1aa8c7785068f75f43fba59bfa898cc1}\label{classjet_1_1Global_a1aa8c7785068f75f43fba59bfa898cc1}
+coreutils\+::\+ZString {\bfseries get\+Session\+Variable} (coreutils\+::\+MString \&split\+Name)
+\item
+\Hypertarget{classjet_1_1Global_a1664c56f5bbe8e35c92d97e23ab09952}\label{classjet_1_1Global_a1664c56f5bbe8e35c92d97e23ab09952}
+void {\bfseries output\+Headers} ()
+\item
+\Hypertarget{classjet_1_1Global_a9657245abce5e7be7d97f34ecf73fe11}\label{classjet_1_1Global_a9657245abce5e7be7d97f34ecf73fe11}
+void {\bfseries setup\+Form\+Data} (coreutils\+::\+ZString \&formdata)
+\item
+\Hypertarget{classjet_1_1Global_ad19d55fd98ebd0af9427db575577ea5d}\label{classjet_1_1Global_ad19d55fd98ebd0af9427db575577ea5d}
+void {\bfseries setup\+Form\+URLEncoded} (coreutils\+::\+ZString \&formdata)
+\end{DoxyCompactItemize}
+\doxysubsubsection*{Public Attributes}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1Global_a75c21aadb201680763cf9128101b68b1}\label{classjet_1_1Global_a75c21aadb201680763cf9128101b68b1}
+char \texorpdfstring{$\ast$}{*} {\bfseries error\+Cursor} = NULL
+\item
+\Hypertarget{classjet_1_1Global_aa500a1cd4d95b7912e9e6f293f846c9d}\label{classjet_1_1Global_aa500a1cd4d95b7912e9e6f293f846c9d}
+coreutils\+::\+CGIFormatted\+Data {\bfseries cookies}
+\item
+\Hypertarget{classjet_1_1Global_a3dc5f5fd2744108d6534ea20b8286eb1}\label{classjet_1_1Global_a3dc5f5fd2744108d6534ea20b8286eb1}
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries variables}
+\item
+\Hypertarget{classjet_1_1Global_a8b633659327c3a958760878681d04803}\label{classjet_1_1Global_a8b633659327c3a958760878681d04803}
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries cgi\+Variables}
+\item
+\Hypertarget{classjet_1_1Global_a1918025ed50e31ffc66d4ab6be5a5c80}\label{classjet_1_1Global_a1918025ed50e31ffc66d4ab6be5a5c80}
+std\+::map$<$ coreutils\+::\+MString, \mbox{\hyperlink{classjet_1_1____mysql}{\+\_\+\+\_\+mysql}} \texorpdfstring{$\ast$}{*} $>$ {\bfseries sessions}
+\item
+\Hypertarget{classjet_1_1Global_afaf6eb3b1ed248cf1807cfc28fee04e9}\label{classjet_1_1Global_afaf6eb3b1ed248cf1807cfc28fee04e9}
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries headers}
+\item
+\Hypertarget{classjet_1_1Global_a2662691ae80801a119065826e6f2dbc6}\label{classjet_1_1Global_a2662691ae80801a119065826e6f2dbc6}
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries tags}
+\item
+\Hypertarget{classjet_1_1Global_ab77dd36bc00e6b6b1580a6b31ac43ae1}\label{classjet_1_1Global_ab77dd36bc00e6b6b1580a6b31ac43ae1}
+char \texorpdfstring{$\ast$}{*}\texorpdfstring{$\ast$}{*} {\bfseries envp}
+\item
+\Hypertarget{classjet_1_1Global_a9aa4ea7109e36c38b7bbb61d94021bdb}\label{classjet_1_1Global_a9aa4ea7109e36c38b7bbb61d94021bdb}
+bool {\bfseries cgi} = false
+\item
+\Hypertarget{classjet_1_1Global_a51b2b2bd2c4418df09b31f676a1bc651}\label{classjet_1_1Global_a51b2b2bd2c4418df09b31f676a1bc651}
+bool {\bfseries session} = false
+\item
+\Hypertarget{classjet_1_1Global_aaa3a03bec3a2943af2ae2e47ed1c249a}\label{classjet_1_1Global_aaa3a03bec3a2943af2ae2e47ed1c249a}
+coreutils\+::\+MString {\bfseries session\+Id}
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+Global.\+h\item
+Global.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1Operand.tex b/latex/classjet_1_1Operand.tex
new file mode 100644
index 0000000..00cf62f
--- /dev/null
+++ b/latex/classjet_1_1Operand.tex
@@ -0,0 +1,37 @@
+\doxysection{jet\+::Operand Class Reference}
+\hypertarget{classjet_1_1Operand}{}\label{classjet_1_1Operand}\index{jet::Operand@{jet::Operand}}
+\doxysubsubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1Operand_a7412da82f4d25180d2d776b097e38ada}\label{classjet_1_1Operand_a7412da82f4d25180d2d776b097e38ada}
+{\bfseries Operand} (coreutils\+::\+ZString \&in, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \&tag)
+\end{DoxyCompactItemize}
+\doxysubsubsection*{Public Attributes}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1Operand_a899a3ab0b77545ec4e7faf82668d8900}\label{classjet_1_1Operand_a899a3ab0b77545ec4e7faf82668d8900}
+bool {\bfseries is\+Number}
+\item
+bool \mbox{\hyperlink{classjet_1_1Operand_aff226980c53d083ab2b6babdb595bf5b}{boolean}}
+\item
+\Hypertarget{classjet_1_1Operand_a13a274ebe1ddaee1070896b9fadd1015}\label{classjet_1_1Operand_a13a274ebe1ddaee1070896b9fadd1015}
+coreutils\+::\+MString {\bfseries string} = "{}"{}
+\item
+\Hypertarget{classjet_1_1Operand_af0abf8d5831ea631a0b483fd91183568}\label{classjet_1_1Operand_af0abf8d5831ea631a0b483fd91183568}
+double {\bfseries double\+Value}
+\end{DoxyCompactItemize}
+
+
+\doxysubsection{Member Data Documentation}
+\Hypertarget{classjet_1_1Operand_aff226980c53d083ab2b6babdb595bf5b}\label{classjet_1_1Operand_aff226980c53d083ab2b6babdb595bf5b}
+\index{jet::Operand@{jet::Operand}!boolean@{boolean}}
+\index{boolean@{boolean}!jet::Operand@{jet::Operand}}
+\doxysubsubsection{\texorpdfstring{boolean}{boolean}}
+{\footnotesize\ttfamily bool jet\+::\+Operand\+::boolean}
+
+boolean is set by internal processes to return the boolean equivilent value.
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+Operand.\+h\item
+Operand.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1SessionId.tex b/latex/classjet_1_1SessionId.tex
new file mode 100644
index 0000000..0cebe86
--- /dev/null
+++ b/latex/classjet_1_1SessionId.tex
@@ -0,0 +1,26 @@
+\doxysection{jet\+::Session\+Id Class Reference}
+\hypertarget{classjet_1_1SessionId}{}\label{classjet_1_1SessionId}\index{jet::SessionId@{jet::SessionId}}
+
+
+Inheritance diagram for jet\+::Session\+Id\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=182pt]{classjet_1_1SessionId__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for jet\+::Session\+Id\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=182pt]{classjet_1_1SessionId__coll__graph}
+\end{center}
+\end{figure}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+Session\+Id.\+h\item
+Session\+Id.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1SessionId__coll__graph.md5 b/latex/classjet_1_1SessionId__coll__graph.md5
new file mode 100644
index 0000000..c14e81c
--- /dev/null
+++ b/latex/classjet_1_1SessionId__coll__graph.md5
@@ -0,0 +1 @@
+45988055701f15d6bf5d5e7aa26efdce
\ No newline at end of file
diff --git a/latex/classjet_1_1SessionId__coll__graph.pdf b/latex/classjet_1_1SessionId__coll__graph.pdf
new file mode 100644
index 0000000..b0b45be
Binary files /dev/null and b/latex/classjet_1_1SessionId__coll__graph.pdf differ
diff --git a/latex/classjet_1_1SessionId__inherit__graph.md5 b/latex/classjet_1_1SessionId__inherit__graph.md5
new file mode 100644
index 0000000..c14e81c
--- /dev/null
+++ b/latex/classjet_1_1SessionId__inherit__graph.md5
@@ -0,0 +1 @@
+45988055701f15d6bf5d5e7aa26efdce
\ No newline at end of file
diff --git a/latex/classjet_1_1SessionId__inherit__graph.pdf b/latex/classjet_1_1SessionId__inherit__graph.pdf
new file mode 100644
index 0000000..b0b45be
Binary files /dev/null and b/latex/classjet_1_1SessionId__inherit__graph.pdf differ
diff --git a/latex/classjet_1_1Tag.tex b/latex/classjet_1_1Tag.tex
new file mode 100644
index 0000000..23fc08e
--- /dev/null
+++ b/latex/classjet_1_1Tag.tex
@@ -0,0 +1,122 @@
+\doxysection{jet\+::Tag Class Reference}
+\hypertarget{classjet_1_1Tag}{}\label{classjet_1_1Tag}\index{jet::Tag@{jet::Tag}}
+
+
+Inheritance diagram for jet\+::Tag\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[height=550pt]{classjet_1_1Tag__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for jet\+::Tag\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=266pt]{classjet_1_1Tag__coll__graph}
+\end{center}
+\end{figure}
+\doxysubsubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1Tag_a417c38b3cb5c05e26f93b8ce645fabba}\label{classjet_1_1Tag_a417c38b3cb5c05e26f93b8ce645fabba}
+{\bfseries Tag} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent=NULL, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local=NULL, coreutils\+::\+ZString split\+Tag\+Name="{}"{})
+\item
+\Hypertarget{classjet_1_1Tag_ae38b29ca4dc8b0cbd09a2b2b377f2704}\label{classjet_1_1Tag_ae38b29ca4dc8b0cbd09a2b2b377f2704}
+virtual {\bfseries \texorpdfstring{$\sim$}{\string~}\+Tag} ()
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}Constructor \end{DoxyCompactList}\item
+\Hypertarget{classjet_1_1Tag_a9c567032121a1bae30397806aaaabaab}\label{classjet_1_1Tag_a9c567032121a1bae30397806aaaabaab}
+coreutils\+::\+MString {\bfseries get\+Variable} (coreutils\+::\+ZString \&variable, bool in\+Container=false)
+\item
+\Hypertarget{classjet_1_1Tag_a8dfb107f3c2bbe7bcc9e8d566153c0e3}\label{classjet_1_1Tag_a8dfb107f3c2bbe7bcc9e8d566153c0e3}
+coreutils\+::\+MString {\bfseries resolve\+Keyword} (coreutils\+::\+ZString keyword)
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}retrieve a vairable value from a text string cotontaining a variable name. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsubsection*{Public Attributes}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1Tag_a3c057378538892a0f7260019c676cb68}\label{classjet_1_1Tag_a3c057378538892a0f7260019c676cb68}
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries variables}
+\item
+\Hypertarget{classjet_1_1Tag_a2280a593ccef2d5541cade4d29b7c0c1}\label{classjet_1_1Tag_a2280a593ccef2d5541cade4d29b7c0c1}
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries keywords}
+\item
+\Hypertarget{classjet_1_1Tag_ae9324b21245e426f537e0e612ac9a5f1}\label{classjet_1_1Tag_ae9324b21245e426f537e0e612ac9a5f1}
+coreutils\+::\+ZString {\bfseries name}
+\item
+\Hypertarget{classjet_1_1Tag_a0b52b9608a9331eb07e8aeb0385c8183}\label{classjet_1_1Tag_a0b52b9608a9331eb07e8aeb0385c8183}
+coreutils\+::\+ZString {\bfseries container}
+\item
+\Hypertarget{classjet_1_1Tag_a4dc132f162b2c25b40aef4c4d32a3903}\label{classjet_1_1Tag_a4dc132f162b2c25b40aef4c4d32a3903}
+coreutils\+::\+ZString {\bfseries container2}
+\item
+\Hypertarget{classjet_1_1Tag_a8fb5bb9b45033e78b09bd58d3283f4ee}\label{classjet_1_1Tag_a8fb5bb9b45033e78b09bd58d3283f4ee}
+\mbox{\hyperlink{classjet_1_1Global}{Global}} \& {\bfseries global}
+\item
+\Hypertarget{classjet_1_1Tag_a52ee83c2eb6c48b636ea70a797ef0d2d}\label{classjet_1_1Tag_a52ee83c2eb6c48b636ea70a797ef0d2d}
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries parent}
+\item
+\Hypertarget{classjet_1_1Tag_a62add99e468b69a116aeae6118f8caac}\label{classjet_1_1Tag_a62add99e468b69a116aeae6118f8caac}
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries local}
+\end{DoxyCompactItemize}
+\doxysubsubsection*{Protected Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1Tag_ab8cf6c5f921d97f8c07412126618f576}\label{classjet_1_1Tag_ab8cf6c5f921d97f8c07412126618f576}
+bool {\bfseries keyword\+Defined} (coreutils\+::\+ZString variable)
+\item
+\Hypertarget{classjet_1_1Tag_a6cc82bd361146ca20733309b975f2793}\label{classjet_1_1Tag_a6cc82bd361146ca20733309b975f2793}
+void {\bfseries parse\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+\Hypertarget{classjet_1_1Tag_adc04c13a86b4afbd165d38ae5ccd7ef5}\label{classjet_1_1Tag_adc04c13a86b4afbd165d38ae5ccd7ef5}
+void {\bfseries process\+Container} (coreutils\+::\+ZString \&container, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+\Hypertarget{classjet_1_1Tag_a749676712f3e643ebec038aef634fe0f}\label{classjet_1_1Tag_a749676712f3e643ebec038aef634fe0f}
+void {\bfseries copy\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out)
+\item
+\Hypertarget{classjet_1_1Tag_a08d0be64ad59774114772fc464ef2de4}\label{classjet_1_1Tag_a08d0be64ad59774114772fc464ef2de4}
+void {\bfseries render\+Variable\+Name} (coreutils\+::\+ZString \&variable, coreutils\+::\+MString \&name, coreutils\+::\+MString \&modifier)
+\item
+\Hypertarget{classjet_1_1Tag_a1f6ac65bacecef029b43f1dee489ee2a}\label{classjet_1_1Tag_a1f6ac65bacecef029b43f1dee489ee2a}
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable, coreutils\+::\+MString value, coreutils\+::\+ZString scope)
+\item
+\Hypertarget{classjet_1_1Tag_ac5f82d019afb84db4da84923aba50fe4}\label{classjet_1_1Tag_ac5f82d019afb84db4da84923aba50fe4}
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable)
+\end{DoxyCompactItemize}
+\doxysubsubsection*{Protected Attributes}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1Tag_ab8882327a45c67ae761aece350076edf}\label{classjet_1_1Tag_ab8882327a45c67ae761aece350076edf}
+bool {\bfseries has\+Container} = false
+\item
+\Hypertarget{classjet_1_1Tag_a2fa84d8243f3fc3ea86e38e1e0f9d5fb}\label{classjet_1_1Tag_a2fa84d8243f3fc3ea86e38e1e0f9d5fb}
+bool {\bfseries has\+Container2} = false
+\item
+\Hypertarget{classjet_1_1Tag_a53976d7d4abf3cae402f2595ff86aded}\label{classjet_1_1Tag_a53976d7d4abf3cae402f2595ff86aded}
+coreutils\+::\+MString \& {\bfseries parent\+Out}
+\item
+\Hypertarget{classjet_1_1Tag_a9f3df630bdb7aeabfe1b4e530f5c2639}\label{classjet_1_1Tag_a9f3df630bdb7aeabfe1b4e530f5c2639}
+coreutils\+::\+MString {\bfseries out}
+\item
+\Hypertarget{classjet_1_1Tag_a9cec7aaab63b521c1bd9dc9e26dfa32e}\label{classjet_1_1Tag_a9cec7aaab63b521c1bd9dc9e26dfa32e}
+bool {\bfseries output} = true
+\item
+\Hypertarget{classjet_1_1Tag_a97755f154b2668dfd25fa88b07a02384}\label{classjet_1_1Tag_a97755f154b2668dfd25fa88b07a02384}
+bool {\bfseries evaluate} = true
+\item
+\Hypertarget{classjet_1_1Tag_aaa31e5e7301d045ccf1cc37d9ee60467}\label{classjet_1_1Tag_aaa31e5e7301d045ccf1cc37d9ee60467}
+bool {\bfseries filter\+Blank\+Lines} = false
+\item
+\Hypertarget{classjet_1_1Tag_a656ca574db1bb5d0e79a64f9b6794a6d}\label{classjet_1_1Tag_a656ca574db1bb5d0e79a64f9b6794a6d}
+bool {\bfseries trim\+Lines} = false
+\item
+\Hypertarget{classjet_1_1Tag_a0a559f7e95dabeb7f1b0f3dc5488e657}\label{classjet_1_1Tag_a0a559f7e95dabeb7f1b0f3dc5488e657}
+bool {\bfseries clean\+Whitespace} = false
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+Tag.\+h\item
+Tag.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1Tag__coll__graph.md5 b/latex/classjet_1_1Tag__coll__graph.md5
new file mode 100644
index 0000000..32c0676
--- /dev/null
+++ b/latex/classjet_1_1Tag__coll__graph.md5
@@ -0,0 +1 @@
+c3ccbcae960fb6b1717f81033b06af7c
\ No newline at end of file
diff --git a/latex/classjet_1_1Tag__coll__graph.pdf b/latex/classjet_1_1Tag__coll__graph.pdf
new file mode 100644
index 0000000..9d9ff7e
Binary files /dev/null and b/latex/classjet_1_1Tag__coll__graph.pdf differ
diff --git a/latex/classjet_1_1Tag__inherit__graph.md5 b/latex/classjet_1_1Tag__inherit__graph.md5
new file mode 100644
index 0000000..d41e9e1
--- /dev/null
+++ b/latex/classjet_1_1Tag__inherit__graph.md5
@@ -0,0 +1 @@
+ddf66f3d4fd63d2108a73248961edaaa
\ No newline at end of file
diff --git a/latex/classjet_1_1Tag__inherit__graph.pdf b/latex/classjet_1_1Tag__inherit__graph.pdf
new file mode 100644
index 0000000..adc36aa
Binary files /dev/null and b/latex/classjet_1_1Tag__inherit__graph.pdf differ
diff --git a/latex/classjet_1_1____call.tex b/latex/classjet_1_1____call.tex
new file mode 100644
index 0000000..a14303e
--- /dev/null
+++ b/latex/classjet_1_1____call.tex
@@ -0,0 +1,101 @@
+\doxysection{jet\+::\+\_\+\+\_\+call Class Reference}
+\hypertarget{classjet_1_1____call}{}\label{classjet_1_1____call}\index{jet::\_\_call@{jet::\_\_call}}
+
+
+Inheritance diagram for jet\+::\+\_\+\+\_\+call\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=180pt]{classjet_1_1____call__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for jet\+::\+\_\+\+\_\+call\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=266pt]{classjet_1_1____call__coll__graph}
+\end{center}
+\end{figure}
+\doxysubsubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1____call_acd0f5f4249cdd3bc0df14f8fa7d78ccb}\label{classjet_1_1____call_acd0f5f4249cdd3bc0df14f8fa7d78ccb}
+{\bfseries \+\_\+\+\_\+call} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local)
+\end{DoxyCompactItemize}
+\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+{\bfseries Tag} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent=NULL, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local=NULL, coreutils\+::\+ZString split\+Tag\+Name="{}"{})
+\item
+virtual {\bfseries \texorpdfstring{$\sim$}{\string~}\+Tag} ()
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}Constructor \end{DoxyCompactList}\item
+coreutils\+::\+MString {\bfseries get\+Variable} (coreutils\+::\+ZString \&variable, bool in\+Container=false)
+\item
+coreutils\+::\+MString {\bfseries resolve\+Keyword} (coreutils\+::\+ZString keyword)
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}retrieve a vairable value from a text string cotontaining a variable name. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsubsection*{Additional Inherited Members}
+\doxysubsection*{Public Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries variables}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries keywords}
+\item
+coreutils\+::\+ZString {\bfseries name}
+\item
+coreutils\+::\+ZString {\bfseries container}
+\item
+coreutils\+::\+ZString {\bfseries container2}
+\item
+\mbox{\hyperlink{classjet_1_1Global}{Global}} \& {\bfseries global}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries parent}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries local}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries keyword\+Defined} (coreutils\+::\+ZString variable)
+\item
+void {\bfseries parse\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries process\+Container} (coreutils\+::\+ZString \&container, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries copy\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out)
+\item
+void {\bfseries render\+Variable\+Name} (coreutils\+::\+ZString \&variable, coreutils\+::\+MString \&name, coreutils\+::\+MString \&modifier)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable, coreutils\+::\+MString value, coreutils\+::\+ZString scope)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable)
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries has\+Container} = false
+\item
+bool {\bfseries has\+Container2} = false
+\item
+coreutils\+::\+MString \& {\bfseries parent\+Out}
+\item
+coreutils\+::\+MString {\bfseries out}
+\item
+bool {\bfseries output} = true
+\item
+bool {\bfseries evaluate} = true
+\item
+bool {\bfseries filter\+Blank\+Lines} = false
+\item
+bool {\bfseries trim\+Lines} = false
+\item
+bool {\bfseries clean\+Whitespace} = false
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+\+\_\+\+\_\+call.\+h\item
+\+\_\+\+\_\+call.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1____call__coll__graph.md5 b/latex/classjet_1_1____call__coll__graph.md5
new file mode 100644
index 0000000..4ad09b0
--- /dev/null
+++ b/latex/classjet_1_1____call__coll__graph.md5
@@ -0,0 +1 @@
+1fb0e2d7e41a025dd909bc79909103e3
\ No newline at end of file
diff --git a/latex/classjet_1_1____call__coll__graph.pdf b/latex/classjet_1_1____call__coll__graph.pdf
new file mode 100644
index 0000000..6aaa4c6
Binary files /dev/null and b/latex/classjet_1_1____call__coll__graph.pdf differ
diff --git a/latex/classjet_1_1____call__inherit__graph.md5 b/latex/classjet_1_1____call__inherit__graph.md5
new file mode 100644
index 0000000..0f95f9d
--- /dev/null
+++ b/latex/classjet_1_1____call__inherit__graph.md5
@@ -0,0 +1 @@
+b310829628609e73cc5387f9fb28ba85
\ No newline at end of file
diff --git a/latex/classjet_1_1____call__inherit__graph.pdf b/latex/classjet_1_1____call__inherit__graph.pdf
new file mode 100644
index 0000000..0769009
Binary files /dev/null and b/latex/classjet_1_1____call__inherit__graph.pdf differ
diff --git a/latex/classjet_1_1____comment.tex b/latex/classjet_1_1____comment.tex
new file mode 100644
index 0000000..d0ceffd
--- /dev/null
+++ b/latex/classjet_1_1____comment.tex
@@ -0,0 +1,101 @@
+\doxysection{jet\+::\+\_\+\+\_\+comment Class Reference}
+\hypertarget{classjet_1_1____comment}{}\label{classjet_1_1____comment}\index{jet::\_\_comment@{jet::\_\_comment}}
+
+
+Inheritance diagram for jet\+::\+\_\+\+\_\+comment\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=180pt]{classjet_1_1____comment__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for jet\+::\+\_\+\+\_\+comment\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=266pt]{classjet_1_1____comment__coll__graph}
+\end{center}
+\end{figure}
+\doxysubsubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1____comment_a80319f1685423f8241e466b569a9ac4e}\label{classjet_1_1____comment_a80319f1685423f8241e466b569a9ac4e}
+{\bfseries \+\_\+\+\_\+comment} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local)
+\end{DoxyCompactItemize}
+\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+{\bfseries Tag} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent=NULL, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local=NULL, coreutils\+::\+ZString split\+Tag\+Name="{}"{})
+\item
+virtual {\bfseries \texorpdfstring{$\sim$}{\string~}\+Tag} ()
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}Constructor \end{DoxyCompactList}\item
+coreutils\+::\+MString {\bfseries get\+Variable} (coreutils\+::\+ZString \&variable, bool in\+Container=false)
+\item
+coreutils\+::\+MString {\bfseries resolve\+Keyword} (coreutils\+::\+ZString keyword)
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}retrieve a vairable value from a text string cotontaining a variable name. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsubsection*{Additional Inherited Members}
+\doxysubsection*{Public Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries variables}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries keywords}
+\item
+coreutils\+::\+ZString {\bfseries name}
+\item
+coreutils\+::\+ZString {\bfseries container}
+\item
+coreutils\+::\+ZString {\bfseries container2}
+\item
+\mbox{\hyperlink{classjet_1_1Global}{Global}} \& {\bfseries global}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries parent}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries local}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries keyword\+Defined} (coreutils\+::\+ZString variable)
+\item
+void {\bfseries parse\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries process\+Container} (coreutils\+::\+ZString \&container, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries copy\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out)
+\item
+void {\bfseries render\+Variable\+Name} (coreutils\+::\+ZString \&variable, coreutils\+::\+MString \&name, coreutils\+::\+MString \&modifier)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable, coreutils\+::\+MString value, coreutils\+::\+ZString scope)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable)
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries has\+Container} = false
+\item
+bool {\bfseries has\+Container2} = false
+\item
+coreutils\+::\+MString \& {\bfseries parent\+Out}
+\item
+coreutils\+::\+MString {\bfseries out}
+\item
+bool {\bfseries output} = true
+\item
+bool {\bfseries evaluate} = true
+\item
+bool {\bfseries filter\+Blank\+Lines} = false
+\item
+bool {\bfseries trim\+Lines} = false
+\item
+bool {\bfseries clean\+Whitespace} = false
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+\+\_\+\+\_\+comment.\+h\item
+\+\_\+\+\_\+comment.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1____comment__coll__graph.md5 b/latex/classjet_1_1____comment__coll__graph.md5
new file mode 100644
index 0000000..cc5835f
--- /dev/null
+++ b/latex/classjet_1_1____comment__coll__graph.md5
@@ -0,0 +1 @@
+44532844c078b21abd556a46e07dcde2
\ No newline at end of file
diff --git a/latex/classjet_1_1____comment__coll__graph.pdf b/latex/classjet_1_1____comment__coll__graph.pdf
new file mode 100644
index 0000000..190323b
Binary files /dev/null and b/latex/classjet_1_1____comment__coll__graph.pdf differ
diff --git a/latex/classjet_1_1____comment__inherit__graph.md5 b/latex/classjet_1_1____comment__inherit__graph.md5
new file mode 100644
index 0000000..5766c99
--- /dev/null
+++ b/latex/classjet_1_1____comment__inherit__graph.md5
@@ -0,0 +1 @@
+6e10c31236e62905f7b2afa771693230
\ No newline at end of file
diff --git a/latex/classjet_1_1____comment__inherit__graph.pdf b/latex/classjet_1_1____comment__inherit__graph.pdf
new file mode 100644
index 0000000..7271562
Binary files /dev/null and b/latex/classjet_1_1____comment__inherit__graph.pdf differ
diff --git a/latex/classjet_1_1____cookie.tex b/latex/classjet_1_1____cookie.tex
new file mode 100644
index 0000000..f536d88
--- /dev/null
+++ b/latex/classjet_1_1____cookie.tex
@@ -0,0 +1,101 @@
+\doxysection{jet\+::\+\_\+\+\_\+cookie Class Reference}
+\hypertarget{classjet_1_1____cookie}{}\label{classjet_1_1____cookie}\index{jet::\_\_cookie@{jet::\_\_cookie}}
+
+
+Inheritance diagram for jet\+::\+\_\+\+\_\+cookie\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=180pt]{classjet_1_1____cookie__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for jet\+::\+\_\+\+\_\+cookie\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=266pt]{classjet_1_1____cookie__coll__graph}
+\end{center}
+\end{figure}
+\doxysubsubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1____cookie_a86f2354cac1d41a24a9605d7777844c9}\label{classjet_1_1____cookie_a86f2354cac1d41a24a9605d7777844c9}
+{\bfseries \+\_\+\+\_\+cookie} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local)
+\end{DoxyCompactItemize}
+\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+{\bfseries Tag} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent=NULL, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local=NULL, coreutils\+::\+ZString split\+Tag\+Name="{}"{})
+\item
+virtual {\bfseries \texorpdfstring{$\sim$}{\string~}\+Tag} ()
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}Constructor \end{DoxyCompactList}\item
+coreutils\+::\+MString {\bfseries get\+Variable} (coreutils\+::\+ZString \&variable, bool in\+Container=false)
+\item
+coreutils\+::\+MString {\bfseries resolve\+Keyword} (coreutils\+::\+ZString keyword)
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}retrieve a vairable value from a text string cotontaining a variable name. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsubsection*{Additional Inherited Members}
+\doxysubsection*{Public Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries variables}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries keywords}
+\item
+coreutils\+::\+ZString {\bfseries name}
+\item
+coreutils\+::\+ZString {\bfseries container}
+\item
+coreutils\+::\+ZString {\bfseries container2}
+\item
+\mbox{\hyperlink{classjet_1_1Global}{Global}} \& {\bfseries global}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries parent}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries local}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries keyword\+Defined} (coreutils\+::\+ZString variable)
+\item
+void {\bfseries parse\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries process\+Container} (coreutils\+::\+ZString \&container, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries copy\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out)
+\item
+void {\bfseries render\+Variable\+Name} (coreutils\+::\+ZString \&variable, coreutils\+::\+MString \&name, coreutils\+::\+MString \&modifier)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable, coreutils\+::\+MString value, coreutils\+::\+ZString scope)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable)
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries has\+Container} = false
+\item
+bool {\bfseries has\+Container2} = false
+\item
+coreutils\+::\+MString \& {\bfseries parent\+Out}
+\item
+coreutils\+::\+MString {\bfseries out}
+\item
+bool {\bfseries output} = true
+\item
+bool {\bfseries evaluate} = true
+\item
+bool {\bfseries filter\+Blank\+Lines} = false
+\item
+bool {\bfseries trim\+Lines} = false
+\item
+bool {\bfseries clean\+Whitespace} = false
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+\+\_\+\+\_\+cookie.\+h\item
+\+\_\+\+\_\+cookie.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1____cookie__coll__graph.md5 b/latex/classjet_1_1____cookie__coll__graph.md5
new file mode 100644
index 0000000..306908f
--- /dev/null
+++ b/latex/classjet_1_1____cookie__coll__graph.md5
@@ -0,0 +1 @@
+9153569213f9f4d65ed2a6b94354c345
\ No newline at end of file
diff --git a/latex/classjet_1_1____cookie__coll__graph.pdf b/latex/classjet_1_1____cookie__coll__graph.pdf
new file mode 100644
index 0000000..2b85fa6
Binary files /dev/null and b/latex/classjet_1_1____cookie__coll__graph.pdf differ
diff --git a/latex/classjet_1_1____cookie__inherit__graph.md5 b/latex/classjet_1_1____cookie__inherit__graph.md5
new file mode 100644
index 0000000..517f496
--- /dev/null
+++ b/latex/classjet_1_1____cookie__inherit__graph.md5
@@ -0,0 +1 @@
+6ead6fbf40a58af2578a362afd31da71
\ No newline at end of file
diff --git a/latex/classjet_1_1____cookie__inherit__graph.pdf b/latex/classjet_1_1____cookie__inherit__graph.pdf
new file mode 100644
index 0000000..48f7f6d
Binary files /dev/null and b/latex/classjet_1_1____cookie__inherit__graph.pdf differ
diff --git a/latex/classjet_1_1____dotag.tex b/latex/classjet_1_1____dotag.tex
new file mode 100644
index 0000000..4bb3103
--- /dev/null
+++ b/latex/classjet_1_1____dotag.tex
@@ -0,0 +1,101 @@
+\doxysection{jet\+::\+\_\+\+\_\+dotag Class Reference}
+\hypertarget{classjet_1_1____dotag}{}\label{classjet_1_1____dotag}\index{jet::\_\_dotag@{jet::\_\_dotag}}
+
+
+Inheritance diagram for jet\+::\+\_\+\+\_\+dotag\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=180pt]{classjet_1_1____dotag__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for jet\+::\+\_\+\+\_\+dotag\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=266pt]{classjet_1_1____dotag__coll__graph}
+\end{center}
+\end{figure}
+\doxysubsubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1____dotag_a04b69fb6c83d88a9fc97bf29840a77ab}\label{classjet_1_1____dotag_a04b69fb6c83d88a9fc97bf29840a77ab}
+{\bfseries \+\_\+\+\_\+dotag} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local)
+\end{DoxyCompactItemize}
+\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+{\bfseries Tag} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent=NULL, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local=NULL, coreutils\+::\+ZString split\+Tag\+Name="{}"{})
+\item
+virtual {\bfseries \texorpdfstring{$\sim$}{\string~}\+Tag} ()
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}Constructor \end{DoxyCompactList}\item
+coreutils\+::\+MString {\bfseries get\+Variable} (coreutils\+::\+ZString \&variable, bool in\+Container=false)
+\item
+coreutils\+::\+MString {\bfseries resolve\+Keyword} (coreutils\+::\+ZString keyword)
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}retrieve a vairable value from a text string cotontaining a variable name. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsubsection*{Additional Inherited Members}
+\doxysubsection*{Public Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries variables}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries keywords}
+\item
+coreutils\+::\+ZString {\bfseries name}
+\item
+coreutils\+::\+ZString {\bfseries container}
+\item
+coreutils\+::\+ZString {\bfseries container2}
+\item
+\mbox{\hyperlink{classjet_1_1Global}{Global}} \& {\bfseries global}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries parent}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries local}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries keyword\+Defined} (coreutils\+::\+ZString variable)
+\item
+void {\bfseries parse\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries process\+Container} (coreutils\+::\+ZString \&container, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries copy\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out)
+\item
+void {\bfseries render\+Variable\+Name} (coreutils\+::\+ZString \&variable, coreutils\+::\+MString \&name, coreutils\+::\+MString \&modifier)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable, coreutils\+::\+MString value, coreutils\+::\+ZString scope)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable)
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries has\+Container} = false
+\item
+bool {\bfseries has\+Container2} = false
+\item
+coreutils\+::\+MString \& {\bfseries parent\+Out}
+\item
+coreutils\+::\+MString {\bfseries out}
+\item
+bool {\bfseries output} = true
+\item
+bool {\bfseries evaluate} = true
+\item
+bool {\bfseries filter\+Blank\+Lines} = false
+\item
+bool {\bfseries trim\+Lines} = false
+\item
+bool {\bfseries clean\+Whitespace} = false
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+\+\_\+\+\_\+dotag.\+h\item
+\+\_\+\+\_\+dotag.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1____dotag__coll__graph.md5 b/latex/classjet_1_1____dotag__coll__graph.md5
new file mode 100644
index 0000000..6ba40cc
--- /dev/null
+++ b/latex/classjet_1_1____dotag__coll__graph.md5
@@ -0,0 +1 @@
+0fddee7e57b277dde597143d0e170030
\ No newline at end of file
diff --git a/latex/classjet_1_1____dotag__coll__graph.pdf b/latex/classjet_1_1____dotag__coll__graph.pdf
new file mode 100644
index 0000000..786185c
Binary files /dev/null and b/latex/classjet_1_1____dotag__coll__graph.pdf differ
diff --git a/latex/classjet_1_1____dotag__inherit__graph.md5 b/latex/classjet_1_1____dotag__inherit__graph.md5
new file mode 100644
index 0000000..999171d
--- /dev/null
+++ b/latex/classjet_1_1____dotag__inherit__graph.md5
@@ -0,0 +1 @@
+f0d055840f240a08fef1d810746b0e67
\ No newline at end of file
diff --git a/latex/classjet_1_1____dotag__inherit__graph.pdf b/latex/classjet_1_1____dotag__inherit__graph.pdf
new file mode 100644
index 0000000..d37dc14
Binary files /dev/null and b/latex/classjet_1_1____dotag__inherit__graph.pdf differ
diff --git a/latex/classjet_1_1____dump.tex b/latex/classjet_1_1____dump.tex
new file mode 100644
index 0000000..d20d705
--- /dev/null
+++ b/latex/classjet_1_1____dump.tex
@@ -0,0 +1,101 @@
+\doxysection{jet\+::\+\_\+\+\_\+dump Class Reference}
+\hypertarget{classjet_1_1____dump}{}\label{classjet_1_1____dump}\index{jet::\_\_dump@{jet::\_\_dump}}
+
+
+Inheritance diagram for jet\+::\+\_\+\+\_\+dump\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=180pt]{classjet_1_1____dump__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for jet\+::\+\_\+\+\_\+dump\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=266pt]{classjet_1_1____dump__coll__graph}
+\end{center}
+\end{figure}
+\doxysubsubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1____dump_a1fff8de4840e8a6bbd386b01a7f9e3f5}\label{classjet_1_1____dump_a1fff8de4840e8a6bbd386b01a7f9e3f5}
+{\bfseries \+\_\+\+\_\+dump} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local)
+\end{DoxyCompactItemize}
+\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+{\bfseries Tag} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent=NULL, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local=NULL, coreutils\+::\+ZString split\+Tag\+Name="{}"{})
+\item
+virtual {\bfseries \texorpdfstring{$\sim$}{\string~}\+Tag} ()
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}Constructor \end{DoxyCompactList}\item
+coreutils\+::\+MString {\bfseries get\+Variable} (coreutils\+::\+ZString \&variable, bool in\+Container=false)
+\item
+coreutils\+::\+MString {\bfseries resolve\+Keyword} (coreutils\+::\+ZString keyword)
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}retrieve a vairable value from a text string cotontaining a variable name. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsubsection*{Additional Inherited Members}
+\doxysubsection*{Public Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries variables}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries keywords}
+\item
+coreutils\+::\+ZString {\bfseries name}
+\item
+coreutils\+::\+ZString {\bfseries container}
+\item
+coreutils\+::\+ZString {\bfseries container2}
+\item
+\mbox{\hyperlink{classjet_1_1Global}{Global}} \& {\bfseries global}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries parent}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries local}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries keyword\+Defined} (coreutils\+::\+ZString variable)
+\item
+void {\bfseries parse\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries process\+Container} (coreutils\+::\+ZString \&container, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries copy\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out)
+\item
+void {\bfseries render\+Variable\+Name} (coreutils\+::\+ZString \&variable, coreutils\+::\+MString \&name, coreutils\+::\+MString \&modifier)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable, coreutils\+::\+MString value, coreutils\+::\+ZString scope)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable)
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries has\+Container} = false
+\item
+bool {\bfseries has\+Container2} = false
+\item
+coreutils\+::\+MString \& {\bfseries parent\+Out}
+\item
+coreutils\+::\+MString {\bfseries out}
+\item
+bool {\bfseries output} = true
+\item
+bool {\bfseries evaluate} = true
+\item
+bool {\bfseries filter\+Blank\+Lines} = false
+\item
+bool {\bfseries trim\+Lines} = false
+\item
+bool {\bfseries clean\+Whitespace} = false
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+\+\_\+\+\_\+dump.\+h\item
+\+\_\+\+\_\+dump.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1____dump__coll__graph.md5 b/latex/classjet_1_1____dump__coll__graph.md5
new file mode 100644
index 0000000..284d998
--- /dev/null
+++ b/latex/classjet_1_1____dump__coll__graph.md5
@@ -0,0 +1 @@
+cf92f74906a84bbbb6d80203ff91e545
\ No newline at end of file
diff --git a/latex/classjet_1_1____dump__coll__graph.pdf b/latex/classjet_1_1____dump__coll__graph.pdf
new file mode 100644
index 0000000..029d2bd
Binary files /dev/null and b/latex/classjet_1_1____dump__coll__graph.pdf differ
diff --git a/latex/classjet_1_1____dump__inherit__graph.md5 b/latex/classjet_1_1____dump__inherit__graph.md5
new file mode 100644
index 0000000..c9642c2
--- /dev/null
+++ b/latex/classjet_1_1____dump__inherit__graph.md5
@@ -0,0 +1 @@
+4b591d4107cbad9672809c44fc2d54c5
\ No newline at end of file
diff --git a/latex/classjet_1_1____dump__inherit__graph.pdf b/latex/classjet_1_1____dump__inherit__graph.pdf
new file mode 100644
index 0000000..efbb0f8
Binary files /dev/null and b/latex/classjet_1_1____dump__inherit__graph.pdf differ
diff --git a/latex/classjet_1_1____exclude.tex b/latex/classjet_1_1____exclude.tex
new file mode 100644
index 0000000..448de9d
--- /dev/null
+++ b/latex/classjet_1_1____exclude.tex
@@ -0,0 +1,101 @@
+\doxysection{jet\+::\+\_\+\+\_\+exclude Class Reference}
+\hypertarget{classjet_1_1____exclude}{}\label{classjet_1_1____exclude}\index{jet::\_\_exclude@{jet::\_\_exclude}}
+
+
+Inheritance diagram for jet\+::\+\_\+\+\_\+exclude\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=180pt]{classjet_1_1____exclude__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for jet\+::\+\_\+\+\_\+exclude\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=266pt]{classjet_1_1____exclude__coll__graph}
+\end{center}
+\end{figure}
+\doxysubsubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1____exclude_a8de924e50395873e7f1c402699c73a0b}\label{classjet_1_1____exclude_a8de924e50395873e7f1c402699c73a0b}
+{\bfseries \+\_\+\+\_\+exclude} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local)
+\end{DoxyCompactItemize}
+\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+{\bfseries Tag} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent=NULL, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local=NULL, coreutils\+::\+ZString split\+Tag\+Name="{}"{})
+\item
+virtual {\bfseries \texorpdfstring{$\sim$}{\string~}\+Tag} ()
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}Constructor \end{DoxyCompactList}\item
+coreutils\+::\+MString {\bfseries get\+Variable} (coreutils\+::\+ZString \&variable, bool in\+Container=false)
+\item
+coreutils\+::\+MString {\bfseries resolve\+Keyword} (coreutils\+::\+ZString keyword)
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}retrieve a vairable value from a text string cotontaining a variable name. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsubsection*{Additional Inherited Members}
+\doxysubsection*{Public Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries variables}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries keywords}
+\item
+coreutils\+::\+ZString {\bfseries name}
+\item
+coreutils\+::\+ZString {\bfseries container}
+\item
+coreutils\+::\+ZString {\bfseries container2}
+\item
+\mbox{\hyperlink{classjet_1_1Global}{Global}} \& {\bfseries global}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries parent}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries local}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries keyword\+Defined} (coreutils\+::\+ZString variable)
+\item
+void {\bfseries parse\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries process\+Container} (coreutils\+::\+ZString \&container, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries copy\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out)
+\item
+void {\bfseries render\+Variable\+Name} (coreutils\+::\+ZString \&variable, coreutils\+::\+MString \&name, coreutils\+::\+MString \&modifier)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable, coreutils\+::\+MString value, coreutils\+::\+ZString scope)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable)
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries has\+Container} = false
+\item
+bool {\bfseries has\+Container2} = false
+\item
+coreutils\+::\+MString \& {\bfseries parent\+Out}
+\item
+coreutils\+::\+MString {\bfseries out}
+\item
+bool {\bfseries output} = true
+\item
+bool {\bfseries evaluate} = true
+\item
+bool {\bfseries filter\+Blank\+Lines} = false
+\item
+bool {\bfseries trim\+Lines} = false
+\item
+bool {\bfseries clean\+Whitespace} = false
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+\+\_\+\+\_\+exclude.\+h\item
+\+\_\+\+\_\+exclude.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1____exclude__coll__graph.md5 b/latex/classjet_1_1____exclude__coll__graph.md5
new file mode 100644
index 0000000..bb75881
--- /dev/null
+++ b/latex/classjet_1_1____exclude__coll__graph.md5
@@ -0,0 +1 @@
+d096d1589eccf6e25f900009c4bdd5e3
\ No newline at end of file
diff --git a/latex/classjet_1_1____exclude__coll__graph.pdf b/latex/classjet_1_1____exclude__coll__graph.pdf
new file mode 100644
index 0000000..dbb03be
Binary files /dev/null and b/latex/classjet_1_1____exclude__coll__graph.pdf differ
diff --git a/latex/classjet_1_1____exclude__inherit__graph.md5 b/latex/classjet_1_1____exclude__inherit__graph.md5
new file mode 100644
index 0000000..fad19e5
--- /dev/null
+++ b/latex/classjet_1_1____exclude__inherit__graph.md5
@@ -0,0 +1 @@
+a74b29096442bff6afcc80ecb4c27bf3
\ No newline at end of file
diff --git a/latex/classjet_1_1____exclude__inherit__graph.pdf b/latex/classjet_1_1____exclude__inherit__graph.pdf
new file mode 100644
index 0000000..103de47
Binary files /dev/null and b/latex/classjet_1_1____exclude__inherit__graph.pdf differ
diff --git a/latex/classjet_1_1____for.tex b/latex/classjet_1_1____for.tex
new file mode 100644
index 0000000..450e72c
--- /dev/null
+++ b/latex/classjet_1_1____for.tex
@@ -0,0 +1,101 @@
+\doxysection{jet\+::\+\_\+\+\_\+for Class Reference}
+\hypertarget{classjet_1_1____for}{}\label{classjet_1_1____for}\index{jet::\_\_for@{jet::\_\_for}}
+
+
+Inheritance diagram for jet\+::\+\_\+\+\_\+for\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=180pt]{classjet_1_1____for__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for jet\+::\+\_\+\+\_\+for\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=266pt]{classjet_1_1____for__coll__graph}
+\end{center}
+\end{figure}
+\doxysubsubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1____for_a9057299a9dee9ab2c96d6e0efa3849a4}\label{classjet_1_1____for_a9057299a9dee9ab2c96d6e0efa3849a4}
+{\bfseries \+\_\+\+\_\+for} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local)
+\end{DoxyCompactItemize}
+\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+{\bfseries Tag} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent=NULL, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local=NULL, coreutils\+::\+ZString split\+Tag\+Name="{}"{})
+\item
+virtual {\bfseries \texorpdfstring{$\sim$}{\string~}\+Tag} ()
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}Constructor \end{DoxyCompactList}\item
+coreutils\+::\+MString {\bfseries get\+Variable} (coreutils\+::\+ZString \&variable, bool in\+Container=false)
+\item
+coreutils\+::\+MString {\bfseries resolve\+Keyword} (coreutils\+::\+ZString keyword)
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}retrieve a vairable value from a text string cotontaining a variable name. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsubsection*{Additional Inherited Members}
+\doxysubsection*{Public Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries variables}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries keywords}
+\item
+coreutils\+::\+ZString {\bfseries name}
+\item
+coreutils\+::\+ZString {\bfseries container}
+\item
+coreutils\+::\+ZString {\bfseries container2}
+\item
+\mbox{\hyperlink{classjet_1_1Global}{Global}} \& {\bfseries global}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries parent}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries local}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries keyword\+Defined} (coreutils\+::\+ZString variable)
+\item
+void {\bfseries parse\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries process\+Container} (coreutils\+::\+ZString \&container, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries copy\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out)
+\item
+void {\bfseries render\+Variable\+Name} (coreutils\+::\+ZString \&variable, coreutils\+::\+MString \&name, coreutils\+::\+MString \&modifier)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable, coreutils\+::\+MString value, coreutils\+::\+ZString scope)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable)
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries has\+Container} = false
+\item
+bool {\bfseries has\+Container2} = false
+\item
+coreutils\+::\+MString \& {\bfseries parent\+Out}
+\item
+coreutils\+::\+MString {\bfseries out}
+\item
+bool {\bfseries output} = true
+\item
+bool {\bfseries evaluate} = true
+\item
+bool {\bfseries filter\+Blank\+Lines} = false
+\item
+bool {\bfseries trim\+Lines} = false
+\item
+bool {\bfseries clean\+Whitespace} = false
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+\+\_\+\+\_\+for.\+h\item
+\+\_\+\+\_\+for.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1____for__coll__graph.md5 b/latex/classjet_1_1____for__coll__graph.md5
new file mode 100644
index 0000000..2b2ac81
--- /dev/null
+++ b/latex/classjet_1_1____for__coll__graph.md5
@@ -0,0 +1 @@
+cabe8dc23d8f794fd7e33739d6870481
\ No newline at end of file
diff --git a/latex/classjet_1_1____for__coll__graph.pdf b/latex/classjet_1_1____for__coll__graph.pdf
new file mode 100644
index 0000000..b6dccd6
Binary files /dev/null and b/latex/classjet_1_1____for__coll__graph.pdf differ
diff --git a/latex/classjet_1_1____for__inherit__graph.md5 b/latex/classjet_1_1____for__inherit__graph.md5
new file mode 100644
index 0000000..7d589a1
--- /dev/null
+++ b/latex/classjet_1_1____for__inherit__graph.md5
@@ -0,0 +1 @@
+6af1311aa3feaff1d7c6206a7d5e34ea
\ No newline at end of file
diff --git a/latex/classjet_1_1____for__inherit__graph.pdf b/latex/classjet_1_1____for__inherit__graph.pdf
new file mode 100644
index 0000000..565af99
Binary files /dev/null and b/latex/classjet_1_1____for__inherit__graph.pdf differ
diff --git a/latex/classjet_1_1____header.tex b/latex/classjet_1_1____header.tex
new file mode 100644
index 0000000..8325c68
--- /dev/null
+++ b/latex/classjet_1_1____header.tex
@@ -0,0 +1,101 @@
+\doxysection{jet\+::\+\_\+\+\_\+header Class Reference}
+\hypertarget{classjet_1_1____header}{}\label{classjet_1_1____header}\index{jet::\_\_header@{jet::\_\_header}}
+
+
+Inheritance diagram for jet\+::\+\_\+\+\_\+header\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=180pt]{classjet_1_1____header__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for jet\+::\+\_\+\+\_\+header\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=266pt]{classjet_1_1____header__coll__graph}
+\end{center}
+\end{figure}
+\doxysubsubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1____header_a4efa38978c9893d0121b0a77dfe26f63}\label{classjet_1_1____header_a4efa38978c9893d0121b0a77dfe26f63}
+{\bfseries \+\_\+\+\_\+header} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local)
+\end{DoxyCompactItemize}
+\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+{\bfseries Tag} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent=NULL, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local=NULL, coreutils\+::\+ZString split\+Tag\+Name="{}"{})
+\item
+virtual {\bfseries \texorpdfstring{$\sim$}{\string~}\+Tag} ()
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}Constructor \end{DoxyCompactList}\item
+coreutils\+::\+MString {\bfseries get\+Variable} (coreutils\+::\+ZString \&variable, bool in\+Container=false)
+\item
+coreutils\+::\+MString {\bfseries resolve\+Keyword} (coreutils\+::\+ZString keyword)
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}retrieve a vairable value from a text string cotontaining a variable name. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsubsection*{Additional Inherited Members}
+\doxysubsection*{Public Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries variables}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries keywords}
+\item
+coreutils\+::\+ZString {\bfseries name}
+\item
+coreutils\+::\+ZString {\bfseries container}
+\item
+coreutils\+::\+ZString {\bfseries container2}
+\item
+\mbox{\hyperlink{classjet_1_1Global}{Global}} \& {\bfseries global}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries parent}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries local}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries keyword\+Defined} (coreutils\+::\+ZString variable)
+\item
+void {\bfseries parse\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries process\+Container} (coreutils\+::\+ZString \&container, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries copy\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out)
+\item
+void {\bfseries render\+Variable\+Name} (coreutils\+::\+ZString \&variable, coreutils\+::\+MString \&name, coreutils\+::\+MString \&modifier)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable, coreutils\+::\+MString value, coreutils\+::\+ZString scope)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable)
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries has\+Container} = false
+\item
+bool {\bfseries has\+Container2} = false
+\item
+coreutils\+::\+MString \& {\bfseries parent\+Out}
+\item
+coreutils\+::\+MString {\bfseries out}
+\item
+bool {\bfseries output} = true
+\item
+bool {\bfseries evaluate} = true
+\item
+bool {\bfseries filter\+Blank\+Lines} = false
+\item
+bool {\bfseries trim\+Lines} = false
+\item
+bool {\bfseries clean\+Whitespace} = false
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+\+\_\+\+\_\+header.\+h\item
+\+\_\+\+\_\+header.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1____header__coll__graph.md5 b/latex/classjet_1_1____header__coll__graph.md5
new file mode 100644
index 0000000..f8aa04c
--- /dev/null
+++ b/latex/classjet_1_1____header__coll__graph.md5
@@ -0,0 +1 @@
+c114fc045257e2b7bb0a5f1c52d8efd0
\ No newline at end of file
diff --git a/latex/classjet_1_1____header__coll__graph.pdf b/latex/classjet_1_1____header__coll__graph.pdf
new file mode 100644
index 0000000..b7678b8
Binary files /dev/null and b/latex/classjet_1_1____header__coll__graph.pdf differ
diff --git a/latex/classjet_1_1____header__inherit__graph.md5 b/latex/classjet_1_1____header__inherit__graph.md5
new file mode 100644
index 0000000..40d3796
--- /dev/null
+++ b/latex/classjet_1_1____header__inherit__graph.md5
@@ -0,0 +1 @@
+ad3e58fae732c9b222a4323d726ec5e2
\ No newline at end of file
diff --git a/latex/classjet_1_1____header__inherit__graph.pdf b/latex/classjet_1_1____header__inherit__graph.pdf
new file mode 100644
index 0000000..826a822
Binary files /dev/null and b/latex/classjet_1_1____header__inherit__graph.pdf differ
diff --git a/latex/classjet_1_1____if.tex b/latex/classjet_1_1____if.tex
new file mode 100644
index 0000000..3e99ef3
--- /dev/null
+++ b/latex/classjet_1_1____if.tex
@@ -0,0 +1,101 @@
+\doxysection{jet\+::\+\_\+\+\_\+if Class Reference}
+\hypertarget{classjet_1_1____if}{}\label{classjet_1_1____if}\index{jet::\_\_if@{jet::\_\_if}}
+
+
+Inheritance diagram for jet\+::\+\_\+\+\_\+if\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=180pt]{classjet_1_1____if__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for jet\+::\+\_\+\+\_\+if\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=266pt]{classjet_1_1____if__coll__graph}
+\end{center}
+\end{figure}
+\doxysubsubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1____if_a067e7e6af04dd533ccc9a5bb9f856022}\label{classjet_1_1____if_a067e7e6af04dd533ccc9a5bb9f856022}
+{\bfseries \+\_\+\+\_\+if} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local)
+\end{DoxyCompactItemize}
+\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+{\bfseries Tag} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent=NULL, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local=NULL, coreutils\+::\+ZString split\+Tag\+Name="{}"{})
+\item
+virtual {\bfseries \texorpdfstring{$\sim$}{\string~}\+Tag} ()
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}Constructor \end{DoxyCompactList}\item
+coreutils\+::\+MString {\bfseries get\+Variable} (coreutils\+::\+ZString \&variable, bool in\+Container=false)
+\item
+coreutils\+::\+MString {\bfseries resolve\+Keyword} (coreutils\+::\+ZString keyword)
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}retrieve a vairable value from a text string cotontaining a variable name. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsubsection*{Additional Inherited Members}
+\doxysubsection*{Public Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries variables}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries keywords}
+\item
+coreutils\+::\+ZString {\bfseries name}
+\item
+coreutils\+::\+ZString {\bfseries container}
+\item
+coreutils\+::\+ZString {\bfseries container2}
+\item
+\mbox{\hyperlink{classjet_1_1Global}{Global}} \& {\bfseries global}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries parent}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries local}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries keyword\+Defined} (coreutils\+::\+ZString variable)
+\item
+void {\bfseries parse\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries process\+Container} (coreutils\+::\+ZString \&container, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries copy\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out)
+\item
+void {\bfseries render\+Variable\+Name} (coreutils\+::\+ZString \&variable, coreutils\+::\+MString \&name, coreutils\+::\+MString \&modifier)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable, coreutils\+::\+MString value, coreutils\+::\+ZString scope)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable)
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries has\+Container} = false
+\item
+bool {\bfseries has\+Container2} = false
+\item
+coreutils\+::\+MString \& {\bfseries parent\+Out}
+\item
+coreutils\+::\+MString {\bfseries out}
+\item
+bool {\bfseries output} = true
+\item
+bool {\bfseries evaluate} = true
+\item
+bool {\bfseries filter\+Blank\+Lines} = false
+\item
+bool {\bfseries trim\+Lines} = false
+\item
+bool {\bfseries clean\+Whitespace} = false
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+\+\_\+\+\_\+if.\+h\item
+\+\_\+\+\_\+if.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1____if__coll__graph.md5 b/latex/classjet_1_1____if__coll__graph.md5
new file mode 100644
index 0000000..26bf0d0
--- /dev/null
+++ b/latex/classjet_1_1____if__coll__graph.md5
@@ -0,0 +1 @@
+74768cf9b9d5a69f51fa9119adc12184
\ No newline at end of file
diff --git a/latex/classjet_1_1____if__coll__graph.pdf b/latex/classjet_1_1____if__coll__graph.pdf
new file mode 100644
index 0000000..be0f742
Binary files /dev/null and b/latex/classjet_1_1____if__coll__graph.pdf differ
diff --git a/latex/classjet_1_1____if__inherit__graph.md5 b/latex/classjet_1_1____if__inherit__graph.md5
new file mode 100644
index 0000000..d3c1048
--- /dev/null
+++ b/latex/classjet_1_1____if__inherit__graph.md5
@@ -0,0 +1 @@
+b1ee35b4a31cca1d1ed77dee7c4f4442
\ No newline at end of file
diff --git a/latex/classjet_1_1____if__inherit__graph.pdf b/latex/classjet_1_1____if__inherit__graph.pdf
new file mode 100644
index 0000000..77b9eea
Binary files /dev/null and b/latex/classjet_1_1____if__inherit__graph.pdf differ
diff --git a/latex/classjet_1_1____ifrow.tex b/latex/classjet_1_1____ifrow.tex
new file mode 100644
index 0000000..55d8496
--- /dev/null
+++ b/latex/classjet_1_1____ifrow.tex
@@ -0,0 +1,101 @@
+\doxysection{jet\+::\+\_\+\+\_\+ifrow Class Reference}
+\hypertarget{classjet_1_1____ifrow}{}\label{classjet_1_1____ifrow}\index{jet::\_\_ifrow@{jet::\_\_ifrow}}
+
+
+Inheritance diagram for jet\+::\+\_\+\+\_\+ifrow\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=180pt]{classjet_1_1____ifrow__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for jet\+::\+\_\+\+\_\+ifrow\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=266pt]{classjet_1_1____ifrow__coll__graph}
+\end{center}
+\end{figure}
+\doxysubsubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1____ifrow_a7208e0c5f540ca09f9c619bb6d5a2128}\label{classjet_1_1____ifrow_a7208e0c5f540ca09f9c619bb6d5a2128}
+{\bfseries \+\_\+\+\_\+ifrow} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local)
+\end{DoxyCompactItemize}
+\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+{\bfseries Tag} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent=NULL, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local=NULL, coreutils\+::\+ZString split\+Tag\+Name="{}"{})
+\item
+virtual {\bfseries \texorpdfstring{$\sim$}{\string~}\+Tag} ()
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}Constructor \end{DoxyCompactList}\item
+coreutils\+::\+MString {\bfseries get\+Variable} (coreutils\+::\+ZString \&variable, bool in\+Container=false)
+\item
+coreutils\+::\+MString {\bfseries resolve\+Keyword} (coreutils\+::\+ZString keyword)
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}retrieve a vairable value from a text string cotontaining a variable name. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsubsection*{Additional Inherited Members}
+\doxysubsection*{Public Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries variables}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries keywords}
+\item
+coreutils\+::\+ZString {\bfseries name}
+\item
+coreutils\+::\+ZString {\bfseries container}
+\item
+coreutils\+::\+ZString {\bfseries container2}
+\item
+\mbox{\hyperlink{classjet_1_1Global}{Global}} \& {\bfseries global}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries parent}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries local}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries keyword\+Defined} (coreutils\+::\+ZString variable)
+\item
+void {\bfseries parse\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries process\+Container} (coreutils\+::\+ZString \&container, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries copy\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out)
+\item
+void {\bfseries render\+Variable\+Name} (coreutils\+::\+ZString \&variable, coreutils\+::\+MString \&name, coreutils\+::\+MString \&modifier)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable, coreutils\+::\+MString value, coreutils\+::\+ZString scope)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable)
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries has\+Container} = false
+\item
+bool {\bfseries has\+Container2} = false
+\item
+coreutils\+::\+MString \& {\bfseries parent\+Out}
+\item
+coreutils\+::\+MString {\bfseries out}
+\item
+bool {\bfseries output} = true
+\item
+bool {\bfseries evaluate} = true
+\item
+bool {\bfseries filter\+Blank\+Lines} = false
+\item
+bool {\bfseries trim\+Lines} = false
+\item
+bool {\bfseries clean\+Whitespace} = false
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+\+\_\+\+\_\+ifrow.\+h\item
+\+\_\+\+\_\+ifrow.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1____ifrow__coll__graph.md5 b/latex/classjet_1_1____ifrow__coll__graph.md5
new file mode 100644
index 0000000..b4f79b8
--- /dev/null
+++ b/latex/classjet_1_1____ifrow__coll__graph.md5
@@ -0,0 +1 @@
+47fee1acb85ffce1c3d011926fb0ecc6
\ No newline at end of file
diff --git a/latex/classjet_1_1____ifrow__coll__graph.pdf b/latex/classjet_1_1____ifrow__coll__graph.pdf
new file mode 100644
index 0000000..ad29d69
Binary files /dev/null and b/latex/classjet_1_1____ifrow__coll__graph.pdf differ
diff --git a/latex/classjet_1_1____ifrow__inherit__graph.md5 b/latex/classjet_1_1____ifrow__inherit__graph.md5
new file mode 100644
index 0000000..dfc4a7e
--- /dev/null
+++ b/latex/classjet_1_1____ifrow__inherit__graph.md5
@@ -0,0 +1 @@
+9a7612fff3703bee80fc5b9a640f0f0b
\ No newline at end of file
diff --git a/latex/classjet_1_1____ifrow__inherit__graph.pdf b/latex/classjet_1_1____ifrow__inherit__graph.pdf
new file mode 100644
index 0000000..a6e5934
Binary files /dev/null and b/latex/classjet_1_1____ifrow__inherit__graph.pdf differ
diff --git a/latex/classjet_1_1____include.tex b/latex/classjet_1_1____include.tex
new file mode 100644
index 0000000..08a795c
--- /dev/null
+++ b/latex/classjet_1_1____include.tex
@@ -0,0 +1,101 @@
+\doxysection{jet\+::\+\_\+\+\_\+include Class Reference}
+\hypertarget{classjet_1_1____include}{}\label{classjet_1_1____include}\index{jet::\_\_include@{jet::\_\_include}}
+
+
+Inheritance diagram for jet\+::\+\_\+\+\_\+include\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=180pt]{classjet_1_1____include__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for jet\+::\+\_\+\+\_\+include\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=266pt]{classjet_1_1____include__coll__graph}
+\end{center}
+\end{figure}
+\doxysubsubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1____include_a921e17ab9c1a8aa1afb697b2857104e9}\label{classjet_1_1____include_a921e17ab9c1a8aa1afb697b2857104e9}
+{\bfseries \+\_\+\+\_\+include} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local)
+\end{DoxyCompactItemize}
+\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+{\bfseries Tag} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent=NULL, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local=NULL, coreutils\+::\+ZString split\+Tag\+Name="{}"{})
+\item
+virtual {\bfseries \texorpdfstring{$\sim$}{\string~}\+Tag} ()
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}Constructor \end{DoxyCompactList}\item
+coreutils\+::\+MString {\bfseries get\+Variable} (coreutils\+::\+ZString \&variable, bool in\+Container=false)
+\item
+coreutils\+::\+MString {\bfseries resolve\+Keyword} (coreutils\+::\+ZString keyword)
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}retrieve a vairable value from a text string cotontaining a variable name. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsubsection*{Additional Inherited Members}
+\doxysubsection*{Public Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries variables}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries keywords}
+\item
+coreutils\+::\+ZString {\bfseries name}
+\item
+coreutils\+::\+ZString {\bfseries container}
+\item
+coreutils\+::\+ZString {\bfseries container2}
+\item
+\mbox{\hyperlink{classjet_1_1Global}{Global}} \& {\bfseries global}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries parent}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries local}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries keyword\+Defined} (coreutils\+::\+ZString variable)
+\item
+void {\bfseries parse\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries process\+Container} (coreutils\+::\+ZString \&container, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries copy\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out)
+\item
+void {\bfseries render\+Variable\+Name} (coreutils\+::\+ZString \&variable, coreutils\+::\+MString \&name, coreutils\+::\+MString \&modifier)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable, coreutils\+::\+MString value, coreutils\+::\+ZString scope)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable)
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries has\+Container} = false
+\item
+bool {\bfseries has\+Container2} = false
+\item
+coreutils\+::\+MString \& {\bfseries parent\+Out}
+\item
+coreutils\+::\+MString {\bfseries out}
+\item
+bool {\bfseries output} = true
+\item
+bool {\bfseries evaluate} = true
+\item
+bool {\bfseries filter\+Blank\+Lines} = false
+\item
+bool {\bfseries trim\+Lines} = false
+\item
+bool {\bfseries clean\+Whitespace} = false
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+\+\_\+\+\_\+include.\+h\item
+\+\_\+\+\_\+include.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1____include__coll__graph.md5 b/latex/classjet_1_1____include__coll__graph.md5
new file mode 100644
index 0000000..09fc644
--- /dev/null
+++ b/latex/classjet_1_1____include__coll__graph.md5
@@ -0,0 +1 @@
+7688835302354af485c21f295e90f120
\ No newline at end of file
diff --git a/latex/classjet_1_1____include__coll__graph.pdf b/latex/classjet_1_1____include__coll__graph.pdf
new file mode 100644
index 0000000..6cdef42
Binary files /dev/null and b/latex/classjet_1_1____include__coll__graph.pdf differ
diff --git a/latex/classjet_1_1____include__inherit__graph.md5 b/latex/classjet_1_1____include__inherit__graph.md5
new file mode 100644
index 0000000..dc02e7c
--- /dev/null
+++ b/latex/classjet_1_1____include__inherit__graph.md5
@@ -0,0 +1 @@
+3a4e43badb334377c6986f15b5f48abf
\ No newline at end of file
diff --git a/latex/classjet_1_1____include__inherit__graph.pdf b/latex/classjet_1_1____include__inherit__graph.pdf
new file mode 100644
index 0000000..4bd5906
Binary files /dev/null and b/latex/classjet_1_1____include__inherit__graph.pdf differ
diff --git a/latex/classjet_1_1____jet.tex b/latex/classjet_1_1____jet.tex
new file mode 100644
index 0000000..d7c926a
--- /dev/null
+++ b/latex/classjet_1_1____jet.tex
@@ -0,0 +1,101 @@
+\doxysection{jet\+::\+\_\+\+\_\+jet Class Reference}
+\hypertarget{classjet_1_1____jet}{}\label{classjet_1_1____jet}\index{jet::\_\_jet@{jet::\_\_jet}}
+
+
+Inheritance diagram for jet\+::\+\_\+\+\_\+jet\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=180pt]{classjet_1_1____jet__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for jet\+::\+\_\+\+\_\+jet\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=266pt]{classjet_1_1____jet__coll__graph}
+\end{center}
+\end{figure}
+\doxysubsubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1____jet_a484164916887e012d18e0a0dbef99e8e}\label{classjet_1_1____jet_a484164916887e012d18e0a0dbef99e8e}
+{\bfseries \+\_\+\+\_\+jet} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local)
+\end{DoxyCompactItemize}
+\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+{\bfseries Tag} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent=NULL, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local=NULL, coreutils\+::\+ZString split\+Tag\+Name="{}"{})
+\item
+virtual {\bfseries \texorpdfstring{$\sim$}{\string~}\+Tag} ()
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}Constructor \end{DoxyCompactList}\item
+coreutils\+::\+MString {\bfseries get\+Variable} (coreutils\+::\+ZString \&variable, bool in\+Container=false)
+\item
+coreutils\+::\+MString {\bfseries resolve\+Keyword} (coreutils\+::\+ZString keyword)
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}retrieve a vairable value from a text string cotontaining a variable name. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsubsection*{Additional Inherited Members}
+\doxysubsection*{Public Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries variables}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries keywords}
+\item
+coreutils\+::\+ZString {\bfseries name}
+\item
+coreutils\+::\+ZString {\bfseries container}
+\item
+coreutils\+::\+ZString {\bfseries container2}
+\item
+\mbox{\hyperlink{classjet_1_1Global}{Global}} \& {\bfseries global}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries parent}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries local}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries keyword\+Defined} (coreutils\+::\+ZString variable)
+\item
+void {\bfseries parse\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries process\+Container} (coreutils\+::\+ZString \&container, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries copy\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out)
+\item
+void {\bfseries render\+Variable\+Name} (coreutils\+::\+ZString \&variable, coreutils\+::\+MString \&name, coreutils\+::\+MString \&modifier)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable, coreutils\+::\+MString value, coreutils\+::\+ZString scope)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable)
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries has\+Container} = false
+\item
+bool {\bfseries has\+Container2} = false
+\item
+coreutils\+::\+MString \& {\bfseries parent\+Out}
+\item
+coreutils\+::\+MString {\bfseries out}
+\item
+bool {\bfseries output} = true
+\item
+bool {\bfseries evaluate} = true
+\item
+bool {\bfseries filter\+Blank\+Lines} = false
+\item
+bool {\bfseries trim\+Lines} = false
+\item
+bool {\bfseries clean\+Whitespace} = false
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+\+\_\+\+\_\+jet.\+h\item
+\+\_\+\+\_\+jet.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1____jet__coll__graph.md5 b/latex/classjet_1_1____jet__coll__graph.md5
new file mode 100644
index 0000000..d919de3
--- /dev/null
+++ b/latex/classjet_1_1____jet__coll__graph.md5
@@ -0,0 +1 @@
+4cb53cf89e7c068ed50f3aa438276425
\ No newline at end of file
diff --git a/latex/classjet_1_1____jet__coll__graph.pdf b/latex/classjet_1_1____jet__coll__graph.pdf
new file mode 100644
index 0000000..c74e0d6
Binary files /dev/null and b/latex/classjet_1_1____jet__coll__graph.pdf differ
diff --git a/latex/classjet_1_1____jet__inherit__graph.md5 b/latex/classjet_1_1____jet__inherit__graph.md5
new file mode 100644
index 0000000..4b51bf6
--- /dev/null
+++ b/latex/classjet_1_1____jet__inherit__graph.md5
@@ -0,0 +1 @@
+7a3e23e052c8b21b0af076bc1d689202
\ No newline at end of file
diff --git a/latex/classjet_1_1____jet__inherit__graph.pdf b/latex/classjet_1_1____jet__inherit__graph.pdf
new file mode 100644
index 0000000..d23b879
Binary files /dev/null and b/latex/classjet_1_1____jet__inherit__graph.pdf differ
diff --git a/latex/classjet_1_1____mysql.tex b/latex/classjet_1_1____mysql.tex
new file mode 100644
index 0000000..13a48fe
--- /dev/null
+++ b/latex/classjet_1_1____mysql.tex
@@ -0,0 +1,113 @@
+\doxysection{jet\+::\+\_\+\+\_\+mysql Class Reference}
+\hypertarget{classjet_1_1____mysql}{}\label{classjet_1_1____mysql}\index{jet::\_\_mysql@{jet::\_\_mysql}}
+
+
+Inheritance diagram for jet\+::\+\_\+\+\_\+mysql\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=180pt]{classjet_1_1____mysql__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for jet\+::\+\_\+\+\_\+mysql\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=266pt]{classjet_1_1____mysql__coll__graph}
+\end{center}
+\end{figure}
+\doxysubsubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1____mysql_a84fcc73ee4937fb9556a0eb421a47645}\label{classjet_1_1____mysql_a84fcc73ee4937fb9556a0eb421a47645}
+{\bfseries \+\_\+\+\_\+mysql} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local)
+\item
+\Hypertarget{classjet_1_1____mysql_aecb92cd8d63a9c5ca1f7fa56134d472c}\label{classjet_1_1____mysql_aecb92cd8d63a9c5ca1f7fa56134d472c}
+void {\bfseries query} (coreutils\+::\+MString query)
+\item
+\Hypertarget{classjet_1_1____mysql_acab439040d88aae15d55d00cc27ea4e5}\label{classjet_1_1____mysql_acab439040d88aae15d55d00cc27ea4e5}
+void {\bfseries next\+Row} ()
+\item
+\Hypertarget{classjet_1_1____mysql_a24d82ee95451eddee5bdb6c4654d297d}\label{classjet_1_1____mysql_a24d82ee95451eddee5bdb6c4654d297d}
+bool {\bfseries has\+Row} ()
+\item
+\Hypertarget{classjet_1_1____mysql_aff64f54428be70217df65fb28ba2bc34}\label{classjet_1_1____mysql_aff64f54428be70217df65fb28ba2bc34}
+coreutils\+::\+ZString {\bfseries get\+Column\+Value} (coreutils\+::\+ZString column)
+\end{DoxyCompactItemize}
+\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+{\bfseries Tag} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent=NULL, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local=NULL, coreutils\+::\+ZString split\+Tag\+Name="{}"{})
+\item
+virtual {\bfseries \texorpdfstring{$\sim$}{\string~}\+Tag} ()
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}Constructor \end{DoxyCompactList}\item
+coreutils\+::\+MString {\bfseries get\+Variable} (coreutils\+::\+ZString \&variable, bool in\+Container=false)
+\item
+coreutils\+::\+MString {\bfseries resolve\+Keyword} (coreutils\+::\+ZString keyword)
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}retrieve a vairable value from a text string cotontaining a variable name. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsubsection*{Additional Inherited Members}
+\doxysubsection*{Public Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries variables}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries keywords}
+\item
+coreutils\+::\+ZString {\bfseries name}
+\item
+coreutils\+::\+ZString {\bfseries container}
+\item
+coreutils\+::\+ZString {\bfseries container2}
+\item
+\mbox{\hyperlink{classjet_1_1Global}{Global}} \& {\bfseries global}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries parent}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries local}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries keyword\+Defined} (coreutils\+::\+ZString variable)
+\item
+void {\bfseries parse\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries process\+Container} (coreutils\+::\+ZString \&container, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries copy\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out)
+\item
+void {\bfseries render\+Variable\+Name} (coreutils\+::\+ZString \&variable, coreutils\+::\+MString \&name, coreutils\+::\+MString \&modifier)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable, coreutils\+::\+MString value, coreutils\+::\+ZString scope)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable)
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries has\+Container} = false
+\item
+bool {\bfseries has\+Container2} = false
+\item
+coreutils\+::\+MString \& {\bfseries parent\+Out}
+\item
+coreutils\+::\+MString {\bfseries out}
+\item
+bool {\bfseries output} = true
+\item
+bool {\bfseries evaluate} = true
+\item
+bool {\bfseries filter\+Blank\+Lines} = false
+\item
+bool {\bfseries trim\+Lines} = false
+\item
+bool {\bfseries clean\+Whitespace} = false
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+\+\_\+\+\_\+mysql.\+h\item
+\+\_\+\+\_\+mysql.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1____mysql__coll__graph.md5 b/latex/classjet_1_1____mysql__coll__graph.md5
new file mode 100644
index 0000000..0d3bff5
--- /dev/null
+++ b/latex/classjet_1_1____mysql__coll__graph.md5
@@ -0,0 +1 @@
+f18f4a2307c0ce5bf3247fca2efde91f
\ No newline at end of file
diff --git a/latex/classjet_1_1____mysql__coll__graph.pdf b/latex/classjet_1_1____mysql__coll__graph.pdf
new file mode 100644
index 0000000..ad28dd3
Binary files /dev/null and b/latex/classjet_1_1____mysql__coll__graph.pdf differ
diff --git a/latex/classjet_1_1____mysql__inherit__graph.md5 b/latex/classjet_1_1____mysql__inherit__graph.md5
new file mode 100644
index 0000000..9776dd2
--- /dev/null
+++ b/latex/classjet_1_1____mysql__inherit__graph.md5
@@ -0,0 +1 @@
+2502c1388455f9c2b3eadf320c0284d5
\ No newline at end of file
diff --git a/latex/classjet_1_1____mysql__inherit__graph.pdf b/latex/classjet_1_1____mysql__inherit__graph.pdf
new file mode 100644
index 0000000..25b69c6
Binary files /dev/null and b/latex/classjet_1_1____mysql__inherit__graph.pdf differ
diff --git a/latex/classjet_1_1____read.tex b/latex/classjet_1_1____read.tex
new file mode 100644
index 0000000..a443094
--- /dev/null
+++ b/latex/classjet_1_1____read.tex
@@ -0,0 +1,101 @@
+\doxysection{jet\+::\+\_\+\+\_\+read Class Reference}
+\hypertarget{classjet_1_1____read}{}\label{classjet_1_1____read}\index{jet::\_\_read@{jet::\_\_read}}
+
+
+Inheritance diagram for jet\+::\+\_\+\+\_\+read\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=180pt]{classjet_1_1____read__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for jet\+::\+\_\+\+\_\+read\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=266pt]{classjet_1_1____read__coll__graph}
+\end{center}
+\end{figure}
+\doxysubsubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1____read_a0121c39058eeb5b4f23c0751866dba65}\label{classjet_1_1____read_a0121c39058eeb5b4f23c0751866dba65}
+{\bfseries \+\_\+\+\_\+read} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local)
+\end{DoxyCompactItemize}
+\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+{\bfseries Tag} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent=NULL, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local=NULL, coreutils\+::\+ZString split\+Tag\+Name="{}"{})
+\item
+virtual {\bfseries \texorpdfstring{$\sim$}{\string~}\+Tag} ()
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}Constructor \end{DoxyCompactList}\item
+coreutils\+::\+MString {\bfseries get\+Variable} (coreutils\+::\+ZString \&variable, bool in\+Container=false)
+\item
+coreutils\+::\+MString {\bfseries resolve\+Keyword} (coreutils\+::\+ZString keyword)
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}retrieve a vairable value from a text string cotontaining a variable name. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsubsection*{Additional Inherited Members}
+\doxysubsection*{Public Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries variables}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries keywords}
+\item
+coreutils\+::\+ZString {\bfseries name}
+\item
+coreutils\+::\+ZString {\bfseries container}
+\item
+coreutils\+::\+ZString {\bfseries container2}
+\item
+\mbox{\hyperlink{classjet_1_1Global}{Global}} \& {\bfseries global}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries parent}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries local}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries keyword\+Defined} (coreutils\+::\+ZString variable)
+\item
+void {\bfseries parse\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries process\+Container} (coreutils\+::\+ZString \&container, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries copy\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out)
+\item
+void {\bfseries render\+Variable\+Name} (coreutils\+::\+ZString \&variable, coreutils\+::\+MString \&name, coreutils\+::\+MString \&modifier)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable, coreutils\+::\+MString value, coreutils\+::\+ZString scope)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable)
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries has\+Container} = false
+\item
+bool {\bfseries has\+Container2} = false
+\item
+coreutils\+::\+MString \& {\bfseries parent\+Out}
+\item
+coreutils\+::\+MString {\bfseries out}
+\item
+bool {\bfseries output} = true
+\item
+bool {\bfseries evaluate} = true
+\item
+bool {\bfseries filter\+Blank\+Lines} = false
+\item
+bool {\bfseries trim\+Lines} = false
+\item
+bool {\bfseries clean\+Whitespace} = false
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+\+\_\+\+\_\+read.\+h\item
+\+\_\+\+\_\+read.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1____read__coll__graph.md5 b/latex/classjet_1_1____read__coll__graph.md5
new file mode 100644
index 0000000..539a195
--- /dev/null
+++ b/latex/classjet_1_1____read__coll__graph.md5
@@ -0,0 +1 @@
+4ccb15448ef66220e9dda6e2328e92f0
\ No newline at end of file
diff --git a/latex/classjet_1_1____read__coll__graph.pdf b/latex/classjet_1_1____read__coll__graph.pdf
new file mode 100644
index 0000000..07222d8
Binary files /dev/null and b/latex/classjet_1_1____read__coll__graph.pdf differ
diff --git a/latex/classjet_1_1____read__inherit__graph.md5 b/latex/classjet_1_1____read__inherit__graph.md5
new file mode 100644
index 0000000..5cbe708
--- /dev/null
+++ b/latex/classjet_1_1____read__inherit__graph.md5
@@ -0,0 +1 @@
+0750444055149d9897ec58cea4266728
\ No newline at end of file
diff --git a/latex/classjet_1_1____read__inherit__graph.pdf b/latex/classjet_1_1____read__inherit__graph.pdf
new file mode 100644
index 0000000..e37a402
Binary files /dev/null and b/latex/classjet_1_1____read__inherit__graph.pdf differ
diff --git a/latex/classjet_1_1____set.tex b/latex/classjet_1_1____set.tex
new file mode 100644
index 0000000..dc02d75
--- /dev/null
+++ b/latex/classjet_1_1____set.tex
@@ -0,0 +1,101 @@
+\doxysection{jet\+::\+\_\+\+\_\+set Class Reference}
+\hypertarget{classjet_1_1____set}{}\label{classjet_1_1____set}\index{jet::\_\_set@{jet::\_\_set}}
+
+
+Inheritance diagram for jet\+::\+\_\+\+\_\+set\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=180pt]{classjet_1_1____set__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for jet\+::\+\_\+\+\_\+set\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=266pt]{classjet_1_1____set__coll__graph}
+\end{center}
+\end{figure}
+\doxysubsubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1____set_ace480b341316fbb600c026505bda3e3d}\label{classjet_1_1____set_ace480b341316fbb600c026505bda3e3d}
+{\bfseries \+\_\+\+\_\+set} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local)
+\end{DoxyCompactItemize}
+\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+{\bfseries Tag} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent=NULL, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local=NULL, coreutils\+::\+ZString split\+Tag\+Name="{}"{})
+\item
+virtual {\bfseries \texorpdfstring{$\sim$}{\string~}\+Tag} ()
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}Constructor \end{DoxyCompactList}\item
+coreutils\+::\+MString {\bfseries get\+Variable} (coreutils\+::\+ZString \&variable, bool in\+Container=false)
+\item
+coreutils\+::\+MString {\bfseries resolve\+Keyword} (coreutils\+::\+ZString keyword)
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}retrieve a vairable value from a text string cotontaining a variable name. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsubsection*{Additional Inherited Members}
+\doxysubsection*{Public Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries variables}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries keywords}
+\item
+coreutils\+::\+ZString {\bfseries name}
+\item
+coreutils\+::\+ZString {\bfseries container}
+\item
+coreutils\+::\+ZString {\bfseries container2}
+\item
+\mbox{\hyperlink{classjet_1_1Global}{Global}} \& {\bfseries global}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries parent}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries local}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries keyword\+Defined} (coreutils\+::\+ZString variable)
+\item
+void {\bfseries parse\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries process\+Container} (coreutils\+::\+ZString \&container, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries copy\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out)
+\item
+void {\bfseries render\+Variable\+Name} (coreutils\+::\+ZString \&variable, coreutils\+::\+MString \&name, coreutils\+::\+MString \&modifier)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable, coreutils\+::\+MString value, coreutils\+::\+ZString scope)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable)
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries has\+Container} = false
+\item
+bool {\bfseries has\+Container2} = false
+\item
+coreutils\+::\+MString \& {\bfseries parent\+Out}
+\item
+coreutils\+::\+MString {\bfseries out}
+\item
+bool {\bfseries output} = true
+\item
+bool {\bfseries evaluate} = true
+\item
+bool {\bfseries filter\+Blank\+Lines} = false
+\item
+bool {\bfseries trim\+Lines} = false
+\item
+bool {\bfseries clean\+Whitespace} = false
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+\+\_\+\+\_\+set.\+h\item
+\+\_\+\+\_\+set.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1____set__coll__graph.md5 b/latex/classjet_1_1____set__coll__graph.md5
new file mode 100644
index 0000000..0549824
--- /dev/null
+++ b/latex/classjet_1_1____set__coll__graph.md5
@@ -0,0 +1 @@
+1a9fbd3730e59e15ab946b2bb2e10adf
\ No newline at end of file
diff --git a/latex/classjet_1_1____set__coll__graph.pdf b/latex/classjet_1_1____set__coll__graph.pdf
new file mode 100644
index 0000000..d4edc23
Binary files /dev/null and b/latex/classjet_1_1____set__coll__graph.pdf differ
diff --git a/latex/classjet_1_1____set__inherit__graph.md5 b/latex/classjet_1_1____set__inherit__graph.md5
new file mode 100644
index 0000000..e9feb04
--- /dev/null
+++ b/latex/classjet_1_1____set__inherit__graph.md5
@@ -0,0 +1 @@
+406bc594b8d6f0263c2dbe21a8fa92bd
\ No newline at end of file
diff --git a/latex/classjet_1_1____set__inherit__graph.pdf b/latex/classjet_1_1____set__inherit__graph.pdf
new file mode 100644
index 0000000..c71979b
Binary files /dev/null and b/latex/classjet_1_1____set__inherit__graph.pdf differ
diff --git a/latex/classjet_1_1____sql.tex b/latex/classjet_1_1____sql.tex
new file mode 100644
index 0000000..a1dab05
--- /dev/null
+++ b/latex/classjet_1_1____sql.tex
@@ -0,0 +1,101 @@
+\doxysection{jet\+::\+\_\+\+\_\+sql Class Reference}
+\hypertarget{classjet_1_1____sql}{}\label{classjet_1_1____sql}\index{jet::\_\_sql@{jet::\_\_sql}}
+
+
+Inheritance diagram for jet\+::\+\_\+\+\_\+sql\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=180pt]{classjet_1_1____sql__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for jet\+::\+\_\+\+\_\+sql\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=266pt]{classjet_1_1____sql__coll__graph}
+\end{center}
+\end{figure}
+\doxysubsubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1____sql_a6df5a38d244161d98dcc00368778a4f8}\label{classjet_1_1____sql_a6df5a38d244161d98dcc00368778a4f8}
+{\bfseries \+\_\+\+\_\+sql} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local)
+\end{DoxyCompactItemize}
+\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+{\bfseries Tag} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent=NULL, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local=NULL, coreutils\+::\+ZString split\+Tag\+Name="{}"{})
+\item
+virtual {\bfseries \texorpdfstring{$\sim$}{\string~}\+Tag} ()
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}Constructor \end{DoxyCompactList}\item
+coreutils\+::\+MString {\bfseries get\+Variable} (coreutils\+::\+ZString \&variable, bool in\+Container=false)
+\item
+coreutils\+::\+MString {\bfseries resolve\+Keyword} (coreutils\+::\+ZString keyword)
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}retrieve a vairable value from a text string cotontaining a variable name. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsubsection*{Additional Inherited Members}
+\doxysubsection*{Public Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries variables}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries keywords}
+\item
+coreutils\+::\+ZString {\bfseries name}
+\item
+coreutils\+::\+ZString {\bfseries container}
+\item
+coreutils\+::\+ZString {\bfseries container2}
+\item
+\mbox{\hyperlink{classjet_1_1Global}{Global}} \& {\bfseries global}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries parent}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries local}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries keyword\+Defined} (coreutils\+::\+ZString variable)
+\item
+void {\bfseries parse\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries process\+Container} (coreutils\+::\+ZString \&container, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries copy\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out)
+\item
+void {\bfseries render\+Variable\+Name} (coreutils\+::\+ZString \&variable, coreutils\+::\+MString \&name, coreutils\+::\+MString \&modifier)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable, coreutils\+::\+MString value, coreutils\+::\+ZString scope)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable)
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries has\+Container} = false
+\item
+bool {\bfseries has\+Container2} = false
+\item
+coreutils\+::\+MString \& {\bfseries parent\+Out}
+\item
+coreutils\+::\+MString {\bfseries out}
+\item
+bool {\bfseries output} = true
+\item
+bool {\bfseries evaluate} = true
+\item
+bool {\bfseries filter\+Blank\+Lines} = false
+\item
+bool {\bfseries trim\+Lines} = false
+\item
+bool {\bfseries clean\+Whitespace} = false
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+\+\_\+\+\_\+sql.\+h\item
+\+\_\+\+\_\+sql.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1____sql__coll__graph.md5 b/latex/classjet_1_1____sql__coll__graph.md5
new file mode 100644
index 0000000..631db1a
--- /dev/null
+++ b/latex/classjet_1_1____sql__coll__graph.md5
@@ -0,0 +1 @@
+cd5deaf26cba3cb87ae1298a8bb2f09e
\ No newline at end of file
diff --git a/latex/classjet_1_1____sql__coll__graph.pdf b/latex/classjet_1_1____sql__coll__graph.pdf
new file mode 100644
index 0000000..dcea43c
Binary files /dev/null and b/latex/classjet_1_1____sql__coll__graph.pdf differ
diff --git a/latex/classjet_1_1____sql__inherit__graph.md5 b/latex/classjet_1_1____sql__inherit__graph.md5
new file mode 100644
index 0000000..142bbbd
--- /dev/null
+++ b/latex/classjet_1_1____sql__inherit__graph.md5
@@ -0,0 +1 @@
+778d310a76552d61fb1e52c3738f11dd
\ No newline at end of file
diff --git a/latex/classjet_1_1____sql__inherit__graph.pdf b/latex/classjet_1_1____sql__inherit__graph.pdf
new file mode 100644
index 0000000..dfc8505
Binary files /dev/null and b/latex/classjet_1_1____sql__inherit__graph.pdf differ
diff --git a/latex/classjet_1_1____stream.tex b/latex/classjet_1_1____stream.tex
new file mode 100644
index 0000000..4ddce5c
--- /dev/null
+++ b/latex/classjet_1_1____stream.tex
@@ -0,0 +1,101 @@
+\doxysection{jet\+::\+\_\+\+\_\+stream Class Reference}
+\hypertarget{classjet_1_1____stream}{}\label{classjet_1_1____stream}\index{jet::\_\_stream@{jet::\_\_stream}}
+
+
+Inheritance diagram for jet\+::\+\_\+\+\_\+stream\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=180pt]{classjet_1_1____stream__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for jet\+::\+\_\+\+\_\+stream\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=266pt]{classjet_1_1____stream__coll__graph}
+\end{center}
+\end{figure}
+\doxysubsubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1____stream_aa0d06f4e8806223c22e5114b1196859d}\label{classjet_1_1____stream_aa0d06f4e8806223c22e5114b1196859d}
+{\bfseries \+\_\+\+\_\+stream} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local)
+\end{DoxyCompactItemize}
+\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+{\bfseries Tag} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent=NULL, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local=NULL, coreutils\+::\+ZString split\+Tag\+Name="{}"{})
+\item
+virtual {\bfseries \texorpdfstring{$\sim$}{\string~}\+Tag} ()
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}Constructor \end{DoxyCompactList}\item
+coreutils\+::\+MString {\bfseries get\+Variable} (coreutils\+::\+ZString \&variable, bool in\+Container=false)
+\item
+coreutils\+::\+MString {\bfseries resolve\+Keyword} (coreutils\+::\+ZString keyword)
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}retrieve a vairable value from a text string cotontaining a variable name. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsubsection*{Additional Inherited Members}
+\doxysubsection*{Public Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries variables}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries keywords}
+\item
+coreutils\+::\+ZString {\bfseries name}
+\item
+coreutils\+::\+ZString {\bfseries container}
+\item
+coreutils\+::\+ZString {\bfseries container2}
+\item
+\mbox{\hyperlink{classjet_1_1Global}{Global}} \& {\bfseries global}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries parent}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries local}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries keyword\+Defined} (coreutils\+::\+ZString variable)
+\item
+void {\bfseries parse\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries process\+Container} (coreutils\+::\+ZString \&container, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries copy\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out)
+\item
+void {\bfseries render\+Variable\+Name} (coreutils\+::\+ZString \&variable, coreutils\+::\+MString \&name, coreutils\+::\+MString \&modifier)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable, coreutils\+::\+MString value, coreutils\+::\+ZString scope)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable)
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries has\+Container} = false
+\item
+bool {\bfseries has\+Container2} = false
+\item
+coreutils\+::\+MString \& {\bfseries parent\+Out}
+\item
+coreutils\+::\+MString {\bfseries out}
+\item
+bool {\bfseries output} = true
+\item
+bool {\bfseries evaluate} = true
+\item
+bool {\bfseries filter\+Blank\+Lines} = false
+\item
+bool {\bfseries trim\+Lines} = false
+\item
+bool {\bfseries clean\+Whitespace} = false
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+\+\_\+\+\_\+stream.\+h\item
+\+\_\+\+\_\+stream.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1____stream__coll__graph.md5 b/latex/classjet_1_1____stream__coll__graph.md5
new file mode 100644
index 0000000..f1821b7
--- /dev/null
+++ b/latex/classjet_1_1____stream__coll__graph.md5
@@ -0,0 +1 @@
+f04c8112cebb77cbaa296d20ce562c44
\ No newline at end of file
diff --git a/latex/classjet_1_1____stream__coll__graph.pdf b/latex/classjet_1_1____stream__coll__graph.pdf
new file mode 100644
index 0000000..606e9c1
Binary files /dev/null and b/latex/classjet_1_1____stream__coll__graph.pdf differ
diff --git a/latex/classjet_1_1____stream__inherit__graph.md5 b/latex/classjet_1_1____stream__inherit__graph.md5
new file mode 100644
index 0000000..4b32b71
--- /dev/null
+++ b/latex/classjet_1_1____stream__inherit__graph.md5
@@ -0,0 +1 @@
+796348915330531eacf442feded11285
\ No newline at end of file
diff --git a/latex/classjet_1_1____stream__inherit__graph.pdf b/latex/classjet_1_1____stream__inherit__graph.pdf
new file mode 100644
index 0000000..ae9235e
Binary files /dev/null and b/latex/classjet_1_1____stream__inherit__graph.pdf differ
diff --git a/latex/classjet_1_1____system.tex b/latex/classjet_1_1____system.tex
new file mode 100644
index 0000000..06dab9b
--- /dev/null
+++ b/latex/classjet_1_1____system.tex
@@ -0,0 +1,101 @@
+\doxysection{jet\+::\+\_\+\+\_\+system Class Reference}
+\hypertarget{classjet_1_1____system}{}\label{classjet_1_1____system}\index{jet::\_\_system@{jet::\_\_system}}
+
+
+Inheritance diagram for jet\+::\+\_\+\+\_\+system\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=180pt]{classjet_1_1____system__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for jet\+::\+\_\+\+\_\+system\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=266pt]{classjet_1_1____system__coll__graph}
+\end{center}
+\end{figure}
+\doxysubsubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1____system_ab6d5bbab4a45cb49e1ccb871213c1ffb}\label{classjet_1_1____system_ab6d5bbab4a45cb49e1ccb871213c1ffb}
+{\bfseries \+\_\+\+\_\+system} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local)
+\end{DoxyCompactItemize}
+\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+{\bfseries Tag} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent=NULL, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local=NULL, coreutils\+::\+ZString split\+Tag\+Name="{}"{})
+\item
+virtual {\bfseries \texorpdfstring{$\sim$}{\string~}\+Tag} ()
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}Constructor \end{DoxyCompactList}\item
+coreutils\+::\+MString {\bfseries get\+Variable} (coreutils\+::\+ZString \&variable, bool in\+Container=false)
+\item
+coreutils\+::\+MString {\bfseries resolve\+Keyword} (coreutils\+::\+ZString keyword)
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}retrieve a vairable value from a text string cotontaining a variable name. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsubsection*{Additional Inherited Members}
+\doxysubsection*{Public Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries variables}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries keywords}
+\item
+coreutils\+::\+ZString {\bfseries name}
+\item
+coreutils\+::\+ZString {\bfseries container}
+\item
+coreutils\+::\+ZString {\bfseries container2}
+\item
+\mbox{\hyperlink{classjet_1_1Global}{Global}} \& {\bfseries global}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries parent}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries local}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries keyword\+Defined} (coreutils\+::\+ZString variable)
+\item
+void {\bfseries parse\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries process\+Container} (coreutils\+::\+ZString \&container, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries copy\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out)
+\item
+void {\bfseries render\+Variable\+Name} (coreutils\+::\+ZString \&variable, coreutils\+::\+MString \&name, coreutils\+::\+MString \&modifier)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable, coreutils\+::\+MString value, coreutils\+::\+ZString scope)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable)
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries has\+Container} = false
+\item
+bool {\bfseries has\+Container2} = false
+\item
+coreutils\+::\+MString \& {\bfseries parent\+Out}
+\item
+coreutils\+::\+MString {\bfseries out}
+\item
+bool {\bfseries output} = true
+\item
+bool {\bfseries evaluate} = true
+\item
+bool {\bfseries filter\+Blank\+Lines} = false
+\item
+bool {\bfseries trim\+Lines} = false
+\item
+bool {\bfseries clean\+Whitespace} = false
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+\+\_\+\+\_\+system.\+h\item
+\+\_\+\+\_\+system.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1____system__coll__graph.md5 b/latex/classjet_1_1____system__coll__graph.md5
new file mode 100644
index 0000000..785d007
--- /dev/null
+++ b/latex/classjet_1_1____system__coll__graph.md5
@@ -0,0 +1 @@
+4f665cf9371b15fb534da2b867cefc16
\ No newline at end of file
diff --git a/latex/classjet_1_1____system__coll__graph.pdf b/latex/classjet_1_1____system__coll__graph.pdf
new file mode 100644
index 0000000..47af9a7
Binary files /dev/null and b/latex/classjet_1_1____system__coll__graph.pdf differ
diff --git a/latex/classjet_1_1____system__inherit__graph.md5 b/latex/classjet_1_1____system__inherit__graph.md5
new file mode 100644
index 0000000..8ce4f6e
--- /dev/null
+++ b/latex/classjet_1_1____system__inherit__graph.md5
@@ -0,0 +1 @@
+a6908ab53d5d63c53f6a3a8c960d6235
\ No newline at end of file
diff --git a/latex/classjet_1_1____system__inherit__graph.pdf b/latex/classjet_1_1____system__inherit__graph.pdf
new file mode 100644
index 0000000..34e6266
Binary files /dev/null and b/latex/classjet_1_1____system__inherit__graph.pdf differ
diff --git a/latex/classjet_1_1____tag.tex b/latex/classjet_1_1____tag.tex
new file mode 100644
index 0000000..4648fa8
--- /dev/null
+++ b/latex/classjet_1_1____tag.tex
@@ -0,0 +1,107 @@
+\doxysection{jet\+::\+\_\+\+\_\+tag Class Reference}
+\hypertarget{classjet_1_1____tag}{}\label{classjet_1_1____tag}\index{jet::\_\_tag@{jet::\_\_tag}}
+
+
+Inheritance diagram for jet\+::\+\_\+\+\_\+tag\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=180pt]{classjet_1_1____tag__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for jet\+::\+\_\+\+\_\+tag\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=266pt]{classjet_1_1____tag__coll__graph}
+\end{center}
+\end{figure}
+\doxysubsubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1____tag_ab44fa98e913c9099652ed2a65c1980b1}\label{classjet_1_1____tag_ab44fa98e913c9099652ed2a65c1980b1}
+{\bfseries \+\_\+\+\_\+tag} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local)
+\end{DoxyCompactItemize}
+\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+{\bfseries Tag} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent=NULL, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local=NULL, coreutils\+::\+ZString split\+Tag\+Name="{}"{})
+\item
+virtual {\bfseries \texorpdfstring{$\sim$}{\string~}\+Tag} ()
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}Constructor \end{DoxyCompactList}\item
+coreutils\+::\+MString {\bfseries get\+Variable} (coreutils\+::\+ZString \&variable, bool in\+Container=false)
+\item
+coreutils\+::\+MString {\bfseries resolve\+Keyword} (coreutils\+::\+ZString keyword)
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}retrieve a vairable value from a text string cotontaining a variable name. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsubsection*{Public Attributes}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1____tag_a7f73a0d37b9eafd2a2764e79a5f10e23}\label{classjet_1_1____tag_a7f73a0d37b9eafd2a2764e79a5f10e23}
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries tags}
+\end{DoxyCompactItemize}
+\doxysubsection*{Public Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries variables}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries keywords}
+\item
+coreutils\+::\+ZString {\bfseries name}
+\item
+coreutils\+::\+ZString {\bfseries container}
+\item
+coreutils\+::\+ZString {\bfseries container2}
+\item
+\mbox{\hyperlink{classjet_1_1Global}{Global}} \& {\bfseries global}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries parent}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries local}
+\end{DoxyCompactItemize}
+\doxysubsubsection*{Additional Inherited Members}
+\doxysubsection*{Protected Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries keyword\+Defined} (coreutils\+::\+ZString variable)
+\item
+void {\bfseries parse\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries process\+Container} (coreutils\+::\+ZString \&container, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries copy\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out)
+\item
+void {\bfseries render\+Variable\+Name} (coreutils\+::\+ZString \&variable, coreutils\+::\+MString \&name, coreutils\+::\+MString \&modifier)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable, coreutils\+::\+MString value, coreutils\+::\+ZString scope)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable)
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries has\+Container} = false
+\item
+bool {\bfseries has\+Container2} = false
+\item
+coreutils\+::\+MString \& {\bfseries parent\+Out}
+\item
+coreutils\+::\+MString {\bfseries out}
+\item
+bool {\bfseries output} = true
+\item
+bool {\bfseries evaluate} = true
+\item
+bool {\bfseries filter\+Blank\+Lines} = false
+\item
+bool {\bfseries trim\+Lines} = false
+\item
+bool {\bfseries clean\+Whitespace} = false
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+\+\_\+\+\_\+tag.\+h\item
+\+\_\+\+\_\+tag.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1____tag__coll__graph.md5 b/latex/classjet_1_1____tag__coll__graph.md5
new file mode 100644
index 0000000..8750feb
--- /dev/null
+++ b/latex/classjet_1_1____tag__coll__graph.md5
@@ -0,0 +1 @@
+13bf0981ea31faccf94046d5e82b667d
\ No newline at end of file
diff --git a/latex/classjet_1_1____tag__coll__graph.pdf b/latex/classjet_1_1____tag__coll__graph.pdf
new file mode 100644
index 0000000..84650c8
Binary files /dev/null and b/latex/classjet_1_1____tag__coll__graph.pdf differ
diff --git a/latex/classjet_1_1____tag__inherit__graph.md5 b/latex/classjet_1_1____tag__inherit__graph.md5
new file mode 100644
index 0000000..568e189
--- /dev/null
+++ b/latex/classjet_1_1____tag__inherit__graph.md5
@@ -0,0 +1 @@
+9437fb5af7b2f0151f25bf842cd6cb5c
\ No newline at end of file
diff --git a/latex/classjet_1_1____tag__inherit__graph.pdf b/latex/classjet_1_1____tag__inherit__graph.pdf
new file mode 100644
index 0000000..9a9189d
Binary files /dev/null and b/latex/classjet_1_1____tag__inherit__graph.pdf differ
diff --git a/latex/classjet_1_1____until.tex b/latex/classjet_1_1____until.tex
new file mode 100644
index 0000000..9e32594
--- /dev/null
+++ b/latex/classjet_1_1____until.tex
@@ -0,0 +1,101 @@
+\doxysection{jet\+::\+\_\+\+\_\+until Class Reference}
+\hypertarget{classjet_1_1____until}{}\label{classjet_1_1____until}\index{jet::\_\_until@{jet::\_\_until}}
+
+
+Inheritance diagram for jet\+::\+\_\+\+\_\+until\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=180pt]{classjet_1_1____until__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for jet\+::\+\_\+\+\_\+until\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=266pt]{classjet_1_1____until__coll__graph}
+\end{center}
+\end{figure}
+\doxysubsubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1____until_a1e95b49aa130d52f26ca84a018b76e63}\label{classjet_1_1____until_a1e95b49aa130d52f26ca84a018b76e63}
+{\bfseries \+\_\+\+\_\+until} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local)
+\end{DoxyCompactItemize}
+\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+{\bfseries Tag} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent=NULL, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local=NULL, coreutils\+::\+ZString split\+Tag\+Name="{}"{})
+\item
+virtual {\bfseries \texorpdfstring{$\sim$}{\string~}\+Tag} ()
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}Constructor \end{DoxyCompactList}\item
+coreutils\+::\+MString {\bfseries get\+Variable} (coreutils\+::\+ZString \&variable, bool in\+Container=false)
+\item
+coreutils\+::\+MString {\bfseries resolve\+Keyword} (coreutils\+::\+ZString keyword)
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}retrieve a vairable value from a text string cotontaining a variable name. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsubsection*{Additional Inherited Members}
+\doxysubsection*{Public Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries variables}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries keywords}
+\item
+coreutils\+::\+ZString {\bfseries name}
+\item
+coreutils\+::\+ZString {\bfseries container}
+\item
+coreutils\+::\+ZString {\bfseries container2}
+\item
+\mbox{\hyperlink{classjet_1_1Global}{Global}} \& {\bfseries global}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries parent}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries local}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries keyword\+Defined} (coreutils\+::\+ZString variable)
+\item
+void {\bfseries parse\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries process\+Container} (coreutils\+::\+ZString \&container, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries copy\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out)
+\item
+void {\bfseries render\+Variable\+Name} (coreutils\+::\+ZString \&variable, coreutils\+::\+MString \&name, coreutils\+::\+MString \&modifier)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable, coreutils\+::\+MString value, coreutils\+::\+ZString scope)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable)
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries has\+Container} = false
+\item
+bool {\bfseries has\+Container2} = false
+\item
+coreutils\+::\+MString \& {\bfseries parent\+Out}
+\item
+coreutils\+::\+MString {\bfseries out}
+\item
+bool {\bfseries output} = true
+\item
+bool {\bfseries evaluate} = true
+\item
+bool {\bfseries filter\+Blank\+Lines} = false
+\item
+bool {\bfseries trim\+Lines} = false
+\item
+bool {\bfseries clean\+Whitespace} = false
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+\+\_\+\+\_\+until.\+h\item
+\+\_\+\+\_\+until.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1____until__coll__graph.md5 b/latex/classjet_1_1____until__coll__graph.md5
new file mode 100644
index 0000000..9bbb14d
--- /dev/null
+++ b/latex/classjet_1_1____until__coll__graph.md5
@@ -0,0 +1 @@
+7501aa6088d9ee769459d360fc141a5c
\ No newline at end of file
diff --git a/latex/classjet_1_1____until__coll__graph.pdf b/latex/classjet_1_1____until__coll__graph.pdf
new file mode 100644
index 0000000..cc2c78b
Binary files /dev/null and b/latex/classjet_1_1____until__coll__graph.pdf differ
diff --git a/latex/classjet_1_1____until__inherit__graph.md5 b/latex/classjet_1_1____until__inherit__graph.md5
new file mode 100644
index 0000000..89d39f8
--- /dev/null
+++ b/latex/classjet_1_1____until__inherit__graph.md5
@@ -0,0 +1 @@
+b3d352ebc205ca4e29bd96d0a333b76d
\ No newline at end of file
diff --git a/latex/classjet_1_1____until__inherit__graph.pdf b/latex/classjet_1_1____until__inherit__graph.pdf
new file mode 100644
index 0000000..6bde6fb
Binary files /dev/null and b/latex/classjet_1_1____until__inherit__graph.pdf differ
diff --git a/latex/classjet_1_1____while.tex b/latex/classjet_1_1____while.tex
new file mode 100644
index 0000000..8ce6959
--- /dev/null
+++ b/latex/classjet_1_1____while.tex
@@ -0,0 +1,101 @@
+\doxysection{jet\+::\+\_\+\+\_\+while Class Reference}
+\hypertarget{classjet_1_1____while}{}\label{classjet_1_1____while}\index{jet::\_\_while@{jet::\_\_while}}
+
+
+Inheritance diagram for jet\+::\+\_\+\+\_\+while\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=180pt]{classjet_1_1____while__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for jet\+::\+\_\+\+\_\+while\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=266pt]{classjet_1_1____while__coll__graph}
+\end{center}
+\end{figure}
+\doxysubsubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1____while_ae35841d6f820aeedce4c14bfe6b8f81d}\label{classjet_1_1____while_ae35841d6f820aeedce4c14bfe6b8f81d}
+{\bfseries \+\_\+\+\_\+while} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local)
+\end{DoxyCompactItemize}
+\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+{\bfseries Tag} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent=NULL, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local=NULL, coreutils\+::\+ZString split\+Tag\+Name="{}"{})
+\item
+virtual {\bfseries \texorpdfstring{$\sim$}{\string~}\+Tag} ()
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}Constructor \end{DoxyCompactList}\item
+coreutils\+::\+MString {\bfseries get\+Variable} (coreutils\+::\+ZString \&variable, bool in\+Container=false)
+\item
+coreutils\+::\+MString {\bfseries resolve\+Keyword} (coreutils\+::\+ZString keyword)
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}retrieve a vairable value from a text string cotontaining a variable name. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsubsection*{Additional Inherited Members}
+\doxysubsection*{Public Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries variables}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries keywords}
+\item
+coreutils\+::\+ZString {\bfseries name}
+\item
+coreutils\+::\+ZString {\bfseries container}
+\item
+coreutils\+::\+ZString {\bfseries container2}
+\item
+\mbox{\hyperlink{classjet_1_1Global}{Global}} \& {\bfseries global}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries parent}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries local}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries keyword\+Defined} (coreutils\+::\+ZString variable)
+\item
+void {\bfseries parse\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries process\+Container} (coreutils\+::\+ZString \&container, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries copy\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out)
+\item
+void {\bfseries render\+Variable\+Name} (coreutils\+::\+ZString \&variable, coreutils\+::\+MString \&name, coreutils\+::\+MString \&modifier)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable, coreutils\+::\+MString value, coreutils\+::\+ZString scope)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable)
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries has\+Container} = false
+\item
+bool {\bfseries has\+Container2} = false
+\item
+coreutils\+::\+MString \& {\bfseries parent\+Out}
+\item
+coreutils\+::\+MString {\bfseries out}
+\item
+bool {\bfseries output} = true
+\item
+bool {\bfseries evaluate} = true
+\item
+bool {\bfseries filter\+Blank\+Lines} = false
+\item
+bool {\bfseries trim\+Lines} = false
+\item
+bool {\bfseries clean\+Whitespace} = false
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+\+\_\+\+\_\+while.\+h\item
+\+\_\+\+\_\+while.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1____while__coll__graph.md5 b/latex/classjet_1_1____while__coll__graph.md5
new file mode 100644
index 0000000..faba56b
--- /dev/null
+++ b/latex/classjet_1_1____while__coll__graph.md5
@@ -0,0 +1 @@
+0d8cc33a264d2a75c89152222668852b
\ No newline at end of file
diff --git a/latex/classjet_1_1____while__coll__graph.pdf b/latex/classjet_1_1____while__coll__graph.pdf
new file mode 100644
index 0000000..1178592
Binary files /dev/null and b/latex/classjet_1_1____while__coll__graph.pdf differ
diff --git a/latex/classjet_1_1____while__inherit__graph.md5 b/latex/classjet_1_1____while__inherit__graph.md5
new file mode 100644
index 0000000..20e7585
--- /dev/null
+++ b/latex/classjet_1_1____while__inherit__graph.md5
@@ -0,0 +1 @@
+05d9da3d20a10efac3fc4d48e8943817
\ No newline at end of file
diff --git a/latex/classjet_1_1____while__inherit__graph.pdf b/latex/classjet_1_1____while__inherit__graph.pdf
new file mode 100644
index 0000000..308ea7c
Binary files /dev/null and b/latex/classjet_1_1____while__inherit__graph.pdf differ
diff --git a/latex/classjet_1_1____whiledir.tex b/latex/classjet_1_1____whiledir.tex
new file mode 100644
index 0000000..058789d
--- /dev/null
+++ b/latex/classjet_1_1____whiledir.tex
@@ -0,0 +1,101 @@
+\doxysection{jet\+::\+\_\+\+\_\+whiledir Class Reference}
+\hypertarget{classjet_1_1____whiledir}{}\label{classjet_1_1____whiledir}\index{jet::\_\_whiledir@{jet::\_\_whiledir}}
+
+
+Inheritance diagram for jet\+::\+\_\+\+\_\+whiledir\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=180pt]{classjet_1_1____whiledir__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for jet\+::\+\_\+\+\_\+whiledir\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=266pt]{classjet_1_1____whiledir__coll__graph}
+\end{center}
+\end{figure}
+\doxysubsubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1____whiledir_ad0dd7799de8bc9e20edbd0ad24dec5ae}\label{classjet_1_1____whiledir_ad0dd7799de8bc9e20edbd0ad24dec5ae}
+{\bfseries \+\_\+\+\_\+whiledir} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local)
+\end{DoxyCompactItemize}
+\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+{\bfseries Tag} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent=NULL, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local=NULL, coreutils\+::\+ZString split\+Tag\+Name="{}"{})
+\item
+virtual {\bfseries \texorpdfstring{$\sim$}{\string~}\+Tag} ()
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}Constructor \end{DoxyCompactList}\item
+coreutils\+::\+MString {\bfseries get\+Variable} (coreutils\+::\+ZString \&variable, bool in\+Container=false)
+\item
+coreutils\+::\+MString {\bfseries resolve\+Keyword} (coreutils\+::\+ZString keyword)
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}retrieve a vairable value from a text string cotontaining a variable name. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsubsection*{Additional Inherited Members}
+\doxysubsection*{Public Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries variables}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries keywords}
+\item
+coreutils\+::\+ZString {\bfseries name}
+\item
+coreutils\+::\+ZString {\bfseries container}
+\item
+coreutils\+::\+ZString {\bfseries container2}
+\item
+\mbox{\hyperlink{classjet_1_1Global}{Global}} \& {\bfseries global}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries parent}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries local}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries keyword\+Defined} (coreutils\+::\+ZString variable)
+\item
+void {\bfseries parse\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries process\+Container} (coreutils\+::\+ZString \&container, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries copy\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out)
+\item
+void {\bfseries render\+Variable\+Name} (coreutils\+::\+ZString \&variable, coreutils\+::\+MString \&name, coreutils\+::\+MString \&modifier)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable, coreutils\+::\+MString value, coreutils\+::\+ZString scope)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable)
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries has\+Container} = false
+\item
+bool {\bfseries has\+Container2} = false
+\item
+coreutils\+::\+MString \& {\bfseries parent\+Out}
+\item
+coreutils\+::\+MString {\bfseries out}
+\item
+bool {\bfseries output} = true
+\item
+bool {\bfseries evaluate} = true
+\item
+bool {\bfseries filter\+Blank\+Lines} = false
+\item
+bool {\bfseries trim\+Lines} = false
+\item
+bool {\bfseries clean\+Whitespace} = false
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+\+\_\+\+\_\+whiledir.\+h\item
+\+\_\+\+\_\+whiledir.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1____whiledir__coll__graph.md5 b/latex/classjet_1_1____whiledir__coll__graph.md5
new file mode 100644
index 0000000..cc0f5bf
--- /dev/null
+++ b/latex/classjet_1_1____whiledir__coll__graph.md5
@@ -0,0 +1 @@
+132b961e1f679746e118ba6d9bed7772
\ No newline at end of file
diff --git a/latex/classjet_1_1____whiledir__coll__graph.pdf b/latex/classjet_1_1____whiledir__coll__graph.pdf
new file mode 100644
index 0000000..d7f1326
Binary files /dev/null and b/latex/classjet_1_1____whiledir__coll__graph.pdf differ
diff --git a/latex/classjet_1_1____whiledir__inherit__graph.md5 b/latex/classjet_1_1____whiledir__inherit__graph.md5
new file mode 100644
index 0000000..c30bebe
--- /dev/null
+++ b/latex/classjet_1_1____whiledir__inherit__graph.md5
@@ -0,0 +1 @@
+81638ab2c5d1c2bc37003458f9d955e9
\ No newline at end of file
diff --git a/latex/classjet_1_1____whiledir__inherit__graph.pdf b/latex/classjet_1_1____whiledir__inherit__graph.pdf
new file mode 100644
index 0000000..6918bdb
Binary files /dev/null and b/latex/classjet_1_1____whiledir__inherit__graph.pdf differ
diff --git a/latex/classjet_1_1____whilerow.tex b/latex/classjet_1_1____whilerow.tex
new file mode 100644
index 0000000..0bc1a5f
--- /dev/null
+++ b/latex/classjet_1_1____whilerow.tex
@@ -0,0 +1,101 @@
+\doxysection{jet\+::\+\_\+\+\_\+whilerow Class Reference}
+\hypertarget{classjet_1_1____whilerow}{}\label{classjet_1_1____whilerow}\index{jet::\_\_whilerow@{jet::\_\_whilerow}}
+
+
+Inheritance diagram for jet\+::\+\_\+\+\_\+whilerow\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=180pt]{classjet_1_1____whilerow__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for jet\+::\+\_\+\+\_\+whilerow\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=266pt]{classjet_1_1____whilerow__coll__graph}
+\end{center}
+\end{figure}
+\doxysubsubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1____whilerow_a0df15f19c1ef0b3b36da408fe3217038}\label{classjet_1_1____whilerow_a0df15f19c1ef0b3b36da408fe3217038}
+{\bfseries \+\_\+\+\_\+whilerow} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local)
+\end{DoxyCompactItemize}
+\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+{\bfseries Tag} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent=NULL, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local=NULL, coreutils\+::\+ZString split\+Tag\+Name="{}"{})
+\item
+virtual {\bfseries \texorpdfstring{$\sim$}{\string~}\+Tag} ()
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}Constructor \end{DoxyCompactList}\item
+coreutils\+::\+MString {\bfseries get\+Variable} (coreutils\+::\+ZString \&variable, bool in\+Container=false)
+\item
+coreutils\+::\+MString {\bfseries resolve\+Keyword} (coreutils\+::\+ZString keyword)
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}retrieve a vairable value from a text string cotontaining a variable name. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsubsection*{Additional Inherited Members}
+\doxysubsection*{Public Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries variables}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries keywords}
+\item
+coreutils\+::\+ZString {\bfseries name}
+\item
+coreutils\+::\+ZString {\bfseries container}
+\item
+coreutils\+::\+ZString {\bfseries container2}
+\item
+\mbox{\hyperlink{classjet_1_1Global}{Global}} \& {\bfseries global}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries parent}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries local}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries keyword\+Defined} (coreutils\+::\+ZString variable)
+\item
+void {\bfseries parse\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries process\+Container} (coreutils\+::\+ZString \&container, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries copy\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out)
+\item
+void {\bfseries render\+Variable\+Name} (coreutils\+::\+ZString \&variable, coreutils\+::\+MString \&name, coreutils\+::\+MString \&modifier)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable, coreutils\+::\+MString value, coreutils\+::\+ZString scope)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable)
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries has\+Container} = false
+\item
+bool {\bfseries has\+Container2} = false
+\item
+coreutils\+::\+MString \& {\bfseries parent\+Out}
+\item
+coreutils\+::\+MString {\bfseries out}
+\item
+bool {\bfseries output} = true
+\item
+bool {\bfseries evaluate} = true
+\item
+bool {\bfseries filter\+Blank\+Lines} = false
+\item
+bool {\bfseries trim\+Lines} = false
+\item
+bool {\bfseries clean\+Whitespace} = false
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+\+\_\+\+\_\+whilerow.\+h\item
+\+\_\+\+\_\+whilerow.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1____whilerow__coll__graph.md5 b/latex/classjet_1_1____whilerow__coll__graph.md5
new file mode 100644
index 0000000..4fe48e3
--- /dev/null
+++ b/latex/classjet_1_1____whilerow__coll__graph.md5
@@ -0,0 +1 @@
+d45927b6c7d253e32f11657d134e3b3d
\ No newline at end of file
diff --git a/latex/classjet_1_1____whilerow__coll__graph.pdf b/latex/classjet_1_1____whilerow__coll__graph.pdf
new file mode 100644
index 0000000..d0bd697
Binary files /dev/null and b/latex/classjet_1_1____whilerow__coll__graph.pdf differ
diff --git a/latex/classjet_1_1____whilerow__inherit__graph.md5 b/latex/classjet_1_1____whilerow__inherit__graph.md5
new file mode 100644
index 0000000..5e04db8
--- /dev/null
+++ b/latex/classjet_1_1____whilerow__inherit__graph.md5
@@ -0,0 +1 @@
+dd44d9f425af658159ca28dc8a60c258
\ No newline at end of file
diff --git a/latex/classjet_1_1____whilerow__inherit__graph.pdf b/latex/classjet_1_1____whilerow__inherit__graph.pdf
new file mode 100644
index 0000000..9aae99d
Binary files /dev/null and b/latex/classjet_1_1____whilerow__inherit__graph.pdf differ
diff --git a/latex/classjet_1_1____write.tex b/latex/classjet_1_1____write.tex
new file mode 100644
index 0000000..ee3e69c
--- /dev/null
+++ b/latex/classjet_1_1____write.tex
@@ -0,0 +1,101 @@
+\doxysection{jet\+::\+\_\+\+\_\+write Class Reference}
+\hypertarget{classjet_1_1____write}{}\label{classjet_1_1____write}\index{jet::\_\_write@{jet::\_\_write}}
+
+
+Inheritance diagram for jet\+::\+\_\+\+\_\+write\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=180pt]{classjet_1_1____write__inherit__graph}
+\end{center}
+\end{figure}
+
+
+Collaboration diagram for jet\+::\+\_\+\+\_\+write\+:\nopagebreak
+\begin{figure}[H]
+\begin{center}
+\leavevmode
+\includegraphics[width=266pt]{classjet_1_1____write__coll__graph}
+\end{center}
+\end{figure}
+\doxysubsubsection*{Public Member Functions}
+\begin{DoxyCompactItemize}
+\item
+\Hypertarget{classjet_1_1____write_addc77d829c5b341cdbf8bdf4d8f37598}\label{classjet_1_1____write_addc77d829c5b341cdbf8bdf4d8f37598}
+{\bfseries \+\_\+\+\_\+write} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local)
+\end{DoxyCompactItemize}
+\doxysubsection*{Public Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+{\bfseries Tag} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&parent\+Out, \mbox{\hyperlink{classjet_1_1Global}{Global}} \&global, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}parent=NULL, \mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*}local=NULL, coreutils\+::\+ZString split\+Tag\+Name="{}"{})
+\item
+virtual {\bfseries \texorpdfstring{$\sim$}{\string~}\+Tag} ()
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}Constructor \end{DoxyCompactList}\item
+coreutils\+::\+MString {\bfseries get\+Variable} (coreutils\+::\+ZString \&variable, bool in\+Container=false)
+\item
+coreutils\+::\+MString {\bfseries resolve\+Keyword} (coreutils\+::\+ZString keyword)
+\begin{DoxyCompactList}\small\item\em \texorpdfstring{$>$}{>}retrieve a vairable value from a text string cotontaining a variable name. \end{DoxyCompactList}\end{DoxyCompactItemize}
+\doxysubsubsection*{Additional Inherited Members}
+\doxysubsection*{Public Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries variables}
+\item
+std\+::map$<$ coreutils\+::\+MString, coreutils\+::\+MString $>$ {\bfseries keywords}
+\item
+coreutils\+::\+ZString {\bfseries name}
+\item
+coreutils\+::\+ZString {\bfseries container}
+\item
+coreutils\+::\+ZString {\bfseries container2}
+\item
+\mbox{\hyperlink{classjet_1_1Global}{Global}} \& {\bfseries global}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries parent}
+\item
+\mbox{\hyperlink{classjet_1_1Tag}{Tag}} \texorpdfstring{$\ast$}{*} {\bfseries local}
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Member Functions inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries keyword\+Defined} (coreutils\+::\+ZString variable)
+\item
+void {\bfseries parse\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries process\+Container} (coreutils\+::\+ZString \&container, coreutils\+::\+ZString container2=NULL, bool top\+Level=false)
+\item
+void {\bfseries copy\+Container} (coreutils\+::\+ZString \&in, coreutils\+::\+MString \&out)
+\item
+void {\bfseries render\+Variable\+Name} (coreutils\+::\+ZString \&variable, coreutils\+::\+MString \&name, coreutils\+::\+MString \&modifier)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable, coreutils\+::\+MString value, coreutils\+::\+ZString scope)
+\item
+void {\bfseries store\+Variable} (coreutils\+::\+ZString variable)
+\end{DoxyCompactItemize}
+\doxysubsection*{Protected Attributes inherited from \mbox{\hyperlink{classjet_1_1Tag}{jet\+::\+Tag}}}
+\begin{DoxyCompactItemize}
+\item
+bool {\bfseries has\+Container} = false
+\item
+bool {\bfseries has\+Container2} = false
+\item
+coreutils\+::\+MString \& {\bfseries parent\+Out}
+\item
+coreutils\+::\+MString {\bfseries out}
+\item
+bool {\bfseries output} = true
+\item
+bool {\bfseries evaluate} = true
+\item
+bool {\bfseries filter\+Blank\+Lines} = false
+\item
+bool {\bfseries trim\+Lines} = false
+\item
+bool {\bfseries clean\+Whitespace} = false
+\end{DoxyCompactItemize}
+
+
+The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
+\item
+\+\_\+\+\_\+write.\+h\item
+\+\_\+\+\_\+write.\+cpp\end{DoxyCompactItemize}
diff --git a/latex/classjet_1_1____write__coll__graph.md5 b/latex/classjet_1_1____write__coll__graph.md5
new file mode 100644
index 0000000..59e7c63
--- /dev/null
+++ b/latex/classjet_1_1____write__coll__graph.md5
@@ -0,0 +1 @@
+4be1611c73de4b1588cd87fe0f4a4eb7
\ No newline at end of file
diff --git a/latex/classjet_1_1____write__coll__graph.pdf b/latex/classjet_1_1____write__coll__graph.pdf
new file mode 100644
index 0000000..1ff9ad3
Binary files /dev/null and b/latex/classjet_1_1____write__coll__graph.pdf differ
diff --git a/latex/classjet_1_1____write__inherit__graph.md5 b/latex/classjet_1_1____write__inherit__graph.md5
new file mode 100644
index 0000000..e8daeac
--- /dev/null
+++ b/latex/classjet_1_1____write__inherit__graph.md5
@@ -0,0 +1 @@
+775cd80e85b53fae3fd0d67d78ac600f
\ No newline at end of file
diff --git a/latex/classjet_1_1____write__inherit__graph.pdf b/latex/classjet_1_1____write__inherit__graph.pdf
new file mode 100644
index 0000000..78020d1
Binary files /dev/null and b/latex/classjet_1_1____write__inherit__graph.pdf differ
diff --git a/latex/doxygen.sty b/latex/doxygen.sty
new file mode 100644
index 0000000..4bfc17f
--- /dev/null
+++ b/latex/doxygen.sty
@@ -0,0 +1,694 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{doxygen}
+
+% Packages used by this style file
+\RequirePackage{alltt}
+%%\RequirePackage{array} %% moved to refman.tex due to workaround for LaTex 2019 version and unmaintained tabu package
+\RequirePackage{calc}
+\RequirePackage{float}
+%%\RequirePackage{ifthen} %% moved to refman.tex due to workaround for LaTex 2019 version and unmaintained tabu package
+\RequirePackage{verbatim}
+\RequirePackage[table]{xcolor}
+\RequirePackage{longtable_doxygen}
+\RequirePackage{tabu_doxygen}
+\RequirePackage{fancyvrb}
+\RequirePackage{tabularx}
+\RequirePackage{multicol}
+\RequirePackage{multirow}
+\RequirePackage{hanging}
+\RequirePackage{ifpdf}
+\RequirePackage{adjustbox}
+\RequirePackage{amssymb}
+\RequirePackage{stackengine}
+\RequirePackage{enumitem}
+\RequirePackage{alphalph}
+\RequirePackage[normalem]{ulem} % for strikeout, but don't modify emphasis
+
+%---------- Internal commands used in this style file ----------------
+
+\newcommand{\ensurespace}[1]{%
+ \begingroup%
+ \setlength{\dimen@}{#1}%
+ \vskip\z@\@plus\dimen@%
+ \penalty -100\vskip\z@\@plus -\dimen@%
+ \vskip\dimen@%
+ \penalty 9999%
+ \vskip -\dimen@%
+ \vskip\z@skip% hide the previous |\vskip| from |\addvspace|
+ \endgroup%
+}
+
+\newcommand{\DoxyHorRuler}[1]{%
+ \setlength{\parskip}{0ex plus 0ex minus 0ex}%
+ \ifthenelse{#1=0}%
+ {%
+ \hrule%
+ }%
+ {%
+ \hrulefilll%
+ }%
+}
+\newcommand{\DoxyLabelFont}{}
+\newcommand{\entrylabel}[1]{%
+ {%
+ \parbox[b]{\labelwidth-4pt}{%
+ \makebox[0pt][l]{\DoxyLabelFont#1}%
+ \vspace{1.5\baselineskip}%
+ }%
+ }%
+}
+
+\newenvironment{DoxyDesc}[1]{%
+ \ensurespace{4\baselineskip}%
+ \begin{list}{}{%
+ \settowidth{\labelwidth}{20pt}%
+ %\setlength{\parsep}{0pt}%
+ \setlength{\itemsep}{0pt}%
+ \setlength{\leftmargin}{\labelwidth+\labelsep}%
+ \renewcommand{\makelabel}{\entrylabel}%
+ }%
+ \item[#1]%
+}{%
+ \end{list}%
+}
+
+\newsavebox{\xrefbox}
+\newlength{\xreflength}
+\newcommand{\xreflabel}[1]{%
+ \sbox{\xrefbox}{#1}%
+ \setlength{\xreflength}{\wd\xrefbox}%
+ \ifthenelse{\xreflength>\labelwidth}{%
+ \begin{minipage}{\textwidth}%
+ \setlength{\parindent}{0pt}%
+ \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}%
+ \end{minipage}%
+ }{%
+ \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}%
+ }%
+}
+
+%---------- Commands used by doxygen LaTeX output generator ----------
+
+% Used by ...
+\newenvironment{DoxyPre}{%
+ \small%
+ \begin{alltt}%
+}{%
+ \end{alltt}%
+ \normalsize%
+}
+% Necessary for redefining not defined characters, i.e. "Replacement Character" in tex output.
+\newlength{\CodeWidthChar}
+\newlength{\CodeHeightChar}
+\settowidth{\CodeWidthChar}{?}
+\settoheight{\CodeHeightChar}{?}
+% Necessary for hanging indent
+\newlength{\DoxyCodeWidth}
+
+\newcommand\DoxyCodeLine[1]{
+ \ifthenelse{\equal{\detokenize{#1}}{}}
+ {
+ \vspace*{\baselineskip}
+ }
+ {
+ \hangpara{\DoxyCodeWidth}{1}{#1}\par
+ }
+}
+
+\newcommand\NiceSpace{%
+ \discretionary{}{\kern\fontdimen2\font}{\kern\fontdimen2\font}%
+}
+
+% Used by @code ... @endcode
+\newenvironment{DoxyCode}[1]{%
+ \par%
+ \scriptsize%
+ \normalfont\ttfamily%
+ \rightskip0pt plus 1fil%
+ \settowidth{\DoxyCodeWidth}{000000}%
+ \settowidth{\CodeWidthChar}{?}%
+ \settoheight{\CodeHeightChar}{?}%
+ \setlength{\parskip}{0ex plus 0ex minus 0ex}%
+ \ifthenelse{\equal{#1}{0}}
+ {
+ {\lccode`~32 \lowercase{\global\let~}\NiceSpace}\obeyspaces%
+ }
+ {
+ {\lccode`~32 \lowercase{\global\let~}}\obeyspaces%
+ }
+
+}{%
+ \normalfont%
+ \normalsize%
+ \settowidth{\CodeWidthChar}{?}%
+ \settoheight{\CodeHeightChar}{?}%
+}
+
+% Redefining not defined characters, i.e. "Replacement Character" in tex output.
+\def\ucr{\adjustbox{width=\CodeWidthChar,height=\CodeHeightChar}{\stackinset{c}{}{c}{-.2pt}{%
+ \textcolor{white}{\sffamily\bfseries\small ?}}{%
+ \rotatebox{45}{$\blacksquare$}}}}
+
+% Used by @example, @include, @includelineno and @dontinclude
+\newenvironment{DoxyCodeInclude}[1]{%
+ \DoxyCode{#1}%
+}{%
+ \endDoxyCode%
+}
+
+% Used by @verbatim ... @endverbatim
+\newenvironment{DoxyVerb}{%
+ \par%
+ \footnotesize%
+ \verbatim%
+}{%
+ \endverbatim%
+ \normalsize%
+}
+
+% Used by @verbinclude
+\newenvironment{DoxyVerbInclude}{%
+ \DoxyVerb%
+}{%
+ \endDoxyVerb%
+}
+
+% Used by numbered lists (using '-#' or ... )
+\setlistdepth{12}
+\newlist{DoxyEnumerate}{enumerate}{12}
+\setlist[DoxyEnumerate,1]{label=\arabic*.}
+\setlist[DoxyEnumerate,2]{label=(\enumalphalphcnt*)}
+\setlist[DoxyEnumerate,3]{label=\roman*.}
+\setlist[DoxyEnumerate,4]{label=\enumAlphAlphcnt*.}
+\setlist[DoxyEnumerate,5]{label=\arabic*.}
+\setlist[DoxyEnumerate,6]{label=(\enumalphalphcnt*)}
+\setlist[DoxyEnumerate,7]{label=\roman*.}
+\setlist[DoxyEnumerate,8]{label=\enumAlphAlphcnt*.}
+\setlist[DoxyEnumerate,9]{label=\arabic*.}
+\setlist[DoxyEnumerate,10]{label=(\enumalphalphcnt*)}
+\setlist[DoxyEnumerate,11]{label=\roman*.}
+\setlist[DoxyEnumerate,12]{label=\enumAlphAlphcnt*.}
+
+% Used by bullet lists (using '-', @li, @arg, or )
+\setlistdepth{12}
+\newlist{DoxyItemize}{itemize}{12}
+\setlist[DoxyItemize]{label=\textperiodcentered}
+
+\setlist[DoxyItemize,1]{label=\textbullet}
+\setlist[DoxyItemize,2]{label=\normalfont\bfseries \textendash}
+\setlist[DoxyItemize,3]{label=\textasteriskcentered}
+\setlist[DoxyItemize,4]{label=\textperiodcentered}
+
+% Used by description lists (using ... )
+\newenvironment{DoxyDescription}{%
+ \description%
+}{%
+ \enddescription%
+}
+
+% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
+% (only if caption is specified)
+\newenvironment{DoxyImage}{%
+ \begin{figure}[H]%
+ \centering%
+}{%
+ \end{figure}%
+}
+
+% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
+% (only if no caption is specified)
+\newenvironment{DoxyImageNoCaption}{%
+ \begin{center}%
+}{%
+ \end{center}%
+}
+
+% Used by @image
+% (only if inline is specified)
+\newenvironment{DoxyInlineImage}{%
+}{%
+}
+
+% Used by @attention
+\newenvironment{DoxyAttention}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @author and @authors
+\newenvironment{DoxyAuthor}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @date
+\newenvironment{DoxyDate}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @invariant
+\newenvironment{DoxyInvariant}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @note
+\newenvironment{DoxyNote}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @post
+\newenvironment{DoxyPostcond}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @pre
+\newenvironment{DoxyPrecond}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @copyright
+\newenvironment{DoxyCopyright}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @remark
+\newenvironment{DoxyRemark}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @return and @returns
+\newenvironment{DoxyReturn}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @since
+\newenvironment{DoxySince}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @see
+\newenvironment{DoxySeeAlso}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @version
+\newenvironment{DoxyVersion}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @warning
+\newenvironment{DoxyWarning}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by @par and @paragraph
+\newenvironment{DoxyParagraph}[1]{%
+ \begin{DoxyDesc}{#1}%
+}{%
+ \end{DoxyDesc}%
+}
+
+% Used by parameter lists
+\newenvironment{DoxyParams}[2][]{%
+ \tabulinesep=1mm%
+ \par%
+ \ifthenelse{\equal{#1}{}}%
+ {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|}}% name + description
+ {\ifthenelse{\equal{#1}{1}}%
+ {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + name + desc
+ {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + type + name + desc
+ }
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
+ \hline%
+ \endfirsthead%
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
+ \hline%
+ \endhead%
+}{%
+ \end{longtabu*}%
+ \vspace{6pt}%
+}
+
+% Used for fields of simple structs
+\newenvironment{DoxyFields}[1]{%
+ \tabulinesep=1mm%
+ \par%
+ \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|X[-1,l]|}%
+ \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endfirsthead%
+ \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endhead%
+}{%
+ \end{longtabu*}%
+ \vspace{6pt}%
+}
+
+% Used for fields simple class style enums
+\newenvironment{DoxyEnumFields}[1]{%
+ \tabulinesep=1mm%
+ \par%
+ \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endfirsthead%
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endhead%
+}{%
+ \end{longtabu*}%
+ \vspace{6pt}%
+}
+
+% Used for parameters within a detailed function description
+\newenvironment{DoxyParamCaption}{%
+ \renewcommand{\item}[2][]{\\ \hspace*{2.0cm} ##1 {\em ##2}}%
+}{%
+}
+
+% Used by return value lists
+\newenvironment{DoxyRetVals}[1]{%
+ \tabulinesep=1mm%
+ \par%
+ \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endfirsthead%
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endhead%
+}{%
+ \end{longtabu*}%
+ \vspace{6pt}%
+}
+
+% Used by exception lists
+\newenvironment{DoxyExceptions}[1]{%
+ \tabulinesep=1mm%
+ \par%
+ \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endfirsthead%
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endhead%
+}{%
+ \end{longtabu*}%
+ \vspace{6pt}%
+}
+
+% Used by template parameter lists
+\newenvironment{DoxyTemplParams}[1]{%
+ \tabulinesep=1mm%
+ \par%
+ \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endfirsthead%
+ \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
+ \hline%
+ \endhead%
+}{%
+ \end{longtabu*}%
+ \vspace{6pt}%
+}
+
+% Used for member lists
+\newenvironment{DoxyCompactItemize}{%
+ \begin{itemize}%
+ \setlength{\itemsep}{-3pt}%
+ \setlength{\parsep}{0pt}%
+ \setlength{\topsep}{0pt}%
+ \setlength{\partopsep}{0pt}%
+}{%
+ \end{itemize}%
+}
+
+% Used for member descriptions
+\newenvironment{DoxyCompactList}{%
+ \begin{list}{}{%
+ \setlength{\leftmargin}{0.5cm}%
+ \setlength{\itemsep}{0pt}%
+ \setlength{\parsep}{0pt}%
+ \setlength{\topsep}{0pt}%
+ \renewcommand{\makelabel}{\hfill}%
+ }%
+}{%
+ \end{list}%
+}
+
+% Used for reference lists (@bug, @deprecated, @todo, etc.)
+\newenvironment{DoxyRefList}{%
+ \begin{list}{}{%
+ \setlength{\labelwidth}{10pt}%
+ \setlength{\leftmargin}{\labelwidth}%
+ \addtolength{\leftmargin}{\labelsep}%
+ \renewcommand{\makelabel}{\xreflabel}%
+ }%
+}{%
+ \end{list}%
+}
+
+% Used by @bug, @deprecated, @todo, etc.
+\newenvironment{DoxyRefDesc}[1]{%
+ \begin{list}{}{%
+ \renewcommand\makelabel[1]{\textbf{##1}}%
+ \settowidth\labelwidth{\makelabel{#1}}%
+ \setlength\leftmargin{\labelwidth+\labelsep}%
+ }%
+}{%
+ \end{list}%
+}
+
+% Used by parameter lists and simple sections
+\newenvironment{Desc}
+{\begin{list}{}{%
+ \settowidth{\labelwidth}{20pt}%
+ \setlength{\parsep}{0pt}%
+ \setlength{\itemsep}{0pt}%
+ \setlength{\leftmargin}{\labelwidth+\labelsep}%
+ \renewcommand{\makelabel}{\entrylabel}%
+ }
+}{%
+ \end{list}%
+}
+
+% Used by tables
+\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}%
+\newenvironment{TabularC}[1]%
+{\tabulinesep=1mm
+\begin{longtabu*}spread 0pt [c]{*#1{|X[-1]}|}}%
+{\end{longtabu*}\par}%
+
+\newenvironment{TabularNC}[1]%
+{\begin{tabu}spread 0pt [l]{*#1{|X[-1]}|}}%
+{\end{tabu}\par}%
+
+% Used for member group headers
+\newenvironment{Indent}{%
+ \begin{list}{}{%
+ \setlength{\leftmargin}{0.5cm}%
+ }%
+ \item[]\ignorespaces%
+}{%
+ \unskip%
+ \end{list}%
+}
+
+% Used when hyperlinks are turned on
+\newcommand{\doxylink}[2]{%
+ \mbox{\hyperlink{#1}{#2}}%
+}
+
+% Used when hyperlinks are turned on
+% Third argument is the SectionType, see the doxygen internal
+% documentation for the values (relevant: Page ... Subsubsection).
+\newcommand{\doxysectlink}[3]{%
+ \mbox{\hyperlink{#1}{#2}}%
+}
+% Used when hyperlinks are turned off
+\newcommand{\doxyref}[3]{%
+ \textbf{#1} (\textnormal{#2}\,\pageref{#3})%
+}
+
+% Used when hyperlinks are turned off
+% Fourth argument is the SectionType, see the doxygen internal
+% documentation for the values (relevant: Page ... Subsubsection).
+\newcommand{\doxysectref}[4]{%
+ \textbf{#1} (\textnormal{#2}\,\pageref{#3})%
+}
+
+% Used to link to a table when hyperlinks are turned on
+\newcommand{\doxytablelink}[2]{%
+ \ref{#1}%
+}
+
+% Used to link to a table when hyperlinks are turned off
+\newcommand{\doxytableref}[3]{%
+ \ref{#3}%
+}
+
+% Used by @addindex
+\newcommand{\lcurly}{\{}
+\newcommand{\rcurly}{\}}
+
+% Colors used for syntax highlighting
+\definecolor{comment}{rgb}{0.5,0.0,0.0}
+\definecolor{keyword}{rgb}{0.0,0.5,0.0}
+\definecolor{keywordtype}{rgb}{0.38,0.25,0.125}
+\definecolor{keywordflow}{rgb}{0.88,0.5,0.0}
+\definecolor{preprocessor}{rgb}{0.5,0.38,0.125}
+\definecolor{stringliteral}{rgb}{0.0,0.125,0.25}
+\definecolor{charliteral}{rgb}{0.0,0.5,0.5}
+\definecolor{xmlcdata}{rgb}{0.0,0.0,0.0}
+\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}
+\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}
+\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}
+\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}
+
+% Color used for table heading
+\newcommand{\tableheadbgcolor}{lightgray}%
+
+% Version of hypertarget with correct landing location
+\newcommand{\Hypertarget}[1]{\Hy@raisedlink{\hypertarget{#1}{}}}
+
+% possibility to have sections etc. be within the margins
+% unfortunately had to copy part of book.cls and add \raggedright
+\makeatletter
+\newcounter{subsubsubsection}[subsubsection]
+\newcounter{subsubsubsubsection}[subsubsubsection]
+\newcounter{subsubsubsubsubsection}[subsubsubsubsection]
+\newcounter{subsubsubsubsubsubsection}[subsubsubsubsubsection]
+\renewcommand{\thesubsubsubsection}{\thesubsubsection.\arabic{subsubsubsection}}
+\renewcommand{\thesubsubsubsubsection}{\thesubsubsubsection.\arabic{subsubsubsubsection}}
+\renewcommand{\thesubsubsubsubsubsection}{\thesubsubsubsubsection.\arabic{subsubsubsubsubsection}}
+\renewcommand{\thesubsubsubsubsubsubsection}{\thesubsubsubsubsubsection.\arabic{subsubsubsubsubsubsection}}
+\newcommand{\subsubsubsectionmark}[1]{}
+\newcommand{\subsubsubsubsectionmark}[1]{}
+\newcommand{\subsubsubsubsubsectionmark}[1]{}
+\newcommand{\subsubsubsubsubsubsectionmark}[1]{}
+\def\toclevel@subsubsubsection{4}
+\def\toclevel@subsubsubsubsection{5}
+\def\toclevel@subsubsubsubsubsection{6}
+\def\toclevel@subsubsubsubsubsubsection{7}
+\def\toclevel@paragraph{8}
+\def\toclevel@subparagraph{9}
+
+\newcommand\doxysection{\@startsection {section}{1}{\z@}%
+ {-3.5ex \@plus -1ex \@minus -.2ex}%
+ {2.3ex \@plus.2ex}%
+ {\raggedright\normalfont\Large\bfseries}}
+\newcommand\doxysubsection{\@startsection{subsection}{2}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\raggedright\normalfont\large\bfseries}}
+\newcommand\doxysubsubsection{\@startsection{subsubsection}{3}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\raggedright\normalfont\normalsize\bfseries}}
+\newcommand\doxysubsubsubsection{\@startsection{subsubsubsection}{4}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\raggedright\normalfont\normalsize\bfseries}}
+\newcommand\doxysubsubsubsubsection{\@startsection{subsubsubsubsection}{5}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\raggedright\normalfont\normalsize\bfseries}}
+\newcommand\doxysubsubsubsubsubsection{\@startsection{subsubsubsubsubsection}{6}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\raggedright\normalfont\normalsize\bfseries}}
+\newcommand\doxysubsubsubsubsubsubsection{\@startsection{subsubsubsubsubsubsection}{7}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\raggedright\normalfont\normalsize\bfseries}}
+\newcommand\doxyparagraph{\@startsection{paragraph}{8}{\z@}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\raggedright\normalfont\normalsize\bfseries}}
+\newcommand\doxysubparagraph{\@startsection{subparagraph}{9}{\parindent}%
+ {-3.25ex\@plus -1ex \@minus -.2ex}%
+ {1.5ex \@plus .2ex}%
+ {\raggedright\normalfont\normalsize\bfseries}}
+
+\newcommand\l@subsubsubsection{\@dottedtocline{4}{6.1em}{7.8em}}
+\newcommand\l@subsubsubsubsection{\@dottedtocline{5}{6.1em}{9.4em}}
+\newcommand\l@subsubsubsubsubsection{\@dottedtocline{6}{6.1em}{11em}}
+\newcommand\l@subsubsubsubsubsubsection{\@dottedtocline{7}{6.1em}{12.6em}}
+\renewcommand\l@paragraph{\@dottedtocline{8}{6.1em}{14.2em}}
+\renewcommand\l@subparagraph{\@dottedtocline{9}{6.1em}{15.8em}}
+\makeatother
+% the sectsty doesn't look to be maintained but gives, in our case, some warning like:
+% LaTeX Warning: Command \underline has changed.
+% Check if current package is valid.
+% unfortunately had to copy the relevant part
+\newcommand*{\doxypartfont} [1]
+ {\gdef\SS@partnumberfont{\SS@sectid{0}\SS@nopart\SS@makeulinepartchap#1}
+ \gdef\SS@parttitlefont{\SS@sectid{0}\SS@titlepart\SS@makeulinepartchap#1}}
+\newcommand*{\doxychapterfont} [1]
+ {\gdef\SS@chapnumfont{\SS@sectid{1}\SS@nopart\SS@makeulinepartchap#1}
+ \gdef\SS@chaptitlefont{\SS@sectid{1}\SS@titlepart\SS@makeulinepartchap#1}}
+\newcommand*{\doxysectionfont} [1]
+ {\gdef\SS@sectfont{\SS@sectid{2}\SS@rr\SS@makeulinesect#1}}
+\newcommand*{\doxysubsectionfont} [1]
+ {\gdef\SS@subsectfont{\SS@sectid{3}\SS@rr\SS@makeulinesect#1}}
+\newcommand*{\doxysubsubsectionfont} [1]
+ {\gdef\SS@subsubsectfont{\SS@sectid{4}\SS@rr\SS@makeulinesect#1}}
+\newcommand*{\doxyparagraphfont} [1]
+ {\gdef\SS@parafont{\SS@sectid{5}\SS@rr\SS@makeulinesect#1}}
+\newcommand*{\doxysubparagraphfont} [1]
+ {\gdef\SS@subparafont{\SS@sectid{6}\SS@rr\SS@makeulinesect#1}}
+\newcommand*{\doxyminisecfont} [1]
+ {\gdef\SS@minisecfont{\SS@sectid{7}\SS@rr\SS@makeulinepartchap#1}}
+\newcommand*{\doxyallsectionsfont} [1] {\doxypartfont{#1}%
+ \doxychapterfont{#1}%
+ \doxysectionfont{#1}%
+ \doxysubsectionfont{#1}%
+ \doxysubsubsectionfont{#1}%
+ \doxyparagraphfont{#1}%
+ \doxysubparagraphfont{#1}%
+ \doxyminisecfont{#1}}%
+% Define caption that is also suitable in a table
+\makeatletter
+\def\doxyfigcaption{%
+\H@refstepcounter{figure}%
+\@dblarg{\@caption{figure}}}
+\makeatother
+
+% Define alpha enumarative names for counters > 26
+\makeatletter
+\def\enumalphalphcnt#1{\expandafter\@enumalphalphcnt\csname c@#1\endcsname}
+\def\@enumalphalphcnt#1{\alphalph{#1}}
+\def\enumAlphAlphcnt#1{\expandafter\@enumAlphAlphcnt\csname c@#1\endcsname}
+\def\@enumAlphAlphcnt#1{\AlphAlph{#1}}
+\makeatother
+\AddEnumerateCounter{\enumalphalphcnt}{\@enumalphalphcnt}{aa}
+\AddEnumerateCounter{\enumAlphAlphcnt}{\@enumAlphAlphcnt}{AA}
diff --git a/latex/etoc_doxygen.sty b/latex/etoc_doxygen.sty
new file mode 100644
index 0000000..5f7e127
--- /dev/null
+++ b/latex/etoc_doxygen.sty
@@ -0,0 +1,2178 @@
+%%
+%% This is file etoc_doxygen.sty
+%%
+%% Apart from this header notice and the renaming from etoc to
+%% etoc_doxygen (also in \ProvidesPackage) it is an identical
+%% copy of
+%%
+%% etoc.sty
+%%
+%% at version 1.2b of 2023/07/01.
+%%
+%% This file has been provided to Doxygen team courtesy of the
+%% author for benefit of users having a LaTeX installation not
+%% yet providing version 1.2a or later of etoc, whose
+%% deeplevels feature is required.
+%%
+%% The original source etoc.dtx (only of the latest version at
+%% any given time) is available at
+%%
+%% https://ctan.org/pkg/etoc
+%%
+%% and contains the terms for copying and modification as well
+%% as author contact information.
+%%
+%% In brief any modified versions of this file must be renamed
+%% with new filenames distinct from etoc.sty.
+%%
+%% Package: etoc
+%% Version: 1.2b
+%% License: LPPL 1.3c
+%% Copyright (C) 2012-2023 Jean-Francois B.
+\NeedsTeXFormat{LaTeX2e}[2003/12/01]
+\ProvidesPackage{etoc_doxygen}[2023/07/01 v1.2b Completely customisable TOCs (JFB)]
+\newif\ifEtoc@oldLaTeX
+\@ifl@t@r\fmtversion{2020/10/01}
+ {}
+ {\Etoc@oldLaTeXtrue
+ \PackageInfo{etoc}{Old LaTeX (\fmtversion) detected!\MessageBreak
+ Since 1.1a (2023/01/14), etoc prefers LaTeX at least\MessageBreak
+ as recent as 2020-10-01, for reasons of the .toc file,\MessageBreak
+ and used to require it (from 1.1a to 1.2).\MessageBreak
+ This etoc (1.2b) does not *require* it, but has not been\MessageBreak
+ tested thoroughly on old LaTeX (especially if document\MessageBreak
+ does not use hyperref) and retrofitting was done only\MessageBreak
+ on basis of author partial remembrances of old context.\MessageBreak
+ Reported}}
+\RequirePackage{kvoptions}
+\SetupKeyvalOptions{prefix=Etoc@}
+\newif\ifEtoc@lof
+\DeclareVoidOption{lof}{\Etoc@loftrue
+ \PackageInfo{etoc}{Experimental support for \string\locallistoffigures.\MessageBreak
+ Barely tested, use at own risk}%
+}
+\newif\ifEtoc@lot
+\DeclareVoidOption{lot}{\Etoc@lottrue
+ \PackageInfo{etoc}{Experimental support for \string\locallistoftables.\MessageBreak
+ Barely tested, use at own risk}%
+}
+\@ifclassloaded{memoir}{
+\PackageInfo{etoc}
+ {As this is with memoir class, all `...totoc' options\MessageBreak
+ are set true by default. Reported}
+\DeclareBoolOption[true]{maintoctotoc}
+\DeclareBoolOption[true]{localtoctotoc}
+\DeclareBoolOption[true]{localloftotoc}
+\DeclareBoolOption[true]{locallottotoc}
+}{
+\DeclareBoolOption[false]{maintoctotoc}
+\DeclareBoolOption[false]{localtoctotoc}
+\DeclareBoolOption[false]{localloftotoc}
+\DeclareBoolOption[false]{locallottotoc}
+}
+\DeclareBoolOption[true]{ouroboros}
+\DeclareBoolOption[false]{deeplevels}
+\DeclareDefaultOption{\PackageWarning{etoc}{Option `\CurrentOption' is unknown.}}
+\ProcessKeyvalOptions*
+\DisableKeyvalOption[action=error,package=etoc]{etoc}{lof}
+\DisableKeyvalOption[action=error,package=etoc]{etoc}{lot}
+\DisableKeyvalOption[action=error,package=etoc]{etoc}{deeplevels}
+\def\etocsetup#1{\setkeys{etoc}{#1}}
+\def\etocifmaintoctotoc{\ifEtoc@maintoctotoc
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi}
+\def\etociflocaltoctotoc{\ifEtoc@localtoctotoc
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi}
+\def\etociflocalloftotoc{\ifEtoc@localloftotoc
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi}
+\def\etociflocallottotoc{\ifEtoc@locallottotoc
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi}
+\RequirePackage{multicol}
+\def\etoc@{\etoc@}
+\long\def\Etoc@gobtoetoc@ #1\etoc@{}
+\newtoks\Etoc@toctoks
+\def\Etoc@par{\par}
+\def\etocinline{\def\Etoc@par{}}
+\let\etocnopar\etocinline
+\def\etocdisplay{\def\Etoc@par{\par}}
+\let\Etoc@global\@empty
+\def\etocglobaldefs{\let\Etoc@global\global\let\tof@global\global}
+\def\etoclocaldefs {\let\Etoc@global\@empty\let\tof@global\@empty}
+\newif\ifEtoc@numbered
+\newif\ifEtoc@hyperref
+\newif\ifEtoc@parskip
+\newif\ifEtoc@tocwithid
+\newif\ifEtoc@standardlines
+\newif\ifEtoc@etocstyle
+\newif\ifEtoc@classstyle
+\newif\ifEtoc@keeporiginaltoc
+\newif\ifEtoc@skipprefix
+\newif\ifEtoc@isfirst
+\newif\ifEtoc@localtoc
+\newif\ifEtoc@skipthisone
+\newif\ifEtoc@stoptoc
+\newif\ifEtoc@notactive
+\newif\ifEtoc@mustclosegroup
+\newif\ifEtoc@isemptytoc
+\newif\ifEtoc@checksemptiness
+\def\etocchecksemptiness {\Etoc@checksemptinesstrue }
+\def\etocdoesnotcheckemptiness {\Etoc@checksemptinessfalse }
+\newif\ifEtoc@notocifnotoc
+\def\etocnotocifnotoc {\Etoc@checksemptinesstrue\Etoc@notocifnotoctrue }
+\newcounter{etoc@tocid}
+\def\Etoc@tocext{toc}
+\def\Etoc@lofext{lof}
+\def\Etoc@lotext{lot}
+\let\Etoc@currext\Etoc@tocext
+\def\etocifislocal{\ifEtoc@localtoc\expandafter\@firstoftwo\else
+ \expandafter\@secondoftwo\fi
+ }
+\def\etocifislocaltoc{\etocifislocal{\ifx\Etoc@currext\Etoc@tocext
+ \expandafter\@firstoftwo\else
+ \expandafter\@secondoftwo\fi}%
+ {\@secondoftwo}%
+ }
+\def\etocifislocallof{\etocifislocal{\ifx\Etoc@currext\Etoc@lofext
+ \expandafter\@firstoftwo\else
+ \expandafter\@secondoftwo\fi}%
+ {\@secondoftwo}%
+ }
+\def\etocifislocallot{\etocifislocal{\ifx\Etoc@currext\Etoc@lotext
+ \expandafter\@firstoftwo\else
+ \expandafter\@secondoftwo\fi}%
+ {\@secondoftwo}%
+ }
+\expandafter\def\csname Etoc@-3@@\endcsname {-\thr@@}
+\expandafter\def\csname Etoc@-2@@\endcsname {-\tw@}
+\expandafter\let\csname Etoc@-1@@\endcsname \m@ne
+\expandafter\let\csname Etoc@0@@\endcsname \z@
+\expandafter\let\csname Etoc@1@@\endcsname \@ne
+\expandafter\let\csname Etoc@2@@\endcsname \tw@
+\expandafter\let\csname Etoc@3@@\endcsname \thr@@
+\expandafter\chardef\csname Etoc@4@@\endcsname 4
+\expandafter\chardef\csname Etoc@5@@\endcsname 5
+\expandafter\chardef\csname Etoc@6@@\endcsname 6
+\ifEtoc@deeplevels
+ \expandafter\chardef\csname Etoc@7@@\endcsname 7
+ \expandafter\chardef\csname Etoc@8@@\endcsname 8
+ \expandafter\chardef\csname Etoc@9@@\endcsname 9
+ \expandafter\chardef\csname Etoc@10@@\endcsname 10
+ \expandafter\chardef\csname Etoc@11@@\endcsname 11
+ \expandafter\chardef\csname Etoc@12@@\endcsname 12
+\fi
+\expandafter\let\expandafter\Etoc@maxlevel
+ \csname Etoc@\ifEtoc@deeplevels12\else6\fi @@\endcsname
+\edef\etocthemaxlevel{\number\Etoc@maxlevel}
+\@ifclassloaded{memoir}{\def\Etoc@minf{-\thr@@}}{\def\Etoc@minf{-\tw@}}
+\let\Etoc@none@@ \Etoc@minf
+\expandafter\let\expandafter\Etoc@all@@
+ \csname Etoc@\ifEtoc@deeplevels11\else5\fi @@\endcsname
+\let\Etoc@dolevels\@empty
+\def\Etoc@newlevel #1{\expandafter\def\expandafter\Etoc@dolevels\expandafter
+ {\Etoc@dolevels\Etoc@do{#1}}}
+\ifdefined\expanded
+ \def\etocsetlevel#1#2{\expanded{\noexpand\etoc@setlevel{#1}{#2}}}%
+\else
+ \def\etocsetlevel#1#2{{\edef\Etoc@tmp{\noexpand\etoc@setlevel{#1}{#2}}\expandafter}\Etoc@tmp}%
+\fi
+\def\etoc@setlevel#1#2{%
+ \edef\Etoc@tmp{\the\numexpr#2}%
+ \if1\ifnum\Etoc@tmp>\Etoc@maxlevel0\fi\unless\ifnum\Etoc@minf<\Etoc@tmp;\fi1%
+ \ifEtoc@deeplevels
+ \in@{.#1,}{.none,.all,.figure,.table,.-3,.-2,.-1,.0,.1,.2,.3,.4,.5,.6,%
+ .7,.8,.9,.10,.11,.12,}%
+ \else
+ \in@{.#1,}{.none,.all,.figure,.table,.-3,.-2,.-1,.0,.1,.2,.3,.4,.5,.6,}%
+ \fi
+ \ifin@\else\if\@car#1\@nil @\in@true\fi\fi
+ \ifin@
+ \PackageWarning{etoc}
+ {Sorry, but `#1' is forbidden as level name.\MessageBreak
+ \if\@car#1\@nil @%
+ (because of the @ as first character)\MessageBreak\fi
+ Reported}%
+ \else
+ \etocifunknownlevelTF{#1}{\Etoc@newlevel{#1}}{}%
+ \expandafter\let\csname Etoc@#1@@\expandafter\endcsname
+ \csname Etoc@\Etoc@tmp @@\endcsname
+ \expandafter\edef\csname Etoc@@#1@@\endcsname
+ {\expandafter\noexpand\csname Etoc@#1@@\endcsname}%
+ \expandafter\edef\csname toclevel@@#1\endcsname
+ {\expandafter\noexpand\csname toclevel@#1\endcsname}%
+ \fi
+ \else
+ \PackageWarning{etoc}
+ {Argument `\detokenize{#2}' of \string\etocsetlevel\space should
+ represent one of\MessageBreak
+ \ifnum\Etoc@minf=-\thr@@-2, \fi-1, 0, 1, 2, \ifEtoc@deeplevels ...\else3, 4\fi,
+ \the\numexpr\Etoc@maxlevel-1, or \number\Etoc@maxlevel\space
+ but evaluates to \Etoc@tmp.\MessageBreak
+ The level of `#1' will be set to \number\Etoc@maxlevel.\MessageBreak
+ Tables of contents will ignore `#1' as long\MessageBreak
+ as its level is \number\Etoc@maxlevel\space (=\string\etocthemaxlevel).%
+ \MessageBreak
+ Reported}%
+ \etocifunknownlevelTF{#1}{\Etoc@newlevel{#1}}{}%
+ \expandafter\let\csname Etoc@#1@@\endcsname\Etoc@maxlevel
+ \fi
+}
+\def\etoclevel#1{\csname Etoc@#1@@\endcsname}
+\def\etocthelevel#1{\number\csname Etoc@#1@@\endcsname}
+\def\etocifunknownlevelTF#1{\@ifundefined{Etoc@#1@@}}
+\@ifclassloaded{memoir}{\etocsetlevel{book}{-2}}{}
+\etocsetlevel{part}{-1}
+\etocsetlevel{chapter}{0}
+\etocsetlevel{section}{1}
+\etocsetlevel{subsection}{2}
+\etocsetlevel{subsubsection}{3}
+\etocsetlevel{paragraph}{4}
+\etocsetlevel{subparagraph}{5}
+\ifdefined\c@chapter
+ \etocsetlevel{appendix}{0}
+\else
+ \etocsetlevel{appendix}{1}
+\fi
+\def\Etoc@do#1{\@namedef{l@@#1}{\csname l@#1\endcsname}}
+\Etoc@dolevels
+\let\Etoc@figure@@\Etoc@maxlevel
+\let\Etoc@table@@ \Etoc@maxlevel
+\let\Etoc@gobblethreeorfour\@gobblefour
+\ifdefined\@gobblethree
+ \let\Etoc@gobblethree\@gobblethree
+\else
+ \long\def\Etoc@gobblethree#1#2#3{}%
+\fi
+\AtBeginDocument{%
+\@ifpackageloaded{parskip}{\Etoc@parskiptrue}{}%
+\@ifpackageloaded{hyperref}
+ {\Etoc@hyperreftrue}
+ {\ifEtoc@oldLaTeX
+ \let\Etoc@gobblethreeorfour\Etoc@gobblethree
+ \let\Etoc@etoccontentsline@fourargs\Etoc@etoccontentsline@
+ \long\def\Etoc@etoccontentsline@#1#2#3{%
+ \Etoc@etoccontentsline@fourargs{#1}{#2}{#3}{}%
+ }%
+ \fi
+ }%
+}
+\def\etocskipfirstprefix {\global\Etoc@skipprefixtrue }
+\def\Etoc@updatestackofends#1\etoc@{\gdef\Etoc@stackofends{#1}}
+\def\Etoc@stackofends{{-3}{}}
+\def\Etoc@doendsandbegin{%
+ \expandafter\Etoc@traversestackofends\Etoc@stackofends\etoc@
+}
+\def\Etoc@traversestackofends#1{%
+ \ifnum#1>\Etoc@level
+ \csname Etoc@end@#1\endcsname
+ \expandafter\Etoc@traversestackofends
+ \else
+ \Etoc@traversestackofends@done{#1}%
+ \fi
+}
+\def\Etoc@traversestackofends@done#1#2{#2%
+ \ifnum#1<\Etoc@level
+ \csname Etoc@begin@\the\numexpr\Etoc@level\endcsname
+ \Etoc@global\Etoc@isfirsttrue
+ \edef\Etoc@tmp{{\the\numexpr\Etoc@level}}%
+ \else
+ \Etoc@global\Etoc@isfirstfalse
+ \let\Etoc@tmp\@empty
+ \fi
+ \expandafter\Etoc@updatestackofends\Etoc@tmp{#1}%
+}
+\def\Etoc@etoccontentsline #1{%
+ \let\Etoc@next\Etoc@gobblethreeorfour
+ \ifnum\csname Etoc@#1@@\endcsname=\Etoc@maxlevel
+ \else
+ \Etoc@skipthisonefalse
+ \global\expandafter\let\expandafter\Etoc@level\csname Etoc@#1@@\endcsname
+ \if @\@car#1\@nil\else\global\let\Etoc@virtualtop\Etoc@level\fi
+ \ifEtoc@localtoc
+ \ifEtoc@stoptoc
+ \Etoc@skipthisonetrue
+ \else
+ \ifEtoc@notactive
+ \Etoc@skipthisonetrue
+ \else
+ \unless\ifnum\Etoc@level>\etoclocaltop
+ \Etoc@skipthisonetrue
+ \global\Etoc@stoptoctrue
+ \fi
+ \fi
+ \fi
+ \fi
+ \ifEtoc@skipthisone
+ \else
+ \unless\ifnum\Etoc@level>\c@tocdepth
+ \ifEtoc@standardlines
+ \let\Etoc@next\Etoc@savedcontentsline
+ \else
+ \let\Etoc@next\Etoc@etoccontentsline@
+ \fi
+ \fi
+ \fi
+ \fi
+ \Etoc@next{#1}%
+}
+\def\Etoc@etoccontentsline@ #1#2#3#4{%
+ \Etoc@doendsandbegin
+ \Etoc@global\edef\Etoc@prefix {\expandafter\noexpand
+ \csname Etoc@prefix@\the\numexpr\Etoc@level\endcsname }%
+ \Etoc@global\edef\Etoc@contents{\expandafter\noexpand
+ \csname Etoc@contents@\the\numexpr\Etoc@level\endcsname }%
+ \ifEtoc@skipprefix \Etoc@global\def\Etoc@prefix{\@empty}\fi
+ \global\Etoc@skipprefixfalse
+ \Etoc@lxyz{#2}{#3}{#4}%
+ \Etoc@prefix
+ \Etoc@contents
+}
+\def\Etoc@lxyz #1#2#3{%
+ \ifEtoc@hyperref
+ \Etoc@global\def\etocthelink##1{\hyperlink{#3}{##1}}%
+ \else
+ \Etoc@global\let\etocthelink\@firstofone
+ \fi
+ \Etoc@global\def\etocthepage {#2}%
+ \ifEtoc@hyperref
+ \ifx\etocthepage\@empty
+ \Etoc@global\let\etocthelinkedpage\@empty
+ \else
+ \Etoc@global\def\etocthelinkedpage{\hyperlink {#3}{#2}}%
+ \fi
+ \else
+ \Etoc@global\let\etocthelinkedpage\etocthepage
+ \fi
+ \Etoc@global\def\etocthename{#1}%
+ \futurelet\Etoc@getnb@token\Etoc@@getnb #1\hspace\etoc@
+ \ifEtoc@hyperref
+ \def\Etoc@tmp##1##2{\Etoc@global\def##2{\hyperlink{#3}{##1}}}%
+ \expandafter\Etoc@tmp\expandafter{\etocthename}\etocthelinkedname
+ \ifEtoc@numbered
+ \expandafter\Etoc@tmp\expandafter{\etocthenumber}\etocthelinkednumber
+ \else
+ \Etoc@global\let\etocthelinkednumber\@empty
+ \fi
+ \else
+ \Etoc@global\let\etocthelinkedname \etocthename
+ \Etoc@global\let\etocthelinkednumber\etocthenumber
+ \fi
+ \Etoc@global\expandafter\let\csname etoclink \endcsname \etocthelink
+ \Etoc@global\expandafter\let\csname etocname \endcsname \etocthename
+ \Etoc@global\expandafter\let\csname etocnumber \endcsname\etocthenumber
+ \Etoc@global\expandafter\let\csname etocpage \endcsname \etocthepage
+ \ifEtoc@hyperref
+ \Etoc@lxyz@linktoc
+ \fi
+}
+\def\Etoc@lxyz@linktoc{%
+ \ifcase\Hy@linktoc
+ \or
+ \Etoc@global\expandafter\let\csname etocname \endcsname\etocthelinkedname
+ \Etoc@global\expandafter\let\csname etocnumber \endcsname\etocthelinkednumber
+ \or % page
+ \Etoc@global\expandafter\let\csname etocpage \endcsname\etocthelinkedpage
+ \else % all
+ \Etoc@global\expandafter\let\csname etocname \endcsname\etocthelinkedname
+ \Etoc@global\expandafter\let\csname etocnumber \endcsname\etocthelinkednumber
+ \Etoc@global\expandafter\let\csname etocpage \endcsname\etocthelinkedpage
+ \fi
+}
+\def\Etoc@@getnb {%
+ \let\Etoc@next\Etoc@getnb
+ \ifx\Etoc@getnb@token\@sptoken\let\Etoc@next\Etoc@getnb@nonbr\fi
+ \ifx\Etoc@getnb@token\bgroup \let\Etoc@next\Etoc@getnb@nonbr\fi
+ \Etoc@next
+}
+\def\Etoc@getnb #1{%
+ \in@{#1}{\numberline\chapternumberline\partnumberline\booknumberline}%
+ \ifin@
+ \let\Etoc@next\Etoc@getnb@nmbrd
+ \else
+ \ifnum\Etoc@level=\m@ne
+ \let\Etoc@next\Etoc@@getit
+ \else
+ \let\Etoc@next\Etoc@getnb@nonbr
+ \fi
+ \in@{#1}{\nonumberline}%
+ \ifin@
+ \let\Etoc@next\Etoc@getnb@nonumberline
+ \fi
+ \fi
+ \Etoc@next #1%
+}
+\def\Etoc@getnb@nmbrd #1#2{%
+ \Etoc@global\Etoc@numberedtrue
+ \Etoc@global\def\etocthenumber {#2}%
+ \Etoc@getnb@nmbrd@getname\@empty
+}%
+\def\Etoc@getnb@nmbrd@getname #1\hspace\etoc@ {%
+ \Etoc@global\expandafter\def\expandafter\etocthename\expandafter{#1}%
+}
+\def\Etoc@getnb@nonbr #1\etoc@ {%
+ \Etoc@global\Etoc@numberedfalse
+ \Etoc@global\let\etocthenumber \@empty
+}
+\def\Etoc@getnb@nonumberline #1\hspace\etoc@ {%
+ \Etoc@global\Etoc@numberedfalse
+ \Etoc@global\let\etocthenumber \@empty
+ \Etoc@global\expandafter\def\expandafter\etocthename\expandafter{\@gobble#1}%
+}
+\def\Etoc@@getit #1\hspace#2{%
+ \ifx\etoc@#2%
+ \Etoc@global\Etoc@numberedfalse
+ \Etoc@global\let\etocthenumber \@empty
+ \else
+ \Etoc@global\Etoc@numberedtrue
+ \Etoc@global\def\etocthenumber {#1}%
+ \expandafter\Etoc@getit@getname \expandafter\@empty
+ \fi
+}
+\def\Etoc@getit@getname #1\hspace\etoc@ {%
+ \Etoc@global\expandafter\def\expandafter\etocthename\expandafter{#1}%
+}
+\let\etocthename \@empty
+\let\etocthenumber \@empty
+\let\etocthepage \@empty
+\let\etocthelinkedname \@empty
+\let\etocthelinkednumber \@empty
+\let\etocthelinkedpage \@empty
+\let\etocthelink \@firstofone
+\DeclareRobustCommand*{\etocname} {}
+\DeclareRobustCommand*{\etocnumber}{}
+\DeclareRobustCommand*{\etocpage} {}
+\DeclareRobustCommand*{\etoclink} {\@firstofone}
+\DeclareRobustCommand*{\etocifnumbered}
+ {\ifEtoc@numbered\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}
+\expandafter\let\expandafter\etocxifnumbered\csname etocifnumbered \endcsname
+\DeclareRobustCommand*{\etociffirst}
+ {\ifEtoc@isfirst\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}
+\expandafter\let\expandafter\etocxiffirst\csname etociffirst \endcsname
+\def\Etoc@readtoc {%
+ \ifeof \Etoc@tf
+ \else
+ \read \Etoc@tf to \Etoc@buffer
+ \Etoc@toctoks=\expandafter\expandafter\expandafter
+ {\expandafter\the\expandafter\Etoc@toctoks\Etoc@buffer}%
+ \expandafter\Etoc@readtoc
+ \fi
+}
+\Etoc@toctoks {}% (superfluous, but for clarity)
+\AtBeginDocument{\IfFileExists{\jobname.toc}
+ {{\endlinechar=\m@ne
+ \makeatletter
+ \newread\Etoc@tf
+ \openin\Etoc@tf\@filef@und
+ \Etoc@readtoc
+ \global\Etoc@toctoks=\expandafter{\the\Etoc@toctoks}%
+ \closein\Etoc@tf}}
+ {\typeout{No file \jobname.toc.}}}
+\def\Etoc@openouttoc{%
+ \ifEtoc@hyperref
+ \ifx\hyper@last\@undefined
+ \IfFileExists{\jobname .toc}
+ {\Hy@WarningNoLine
+ {old toc file detected; run LaTeX again (cheers from `etoc')}%
+ \global\Etoc@toctoks={}%
+ }
+ {}%
+ \fi
+ \fi
+ \if@filesw
+ \newwrite \tf@toc
+ \immediate \openout \tf@toc \jobname .toc\relax
+ \fi
+ \global\let\Etoc@openouttoc\empty
+}
+\def\Etoc@toctoc{%
+ \gdef\Etoc@stackofends{{-3}{}}%
+ \global\let\Etoc@level\Etoc@minf
+ \global\let\Etoc@virtualtop\Etoc@minf
+ \the\Etoc@toctoks
+ \ifEtoc@notactive
+ \else
+ \gdef\Etoc@level{-\thr@@}%
+ \Etoc@doendsandbegin
+ \fi
+}
+\def\Etoc@@startlocaltoc#1#2{%
+ \ifEtoc@localtoc
+ \ifnum #1=#2\relax
+ \global\let\etoclocaltop\Etoc@virtualtop
+ \Etoc@@startlocaltochook
+ \etoclocaltableofcontentshook
+ \ifEtoc@etocstyle
+ \etocetoclocaltocmaketitle
+ \fi
+ \ifx\Etoc@aftertitlehook\@empty
+ \else
+ \ifEtoc@localtoctotoc
+ \ifEtoc@ouroboros
+ \else
+ \let\Etoc@tmp\contentsline
+ \def\contentsline{\let\contentsline\Etoc@tmp\Etoc@gobblethreeorfour}%
+ \fi
+ \fi
+ \fi
+ \global\Etoc@notactivefalse
+ \fi
+ \fi
+}
+\let\etoc@startlocaltoc\@gobble
+\let\Etoc@@startlocaltoc@toc\Etoc@@startlocaltoc
+\let\Etoc@@startlocaltochook\@empty
+\unless\ifEtoc@deeplevels
+ \def\etocdivisionnameatlevel#1{%
+ \ifcase\numexpr#1\relax
+ \ifdefined\c@chapter chapter\else section\fi%
+ \or section%
+ \or subsection%
+ \or subsubsection%
+ \or paragraph%
+ \or subparagraph%
+ \or empty%
+ \else\ifnum\numexpr#1<\m@ne
+ book%
+ \else
+ part%
+ \fi
+ \fi
+ }
+\else
+ \def\etocdivisionnameatlevel#1{%
+ \ifcase\numexpr#1\relax
+ \ifdefined\c@chapter chapter\else section\fi%
+ \or section%
+ \or subsection%
+ \or subsubsection%
+ \or subsubsubsection%
+ \or subsubsubsubsection%
+ \or subsubsubsubsubsection%
+ \or subsubsubsubsubsubsection%
+ \or paragraph%
+ \or subparagraph%
+ \else\ifnum\numexpr#1>\z@
+ empty%
+ \else\ifnum\numexpr#1=\m@ne
+ part%
+ \else
+ book%
+ \fi\fi
+ \fi
+ }
+\fi
+\def\etoclocalheadtotoc#1#2{\addcontentsline{toc}{@#1}{#2}}
+\def\etocglobalheadtotoc{\addcontentsline{toc}}
+\providecommand*\UseName{\@nameuse}
+\def\etocetoclocaltocmaketitle{%
+ \UseName{\etocdivisionnameatlevel{\etoclocaltop+1}}*{\localcontentsname}%
+ \if@noskipsec\leavevmode\par\fi
+ \etociflocaltoctotoc
+ {\etocifisstarred
+ {}% star variant, do not add to toc
+ {\etoclocalheadtotoc
+ {\etocdivisionnameatlevel{\etoclocaltop+1}}%
+ {\localcontentsname}%
+ }%
+ }%
+ {}%
+}%
+\def\localcontentsname {\contentsname}%
+\let\etoclocaltableofcontentshook\@empty
+\if1\ifEtoc@lof0\fi\ifEtoc@lot0\fi1%
+\else
+\AtBeginDocument{%
+ \let\Etoc@originaladdcontentsline\addcontentsline
+ \def\addcontentsline{\Etoc@hackedaddcontentsline}%
+}%
+\fi
+\ifEtoc@lof
+ \ifEtoc@lot
+ \def\Etoc@hackedaddcontentsline#1{%
+ \expanded{\noexpand\in@{.#1,}}{.lof,.lot,}%
+ \ifin@\expandafter\Etoc@hackedaddcontentsline@i
+ \else\expandafter\Etoc@originaladdcontentsline
+ \fi {#1}}
+ \else
+ \def\Etoc@hackedaddcontentsline#1{%
+ \expanded{\noexpand\in@{.#1,}}{.lof,}%
+ \ifin@\expandafter\Etoc@hackedaddcontentsline@i
+ \else\expandafter\Etoc@originaladdcontentsline
+ \fi {#1}}
+ \fi
+\else
+ \def\Etoc@hackedaddcontentsline#1{%
+ \expanded{\noexpand\in@{.#1,}}{.lot,}%
+ \ifin@\expandafter\Etoc@hackedaddcontentsline@i
+ \else\expandafter\Etoc@originaladdcontentsline
+ \fi {#1}}
+\fi
+\def\Etoc@hackedaddcontentsline@i#1#2#3{%
+ \expanded{\noexpand\in@{.#1;#2,}}{.lof;figure,.lot;table,}%
+ \ifin@
+ \addtocontents {toc}{%
+ \protect\contentsline{#2}{#3}{\thepage}{\ifEtoc@hyperref\@currentHref\fi}%
+ \ifdefined\protected@file@percent\protected@file@percent\fi
+ }%
+ \fi
+ \Etoc@originaladdcontentsline{#1}{#2}{#3}%
+}
+\unless\ifdefined\expanded
+ \def\Etoc@hackedaddcontentsline#1{%
+ {\edef\Etoc@tmp{\noexpand\in@{.#1,}{\ifEtoc@lof.lof,\fi\ifEtoc@lot.lot,\fi}}\expandafter}%
+ \Etoc@tmp
+ \ifin@\expandafter\Etoc@hackedaddcontentsline@i
+ \else\expandafter\Etoc@originaladdcontentsline
+ \fi {#1}%
+ }
+ \def\Etoc@hackedaddcontentsline@i#1#2#3{%
+ {\edef\Etoc@tmp{\noexpand\in@{.#1;#2,}}\expandafter}%
+ \Etoc@tmp{.lof;figure,.lot;table,}%
+ \ifin@
+ \addtocontents {toc}{%
+ \protect\contentsline{#2}{#3}{\thepage}{\ifEtoc@hyperref\@currentHref\fi}%
+ \ifdefined\protected@file@percent\protected@file@percent\fi
+ }%
+ \fi
+ \Etoc@originaladdcontentsline{#1}{#2}{#3}%
+ }
+\fi
+\def\Etoc@@startlocallistof#1#2#3{%
+ \ifEtoc@localtoc
+ \ifnum #2=#3\relax
+ \global\let\etoclocaltop\Etoc@virtualtop
+ \global\Etoc@notactivefalse
+ \Etoc@@startlocaltochook
+ \csname etoclocallistof#1shook\endcsname
+ \ifEtoc@etocstyle
+ \csname etocetoclistof#1smaketitle\endcsname
+ \fi
+ \fi
+ \fi
+}
+\def\Etoc@@startlocallistof@setlevels#1{%
+ \ifnum\etoclocaltop<\z@
+ \expandafter\let\csname Etoc@#1@@\endcsname\@ne
+ \else
+ \expandafter\let\csname Etoc@#1@@\expandafter\endcsname
+ \csname Etoc@\the\numexpr\etoclocaltop+\@ne @@\endcsname
+ \fi
+ \def\Etoc@do##1{%
+ \ifnum\etoclevel{##1}>\etoclocaltop
+ \expandafter\let\csname Etoc@##1@@\endcsname\Etoc@maxlevel
+ \fi}%
+ \Etoc@dolevels
+}
+\def\etoclocallistoffigureshook{\etocstandardlines}
+\def\etoclocallistoftableshook {\etocstandardlines}
+\def\locallistfigurename{\listfigurename}
+\def\locallisttablename {\listtablename}
+\def\etocetoclistoffiguresmaketitle{%
+ \UseName{\etocdivisionnameatlevel{\etoclocaltop+1}}*{\locallistfigurename}%
+ \ifnum\etoclocaltop>\tw@\mbox{}\par\fi
+ \etociflocalloftotoc
+ {\etocifisstarred
+ {}% star variant, do not add to toc
+ {\etoclocalheadtotoc
+ {\etocdivisionnameatlevel{\etoclocaltop+1}}%
+ {\locallistfigurename}%
+ }%
+ }%
+ {}%
+}%
+\def\etocetoclistoftablesmaketitle{%
+ \UseName{\etocdivisionnameatlevel{\etoclocaltop+1}}*{\locallisttablename}%
+ \ifnum\etoclocaltop>\tw@\mbox{}\par\fi
+ \etociflocallottotoc
+ {\etocifisstarred
+ {}% star variant, do not add to toc
+ {\etoclocalheadtotoc
+ {\etocdivisionnameatlevel{\etoclocaltop+1}}%
+ {\locallisttablename}%
+ }%
+ }%
+ {}%
+}%
+\let\Etoc@listofreset\@empty
+\ifEtoc@lof
+ \def\locallistoffigures{%
+ \def\Etoc@listofreset{%
+ \let\Etoc@currext\Etoc@tocext
+ \let\Etoc@@startlocaltoc\Etoc@@startlocaltoc@toc
+ \let\Etoc@@startlocaltochook\@empty
+ \let\Etoc@listofreset\@empty
+ \let\Etoc@listofhook\@empty
+ }%
+ \let\Etoc@currext\Etoc@lofext
+ \def\Etoc@@startlocaltoc{\Etoc@@startlocallistof{figure}}%
+ \def\Etoc@@startlocaltochook{\Etoc@@startlocallistof@setlevels{figure}}%
+ \def\Etoc@listofhook{%
+ \def\Etoc@do####1{%
+ \expandafter\let\csname Etoc@@####1@@\endcsname\Etoc@maxlevel
+ }%
+ \Etoc@dolevels
+ }%
+ \localtableofcontents
+ }
+\else
+ \def\locallistoffigures{%
+ \PackageError{etoc}{%
+ \string\locallistoffigures \on@line\space but\MessageBreak
+ package was loaded without `lof' option}%
+ {Try again with \string\usepackage[lof]{etoc}}%
+ }
+\fi
+\ifEtoc@lot
+ \def\locallistoftables{%
+ \def\Etoc@listofreset{%
+ \let\Etoc@currext\Etoc@tocext
+ \let\Etoc@@startlocaltoc\Etoc@@startlocaltoc@toc
+ \let\Etoc@@startlocaltochook\@empty
+ \let\Etoc@listofreset\@empty
+ \let\Etoc@listofhook\@empty
+ }%
+ \let\Etoc@currext\Etoc@lotext
+ \def\Etoc@@startlocaltoc{\Etoc@@startlocallistof{table}}%
+ \def\Etoc@@startlocaltochook{\Etoc@@startlocallistof@setlevels{table}}%
+ \def\Etoc@listofhook{%
+ \def\Etoc@do####1{%
+ \expandafter\let\csname Etoc@@####1@@\endcsname\Etoc@maxlevel
+ }%
+ \Etoc@dolevels
+ }%
+ \localtableofcontents
+ }
+\else
+ \def\locallistoftables{%
+ \PackageError{etoc}{%
+ \string\locallistoftable \on@line\space but\MessageBreak
+ package was loaded without `lot' option}%
+ {Try again with \string\usepackage[lot]{etoc}}%
+ }
+\fi
+\def\Etoc@checkifempty {%
+ \global\Etoc@isemptytoctrue
+ \global\Etoc@stoptocfalse
+ \global\let\Etoc@level\Etoc@minf
+ \global\let\Etoc@virtualtop\Etoc@minf
+ \gdef\Etoc@stackofends{{-3}{}}%
+ \begingroup
+ \ifEtoc@localtoc
+ \def\etoc@startlocaltoc##1{%
+ \ifnum##1=\Etoc@tocid\relax
+ \global\let\etoclocaltop\Etoc@virtualtop
+ \Etoc@@startlocaltochook
+ \global\Etoc@notactivefalse
+ \fi
+ }%
+ \let\contentsline\Etoc@testingcontentslinelocal
+ \else
+ \let\contentsline\Etoc@testingcontentsline
+ \fi
+ \Etoc@storetocdepth
+ \let\Etoc@setlocaltop@doendsandbegin\@empty
+ \the\Etoc@toctoks
+ \Etoc@restoretocdepth
+ \endgroup
+}
+\DeclareRobustCommand*\etocifwasempty
+ {\ifEtoc@isemptytoc\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi }
+\expandafter\let\expandafter\etocxifwasempty\csname etocifwasempty \endcsname
+\def\Etoc@testingcontentslinelocal #1{%
+ \ifEtoc@stoptoc
+ \else
+ \ifnum\csname Etoc@#1@@\endcsname=\Etoc@maxlevel
+ \else
+ \global\expandafter\let\expandafter\Etoc@level\csname Etoc@#1@@\endcsname
+ \if @\@car#1\@nil\else\global\let\Etoc@virtualtop\Etoc@level\fi
+ \ifEtoc@notactive
+ \else
+ \ifnum\Etoc@level>\etoclocaltop
+ \unless\ifnum\Etoc@level>\c@tocdepth
+ \global\Etoc@isemptytocfalse
+ \global\Etoc@stoptoctrue
+ \fi
+ \else
+ \global\Etoc@stoptoctrue
+ \fi
+ \fi
+ \fi
+ \fi
+ \Etoc@gobblethreeorfour{}%
+}
+\def\Etoc@testingcontentsline #1{%
+ \ifEtoc@stoptoc
+ \else
+ \ifnum\csname Etoc@#1@@\endcsname=\Etoc@maxlevel
+ \else
+ \unless\ifnum\csname Etoc@#1@@\endcsname>\c@tocdepth
+ \global\Etoc@isemptytocfalse
+ \global\Etoc@stoptoctrue
+ \fi
+ \fi
+ \fi
+ \Etoc@gobblethreeorfour{}%
+}
+\def\Etoc@localtableofcontents#1{%
+ \gdef\etoclocaltop{-\@m}%
+ \Etoc@localtoctrue
+ \global\Etoc@isemptytocfalse
+ \edef\Etoc@tocid{#1}%
+ \ifnum\Etoc@tocid<\@ne
+ \setbox0\hbox{\ref{Unknown toc ref \@secondoftwo#1. \space Rerun LaTeX}}%
+ \global\Etoc@stoptoctrue
+ \gdef\etoclocaltop{-\thr@@}%
+ \Etoc@tableofcontents
+ \expandafter\Etoc@gobtoetoc@
+ \fi
+ \global\Etoc@notactivetrue
+ \ifEtoc@checksemptiness
+ \Etoc@checkifempty
+ \fi
+ \ifEtoc@isemptytoc
+ \ifEtoc@notactive
+ \setbox0\hbox{\ref{Unknown toc ID \number\Etoc@tocid. \space Rerun LaTeX}}%
+ \global\Etoc@isemptytocfalse
+ \global\Etoc@stoptoctrue
+ \gdef\etoclocaltop{-\thr@@}%
+ \Etoc@tableofcontents
+ \expandafter\expandafter\expandafter\Etoc@gobtoetoc@
+ \fi
+ \else
+ \global\Etoc@stoptocfalse
+ \global\Etoc@notactivetrue
+ \edef\etoc@startlocaltoc##1%
+ {\noexpand\Etoc@@startlocaltoc{##1}{\Etoc@tocid}}%
+ \Etoc@tableofcontents
+ \fi
+ \@gobble\etoc@
+ \endgroup\ifEtoc@mustclosegroup\endgroup\fi
+ \Etoc@tocdepthreset
+ \Etoc@listofreset
+ \etocaftertochook
+}% \Etoc@localtableofcontents
+\def\Etoc@getref #1{%
+ \@ifundefined{r@#1}
+ {0}
+ {\expandafter\Etoc@getref@i\romannumeral-`0%
+ \expandafter\expandafter\expandafter
+ \@car\csname r@#1\endcsname0\@nil\@etoc
+ }%
+}
+\def\Etoc@getref@i#1#2\@etoc{\ifnum9<1\string#1 #1#2\else 0\fi}
+\def\Etoc@ref#1{\Etoc@localtableofcontents{\Etoc@getref{#1}}}
+\def\Etoc@label#1{\label{#1}\futurelet\Etoc@nexttoken\Etoc@t@bleofcontents}
+\@firstofone{\def\Etoc@again} {\futurelet\Etoc@nexttoken\Etoc@t@bleofcontents}
+\def\Etoc@dothis #1#2\etoc@ {\fi #1}
+\def\Etoc@t@bleofcontents{%
+ \gdef\etoclocaltop{-\@M}%
+ \ifx\Etoc@nexttoken\label\Etoc@dothis{\expandafter\Etoc@label\@gobble}\fi
+ \ifx\Etoc@nexttoken\@sptoken\Etoc@dothis{\Etoc@again}\fi
+ \ifx\Etoc@nexttoken\ref\Etoc@dothis{\expandafter\Etoc@ref\@gobble}\fi
+ \ifEtoc@tocwithid\Etoc@dothis{\Etoc@localtableofcontents{\c@etoc@tocid}}\fi
+ \global\Etoc@isemptytocfalse
+ \ifEtoc@checksemptiness\Etoc@checkifempty\fi
+ \ifEtoc@isemptytoc
+ \ifEtoc@notocifnotoc
+ \expandafter\expandafter\expandafter\@gobble
+ \fi
+ \fi
+ \Etoc@tableofcontents
+ \endgroup
+ \ifEtoc@mustclosegroup\endgroup\fi
+ \Etoc@tocdepthreset
+ \Etoc@listofreset
+ \etocaftertochook
+ \@gobble\etoc@
+ }% \Etoc@t@bleofcontents
+\def\Etoc@table@fcontents{%
+ \refstepcounter{etoc@tocid}%
+ \Etoc@tocwithidfalse
+ \futurelet\Etoc@nexttoken\Etoc@t@bleofcontents
+}
+\def\Etoc@localtable@fcontents{%
+ \refstepcounter{etoc@tocid}%
+ \addtocontents{toc}{\string\etoc@startlocaltoc{\the\c@etoc@tocid}}%
+ \Etoc@tocwithidtrue
+ \futurelet\Etoc@nexttoken\Etoc@t@bleofcontents
+}
+\def\etoctableofcontents{%
+ \Etoc@openouttoc
+ \Etoc@tocdepthset
+ \begingroup
+ \@ifstar
+ {\let\Etoc@aftertitlehook\@empty\Etoc@table@fcontents}
+ {\def\Etoc@aftertitlehook{\etocaftertitlehook}\Etoc@table@fcontents}%
+}% \etoctableofcontents
+\def\etocifisstarred{\ifx\Etoc@aftertitlehook\@empty
+ \expandafter\@firstoftwo\else
+ \expandafter\@secondoftwo
+ \fi}
+\let\etocoriginaltableofcontents\tableofcontents
+\let\tableofcontents\etoctableofcontents
+\let\Etoc@listofhook\@empty
+\newcommand*\localtableofcontents{%
+ \Etoc@openouttoc
+ \Etoc@tocdepthset
+ \begingroup
+ \Etoc@listofhook
+ \@ifstar
+ {\let\Etoc@aftertitlehook\@empty\Etoc@localtable@fcontents}
+ {\def\Etoc@aftertitlehook{\etocaftertitlehook}\Etoc@localtable@fcontents}%
+}% \localtableofcontents
+\newcommand*\localtableofcontentswithrelativedepth[1]{%
+ \def\Etoc@@startlocaltochook{%
+ \global\c@tocdepth\numexpr\etoclocaltop+#1\relax
+ }%
+ \def\Etoc@listofreset{\let\Etoc@@startlocaltochook\@empty
+ \let\Etoc@listofreset\@empty}%
+ \localtableofcontents
+}% \localtableofcontentswithrelativedepth
+\newcommand\etocsettocstyle[2]{%
+ \Etoc@etocstylefalse
+ \Etoc@classstylefalse
+ \def\Etoc@tableofcontents@user@before{#1}%
+ \def\Etoc@tableofcontents@user@after {#2}%
+}%
+\def\etocstoretocstyleinto#1{%
+%% \@ifdefinable#1{%
+ \edef#1{\noexpand\Etoc@etocstylefalse\noexpand\Etoc@classstylefalse
+ \def\noexpand\Etoc@tableofcontents@user@before{%
+ \unexpanded\expandafter{\Etoc@tableofcontents@user@before}%
+ }%
+ \def\noexpand\Etoc@tableofcontents@user@after{%
+ \unexpanded\expandafter{\Etoc@tableofcontents@user@after}%
+ }%
+ }%
+%% }%
+}%
+\def\Etoc@tableofcontents {%
+ \Etoc@tableofcontents@etoc@before
+ \ifEtoc@localtoc\ifEtoc@etocstyle\expandafter\expandafter\expandafter\@gobble\fi\fi
+ \Etoc@tableofcontents@user@before
+ \Etoc@tableofcontents@contents
+ \ifEtoc@localtoc\ifEtoc@etocstyle\expandafter\expandafter\expandafter\@gobble\fi\fi
+ \Etoc@tableofcontents@user@after
+ \Etoc@tableofcontents@etoc@after
+ \@gobble\etoc@
+}
+\def\Etoc@tableofcontents@etoc@before{%
+ \ifnum\c@tocdepth>\Etoc@minf
+ \else
+ \expandafter\Etoc@gobtoetoc@
+ \fi
+ \Etoc@par
+ \Etoc@beforetitlehook
+ \etocbeforetitlehook
+ \Etoc@storetocdepth
+ \let\Etoc@savedcontentsline\contentsline
+ \let\contentsline\Etoc@etoccontentsline
+ \ifEtoc@standardlines
+ \else
+ \def\Etoc@do##1{%
+ \expandafter\def\csname etocsaved##1tocline\endcsname
+ {\PackageError{etoc}{%
+ \expandafter\string\csname etocsaved##1tocline\endcsname\space
+ has been deprecated\MessageBreak
+ at 1.1a and is removed at 1.2.\MessageBreak
+ Use \expandafter\string\csname l@##1\endcsname\space directly.\MessageBreak
+ Reported \on@line}%
+ {I will use \expandafter\string
+ \csname l@##1\endcsname\space myself for this time.%
+ }%
+ \csname l@##1\endcsname
+ }%
+ }%
+ \Etoc@dolevels
+ \fi
+}%
+\def\Etoc@tableofcontents@contents{%
+ \Etoc@tocdepthset
+ \ifEtoc@parskip\parskip\z@skip\fi
+ \Etoc@aftertitlehook
+ \gdef\etoclocaltop{-\thr@@}%
+ \Etoc@toctoc
+ \etocaftercontentshook
+}%
+\def\Etoc@tableofcontents@etoc@after{%
+ \@nobreakfalse
+ \Etoc@restoretocdepth
+ \ifx\Etoc@global\global
+ \@ifundefined{tof@finish}
+ {}
+ {\ifx\tof@finish\@empty
+ \else
+ \global\let\contentsline\Etoc@savedcontentsline
+ \fi
+ }%
+ \fi
+}
+\def\etocsetstyle#1{\ifcsname Etoc@#1@@\endcsname
+ \expandafter\Etoc@setstyle@a
+ \else
+ \expandafter\Etoc@setstyle@error
+ \fi {#1}%
+}
+\def\Etoc@setstyle@error #1{%
+ \PackageWarning{etoc}{`#1' is unknown to etoc. \space Did you\MessageBreak
+ forget some \string\etocsetlevel{#1}{}?\MessageBreak
+ Reported}%
+ \@gobblefour
+}
+\def\Etoc@setstyle@a #1{%
+ \edef\Etoc@tmp{\the\numexpr\csname Etoc@#1@@\endcsname}%
+ \if1\unless\ifnum\Etoc@tmp<\Etoc@maxlevel 0\fi
+ \unless\ifnum\Etoc@tmp>\Etoc@minf 0\fi1%
+ \Etoc@standardlinesfalse
+ \expandafter\Etoc@setstyle@b\expandafter\Etoc@tmp
+ \else
+ \ifnum\Etoc@tmp=\Etoc@maxlevel
+ \in@{.#1,}{.figure,.table,}%
+ \ifin@
+ \PackageWarning{etoc}
+ {You can not use \string\etocsetstyle\space with `#1'.\MessageBreak
+ Check the package documentation (in particular about\MessageBreak
+ \string\etoclocallistoffigureshook/\string\etoclocallistoftableshook)%
+ \MessageBreak on how to customize
+ figure and table entries in local\MessageBreak lists. Reported}%
+ \else
+ \PackageInfo{etoc}
+ {Attempt to set the style of `#1',\MessageBreak
+ whose level is currently the maximal one \etocthemaxlevel,\MessageBreak
+ which is never displayed. \space This will be ignored\MessageBreak
+ but note that we do quit compatibility mode.\MessageBreak
+ Reported}%
+ \Etoc@standardlinesfalse
+ \fi
+ \else
+ \PackageWarning{etoc}{This should not happen. Reported}%
+ \fi
+ \expandafter\@gobblefour
+ \fi
+}
+\long\def\Etoc@setstyle@b#1#2#3#4#5{%
+ \expandafter\def\csname Etoc@begin@#1\endcsname {#2}%
+ \expandafter\def\csname Etoc@prefix@#1\endcsname {#3}%
+ \expandafter\def\csname Etoc@contents@#1\endcsname {#4}%
+ \expandafter\def\csname Etoc@end@#1\endcsname {#5}%
+}
+\def\Etoc@setstyle@e#1{%
+ \expandafter\let\csname Etoc@begin@#1\endcsname \@empty
+ \expandafter\let\csname Etoc@prefix@#1\endcsname \@empty
+ \expandafter\let\csname Etoc@contents@#1\endcsname \@empty
+ \expandafter\let\csname Etoc@end@#1\endcsname \@empty
+}
+\def\Etoc@storelines@a#1{%
+ \noexpand\Etoc@setstyle@b{#1}%
+ {\expandafter\Etoc@expandonce\csname Etoc@begin@#1\endcsname}%
+ {\expandafter\Etoc@expandonce\csname Etoc@prefix@#1\endcsname}%
+ {\expandafter\Etoc@expandonce\csname Etoc@contents@#1\endcsname}%
+ {\expandafter\Etoc@expandonce\csname Etoc@end@#1\endcsname}%
+}
+\def\Etoc@expandonce#1{\unexpanded\expandafter{#1}}
+\def\etocstorelinestylesinto#1{%
+ \edef#1{\Etoc@storelines@a{-2}\Etoc@storelines@a{-1}\Etoc@storelines@a{0}%
+ \Etoc@storelines@a {1}\Etoc@storelines@a {2}\Etoc@storelines@a{3}%
+ \Etoc@storelines@a {4}\Etoc@storelines@a {5}%
+ \ifEtoc@deeplevels
+ \Etoc@storelines@a{6}\Etoc@storelines@a{7}\Etoc@storelines@a{8}%
+ \Etoc@storelines@a{9}\Etoc@storelines@a{10}\Etoc@storelines@a{11}%
+ \fi
+ }%
+}
+\def\etocstorethislinestyleinto#1#2{%
+ \edef#2{\expandafter\Etoc@storelines@a\expandafter{\number\etoclevel{#1}}}%
+}%
+\def\etocfontminustwo {\normalfont \LARGE \bfseries}
+\def\etocfontminusone {\normalfont \large \bfseries}
+\def\etocfontzero {\normalfont \large \bfseries}
+\def\etocfontone {\normalfont \normalsize \bfseries}
+\def\etocfonttwo {\normalfont \normalsize}
+\def\etocfontthree {\normalfont \footnotesize}
+\def\etocsepminustwo {4ex \@plus .5ex \@minus .5ex}
+\def\etocsepminusone {4ex \@plus .5ex \@minus .5ex}
+\def\etocsepzero {2.5ex \@plus .4ex \@minus .4ex}
+\def\etocsepone {1.5ex \@plus .3ex \@minus .3ex}
+\def\etocseptwo {.5ex \@plus .1ex \@minus .1ex}
+\def\etocsepthree {.25ex \@plus .05ex \@minus .05ex}
+\def\etocbaselinespreadminustwo {1}
+\def\etocbaselinespreadminusone {1}
+\def\etocbaselinespreadzero {1}
+\def\etocbaselinespreadone {1}
+\def\etocbaselinespreadtwo {1}
+\def\etocbaselinespreadthree {.9}
+\def\etocminustwoleftmargin {1.5em plus 0.5fil}
+\def\etocminustworightmargin {1.5em plus -0.5fil}
+\def\etocminusoneleftmargin {1em}
+\def\etocminusonerightmargin {1em}
+\def\etoctoclineleaders
+ {\hbox{\normalfont\normalsize\hb@xt@2ex {\hss.\hss}}}
+\def\etocabbrevpagename {p.~}
+\def\etocpartname {Part}
+\def\etocbookname {Book}
+\def\etocdefaultlines{%
+ \Etoc@standardlinesfalse
+ \etocdefaultlines@setbook
+ \etocdefaultlines@setpart
+ \etocdefaultlines@setchapter
+ \etocdefaultlines@setsection
+ \etocdefaultlines@setsubsection
+ \etocdefaultlines@setsubsubsection
+ \etocdefaultlines@setdeeperones
+}
+\def\etocnoprotrusion{\leavevmode\kern-\p@\kern\p@}
+\@ifclassloaded{memoir}{%
+ \def\etocdefaultlines@setbook{%
+ \Etoc@setstyle@b
+ {-2}%
+ {\addpenalty\@M\etocskipfirstprefix}
+ {\addpenalty\@secpenalty}
+ {\begingroup
+ \etocfontminustwo
+ \addvspace{\etocsepminustwo}%
+ \parindent \z@
+ \leftskip \etocminustwoleftmargin
+ \rightskip \etocminustworightmargin
+ \parfillskip \@flushglue
+ \vbox{\etocifnumbered{\etoclink{\etocbookname\enspace\etocthenumber:\quad}}{}%
+ \etocname
+ \baselineskip\etocbaselinespreadminustwo\baselineskip
+ \par}%
+ \addpenalty\@M\addvspace{\etocsepminusone}%
+ \endgroup}
+ {}%
+ }
+ }{\let\etocdefaultlines@setbook\@empty}
+\def\etocdefaultlines@setpart{%
+\Etoc@setstyle@b
+ {-1}%
+ {\addpenalty\@M\etocskipfirstprefix}
+ {\addpenalty\@secpenalty}
+ {\begingroup
+ \etocfontminusone
+ \addvspace{\etocsepminusone}%
+ \parindent \z@
+ \leftskip \etocminusoneleftmargin
+ \rightskip \etocminusonerightmargin
+ \parfillskip \@flushglue
+ \vbox{\etocifnumbered{\etoclink{\etocpartname\enspace\etocthenumber.\quad}}{}%
+ \etocname
+ \baselineskip\etocbaselinespreadminusone\baselineskip
+ \par}%
+ \addpenalty\@M\addvspace{\etocsepzero}%
+ \endgroup}
+ {}%
+}
+\def\etocdefaultlines@setchapter{%
+\Etoc@setstyle@b
+ {0}%
+ {\addpenalty\@M\etocskipfirstprefix}
+ {\addpenalty\@itempenalty}
+ {\begingroup
+ \etocfontzero
+ \addvspace{\etocsepzero}%
+ \parindent \z@ \parfillskip \@flushglue
+ \vbox{\etocifnumbered{\etocnumber.\enspace}{}\etocname
+ \baselineskip\etocbaselinespreadzero\baselineskip
+ \par}%
+ \endgroup}
+ {\addpenalty{-\@highpenalty}\addvspace{\etocsepminusone}}%
+}
+\def\etocdefaultlines@setsection{%
+\Etoc@setstyle@b
+ {1}%
+ {\addpenalty\@M\etocskipfirstprefix}
+ {\addpenalty\@itempenalty}
+ {\begingroup
+ \etocfontone
+ \addvspace{\etocsepone}%
+ \parindent \z@ \parfillskip \z@
+ \setbox\z@\vbox{\parfillskip\@flushglue
+ \etocname\par
+ \setbox\tw@\lastbox
+ \global\setbox\@ne\hbox{\unhbox\tw@\ }}%
+ \dimen\z@=\wd\@ne
+ \setbox\z@=\etoctoclineleaders
+ \advance\dimen\z@\wd\z@
+ \etocifnumbered
+ {\setbox\tw@\hbox{\etocnumber, \etocabbrevpagename\etocpage\etocnoprotrusion}}
+ {\setbox\tw@\hbox{\etocabbrevpagename\etocpage\etocnoprotrusion}}%
+ \advance\dimen\z@\wd\tw@
+ \ifdim\dimen\z@ < \linewidth
+ \vbox{\etocname~%
+ \leaders\box\z@\hfil\box\tw@
+ \baselineskip\etocbaselinespreadone\baselineskip
+ \par}%
+ \else
+ \vbox{\etocname~%
+ \leaders\copy\z@\hfil\break
+ \hbox{}\leaders\box\z@\hfil\box\tw@
+ \baselineskip\etocbaselinespreadone\baselineskip
+ \par}%
+ \fi
+ \endgroup}
+ {\addpenalty\@secpenalty\addvspace{\etocsepzero}}%
+}
+\def\etocdefaultlines@setsubsection{%
+\Etoc@setstyle@b
+ {2}%
+ {\addpenalty\@medpenalty\etocskipfirstprefix}
+ {\addpenalty\@itempenalty}
+ {\begingroup
+ \etocfonttwo
+ \addvspace{\etocseptwo}%
+ \parindent \z@ \parfillskip \z@
+ \setbox\z@\vbox{\parfillskip\@flushglue
+ \etocname\par\setbox\tw@\lastbox
+ \global\setbox\@ne\hbox{\unhbox\tw@}}%
+ \dimen\z@=\wd\@ne
+ \setbox\z@=\etoctoclineleaders
+ \advance\dimen\z@\wd\z@
+ \etocifnumbered
+ {\setbox\tw@\hbox{\etocnumber, \etocabbrevpagename\etocpage\etocnoprotrusion}}
+ {\setbox\tw@\hbox{\etocabbrevpagename\etocpage\etocnoprotrusion}}%
+ \advance\dimen\z@\wd\tw@
+ \ifdim\dimen\z@ < \linewidth
+ \vbox{\etocname~%
+ \leaders\box\z@\hfil\box\tw@
+ \baselineskip\etocbaselinespreadtwo\baselineskip
+ \par}%
+ \else
+ \vbox{\etocname~%
+ \leaders\copy\z@\hfil\break
+ \hbox{}\leaders\box\z@\hfil\box\tw@
+ \baselineskip\etocbaselinespreadtwo\baselineskip
+ \par}%
+ \fi
+ \endgroup}
+ {\addpenalty\@secpenalty\addvspace{\etocsepone}}%
+}
+\def\etocdefaultlines@setsubsubsection{%
+\Etoc@setstyle@b
+ {3}%
+ {\addpenalty\@M
+ \etocfontthree
+ \vspace{\etocsepthree}%
+ \noindent
+ \etocskipfirstprefix}
+ {\allowbreak\,--\,}
+ {\etocname}
+ {.\hfil
+ \begingroup
+ \baselineskip\etocbaselinespreadthree\baselineskip
+ \par
+ \endgroup
+ \addpenalty{-\@highpenalty}}
+}
+\def\etocdefaultlines@setdeeperones{%
+\Etoc@setstyle@e{4}%
+\Etoc@setstyle@e{5}%
+\ifEtoc@deeplevels
+ \Etoc@setstyle@e{6}%
+ \Etoc@setstyle@e{7}%
+ \Etoc@setstyle@e{8}%
+ \Etoc@setstyle@e{9}%
+ \Etoc@setstyle@e{10}%
+ \Etoc@setstyle@e{11}%
+\fi
+}
+\def\etocabovetocskip{3.5ex \@plus 1ex \@minus .2ex}
+\def\etocbelowtocskip{3.5ex \@plus 1ex \@minus .2ex}
+\def\etoccolumnsep{2em}
+\def\etocmulticolsep{0ex}
+\def\etocmulticolpretolerance{-1}
+\def\etocmulticoltolerance{200}
+\def\etocdefaultnbcol{2}
+\def\etocinnertopsep{2ex}
+\newcommand\etocmulticolstyle[2][\etocdefaultnbcol]{%
+\etocsettocstyle
+ {\let\etocoldpar\par
+ \addvspace{\etocabovetocskip}%
+ \ifnum #1>\@ne
+ \expandafter\@firstoftwo
+ \else \expandafter\@secondoftwo
+ \fi
+ {\multicolpretolerance\etocmulticolpretolerance
+ \multicoltolerance\etocmulticoltolerance
+ \setlength{\columnsep}{\etoccolumnsep}%
+ \setlength{\multicolsep}{\etocmulticolsep}%
+ \begin{multicols}{#1}[#2\etocoldpar\addvspace{\etocinnertopsep}]}
+ {#2\ifvmode\else\begingroup\interlinepenalty\@M\parskip\z@skip
+ \@@par\endgroup
+ \fi
+ \nobreak\addvspace{\etocinnertopsep}%
+ \pretolerance\etocmulticolpretolerance
+ \tolerance\etocmulticoltolerance}%
+ }%
+ {\ifnum #1>\@ne
+ \expandafter\@firstofone
+ \else \expandafter\@gobble
+ \fi
+ {\end{multicols}}%
+ \addvspace{\etocbelowtocskip}}%
+}
+\def\etocinnerbottomsep{3.5ex}
+\def\etocinnerleftsep{2em}
+\def\etocinnerrightsep{2em}
+\def\etoctoprule{\hrule}
+\def\etocleftrule{\vrule}
+\def\etocrightrule{\vrule}
+\def\etocbottomrule{\hrule}
+\def\etoctoprulecolorcmd{\relax}
+\def\etocbottomrulecolorcmd{\relax}
+\def\etocleftrulecolorcmd{\relax}
+\def\etocrightrulecolorcmd{\relax}
+\def\etoc@ruledheading #1{%
+ \hb@xt@\linewidth{\color@begingroup
+ \hss #1\hss\hskip-\linewidth
+ \etoctoprulecolorcmd\leaders\etoctoprule\hss
+ \phantom{#1}%
+ \leaders\etoctoprule\hss\color@endgroup}%
+ \nointerlineskip\nobreak\vskip\etocinnertopsep}
+\newcommand*\etocruledstyle[2][\etocdefaultnbcol]{%
+\etocsettocstyle
+ {\addvspace{\etocabovetocskip}%
+ \ifnum #1>\@ne
+ \expandafter\@firstoftwo
+ \else \expandafter\@secondoftwo
+ \fi
+ {\multicolpretolerance\etocmulticolpretolerance
+ \multicoltolerance\etocmulticoltolerance
+ \setlength{\columnsep}{\etoccolumnsep}%
+ \setlength{\multicolsep}{\etocmulticolsep}%
+ \begin{multicols}{#1}[\etoc@ruledheading{#2}]}
+ {\etoc@ruledheading{#2}%
+ \pretolerance\etocmulticolpretolerance
+ \tolerance\etocmulticoltolerance}}
+ {\ifnum #1>\@ne\expandafter\@firstofone
+ \else \expandafter\@gobble
+ \fi
+ {\end{multicols}}%
+ \addvspace{\etocbelowtocskip}}}
+\def\etocframedmphook{\relax}
+\long\def\etocbkgcolorcmd{\relax}
+\long\def\Etoc@relax{\relax}
+\newbox\etoc@framed@titlebox
+\newbox\etoc@framed@contentsbox
+\newcommand*\etocframedstyle[2][\etocdefaultnbcol]{%
+\etocsettocstyle{%
+ \addvspace{\etocabovetocskip}%
+ \sbox\z@{#2}%
+ \dimen\z@\dp\z@
+ \ifdim\wd\z@<\linewidth \dp\z@\z@ \else \dimen\z@\z@ \fi
+ \setbox\etoc@framed@titlebox=\hb@xt@\linewidth{\color@begingroup
+ \hss
+ \ifx\etocbkgcolorcmd\Etoc@relax
+ \else
+ \sbox\tw@{\color{white}%
+ \vrule\@width\wd\z@\@height\ht\z@\@depth\dimen\z@}%
+ \ifdim\wd\z@<\linewidth \dp\tw@\z@\fi
+ \box\tw@
+ \hskip-\wd\z@
+ \fi
+ \copy\z@
+ \hss
+ \hskip-\linewidth
+ \etoctoprulecolorcmd\leaders\etoctoprule\hss
+ \hskip\wd\z@
+ \etoctoprulecolorcmd\leaders\etoctoprule\hss\color@endgroup}%
+ \setbox\z@\hbox{\etocleftrule\etocrightrule}%
+ \dimen\tw@\linewidth\advance\dimen\tw@-\wd\z@
+ \advance\dimen\tw@-\etocinnerleftsep
+ \advance\dimen\tw@-\etocinnerrightsep
+ \setbox\etoc@framed@contentsbox=\vbox\bgroup
+ \hsize\dimen\tw@
+ \kern\dimen\z@
+ \vskip\etocinnertopsep
+ \hbox\bgroup
+ \begin{minipage}{\hsize}%
+ \etocframedmphook
+ \ifnum #1>\@ne
+ \expandafter\@firstoftwo
+ \else \expandafter\@secondoftwo
+ \fi
+ {\multicolpretolerance\etocmulticolpretolerance
+ \multicoltolerance\etocmulticoltolerance
+ \setlength{\columnsep}{\etoccolumnsep}%
+ \setlength{\multicolsep}{\etocmulticolsep}%
+ \begin{multicols}{#1}}
+ {\pretolerance\etocmulticolpretolerance
+ \tolerance\etocmulticoltolerance}}
+ {\ifnum #1>\@ne\expandafter\@firstofone
+ \else \expandafter\@gobble
+ \fi
+ {\end{multicols}\unskip }%
+ \end{minipage}%
+ \egroup
+ \vskip\etocinnerbottomsep
+ \egroup
+ \vbox{\hsize\linewidth
+ \ifx\etocbkgcolorcmd\Etoc@relax
+ \else
+ \kern\ht\etoc@framed@titlebox
+ \kern\dp\etoc@framed@titlebox
+ \hb@xt@\linewidth{\color@begingroup
+ \etocleftrulecolorcmd\etocleftrule
+ \etocbkgcolorcmd
+ \leaders\vrule
+ \@height\ht\etoc@framed@contentsbox
+ \@depth\dp\etoc@framed@contentsbox
+ \hss
+ \etocrightrulecolorcmd\etocrightrule
+ \color@endgroup}\nointerlineskip
+ \vskip-\dp\etoc@framed@contentsbox
+ \vskip-\ht\etoc@framed@contentsbox
+ \vskip-\dp\etoc@framed@titlebox
+ \vskip-\ht\etoc@framed@titlebox
+ \fi
+ \box\etoc@framed@titlebox\nointerlineskip
+ \hb@xt@\linewidth{\color@begingroup
+ {\etocleftrulecolorcmd\etocleftrule}%
+ \hss\box\etoc@framed@contentsbox\hss
+ \etocrightrulecolorcmd\etocrightrule\color@endgroup}
+ \nointerlineskip
+ \vskip\ht\etoc@framed@contentsbox
+ \vskip\dp\etoc@framed@contentsbox
+ \hb@xt@\linewidth{\color@begingroup\etocbottomrulecolorcmd
+ \leaders\etocbottomrule\hss\color@endgroup}}
+ \addvspace{\etocbelowtocskip}}}
+\newcommand\etoc@multicoltoc[2][\etocdefaultnbcol]{%
+ \etocmulticolstyle[#1]{#2}%
+ \tableofcontents}
+\newcommand\etoc@multicoltoci[2][\etocdefaultnbcol]{%
+ \etocmulticolstyle[#1]{#2}%
+ \tableofcontents*}
+\newcommand\etoc@local@multicoltoc[2][\etocdefaultnbcol]{%
+ \etocmulticolstyle[#1]{#2}%
+ \localtableofcontents}
+\newcommand\etoc@local@multicoltoci[2][\etocdefaultnbcol]{%
+ \etocmulticolstyle[#1]{#2}%
+ \localtableofcontents*}
+\newcommand*\etoc@ruledtoc[2][\etocdefaultnbcol]{%
+ \etocruledstyle[#1]{#2}%
+ \tableofcontents}
+\newcommand*\etoc@ruledtoci[2][\etocdefaultnbcol]{%
+ \etocruledstyle[#1]{#2}%
+ \tableofcontents*}
+\newcommand*\etoc@local@ruledtoc[2][\etocdefaultnbcol]{%
+ \etocruledstyle[#1]{#2}%
+ \localtableofcontents}
+\newcommand*\etoc@local@ruledtoci[2][\etocdefaultnbcol]{%
+ \etocruledstyle[#1]{#2}%
+ \localtableofcontents*}
+\newcommand*\etoc@framedtoc[2][\etocdefaultnbcol]{%
+ \etocframedstyle[#1]{#2}%
+ \tableofcontents}
+\newcommand*\etoc@framedtoci[2][\etocdefaultnbcol]{%
+ \etocframedstyle[#1]{#2}%
+ \tableofcontents*}
+\newcommand*\etoc@local@framedtoc[2][\etocdefaultnbcol]{%
+ \etocframedstyle[#1]{#2}%
+ \localtableofcontents}
+\newcommand*\etoc@local@framedtoci[2][\etocdefaultnbcol]{%
+ \etocframedstyle[#1]{#2}%
+ \localtableofcontents*}
+\def\etocmulticol{\begingroup
+ \Etoc@mustclosegrouptrue
+ \@ifstar
+ {\etoc@multicoltoci}
+ {\etoc@multicoltoc}}
+\def\etocruled{\begingroup
+ \Etoc@mustclosegrouptrue
+ \@ifstar
+ {\etoc@ruledtoci}
+ {\etoc@ruledtoc}}
+\def\etocframed{\begingroup
+ \Etoc@mustclosegrouptrue
+ \@ifstar
+ {\etoc@framedtoci}
+ {\etoc@framedtoc}}
+\def\etoclocalmulticol{\begingroup
+ \Etoc@mustclosegrouptrue
+ \@ifstar
+ {\etoc@local@multicoltoci}
+ {\etoc@local@multicoltoc}}
+\def\etoclocalruled{\begingroup
+ \Etoc@mustclosegrouptrue
+ \@ifstar
+ {\etoc@local@ruledtoci}
+ {\etoc@local@ruledtoc}}
+\def\etoclocalframed{\begingroup
+ \Etoc@mustclosegrouptrue
+ \@ifstar
+ {\etoc@local@framedtoci}
+ {\etoc@local@framedtoc}}
+\def\etocmemoirtoctotocfmt #1#2{%
+ \PackageWarning{etoc}
+ {\string\etocmemoirtoctotocfmt\space is deprecated.\MessageBreak
+ Use in its place \string\etocsettoclineforclasstoc,\MessageBreak
+ and \string\etocsettoclineforclasslistof{toc} (or {lof}, {lot}).
+ I will do this now.\MessageBreak
+ Reported}%
+ \etocsettoclineforclasstoc{#1}{#2}%
+ \etocsettoclineforclasslistof{toc}{#1}{#2}%
+}
+\def\etocsettoclineforclasstoc #1#2{%
+ \def\etocclassmaintocaddtotoc{\etocglobalheadtotoc{#1}{#2}}%
+}
+\def\etocsettoclineforclasslistof #1#2#3{%
+ \@namedef{etocclasslocal#1addtotoc}{\etoclocalheadtotoc{#2}{#3}}%
+}
+\let\etocclasslocaltocaddtotoc\@empty
+\let\etocclasslocallofaddtotoc\@empty
+\let\etocclasslocallotaddtotoc\@empty
+\ifdefined\c@chapter
+ \def\etocclasslocaltocmaketitle{\section*{\localcontentsname}}
+ \def\etocclasslocallofmaketitle{\section*{\locallistfigurename}}
+ \def\etocclasslocallotmaketitle{\section*{\locallisttablename}}
+ \etocsettoclineforclasstoc {chapter}{\contentsname}
+ \etocsettoclineforclasslistof{toc}{section}{\localcontentsname}
+ \etocsettoclineforclasslistof{lof}{section}{\locallistfigurename}
+ \etocsettoclineforclasslistof{lot}{section}{\locallisttablename}
+\else
+ \def\etocclasslocaltocmaketitle{\subsection*{\localcontentsname}}%
+ \def\etocclasslocallofmaketitle{\subsection*{\locallistfigurename}}%
+ \def\etocclasslocallotmaketitle{\subsection*{\locallisttablename}}%
+ \etocsettoclineforclasstoc {section}{\contentsname}
+ \etocsettoclineforclasslistof{toc}{subsection}{\localcontentsname}
+ \etocsettoclineforclasslistof{lof}{subsection}{\locallistfigurename}
+ \etocsettoclineforclasslistof{lot}{subsection}{\locallisttablename}
+\fi
+\def\etocclasslocalperhapsaddtotoc #1{%
+ \etocifisstarred
+ {}
+ {\csname ifEtoc@local#1totoc\endcsname
+ \csname etocclasslocal#1addtotoc\endcsname
+ \fi
+ }%
+}
+\def\etocarticlestyle{%
+ \etocsettocstyle
+ {\ifEtoc@localtoc
+ \@nameuse{etocclasslocal\Etoc@currext maketitle}%
+ \etocclasslocalperhapsaddtotoc\Etoc@currext
+ \else
+ \section *{\contentsname
+ \@mkboth {\MakeUppercase \contentsname}
+ {\MakeUppercase \contentsname}}%
+ \etocifisstarred{}{\etocifmaintoctotoc{\etocclassmaintocaddtotoc}{}}%
+ \fi
+ }
+ {}%
+}
+\def\etocarticlestylenomarks{%
+ \etocsettocstyle
+ {\ifEtoc@localtoc
+ \@nameuse{etocclasslocal\Etoc@currext maketitle}%
+ \etocclasslocalperhapsaddtotoc\Etoc@currext
+ \else
+ \section *{\contentsname}%
+ \etocifisstarred{}{\etocifmaintoctotoc{\etocclassmaintocaddtotoc}{}}%
+ \fi
+ }
+ {}%
+}
+\def\etocbookstyle{%
+ \etocsettocstyle
+ {\if@twocolumn \@restonecoltrue \onecolumn \else \@restonecolfalse \fi
+ \ifEtoc@localtoc
+ \@nameuse{etocclasslocal\Etoc@currext maketitle}%
+ \etocclasslocalperhapsaddtotoc\Etoc@currext
+ \else
+ \chapter *{\contentsname
+ \@mkboth {\MakeUppercase \contentsname}
+ {\MakeUppercase \contentsname}}%
+ \etocifisstarred{}{\etocifmaintoctotoc{\etocclassmaintocaddtotoc}{}}%
+ \fi
+ }%
+ {\if@restonecol \twocolumn \fi}%
+}
+\def\etocbookstylenomarks{%
+ \etocsettocstyle
+ {\if@twocolumn \@restonecoltrue \onecolumn \else \@restonecolfalse \fi
+ \ifEtoc@localtoc
+ \@nameuse{etocclasslocal\Etoc@currext maketitle}%
+ \etocclasslocalperhapsaddtotoc\Etoc@currext
+ \else
+ \chapter *{\contentsname}%
+ \etocifisstarred{}{\etocifmaintoctotoc{\etocclassmaintocaddtotoc}{}}%
+ \fi
+ }%
+ {\if@restonecol \twocolumn \fi}%
+}
+\let\etocreportstyle\etocbookstyle
+\let\etocreportstylenomarks\etocbookstylenomarks
+\def\etocmemoirstyle{%
+ \etocsettocstyle
+ {\ensureonecol \par \begingroup \phantomsection
+ \ifx\Etoc@aftertitlehook\@empty
+ \else
+ \ifmem@em@starred@listof
+ \else
+ \ifEtoc@localtoc
+ \etocclasslocalperhapsaddtotoc\Etoc@currext
+ \else
+ \ifEtoc@maintoctotoc
+ \etocclassmaintocaddtotoc
+ \fi
+ \fi
+ \fi
+ \fi
+ \ifEtoc@localtoc
+ \@namedef{@\Etoc@currext maketitle}{%
+ \@nameuse{etocclasslocal\Etoc@currext maketitle}%
+ }%
+ \fi
+ \@nameuse {@\Etoc@currext maketitle} %<< space token here from memoir code
+ \ifx\Etoc@aftertitlehook\@empty
+ \else
+ \Etoc@aftertitlehook \let \Etoc@aftertitlehook \relax
+ \fi
+ \parskip \cftparskip \@nameuse {cft\Etoc@currext beforelisthook}%
+ }%
+ {\@nameuse {cft\Etoc@currext afterlisthook}%
+ \endgroup\restorefromonecol
+ }%
+}
+\let\Etoc@beforetitlehook\@empty
+\if1\@ifclassloaded{scrartcl}0{\@ifclassloaded{scrbook}0{\@ifclassloaded{scrreprt}01}}%
+\expandafter\@gobble
+\else
+ \ifdefined\setuptoc
+ \def\Etoc@beforetitlehook{%
+ \ifEtoc@localtoc
+ \etocclasslocalperhapsaddtotoc\Etoc@currext
+ \setuptoc{\Etoc@currext}{leveldown}%
+ \else
+ \etocifisstarred{}{\etocifmaintoctotoc{\setuptoc{toc}{totoc}}}%
+ \fi
+ }%
+ \fi
+\expandafter\@firstofone
+\fi
+{\def\etocclasslocalperhapsaddtotoc #1{%
+ \etocifisstarred
+ {}%
+ {\csname ifEtoc@local#1totoc\endcsname
+ \setuptoc{\Etoc@currext}{totoc}%
+ \fi
+ }%
+ }%
+}
+\ifdefined\Iftocfeature
+ \def\etoc@Iftocfeature{\Iftocfeature}%
+\else
+ \def\etoc@Iftocfeature{\iftocfeature}%
+\fi
+\def\etocscrartclstyle{%
+ \etocsettocstyle
+ {\ifx\Etoc@currext\Etoc@tocext
+ \expandafter\@firstofone
+ \else
+ \expandafter\@gobble
+ \fi
+ {\let\if@dynlist\if@tocleft}%
+ \edef\@currext{\Etoc@currext}%
+ \@ifundefined{listof\@currext name}%
+ {\def\list@fname{\listofname~\@currext}}%
+ {\expandafter\let\expandafter\list@fname
+ \csname listof\@currext name\endcsname}%
+ \etoc@Iftocfeature {\@currext}{onecolumn}
+ {\etoc@Iftocfeature {\@currext}{leveldown}
+ {}
+ {\if@twocolumn \aftergroup \twocolumn \onecolumn \fi }}
+ {}%
+ \etoc@Iftocfeature {\@currext}{numberline}%
+ {\def \nonumberline {\numberline {}}}{}%
+ \expandafter\tocbasic@listhead\expandafter {\list@fname}%
+ \begingroup \expandafter \expandafter \expandafter
+ \endgroup \expandafter
+ \ifx
+ \csname microtypesetup\endcsname \relax
+ \else
+ \etoc@Iftocfeature {\@currext}{noprotrusion}{}
+ {\microtypesetup {protrusion=false}%
+ \PackageInfo {tocbasic}%
+ {character protrusion at \@currext\space deactivated}}%
+ \fi
+ \etoc@Iftocfeature{\@currext}{noparskipfake}{}{%
+ \ifvmode \@tempskipa\lastskip \vskip-\lastskip
+ \addtolength{\@tempskipa}{\parskip}\vskip\@tempskipa\fi
+ }%
+ \setlength {\parskip }{\z@ }%
+ \setlength {\parindent }{\z@ }%
+ \setlength {\parfillskip }{\z@ \@plus 1fil}%
+ \csname tocbasic@@before@hook\endcsname
+ \csname tb@\@currext @before@hook\endcsname
+ }% end of before_toc
+ {% start of after_toc
+ \providecommand\tocbasic@end@toc@file{}\tocbasic@end@toc@file
+ \edef\@currext{\Etoc@currext}%
+ \csname tb@\@currext @after@hook\endcsname
+ \csname tocbasic@@after@hook\endcsname
+ }% end of after_toc
+}
+\let\etocscrbookstyle\etocscrartclstyle
+\let\etocscrreprtstyle\etocscrartclstyle
+\def\etocclasstocstyle{\etocarticlestyle}
+\newcommand*\etocmarkboth[1]{%
+ \@mkboth{\MakeUppercase{#1}}{\MakeUppercase{#1}}}
+\newcommand*\etocmarkbothnouc[1]{\@mkboth{#1}{#1}}
+\newcommand\etoctocstyle[3][section]{\etocmulticolstyle[#2]%
+ {\csname #1\endcsname *{#3}}}
+\newcommand\etoctocstylewithmarks[4][section]{\etocmulticolstyle[#2]%
+ {\csname #1\endcsname *{#3\etocmarkboth{#4}}}}
+\newcommand\etoctocstylewithmarksnouc[4][section]{\etocmulticolstyle[#2]%
+ {\csname #1\endcsname *{#3\etocmarkbothnouc{#4}}}}
+\def\Etoc@redefetocstylesforchapters{%
+ \renewcommand\etoctocstylewithmarks[4][chapter]{%
+ \etocmulticolstyle[##2]{\csname ##1\endcsname *{##3\etocmarkboth{##4}}}%
+ }
+ \renewcommand\etoctocstylewithmarksnouc[4][chapter]{%
+ \etocmulticolstyle[##2]{\csname ##1\endcsname *{##3\etocmarkbothnouc{##4}}}%
+ }
+ \renewcommand\etoctocstyle[3][chapter]{%
+ \etocmulticolstyle[##2]{\csname ##1\endcsname *{##3}}
+ }
+}
+\@ifclassloaded{scrartcl}
+ {\renewcommand*\etocclasstocstyle{\etocscrartclstyle}}{}
+\@ifclassloaded{book}
+ {\renewcommand*\etocfontone{\normalfont\normalsize}
+ \renewcommand*\etocclasstocstyle{\etocbookstyle}
+ \Etoc@redefetocstylesforchapters}{}
+\@ifclassloaded{report}
+ {\renewcommand*\etocfontone{\normalfont\normalsize}
+ \renewcommand*\etocclasstocstyle{\etocreportstyle}
+ \Etoc@redefetocstylesforchapters}{}
+\@ifclassloaded{scrbook}
+ {\renewcommand*\etocfontone{\normalfont\normalsize}
+ \renewcommand*\etocclasstocstyle{\etocscrbookstyle}
+ \Etoc@redefetocstylesforchapters}{}
+\@ifclassloaded{scrreprt}
+ {\renewcommand*\etocfontone{\normalfont\normalsize}
+ \renewcommand*\etocclasstocstyle{\etocscrreprtstyle}
+ \Etoc@redefetocstylesforchapters}{}
+\@ifclassloaded{memoir}
+ {\renewcommand*\etocfontone{\normalfont\normalsize}
+ \renewcommand*\etocclasstocstyle{\etocmemoirstyle}
+ \Etoc@redefetocstylesforchapters}{}
+\def\etoctocloftstyle {%
+ \etocsettocstyle{%
+ \@cfttocstart
+ \par
+ \begingroup
+ \parindent\z@ \parskip\cftparskip
+ \@nameuse{@cftmake\Etoc@currext title}%
+ \ifEtoc@localtoc
+ \etoctocloftlocalperhapsaddtotoc\Etoc@currext
+ \else
+ \etocifisstarred {}{\ifEtoc@maintoctotoc\@cftdobibtoc\fi}%
+ \fi
+ }%
+ {%
+ \endgroup
+ \@cfttocfinish
+ }%
+}
+\def\etoctocloftlocalperhapsaddtotoc#1{%
+ \etocifisstarred
+ {}%
+ {\csname ifEtoc@local#1totoc\endcsname
+ \ifdefined\c@chapter\def\@tocextra{@section}\else\def\@tocextra{@subsection}\fi
+ \csname @cftdobib#1\endcsname
+ \fi
+ }%
+}
+\def\etoctocbibindstyle {%
+ \etocsettocstyle {%
+ \toc@start
+ \ifEtoc@localtoc
+ \@nameuse{etocclasslocal\Etoc@currext maketitle}%
+ \etocclasslocalperhapsaddtotoc\Etoc@currext
+ \else
+ \etoc@tocbibind@dotoctitle
+ \fi
+ }%
+ {\toc@finish}%
+}
+\def\etoc@tocbibind@dotoctitle {%
+ \if@bibchapter
+ \etocifisstarred
+ {\chapter*{\contentsname}\prw@mkboth{\contentsname} % id.
+ }%
+ {\ifEtoc@maintoctotoc
+ \toc@chapter{\contentsname} %<-space from original
+ \else
+ \chapter*{\contentsname}\prw@mkboth{\contentsname} % id.
+ \fi
+ }%
+ \else
+ \etocifisstarred
+ {\@nameuse{\@tocextra}*{\contentsname\prw@mkboth{\contentsname}} %<-space
+ }
+ {\ifEtoc@maintoctotoc
+ \toc@section{\@tocextra}{\contentsname} %<-space from original
+ \else
+ \@nameuse{\@tocextra}*{\contentsname\prw@mkboth{\contentsname}} % id.
+ \fi
+ }%
+ \fi
+}%
+\@ifclassloaded{memoir}
+{}
+{% memoir not loaded
+ \@ifpackageloaded{tocloft}
+ {\if@cftnctoc\else
+ \ifEtoc@keeporiginaltoc
+ \else
+ \AtBeginDocument{\let\tableofcontents\etoctableofcontents}%
+ \fi
+ \fi }
+ {\AtBeginDocument
+ {\@ifpackageloaded{tocloft}
+ {\if@cftnctoc\else
+ \PackageWarningNoLine {etoc}
+ {Package `tocloft' was loaded after `etoc'.\MessageBreak
+ To prevent it from overwriting \protect\tableofcontents, it will\MessageBreak
+ be tricked into believing to have been loaded with its\MessageBreak
+ option `titles'. \space But this will cause the `tocloft'\MessageBreak
+ customization of the titles of the main list of figures\MessageBreak
+ and list of tables to not apply either.\MessageBreak
+ You should load `tocloft' before `etoc'.}%
+ \AtEndDocument{\PackageWarning{etoc}
+ {Please load `tocloft' before `etoc'!\@gobbletwo}}%
+ \fi
+ \@cftnctoctrue }%
+ {}%
+ }%
+ }%
+}
+\@ifclassloaded{memoir}
+{}
+{% memoir not loaded
+ \AtBeginDocument{%
+ \@ifpackageloaded{tocloft}
+ {%
+ \def\etocclasstocstyle{%
+ \etoctocloftstyle
+ \Etoc@classstyletrue
+ }%
+ \ifEtoc@etocstyle
+ \ifEtoc@classstyle
+ \etocclasstocstyle
+ \Etoc@etocstyletrue
+ \fi
+ \else
+ \ifEtoc@classstyle
+ \etocclasstocstyle
+ \fi
+ \fi
+ }%
+ {% no tocloft
+ \@ifpackageloaded {tocbibind}
+ {\if@dotoctoc
+ \def\etocclasstocstyle{%
+ \etoctocbibindstyle
+ \Etoc@classstyletrue
+ }%
+ \ifEtoc@etocstyle
+ \ifEtoc@classstyle
+ \etocclasstocstyle
+ \Etoc@etocstyletrue
+ \fi
+ \else
+ \ifEtoc@classstyle
+ \etocclasstocstyle
+ \fi
+ \fi
+ \ifEtoc@keeporiginaltoc
+ \else
+ \let\tableofcontents\etoctableofcontents
+ \fi
+ }%
+ {}%
+ }%
+ \@ifpackageloaded{tocbibind}
+ {% tocbibind, perhaps with tocloft
+ \if@dotoctoc
+ \ifEtoc@keeporiginaltoc
+ \else
+ \let\tableofcontents\etoctableofcontents
+ \fi
+ \etocsetup{maintoctotoc,localtoctotoc}%
+ \PackageInfo{etoc}{%
+ Setting (or re-setting) the options `maintoctotoc' and\MessageBreak
+ `localtoctotoc' to true as tocbibind was detected and\MessageBreak
+ found to be configured for `TOC to toc'.\MessageBreak
+ Reported at begin document}%
+ \fi
+ \if@dotoclof
+ \ifEtoc@lof
+ \etocsetup{localloftotoc}%
+ \PackageInfo{etoc}{%
+ Setting (or re-setting) `localloftotoc=true' as the\MessageBreak
+ package tocbibind was detected and is configured for\MessageBreak
+ `LOF to toc'. Reported at begin document}%
+ \fi
+ \fi
+ \if@dotoclot
+ \ifEtoc@lot
+ \etocsetup{locallottotoc}%
+ \PackageInfo{etoc}{%
+ Setting (or re-setting) `locallottotoc=true' as the\MessageBreak
+ package tocbibind was detected and is configured for\MessageBreak
+ `LOT to toc'. Reported at begin document}%
+ \fi
+ \fi
+ }% end of tocbibind branch
+ {}%
+ }% end of at begin document
+}% end of not with memoir branch
+\def\Etoc@addtocontents #1#2{%
+ \addtocontents {toc}{%
+ \protect\contentsline{#1}{#2}{\thepage}{\ifEtoc@hyperref\@currentHref\fi}%
+ \ifdefined\protected@file@percent\protected@file@percent\fi
+ }%
+}
+\def\Etoc@addcontentsline@ #1#2#3{%
+ \@namedef{toclevel@#1}{#3}\addcontentsline {toc}{#1}{#2}%
+}
+\DeclareRobustCommand*{\etoctoccontentsline}
+ {\@ifstar{\Etoc@addcontentsline@}{\Etoc@addtocontents}}
+\def\Etoc@addtocontents@immediately#1#2{%
+ \begingroup
+ \let\Etoc@originalwrite\write
+ \def\write{\immediate\Etoc@originalwrite}%
+ \Etoc@addtocontents{#1}{#2}%
+ \endgroup
+}
+\def\Etoc@addcontentsline@@immediately#1#2#3{%
+ \begingroup
+ \let\Etoc@originalwrite\write
+ \def\write{\immediate\Etoc@originalwrite}%
+ \Etoc@addcontentsline@{#1}{#2}{#3}%
+ \endgoroup
+}
+\DeclareRobustCommand*{\etocimmediatetoccontentsline}
+ {\@ifstar{\Etoc@addcontentsline@@immediately}{\Etoc@addtocontents@immediately}}
+\def\Etoc@storetocdepth {\xdef\Etoc@savedtocdepth{\number\c@tocdepth}}
+\def\Etoc@restoretocdepth {\global\c@tocdepth\Etoc@savedtocdepth\relax}
+\def\etocobeytoctocdepth {\def\etoc@settocdepth
+ {\afterassignment\Etoc@@nottoodeep \global\c@tocdepth}}
+\def\Etoc@@nottoodeep {\ifnum\Etoc@savedtocdepth<\c@tocdepth
+ \global\c@tocdepth\Etoc@savedtocdepth\relax\fi }
+\def\etocignoretoctocdepth {\let\etoc@settocdepth\@gobble }
+\def\etocsettocdepth {\futurelet\Etoc@nexttoken\Etoc@set@tocdepth }
+\def\Etoc@set@tocdepth {\ifx\Etoc@nexttoken\bgroup
+ \expandafter\Etoc@set@tocdepth@
+ \else\expandafter\Etoc@set@toctocdepth
+ \fi }
+\def\Etoc@set@tocdepth@ #1{\@ifundefined {Etoc@#1@@}
+ {\PackageWarning{etoc}
+ {Unknown sectioning unit #1, \protect\etocsettocdepth\space ignored}}
+ {\global\c@tocdepth\csname Etoc@#1@@\endcsname}%
+}
+\def\Etoc@set@toctocdepth #1#{\Etoc@set@toctocdepth@ }
+\def\Etoc@set@toctocdepth@ #1{%
+ \@ifundefined{Etoc@#1@@}%
+ {\PackageWarning{etoc}
+ {Unknown sectioning depth #1, \protect\etocsettocdepth.toc ignored}}%
+ {\addtocontents {toc}
+ {\protect\etoc@settocdepth\expandafter\protect\csname Etoc@#1@@\endcsname}}%
+}
+\def\etocimmediatesettocdepth #1#{\Etoc@set@toctocdepth@immediately}
+\def\Etoc@set@toctocdepth@immediately #1{%
+ \@ifundefined{Etoc@#1@@}%
+ {\PackageWarning{etoc}
+ {Unknown sectioning depth #1, \protect\etocimmediatesettocdepth.toc ignored}}%
+ {\begingroup
+ \let\Etoc@originalwrite\write
+ \def\write{\immediate\Etoc@originalwrite}%
+ \addtocontents {toc}
+ {\protect\etoc@settocdepth\expandafter\protect
+ \csname Etoc@#1@@\endcsname}%
+ \endgroup
+ }%
+}
+\def\etocdepthtag #1#{\Etoc@depthtag }
+\def\Etoc@depthtag #1{\addtocontents {toc}{\protect\etoc@depthtag {#1}}}
+\def\etocimmediatedepthtag #1#{\Etoc@depthtag@immediately }
+\def\Etoc@depthtag@immediately #1{%
+ \begingroup
+ \let\Etoc@originalwrite\write
+ \def\write{\immediate\Etoc@originalwrite}%
+ \addtocontents {toc}{\protect\etoc@depthtag {#1}}%
+ \endgroup
+}
+\def\etocignoredepthtags {\let\etoc@depthtag \@gobble }
+\def\etocobeydepthtags {\let\etoc@depthtag \Etoc@depthtag@ }
+\def\Etoc@depthtag@ #1{\@ifundefined{Etoc@depthof@#1}%
+ {}% ignore in silence if tag has no associated depth
+ {\afterassignment\Etoc@@nottoodeep
+ \global\c@tocdepth\csname Etoc@depthof@#1\endcsname}%
+}
+\def\etocsettagdepth #1#2{\@ifundefined{Etoc@#2@@}%
+ {\PackageWarning{etoc}
+ {Unknown sectioning depth #2, \protect\etocsettagdepth\space ignored}}%
+ {\@namedef{Etoc@depthof@#1}{\@nameuse{Etoc@#2@@}}}%
+}
+\def\Etoc@tocvsec@err #1{\PackageError {etoc}
+ {The command \protect#1\space is incompatible with `etoc'}
+ {Use \protect\etocsettocdepth.toc as replacement}%
+}%
+\AtBeginDocument {%
+ \@ifclassloaded{memoir}
+ {\PackageInfo {etoc}
+ {Regarding `memoir' class command \protect\settocdepth, consider\MessageBreak
+ \protect\etocsettocdepth.toc as a drop-in replacement with more\MessageBreak
+ capabilities (see `etoc' manual). \space
+ Also, \protect\etocsettocdepth\MessageBreak
+ and \protect\etocsetnexttocdepth\space should be used in place of\MessageBreak
+ `memoir' command \protect\maxtocdepth\@gobble}%
+ }%
+ {\@ifpackageloaded {tocvsec2}{%
+ \def\maxtocdepth #1{\Etoc@tocvsec@err \maxtocdepth }%
+ \def\settocdepth #1{\Etoc@tocvsec@err \settocdepth }%
+ \def\resettocdepth {\@ifstar {\Etoc@tocvsec@err \resettocdepth }%
+ {\Etoc@tocvsec@err \resettocdepth }%
+ }%
+ \def\save@tocdepth #1#2#3{}%
+ \let\reset@tocdepth\relax
+ \let\remax@tocdepth\relax
+ \let\tableofcontents\etoctableofcontents
+ \PackageWarningNoLine {etoc}
+ {Package `tocvsec2' detected and its modification of\MessageBreak
+ \protect\tableofcontents\space reverted. \space Use
+ \protect\etocsettocdepth.toc\MessageBreak as a replacement
+ for `tocvsec2' toc-related commands}%
+ }% tocvsec2 loaded
+ {}% tocvsec2 not loaded
+ }%
+}%
+\def\invisibletableofcontents {\etocsetnexttocdepth {-3}\tableofcontents }%
+\def\invisiblelocaltableofcontents
+ {\etocsetnexttocdepth {-3}\localtableofcontents }%
+\def\etocsetnexttocdepth #1{%
+ \@ifundefined{Etoc@#1@@}
+ {\PackageWarning{etoc}
+ {Unknown sectioning unit #1, \protect\etocsetnextocdepth\space ignored}}
+ {\Etoc@setnexttocdepth{\csname Etoc@#1@@\endcsname}}%
+}%
+\def\Etoc@setnexttocdepth#1{%
+ \def\Etoc@tocdepthset{%
+ \Etoc@tocdepthreset
+ \edef\Etoc@tocdepthreset {%
+ \global\c@tocdepth\the\c@tocdepth\space
+ \global\let\noexpand\Etoc@tocdepthreset\noexpand\@empty
+ }%
+ \global\c@tocdepth#1%
+ \global\let\Etoc@tocdepthset\@empty
+ }%
+}%
+\let\Etoc@tocdepthreset\@empty
+\let\Etoc@tocdepthset \@empty
+\def\etocsetlocaltop #1#{\Etoc@set@localtop}%
+\def\Etoc@set@localtop #1{%
+ \@ifundefined{Etoc@#1@@}%
+ {\PackageWarning{etoc}
+ {Unknown sectioning depth #1, \protect\etocsetlocaltop.toc ignored}}%
+ {\addtocontents {toc}
+ {\protect\etoc@setlocaltop\expandafter\protect\csname Etoc@#1@@\endcsname}}%
+}%
+\def\etocimmediatesetlocaltop #1#{\Etoc@set@localtop@immediately}%
+\def\Etoc@set@localtop@immediately #1{%
+ \@ifundefined{Etoc@#1@@}%
+ {\PackageWarning{etoc}
+ {Unknown sectioning depth #1, \protect\etocimmediatesetlocaltop.toc ignored}}%
+ {\begingroup
+ \let\Etoc@originalwrite\write
+ \def\write{\immediate\Etoc@originalwrite}%
+ \addtocontents {toc}
+ {\protect\etoc@setlocaltop\expandafter\protect
+ \csname Etoc@#1@@\endcsname}%
+ \endgroup
+ }%
+}%
+\def\etoc@setlocaltop #1{%
+ \ifnum#1=\Etoc@maxlevel
+ \Etoc@skipthisonetrue
+ \else
+ \Etoc@skipthisonefalse
+ \global\let\Etoc@level #1%
+ \global\let\Etoc@virtualtop #1%
+ \ifEtoc@localtoc
+ \ifEtoc@stoptoc
+ \Etoc@skipthisonetrue
+ \else
+ \ifEtoc@notactive
+ \Etoc@skipthisonetrue
+ \else
+ \unless\ifnum\Etoc@level>\etoclocaltop
+ \Etoc@skipthisonetrue
+ \global\Etoc@stoptoctrue
+ \fi
+ \fi
+ \fi
+ \fi
+ \fi
+ \let\Etoc@next\@empty
+ \ifEtoc@skipthisone
+ \else
+ \ifnum\Etoc@level>\c@tocdepth
+ \else
+ \ifEtoc@standardlines
+ \else
+ \let\Etoc@next\Etoc@setlocaltop@doendsandbegin
+ \fi
+ \fi
+ \fi
+ \Etoc@next
+}%
+\def\Etoc@setlocaltop@doendsandbegin{%
+ \Etoc@doendsandbegin
+ \global\Etoc@skipprefixfalse
+}
+\addtocontents {toc}{\protect\@ifundefined{etoctocstyle}%
+ {\let\protect\etoc@startlocaltoc\protect\@gobble
+ \let\protect\etoc@settocdepth\protect\@gobble
+ \let\protect\etoc@depthtag\protect\@gobble
+ \let\protect\etoc@setlocaltop\protect\@gobble}{}}%
+\def\etocstandardlines {\Etoc@standardlinestrue}
+\def\etoctoclines {\Etoc@standardlinesfalse}
+\etocdefaultlines
+\etocstandardlines
+\def\etocstandarddisplaystyle{%
+ \PackageWarningNoLine{etoc}{%
+ \string\etocstandarddisplaystyle \on@line\MessageBreak
+ is deprecated. \space Please use \string\etocclasstocstyle}%
+}
+\expandafter\def\expandafter\etocclasstocstyle\expandafter{%
+ \etocclasstocstyle
+ \Etoc@classstyletrue
+}
+\def\etocetoclocaltocstyle{\Etoc@etocstyletrue}
+\def\etocusertocstyle{\Etoc@etocstylefalse}
+\etocclasstocstyle
+\etocetoclocaltocstyle
+\etocobeytoctocdepth
+\etocobeydepthtags
+\let\etocbeforetitlehook \@empty
+\let\etocaftertitlehook \@empty
+\let\etocaftercontentshook \@empty
+\let\etocaftertochook \@empty
+\def\etockeeporiginaltableofcontents
+ {\Etoc@keeporiginaltoctrue\let\tableofcontents\etocoriginaltableofcontents}%
+\endinput
+%%
+%% End of file `etoc.sty'.
diff --git a/latex/files.tex b/latex/files.tex
new file mode 100644
index 0000000..040f76f
--- /dev/null
+++ b/latex/files.tex
@@ -0,0 +1,31 @@
+\doxysection{File List}
+Here is a list of all documented files with brief descriptions\+:\begin{DoxyCompactList}
+\item\contentsline{section}{\mbox{\hyperlink{____call_8h_source}{\+\_\+\+\_\+call.\+h}} }{\pageref{____call_8h_source}}{}
+\item\contentsline{section}{\mbox{\hyperlink{____comment_8h_source}{\+\_\+\+\_\+comment.\+h}} }{\pageref{____comment_8h_source}}{}
+\item\contentsline{section}{\mbox{\hyperlink{____cookie_8h_source}{\+\_\+\+\_\+cookie.\+h}} }{\pageref{____cookie_8h_source}}{}
+\item\contentsline{section}{\mbox{\hyperlink{____dotag_8h_source}{\+\_\+\+\_\+dotag.\+h}} }{\pageref{____dotag_8h_source}}{}
+\item\contentsline{section}{\mbox{\hyperlink{____dump_8h_source}{\+\_\+\+\_\+dump.\+h}} }{\pageref{____dump_8h_source}}{}
+\item\contentsline{section}{\mbox{\hyperlink{____exclude_8h_source}{\+\_\+\+\_\+exclude.\+h}} }{\pageref{____exclude_8h_source}}{}
+\item\contentsline{section}{\mbox{\hyperlink{____for_8h_source}{\+\_\+\+\_\+for.\+h}} }{\pageref{____for_8h_source}}{}
+\item\contentsline{section}{\mbox{\hyperlink{____header_8h_source}{\+\_\+\+\_\+header.\+h}} }{\pageref{____header_8h_source}}{}
+\item\contentsline{section}{\mbox{\hyperlink{____if_8h_source}{\+\_\+\+\_\+if.\+h}} }{\pageref{____if_8h_source}}{}
+\item\contentsline{section}{\mbox{\hyperlink{____ifrow_8h_source}{\+\_\+\+\_\+ifrow.\+h}} }{\pageref{____ifrow_8h_source}}{}
+\item\contentsline{section}{\mbox{\hyperlink{____include_8h_source}{\+\_\+\+\_\+include.\+h}} }{\pageref{____include_8h_source}}{}
+\item\contentsline{section}{\mbox{\hyperlink{____jet_8h_source}{\+\_\+\+\_\+jet.\+h}} }{\pageref{____jet_8h_source}}{}
+\item\contentsline{section}{\mbox{\hyperlink{____mysql_8h_source}{\+\_\+\+\_\+mysql.\+h}} }{\pageref{____mysql_8h_source}}{}
+\item\contentsline{section}{\mbox{\hyperlink{____read_8h_source}{\+\_\+\+\_\+read.\+h}} }{\pageref{____read_8h_source}}{}
+\item\contentsline{section}{\mbox{\hyperlink{____set_8h_source}{\+\_\+\+\_\+set.\+h}} }{\pageref{____set_8h_source}}{}
+\item\contentsline{section}{\mbox{\hyperlink{____sql_8h_source}{\+\_\+\+\_\+sql.\+h}} }{\pageref{____sql_8h_source}}{}
+\item\contentsline{section}{\mbox{\hyperlink{____stream_8h_source}{\+\_\+\+\_\+stream.\+h}} }{\pageref{____stream_8h_source}}{}
+\item\contentsline{section}{\mbox{\hyperlink{____system_8h_source}{\+\_\+\+\_\+system.\+h}} }{\pageref{____system_8h_source}}{}
+\item\contentsline{section}{\mbox{\hyperlink{____tag_8h_source}{\+\_\+\+\_\+tag.\+h}} }{\pageref{____tag_8h_source}}{}
+\item\contentsline{section}{\mbox{\hyperlink{____until_8h_source}{\+\_\+\+\_\+until.\+h}} }{\pageref{____until_8h_source}}{}
+\item\contentsline{section}{\mbox{\hyperlink{____while_8h_source}{\+\_\+\+\_\+while.\+h}} }{\pageref{____while_8h_source}}{}
+\item\contentsline{section}{\mbox{\hyperlink{____whiledir_8h_source}{\+\_\+\+\_\+whiledir.\+h}} }{\pageref{____whiledir_8h_source}}{}
+\item\contentsline{section}{\mbox{\hyperlink{____whilerow_8h_source}{\+\_\+\+\_\+whilerow.\+h}} }{\pageref{____whilerow_8h_source}}{}
+\item\contentsline{section}{\mbox{\hyperlink{____write_8h_source}{\+\_\+\+\_\+write.\+h}} }{\pageref{____write_8h_source}}{}
+\item\contentsline{section}{\mbox{\hyperlink{Global_8h_source}{Global.\+h}} }{\pageref{Global_8h_source}}{}
+\item\contentsline{section}{\mbox{\hyperlink{Operand_8h_source}{Operand.\+h}} }{\pageref{Operand_8h_source}}{}
+\item\contentsline{section}{\mbox{\hyperlink{SessionId_8h_source}{Session\+Id.\+h}} }{\pageref{SessionId_8h_source}}{}
+\item\contentsline{section}{\mbox{\hyperlink{Tag_8h_source}{Tag.\+h}} }{\pageref{Tag_8h_source}}{}
+\end{DoxyCompactList}
diff --git a/latex/hierarchy.tex b/latex/hierarchy.tex
new file mode 100644
index 0000000..e8b7ee5
--- /dev/null
+++ b/latex/hierarchy.tex
@@ -0,0 +1,37 @@
+\doxysection{Class Hierarchy}
+This inheritance list is sorted roughly, but not completely, alphabetically\+:\begin{DoxyCompactList}
+\item \contentsline{section}{jet\+::Global}{\pageref{classjet_1_1Global}}{}
+\item coreutils\+::MString\begin{DoxyCompactList}
+\item \contentsline{section}{jet\+::Session\+Id}{\pageref{classjet_1_1SessionId}}{}
+\end{DoxyCompactList}
+\item \contentsline{section}{jet\+::Operand}{\pageref{classjet_1_1Operand}}{}
+\item coreutils\+::ZString\begin{DoxyCompactList}
+\item \contentsline{section}{jet\+::Tag}{\pageref{classjet_1_1Tag}}{}
+\begin{DoxyCompactList}
+\item \contentsline{section}{jet\+::\+\_\+\+\_\+call}{\pageref{classjet_1_1____call}}{}
+\item \contentsline{section}{jet\+::\+\_\+\+\_\+comment}{\pageref{classjet_1_1____comment}}{}
+\item \contentsline{section}{jet\+::\+\_\+\+\_\+cookie}{\pageref{classjet_1_1____cookie}}{}
+\item \contentsline{section}{jet\+::\+\_\+\+\_\+dotag}{\pageref{classjet_1_1____dotag}}{}
+\item \contentsline{section}{jet\+::\+\_\+\+\_\+dump}{\pageref{classjet_1_1____dump}}{}
+\item \contentsline{section}{jet\+::\+\_\+\+\_\+exclude}{\pageref{classjet_1_1____exclude}}{}
+\item \contentsline{section}{jet\+::\+\_\+\+\_\+for}{\pageref{classjet_1_1____for}}{}
+\item \contentsline{section}{jet\+::\+\_\+\+\_\+header}{\pageref{classjet_1_1____header}}{}
+\item \contentsline{section}{jet\+::\+\_\+\+\_\+if}{\pageref{classjet_1_1____if}}{}
+\item \contentsline{section}{jet\+::\+\_\+\+\_\+ifrow}{\pageref{classjet_1_1____ifrow}}{}
+\item \contentsline{section}{jet\+::\+\_\+\+\_\+include}{\pageref{classjet_1_1____include}}{}
+\item \contentsline{section}{jet\+::\+\_\+\+\_\+jet}{\pageref{classjet_1_1____jet}}{}
+\item \contentsline{section}{jet\+::\+\_\+\+\_\+mysql}{\pageref{classjet_1_1____mysql}}{}
+\item \contentsline{section}{jet\+::\+\_\+\+\_\+read}{\pageref{classjet_1_1____read}}{}
+\item \contentsline{section}{jet\+::\+\_\+\+\_\+set}{\pageref{classjet_1_1____set}}{}
+\item \contentsline{section}{jet\+::\+\_\+\+\_\+sql}{\pageref{classjet_1_1____sql}}{}
+\item \contentsline{section}{jet\+::\+\_\+\+\_\+stream}{\pageref{classjet_1_1____stream}}{}
+\item \contentsline{section}{jet\+::\+\_\+\+\_\+system}{\pageref{classjet_1_1____system}}{}
+\item \contentsline{section}{jet\+::\+\_\+\+\_\+tag}{\pageref{classjet_1_1____tag}}{}
+\item \contentsline{section}{jet\+::\+\_\+\+\_\+until}{\pageref{classjet_1_1____until}}{}
+\item \contentsline{section}{jet\+::\+\_\+\+\_\+while}{\pageref{classjet_1_1____while}}{}
+\item \contentsline{section}{jet\+::\+\_\+\+\_\+whiledir}{\pageref{classjet_1_1____whiledir}}{}
+\item \contentsline{section}{jet\+::\+\_\+\+\_\+whilerow}{\pageref{classjet_1_1____whilerow}}{}
+\item \contentsline{section}{jet\+::\+\_\+\+\_\+write}{\pageref{classjet_1_1____write}}{}
+\end{DoxyCompactList}
+\end{DoxyCompactList}
+\end{DoxyCompactList}
diff --git a/latex/longtable_doxygen.sty b/latex/longtable_doxygen.sty
new file mode 100644
index 0000000..e94b78b
--- /dev/null
+++ b/latex/longtable_doxygen.sty
@@ -0,0 +1,456 @@
+%%
+%% This is file `longtable.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% longtable.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% The source is maintained by the LaTeX Project team and bug
+%% reports for it can be opened at http://latex-project.org/bugs.html
+%% (but please observe conditions on bug reports sent to that address!)
+%%
+%% Copyright 1993-2016
+%% The LaTeX3 Project and any individual authors listed elsewhere
+%% in this file.
+%%
+%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
+%% --------------------------------------------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This file may only be distributed together with a copy of the LaTeX
+%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
+%% without such generated files.
+%%
+%% The list of all files belonging to the LaTeX `Tools Bundle' is
+%% given in the file `manifest.txt'.
+%%
+%% File: longtable.dtx Copyright (C) 1990-2001 David Carlisle
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+\ProvidesPackage{longtable_doxygen}
+ [2014/10/28 v4.11 Multi-page Table package (DPC) - frozen version for doxygen]
+\def\LT@err{\PackageError{longtable}}
+\def\LT@warn{\PackageWarning{longtable}}
+\def\LT@final@warn{%
+ \AtEndDocument{%
+ \LT@warn{Table \@width s have changed. Rerun LaTeX.\@gobbletwo}}%
+ \global\let\LT@final@warn\relax}
+\DeclareOption{errorshow}{%
+ \def\LT@warn{\PackageInfo{longtable}}}
+\DeclareOption{pausing}{%
+ \def\LT@warn#1{%
+ \LT@err{#1}{This is not really an error}}}
+\DeclareOption{set}{}
+\DeclareOption{final}{}
+\ProcessOptions
+\newskip\LTleft \LTleft=\fill
+\newskip\LTright \LTright=\fill
+\newskip\LTpre \LTpre=\bigskipamount
+\newskip\LTpost \LTpost=\bigskipamount
+\newcount\LTchunksize \LTchunksize=20
+\let\c@LTchunksize\LTchunksize
+\newdimen\LTcapwidth \LTcapwidth=4in
+\newbox\LT@head
+\newbox\LT@firsthead
+\newbox\LT@foot
+\newbox\LT@lastfoot
+\newcount\LT@cols
+\newcount\LT@rows
+\newcounter{LT@tables}
+\newcounter{LT@chunks}[LT@tables]
+\ifx\c@table\undefined
+ \newcounter{table}
+ \def\fnum@table{\tablename~\thetable}
+\fi
+\ifx\tablename\undefined
+ \def\tablename{Table}
+\fi
+\newtoks\LT@p@ftn
+\mathchardef\LT@end@pen=30000
+\def\longtable{%
+ \par
+ \ifx\multicols\@undefined
+ \else
+ \ifnum\col@number>\@ne
+ \@twocolumntrue
+ \fi
+ \fi
+ \if@twocolumn
+ \LT@err{longtable not in 1-column mode}\@ehc
+ \fi
+ \begingroup
+ \@ifnextchar[\LT@array{\LT@array[x]}}
+\def\LT@array[#1]#2{%
+ \refstepcounter{table}\stepcounter{LT@tables}%
+ \if l#1%
+ \LTleft\z@ \LTright\fill
+ \else\if r#1%
+ \LTleft\fill \LTright\z@
+ \else\if c#1%
+ \LTleft\fill \LTright\fill
+ \fi\fi\fi
+ \let\LT@mcol\multicolumn
+ \let\LT@@tabarray\@tabarray
+ \let\LT@@hl\hline
+ \def\@tabarray{%
+ \let\hline\LT@@hl
+ \LT@@tabarray}%
+ \let\\\LT@tabularcr\let\tabularnewline\\%
+ \def\newpage{\noalign{\break}}%
+ \def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}%
+ \def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}%
+ \let\hline\LT@hline \let\kill\LT@kill\let\caption\LT@caption
+ \@tempdima\ht\strutbox
+ \let\@endpbox\LT@endpbox
+ \ifx\extrarowheight\@undefined
+ \let\@acol\@tabacol
+ \let\@classz\@tabclassz \let\@classiv\@tabclassiv
+ \def\@startpbox{\vtop\LT@startpbox}%
+ \let\@@startpbox\@startpbox
+ \let\@@endpbox\@endpbox
+ \let\LT@LL@FM@cr\@tabularcr
+ \else
+ \advance\@tempdima\extrarowheight
+ \col@sep\tabcolsep
+ \let\@startpbox\LT@startpbox\let\LT@LL@FM@cr\@arraycr
+ \fi
+ \setbox\@arstrutbox\hbox{\vrule
+ \@height \arraystretch \@tempdima
+ \@depth \arraystretch \dp \strutbox
+ \@width \z@}%
+ \let\@sharp##\let\protect\relax
+ \begingroup
+ \@mkpream{#2}%
+ \xdef\LT@bchunk{%
+ \global\advance\c@LT@chunks\@ne
+ \global\LT@rows\z@\setbox\z@\vbox\bgroup
+ \LT@setprevdepth
+ \tabskip\LTleft \noexpand\halign to\hsize\bgroup
+ \tabskip\z@ \@arstrut \@preamble \tabskip\LTright \cr}%
+ \endgroup
+ \expandafter\LT@nofcols\LT@bchunk&\LT@nofcols
+ \LT@make@row
+ \m@th\let\par\@empty
+ \everycr{}\lineskip\z@\baselineskip\z@
+ \LT@bchunk}
+\def\LT@no@pgbk#1[#2]{\penalty #1\@getpen{#2}\ifnum`{=0\fi}}
+\def\LT@start{%
+ \let\LT@start\endgraf
+ \endgraf\penalty\z@\vskip\LTpre
+ \dimen@\pagetotal
+ \advance\dimen@ \ht\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi
+ \advance\dimen@ \dp\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi
+ \advance\dimen@ \ht\LT@foot
+ \dimen@ii\vfuzz
+ \vfuzz\maxdimen
+ \setbox\tw@\copy\z@
+ \setbox\tw@\vsplit\tw@ to \ht\@arstrutbox
+ \setbox\tw@\vbox{\unvbox\tw@}%
+ \vfuzz\dimen@ii
+ \advance\dimen@ \ht
+ \ifdim\ht\@arstrutbox>\ht\tw@\@arstrutbox\else\tw@\fi
+ \advance\dimen@\dp
+ \ifdim\dp\@arstrutbox>\dp\tw@\@arstrutbox\else\tw@\fi
+ \advance\dimen@ -\pagegoal
+ \ifdim \dimen@>\z@\vfil\break\fi
+ \global\@colroom\@colht
+ \ifvoid\LT@foot\else
+ \advance\vsize-\ht\LT@foot
+ \global\advance\@colroom-\ht\LT@foot
+ \dimen@\pagegoal\advance\dimen@-\ht\LT@foot\pagegoal\dimen@
+ \maxdepth\z@
+ \fi
+ \ifvoid\LT@firsthead\copy\LT@head\else\box\LT@firsthead\fi\nobreak
+ \output{\LT@output}}
+\def\endlongtable{%
+ \crcr
+ \noalign{%
+ \let\LT@entry\LT@entry@chop
+ \xdef\LT@save@row{\LT@save@row}}%
+ \LT@echunk
+ \LT@start
+ \unvbox\z@
+ \LT@get@widths
+ \if@filesw
+ {\let\LT@entry\LT@entry@write\immediate\write\@auxout{%
+ \gdef\expandafter\noexpand
+ \csname LT@\romannumeral\c@LT@tables\endcsname
+ {\LT@save@row}}}%
+ \fi
+ \ifx\LT@save@row\LT@@save@row
+ \else
+ \LT@warn{Column \@width s have changed\MessageBreak
+ in table \thetable}%
+ \LT@final@warn
+ \fi
+ \endgraf\penalty -\LT@end@pen
+ \endgroup
+ \global\@mparbottom\z@
+ \pagegoal\vsize
+ \endgraf\penalty\z@\addvspace\LTpost
+ \ifvoid\footins\else\insert\footins{}\fi}
+\def\LT@nofcols#1&{%
+ \futurelet\@let@token\LT@n@fcols}
+\def\LT@n@fcols{%
+ \advance\LT@cols\@ne
+ \ifx\@let@token\LT@nofcols
+ \expandafter\@gobble
+ \else
+ \expandafter\LT@nofcols
+ \fi}
+\def\LT@tabularcr{%
+ \relax\iffalse{\fi\ifnum0=`}\fi
+ \@ifstar
+ {\def\crcr{\LT@crcr\noalign{\nobreak}}\let\cr\crcr
+ \LT@t@bularcr}%
+ {\LT@t@bularcr}}
+\let\LT@crcr\crcr
+\let\LT@setprevdepth\relax
+\def\LT@t@bularcr{%
+ \global\advance\LT@rows\@ne
+ \ifnum\LT@rows=\LTchunksize
+ \gdef\LT@setprevdepth{%
+ \prevdepth\z@\global
+ \global\let\LT@setprevdepth\relax}%
+ \expandafter\LT@xtabularcr
+ \else
+ \ifnum0=`{}\fi
+ \expandafter\LT@LL@FM@cr
+ \fi}
+\def\LT@xtabularcr{%
+ \@ifnextchar[\LT@argtabularcr\LT@ntabularcr}
+\def\LT@ntabularcr{%
+ \ifnum0=`{}\fi
+ \LT@echunk
+ \LT@start
+ \unvbox\z@
+ \LT@get@widths
+ \LT@bchunk}
+\def\LT@argtabularcr[#1]{%
+ \ifnum0=`{}\fi
+ \ifdim #1>\z@
+ \unskip\@xargarraycr{#1}%
+ \else
+ \@yargarraycr{#1}%
+ \fi
+ \LT@echunk
+ \LT@start
+ \unvbox\z@
+ \LT@get@widths
+ \LT@bchunk}
+\def\LT@echunk{%
+ \crcr\LT@save@row\cr\egroup
+ \global\setbox\@ne\lastbox
+ \unskip
+ \egroup}
+\def\LT@entry#1#2{%
+ \ifhmode\@firstofone{&}\fi\omit
+ \ifnum#1=\c@LT@chunks
+ \else
+ \kern#2\relax
+ \fi}
+\def\LT@entry@chop#1#2{%
+ \noexpand\LT@entry
+ {\ifnum#1>\c@LT@chunks
+ 1}{0pt%
+ \else
+ #1}{#2%
+ \fi}}
+\def\LT@entry@write{%
+ \noexpand\LT@entry^^J%
+ \@spaces}
+\def\LT@kill{%
+ \LT@echunk
+ \LT@get@widths
+ \expandafter\LT@rebox\LT@bchunk}
+\def\LT@rebox#1\bgroup{%
+ #1\bgroup
+ \unvbox\z@
+ \unskip
+ \setbox\z@\lastbox}
+\def\LT@blank@row{%
+ \xdef\LT@save@row{\expandafter\LT@build@blank
+ \romannumeral\number\LT@cols 001 }}
+\def\LT@build@blank#1{%
+ \if#1m%
+ \noexpand\LT@entry{1}{0pt}%
+ \expandafter\LT@build@blank
+ \fi}
+\def\LT@make@row{%
+ \global\expandafter\let\expandafter\LT@save@row
+ \csname LT@\romannumeral\c@LT@tables\endcsname
+ \ifx\LT@save@row\relax
+ \LT@blank@row
+ \else
+ {\let\LT@entry\or
+ \if!%
+ \ifcase\expandafter\expandafter\expandafter\LT@cols
+ \expandafter\@gobble\LT@save@row
+ \or
+ \else
+ \relax
+ \fi
+ !%
+ \else
+ \aftergroup\LT@blank@row
+ \fi}%
+ \fi}
+\let\setlongtables\relax
+\def\LT@get@widths{%
+ \setbox\tw@\hbox{%
+ \unhbox\@ne
+ \let\LT@old@row\LT@save@row
+ \global\let\LT@save@row\@empty
+ \count@\LT@cols
+ \loop
+ \unskip
+ \setbox\tw@\lastbox
+ \ifhbox\tw@
+ \LT@def@row
+ \advance\count@\m@ne
+ \repeat}%
+ \ifx\LT@@save@row\@undefined
+ \let\LT@@save@row\LT@save@row
+ \fi}
+\def\LT@def@row{%
+ \let\LT@entry\or
+ \edef\@tempa{%
+ \ifcase\expandafter\count@\LT@old@row
+ \else
+ {1}{0pt}%
+ \fi}%
+ \let\LT@entry\relax
+ \xdef\LT@save@row{%
+ \LT@entry
+ \expandafter\LT@max@sel\@tempa
+ \LT@save@row}}
+\def\LT@max@sel#1#2{%
+ {\ifdim#2=\wd\tw@
+ #1%
+ \else
+ \number\c@LT@chunks
+ \fi}%
+ {\the\wd\tw@}}
+\def\LT@hline{%
+ \noalign{\ifnum0=`}\fi
+ \penalty\@M
+ \futurelet\@let@token\LT@@hline}
+\def\LT@@hline{%
+ \ifx\@let@token\hline
+ \global\let\@gtempa\@gobble
+ \gdef\LT@sep{\penalty-\@medpenalty\vskip\doublerulesep}%
+ \else
+ \global\let\@gtempa\@empty
+ \gdef\LT@sep{\penalty-\@lowpenalty\vskip-\arrayrulewidth}%
+ \fi
+ \ifnum0=`{\fi}%
+ \multispan\LT@cols
+ \unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr
+ \noalign{\LT@sep}%
+ \multispan\LT@cols
+ \unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr
+ \noalign{\penalty\@M}%
+ \@gtempa}
+\def\LT@caption{%
+ \noalign\bgroup
+ \@ifnextchar[{\egroup\LT@c@ption\@firstofone}\LT@capti@n}
+\def\LT@c@ption#1[#2]#3{%
+ \LT@makecaption#1\fnum@table{#3}%
+ \def\@tempa{#2}%
+ \ifx\@tempa\@empty\else
+ {\let\\\space
+ \addcontentsline{lot}{table}{\protect\numberline{\thetable}{#2}}}%
+ \fi}
+\def\LT@capti@n{%
+ \@ifstar
+ {\egroup\LT@c@ption\@gobble[]}%
+ {\egroup\@xdblarg{\LT@c@ption\@firstofone}}}
+\def\LT@makecaption#1#2#3{%
+ \LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth{%
+ \sbox\@tempboxa{#1{#2: }#3}%
+ \ifdim\wd\@tempboxa>\hsize
+ #1{#2: }#3%
+ \else
+ \hbox to\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi
+ \endgraf\vskip\baselineskip}%
+ \hss}}}
+\def\LT@output{%
+ \ifnum\outputpenalty <-\@Mi
+ \ifnum\outputpenalty > -\LT@end@pen
+ \LT@err{floats and marginpars not allowed in a longtable}\@ehc
+ \else
+ \setbox\z@\vbox{\unvbox\@cclv}%
+ \ifdim \ht\LT@lastfoot>\ht\LT@foot
+ \dimen@\pagegoal
+ \advance\dimen@-\ht\LT@lastfoot
+ \ifdim\dimen@<\ht\z@
+ \setbox\@cclv\vbox{\unvbox\z@\copy\LT@foot\vss}%
+ \@makecol
+ \@outputpage
+ \setbox\z@\vbox{\box\LT@head}%
+ \fi
+ \fi
+ \global\@colroom\@colht
+ \global\vsize\@colht
+ \vbox
+ {\unvbox\z@\box\ifvoid\LT@lastfoot\LT@foot\else\LT@lastfoot\fi}%
+ \fi
+ \else
+ \setbox\@cclv\vbox{\unvbox\@cclv\copy\LT@foot\vss}%
+ \@makecol
+ \@outputpage
+ \global\vsize\@colroom
+ \copy\LT@head\nobreak
+ \fi}
+\def\LT@end@hd@ft#1{%
+ \LT@echunk
+ \ifx\LT@start\endgraf
+ \LT@err
+ {Longtable head or foot not at start of table}%
+ {Increase LTchunksize}%
+ \fi
+ \setbox#1\box\z@
+ \LT@get@widths
+ \LT@bchunk}
+\def\endfirsthead{\LT@end@hd@ft\LT@firsthead}
+\def\endhead{\LT@end@hd@ft\LT@head}
+\def\endfoot{\LT@end@hd@ft\LT@foot}
+\def\endlastfoot{\LT@end@hd@ft\LT@lastfoot}
+\def\LT@startpbox#1{%
+ \bgroup
+ \let\@footnotetext\LT@p@ftntext
+ \setlength\hsize{#1}%
+ \@arrayparboxrestore
+ \vrule \@height \ht\@arstrutbox \@width \z@}
+\def\LT@endpbox{%
+ \@finalstrut\@arstrutbox
+ \egroup
+ \the\LT@p@ftn
+ \global\LT@p@ftn{}%
+ \hfil}
+%% added \long to prevent:
+% LaTeX Warning: Command \LT@p@ftntext has changed.
+%
+% from the original repository (https://github.com/latex3/latex2e/blob/develop/required/tools/longtable.dtx):
+% \changes{v4.15}{2021/03/28}
+% {make long for gh/364}
+% Inside the `p' column, just save up the footnote text in a token
+% register.
+\long\def\LT@p@ftntext#1{%
+ \edef\@tempa{\the\LT@p@ftn\noexpand\footnotetext[\the\c@footnote]}%
+ \global\LT@p@ftn\expandafter{\@tempa{#1}}}%
+
+\@namedef{ver@longtable.sty}{2014/10/28 v4.11 Multi-page Table package (DPC) - frozen version for doxygen}
+\endinput
+%%
+%% End of file `longtable.sty'.
diff --git a/latex/refman.tex b/latex/refman.tex
new file mode 100644
index 0000000..c0918dc
--- /dev/null
+++ b/latex/refman.tex
@@ -0,0 +1,282 @@
+ % Handle batch mode
+ % to overcome problems with too many open files
+ \let\mypdfximage\pdfximage\def\pdfximage{\immediate\mypdfximage}
+ \pdfminorversion=7
+ % Set document class depending on configuration
+ \documentclass[twoside]{book}
+ %% moved from doxygen.sty due to workaround for LaTex 2019 version and unmaintained tabu package
+ \usepackage{ifthen}
+ \ifx\requestedLaTeXdate\undefined
+ \usepackage{array}
+ \else
+ \usepackage{array}[=2016-10-06]
+ \fi
+ %%
+ % Packages required by doxygen
+ \makeatletter
+ \providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
+ % suppress package identification of infwarerr as it contains the word "warning"
+ \let\@@protected@wlog\protected@wlog
+ \def\protected@wlog#1{\wlog{package info suppressed}}
+ \RequirePackage{infwarerr}
+ \let\protected@wlog\@@protected@wlog
+ \makeatother
+ \IfFormatAtLeastTF{2016/01/01}{}{\usepackage{fixltx2e}} % for \textsubscript
+ \IfFormatAtLeastTF{2015/01/01}{\pdfsuppresswarningpagegroup=1}{}
+ \usepackage{doxygen}
+ \usepackage{graphicx}
+ \usepackage[utf8]{inputenc}
+ \usepackage{makeidx}
+ \PassOptionsToPackage{warn}{textcomp}
+ \usepackage{textcomp}
+ \usepackage[nointegrals]{wasysym}
+ \usepackage{ifxetex}
+ % NLS support packages
+ % Define default fonts
+ % Font selection
+ \usepackage[T1]{fontenc}
+ % set main and monospaced font
+ \usepackage[scaled=.90]{helvet}
+\usepackage{courier}
+\renewcommand{\familydefault}{\sfdefault}
+ \doxyallsectionsfont{%
+ \fontseries{bc}\selectfont%
+ \color{darkgray}%
+ }
+ \renewcommand{\DoxyLabelFont}{%
+ \fontseries{bc}\selectfont%
+ \color{darkgray}%
+ }
+ \newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}}
+ % Arguments of doxygenemoji:
+ % 1) '::' form of the emoji, already LaTeX-escaped
+ % 2) file with the name of the emoji without the .png extension
+ % in case image exist use this otherwise use the '::' form
+ \newcommand{\doxygenemoji}[2]{%
+ \IfFileExists{./#2.png}{\raisebox{-0.1em}{\includegraphics[height=0.9em]{./#2.png}}}{#1}%
+ }
+ % Page & text layout
+ \usepackage{geometry}
+ \geometry{%
+ a4paper,%
+ top=2.5cm,%
+ bottom=2.5cm,%
+ left=2.5cm,%
+ right=2.5cm%
+ }
+ \usepackage{changepage}
+ % Allow a bit of overflow to go unnoticed by other means
+ \tolerance=750
+ \hfuzz=15pt
+ \hbadness=750
+ \setlength{\emergencystretch}{15pt}
+ \setlength{\parindent}{0cm}
+ \newcommand{\doxynormalparskip}{\setlength{\parskip}{3ex plus 2ex minus 2ex}}
+ \newcommand{\doxytocparskip}{\setlength{\parskip}{1ex plus 0ex minus 0ex}}
+ \doxynormalparskip
+ % Redefine paragraph/subparagraph environments, using sectsty fonts
+ \makeatletter
+ \renewcommand{\paragraph}{%
+ \@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{%
+ \normalfont\normalsize\bfseries\SS@parafont%
+ }%
+ }
+ \renewcommand{\subparagraph}{%
+ \@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{%
+ \normalfont\normalsize\bfseries\SS@subparafont%
+ }%
+ }
+ \makeatother
+ \makeatletter
+ \newcommand\hrulefilll{\leavevmode\leaders\hrule\hskip 0pt plus 1filll\kern\z@}
+ \makeatother
+ % Headers & footers
+ \usepackage{fancyhdr}
+ \pagestyle{fancyplain}
+ \renewcommand{\footrulewidth}{0.4pt}
+ \fancypagestyle{fancyplain}{
+ \fancyhf{}
+ \fancyhead[LE, RO]{\bfseries\thepage}
+ \fancyhead[LO]{\bfseries\rightmark}
+ \fancyhead[RE]{\bfseries\leftmark}
+ \fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen }
+ }
+ \fancypagestyle{plain}{
+ \fancyhf{}
+ \fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen }
+ \renewcommand{\headrulewidth}{0pt}
+ }
+ \pagestyle{fancyplain}
+ \renewcommand{\chaptermark}[1]{%
+ \markboth{#1}{}%
+ }
+ \renewcommand{\sectionmark}[1]{%
+ \markright{\thesection\ #1}%
+ }
+ % ToC, LoF, LoT, bibliography, and index
+ % Indices & bibliography
+ \usepackage{natbib}
+ \usepackage[titles]{tocloft}
+ \setcounter{tocdepth}{3}
+ \setcounter{secnumdepth}{5}
+ % creating indexes
+ \makeindex
+ \usepackage{newunicodechar}
+ \makeatletter
+ \def\doxynewunicodechar#1#2{%
+ \@tempswafalse
+ \edef\nuc@tempa{\detokenize{#1}}%
+ \if\relax\nuc@tempa\relax
+ \nuc@emptyargerr
+ \else
+ \edef\@tempb{\expandafter\@car\nuc@tempa\@nil}%
+ \nuc@check
+ \if@tempswa
+ \@namedef{u8:\nuc@tempa}{#2}%
+ \fi
+ \fi
+ }
+ \makeatother
+ \doxynewunicodechar{⁻}{${}^{-}$}% Superscript minus
+ \doxynewunicodechar{²}{${}^{2}$}% Superscript two
+ \doxynewunicodechar{³}{${}^{3}$}% Superscript three
+ % Hyperlinks
+ % Hyperlinks (required, but should be loaded last)
+ \ifpdf
+ \usepackage[pdftex,pagebackref=true]{hyperref}
+ \else
+ \ifxetex
+ \usepackage[pagebackref=true]{hyperref}
+ \else
+ \usepackage[ps2pdf,pagebackref=true]{hyperref}
+ \fi
+ \fi
+ \hypersetup{%
+ colorlinks=true,%
+ linkcolor=blue,%
+ citecolor=blue,%
+ unicode,%
+ pdftitle={My Project},%
+ pdfsubject={}%
+ }
+ % Custom commands used by the header
+ % Custom commands
+ \newcommand{\clearemptydoublepage}{%
+ \newpage{\pagestyle{empty}\cleardoublepage}%
+ }
+ % caption style definition
+ \usepackage{caption}
+ \captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top}
+ % in page table of contents
+ \IfFormatAtLeastTF{2023/05/01}{\usepackage[deeplevels]{etoc}}{\usepackage[deeplevels]{etoc_doxygen}}
+ \etocsettocstyle{\doxytocparskip}{\doxynormalparskip}
+ \etocsetlevel{subsubsubsection}{4}
+ \etocsetlevel{subsubsubsubsection}{5}
+ \etocsetlevel{subsubsubsubsubsection}{6}
+ \etocsetlevel{subsubsubsubsubsubsection}{7}
+ \etocsetlevel{paragraph}{8}
+ \etocsetlevel{subparagraph}{9}
+ % prevent numbers overlap the titles in toc
+ \renewcommand{\numberline}[1]{#1~}
+% End of preamble, now comes the document contents
+%===== C O N T E N T S =====
+\begin{document}
+ \raggedbottom
+ % Titlepage & ToC
+ % To avoid duplicate page anchors due to reuse of same numbers for
+ % the index (be it as roman numbers)
+ \hypersetup{pageanchor=false,
+ bookmarksnumbered=true,
+ pdfencoding=unicode
+ }
+ \pagenumbering{alph}
+ \begin{titlepage}
+ \vspace*{7cm}
+ \begin{center}%
+ {\Large My Project}\\
+ \vspace*{1cm}
+ {\large Generated by Doxygen 1.9.8}\\
+ \end{center}
+ \end{titlepage}
+ \clearemptydoublepage
+ \pagenumbering{roman}
+ \tableofcontents
+ \clearemptydoublepage
+ \pagenumbering{arabic}
+ % re-enable anchors again
+ \hypersetup{pageanchor=true}
+%--- Begin generated contents ---
+\chapter{Hierarchical Index}
+\input{hierarchy}
+\chapter{Class Index}
+\input{annotated}
+\chapter{File Index}
+\input{files}
+\chapter{Class Documentation}
+\input{classjet_1_1____call}
+\input{classjet_1_1____comment}
+\input{classjet_1_1____cookie}
+\input{classjet_1_1____dotag}
+\input{classjet_1_1____dump}
+\input{classjet_1_1____exclude}
+\input{classjet_1_1____for}
+\input{classjet_1_1____header}
+\input{classjet_1_1____if}
+\input{classjet_1_1____ifrow}
+\input{classjet_1_1____include}
+\input{classjet_1_1____jet}
+\input{classjet_1_1____mysql}
+\input{classjet_1_1____read}
+\input{classjet_1_1____set}
+\input{classjet_1_1____sql}
+\input{classjet_1_1____stream}
+\input{classjet_1_1____system}
+\input{classjet_1_1____tag}
+\input{classjet_1_1____until}
+\input{classjet_1_1____while}
+\input{classjet_1_1____whiledir}
+\input{classjet_1_1____whilerow}
+\input{classjet_1_1____write}
+\input{classjet_1_1Global}
+\input{classjet_1_1Operand}
+\input{classjet_1_1SessionId}
+\input{classjet_1_1Tag}
+\chapter{File Documentation}
+\input{____call_8h_source}
+\input{____comment_8h_source}
+\input{____cookie_8h_source}
+\input{____dotag_8h_source}
+\input{____dump_8h_source}
+\input{____exclude_8h_source}
+\input{____for_8h_source}
+\input{____header_8h_source}
+\input{____if_8h_source}
+\input{____ifrow_8h_source}
+\input{____include_8h_source}
+\input{____jet_8h_source}
+\input{____mysql_8h_source}
+\input{____read_8h_source}
+\input{____set_8h_source}
+\input{____sql_8h_source}
+\input{____stream_8h_source}
+\input{____system_8h_source}
+\input{____tag_8h_source}
+\input{____until_8h_source}
+\input{____while_8h_source}
+\input{____whiledir_8h_source}
+\input{____whilerow_8h_source}
+\input{____write_8h_source}
+\input{Global_8h_source}
+\input{Operand_8h_source}
+\input{SessionId_8h_source}
+\input{Tag_8h_source}
+%--- End generated contents ---
+% Index
+ \backmatter
+ \newpage
+ \phantomsection
+ \clearemptydoublepage
+ \addcontentsline{toc}{chapter}{\indexname}
+ \printindex
+% Required for some languages (in combination with latexdocumentpre from the header)
+\end{document}
diff --git a/latex/tabu_doxygen.sty b/latex/tabu_doxygen.sty
new file mode 100644
index 0000000..3f17d1d
--- /dev/null
+++ b/latex/tabu_doxygen.sty
@@ -0,0 +1,2557 @@
+%%
+%% This is file `tabu.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tabu.dtx (with options: `package')
+%%
+%% This is a generated file.
+%% Copyright (FC) 2010-2011 - lppl
+%%
+%% tabu : 2011/02/26 v2.8 - tabu : Flexible LaTeX tabulars
+%%
+%% **********************************************************************************************
+%% \begin{tabu} { preamble } => default target: \linewidth or \linegoal
+%% \begin{tabu} to { preamble } => target specified
+%% \begin{tabu} spread { preamble } => target relative to the ``natural width''
+%%
+%% tabu works in text and in math modes.
+%%
+%% X columns: automatic width adjustment + horizontal and vertical alignment
+%% \begin{tabu} { X[4c] X[1c] X[-2ml] }
+%%
+%% Horizontal lines and / or leaders:
+%% \hline\hline => double horizontal line
+%% \firsthline\hline => for nested tabulars
+%% \lasthline\hline => for nested tabulars
+%% \tabucline[line spec]{column-column} => ``funny'' lines (dash/leader)
+%% Automatic lines / leaders :
+%% \everyrow{\hline\hline}
+%%
+%% Vertical lines and / or leaders:
+%% \begin{tabu} { |[3pt red] X[4c] X[1c] X[-2ml] |[3pt blue] }
+%% \begin{tabu} { |[3pt red] X[4c] X[1c] X[-2ml] |[3pt on 2pt off 4pt blue] }
+%%
+%% Fixed vertical spacing adjustment:
+%% \extrarowheight= \extrarowdepth=
+%% or: \extrarowsep= => may be prefixed by \global
+%%
+%% Dynamic vertical spacing adjustment:
+%% \abovetabulinesep= \belowtabulinesep=
+%% or: \tabulinesep= => may be prefixed by \global
+%%
+%% delarray.sty shortcuts: in math and text modes
+%% \begin{tabu} .... \({ preamble }\)
+%%
+%% Algorithms reports:
+%% \tracingtabu=1 \tracingtabu=2
+%%
+%% **********************************************************************************************
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3 of this license or (at your option) any later
+%% version. The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%%
+%% This work consists of the main source file tabu.dtx
+%% and the derived files
+%% tabu.sty, tabu.pdf, tabu.ins
+%%
+%% tabu : Flexible LaTeX tabulars
+%% lppl copyright 2010-2011 by FC
+%%
+
+\NeedsTeXFormat{LaTeX2e}[2005/12/01]
+\ProvidesPackage{tabu_doxygen}[2011/02/26 v2.8 - flexible LaTeX tabulars (FC), frozen version for doxygen]
+\RequirePackage{array}[2008/09/09]
+\RequirePackage{varwidth}[2009/03/30]
+\AtEndOfPackage{\tabu@AtEnd \let\tabu@AtEnd \@undefined}
+\let\tabu@AtEnd\@empty
+\def\TMP@EnsureCode#1={%
+ \edef\tabu@AtEnd{\tabu@AtEnd
+ \catcode#1 \the\catcode#1}%
+ \catcode#1=%
+}% \TMP@EnsureCode
+\TMP@EnsureCode 33 = 12 % !
+\TMP@EnsureCode 58 = 12 % : (for siunitx)
+\TMP@EnsureCode124 = 12 % |
+\TMP@EnsureCode 36 = 3 % $ = math shift
+\TMP@EnsureCode 38 = 4 % & = tab alignment character
+\TMP@EnsureCode 32 = 10 % space
+\TMP@EnsureCode 94 = 7 % ^
+\TMP@EnsureCode 95 = 8 % _
+%% Constants --------------------------------------------------------
+\newcount \c@taburow \def\thetaburow {\number\c@taburow}
+\newcount \tabu@nbcols
+\newcount \tabu@cnt
+\newcount \tabu@Xcol
+\let\tabu@start \@tempcnta
+\let\tabu@stop \@tempcntb
+\newcount \tabu@alloc \tabu@alloc=\m@ne
+\newcount \tabu@nested
+\def\tabu@alloc@{\global\advance\tabu@alloc \@ne \tabu@nested\tabu@alloc}
+\newdimen \tabu@target
+\newdimen \tabu@spreadtarget
+\newdimen \tabu@naturalX
+\newdimen \tabucolX
+\let\tabu@DELTA \@tempdimc
+\let\tabu@thick \@tempdima
+\let\tabu@on \@tempdimb
+\let\tabu@off \@tempdimc
+\newdimen \tabu@Xsum
+\newdimen \extrarowdepth
+\newdimen \abovetabulinesep
+\newdimen \belowtabulinesep
+\newdimen \tabustrutrule \tabustrutrule \z@
+\newtoks \tabu@thebody
+\newtoks \tabu@footnotes
+\newsavebox \tabu@box
+\newsavebox \tabu@arstrutbox
+\newsavebox \tabu@hleads
+\newsavebox \tabu@vleads
+\newif \iftabu@colortbl
+\newif \iftabu@siunitx
+\newif \iftabu@measuring
+\newif \iftabu@spread
+\newif \iftabu@negcoef
+\newif \iftabu@everyrow
+\def\tabu@everyrowtrue {\global\let\iftabu@everyrow \iftrue}
+\def\tabu@everyrowfalse{\global\let\iftabu@everyrow \iffalse}
+\newif \iftabu@long
+\newif \iftabuscantokens
+\def\tabu@rescan {\tabu@verbatim \scantokens }
+%% Utilities (for internal usage) -----------------------------------
+\def\tabu@gobblespace #1 {#1}
+\def\tabu@gobbletoken #1#2{#1}
+\def\tabu@gobbleX{\futurelet\@let@token \tabu@gobblex}
+\def\tabu@gobblex{\if ^^J\noexpand\@let@token \expandafter\@gobble
+ \else\ifx \@sptoken\@let@token
+ \expandafter\tabu@gobblespace\expandafter\tabu@gobbleX
+ \fi\fi
+}% \tabu@gobblex
+\def\tabu@X{^^J}
+{\obeyspaces
+\global\let\tabu@spxiii= % saves an active space (for \ifx)
+\gdef\tabu@@spxiii{ }}
+\def\tabu@ifenvir {% only for \multicolumn
+ \expandafter\tabu@if@nvir\csname\@currenvir\endcsname
+}% \tabu@ifenvir
+\def\tabu@if@nvir #1{\csname @\ifx\tabu#1first\else
+ \ifx\longtabu#1first\else
+ second\fi\fi oftwo\endcsname
+}% \tabu@ifenvir
+\def\tabu@modulo #1#2{\numexpr\ifnum\numexpr#1=\z@ 0\else #1-(#1-(#2-1)/2)/(#2)*(#2)\fi}
+{\catcode`\&=3
+\gdef\tabu@strtrim #1{% #1 = control sequence to trim
+ \ifodd 1\ifx #1\@empty \else \ifx #1\space \else 0\fi \fi
+ \let\tabu@c@l@r \@empty \let#1\@empty
+ \else \expandafter \tabu@trimspaces #1\@nnil
+ \fi
+}% \tabu@strtrim
+\gdef\tabu@trimspaces #1\@nnil{\let\tabu@c@l@r=#2\tabu@firstspace .#1& }%
+\gdef\tabu@firstspace #1#2#3 &{\tabu@lastspace #2#3&}
+\gdef\tabu@lastspace #1{\def #3{#1}%
+ \ifx #3\tabu@c@l@r \def\tabu@c@l@r{\protect\color{#1}}\expandafter\remove@to@nnil \fi
+ \tabu@trimspaces #1\@nnil}
+}% \catcode
+\def\tabu@sanitizearg #1#2{{%
+ \csname \ifcsname if@safe@actives\endcsname %
+ @safe@activestrue\else
+ relax\fi \endcsname
+ \edef#2{#1}\tabu@strtrim#2\@onelevel@sanitize#2%
+ \expandafter}\expandafter\def\expandafter#2\expandafter{#2}%
+}% \tabu@sanitizearg
+\def\tabu@textbar #1{\begingroup \endlinechar\m@ne \scantokens{\def\:{|}}%
+ \expandafter\endgroup \expandafter#1\:% !!! semi simple group !!!
+}% \tabu@textbar
+\def\tabu@everyrow@bgroup{\iftabu@everyrow \begingroup \else \noalign{\ifnum0=`}\fi \fi}
+\def\tabu@everyrow@egroup{%
+ \iftabu@everyrow \expandafter \endgroup \the\toks@
+ \else \ifnum0=`{\fi}%
+ \fi
+}% \tabu@everyrow@egroup
+\def\tabu@arstrut {\global\setbox\@arstrutbox \hbox{\vrule
+ height \arraystretch \dimexpr\ht\strutbox+\extrarowheight
+ depth \arraystretch \dimexpr\dp\strutbox+\extrarowdepth
+ width \z@}%
+}% \tabu@arstrut
+\def\tabu@rearstrut {%
+ \@tempdima \arraystretch\dimexpr\ht\strutbox+\extrarowheight \relax
+ \@tempdimb \arraystretch\dimexpr\dp\strutbox+\extrarowdepth \relax
+ \ifodd 1\ifdim \ht\@arstrutbox=\@tempdima
+ \ifdim \dp\@arstrutbox=\@tempdimb 0 \fi\fi
+ \tabu@mkarstrut
+ \fi
+}% \tabu@rearstrut
+\def\tabu@@DBG #1{\ifdim\tabustrutrule>\z@ \color{#1}\fi}
+\def\tabu@DBG@arstrut {\global\setbox\@arstrutbox
+ \hbox to\z@{\hbox to\z@{\hss
+ {\tabu@DBG{cyan}\vrule
+ height \arraystretch \dimexpr\ht\strutbox+\extrarowheight
+ depth \z@
+ width \tabustrutrule}\kern-\tabustrutrule
+ {\tabu@DBG{pink}\vrule
+ height \z@
+ depth \arraystretch \dimexpr\dp\strutbox+\extrarowdepth
+ width \tabustrutrule}}}%
+}% \tabu@DBG@arstrut
+\def\tabu@save@decl{\toks\count@ \expandafter{\the\toks\expandafter\count@
+ \@nextchar}}%
+\def\tabu@savedecl{\ifcat$\d@llarend\else
+ \let\save@decl \tabu@save@decl \fi % no inversion of tokens in text mode
+}% \tabu@savedecl
+\def\tabu@finalstrut #1{\unskip\ifhmode\nobreak\fi\vrule height\z@ depth\z@ width\z@}
+\newcommand*\tabuDisableCommands {\g@addto@macro\tabu@trialh@@k }
+\let\tabu@trialh@@k \@empty
+\def\tabu@nowrite #1#{{\afterassignment}\toks@}
+\let\tabu@write\write
+\let\tabu@immediate\immediate
+\def\tabu@WRITE{\begingroup
+ \def\immediate\write{\aftergroup\endgroup
+ \tabu@immediate\tabu@write}%
+}% \tabu@WRITE
+\expandafter\def\expandafter\tabu@GenericError\expandafter{%
+ \expandafter\tabu@WRITE\GenericError}
+\def\tabu@warn{\tabu@WRITE\PackageWarning{tabu}}
+\def\tabu@noxfootnote [#1]{\@gobble}
+\def\tabu@nocolor #1#{\@gobble}
+\newcommand*\tabu@norowcolor[2][]{}
+\def\tabu@maybesiunitx #1{\def\tabu@temp{#1}%
+ \futurelet\@let@token \tabu@m@ybesiunitx}
+\def\tabu@m@ybesiunitx #1{\def\tabu@m@ybesiunitx {%
+ \ifx #1\@let@token \let\tabu@cellleft \@empty \let\tabu@cellright \@empty \fi
+ \tabu@temp}% \tabu@m@ybesiunitx
+}\expandafter\tabu@m@ybesiunitx \csname siunitx_table_collect_begin:Nn\endcsname
+\def\tabu@celllalign@def #1{\def\tabu@celllalign{\tabu@maybesiunitx{#1}}}%
+%% Fixed vertical spacing adjustment: \extrarowsep ------------------
+\newcommand*\extrarowsep{\edef\tabu@C@extra{\the\numexpr\tabu@C@extra+1}%
+ \iftabu@everyrow \aftergroup\tabu@Gextra
+ \else \aftergroup\tabu@n@Gextra
+ \fi
+ \@ifnextchar={\tabu@gobbletoken\tabu@extra} \tabu@extra
+}% \extrarowsep
+\def\tabu@extra {\@ifnextchar_%
+ {\tabu@gobbletoken{\tabu@setextra\extrarowheight \extrarowdepth}}
+ {\ifx ^\@let@token \def\tabu@temp{%
+ \tabu@gobbletoken{\tabu@setextra\extrarowdepth \extrarowheight}}%
+ \else \let\tabu@temp \@empty
+ \afterassignment \tabu@setextrasep \extrarowdepth
+ \fi \tabu@temp}%
+}% \tabu@extra
+\def\tabu@setextra #1#2{\def\tabu@temp{\tabu@extr@#1#2}\afterassignment\tabu@temp#2}
+\def\tabu@extr@ #1#2{\@ifnextchar^%
+ {\tabu@gobbletoken{\tabu@setextra\extrarowdepth \extrarowheight}}
+ {\ifx _\@let@token \def\tabu@temp{%
+ \tabu@gobbletoken{\tabu@setextra\extrarowheight \extrarowdepth}}%
+ \else \let\tabu@temp \@empty
+ \tabu@Gsave \tabu@G@extra \tabu@C@extra \extrarowheight \extrarowdepth
+ \fi \tabu@temp}%
+}% \tabu@extr@
+\def\tabu@setextrasep {\extrarowheight=\extrarowdepth
+ \tabu@Gsave \tabu@G@extra \tabu@C@extra \extrarowheight \extrarowdepth
+}% \tabu@setextrasep
+\def\tabu@Gextra{\ifx \tabu@G@extra\@empty \else {\tabu@Rextra}\fi}
+\def\tabu@n@Gextra{\ifx \tabu@G@extra\@empty \else \noalign{\tabu@Rextra}\fi}
+\def\tabu@Rextra{\tabu@Grestore \tabu@G@extra \tabu@C@extra}
+\let\tabu@C@extra \z@
+\let\tabu@G@extra \@empty
+%% Dynamic vertical spacing adjustment: \tabulinesep ----------------
+\newcommand*\tabulinesep{\edef\tabu@C@linesep{\the\numexpr\tabu@C@linesep+1}%
+ \iftabu@everyrow \aftergroup\tabu@Glinesep
+ \else \aftergroup\tabu@n@Glinesep
+ \fi
+ \@ifnextchar={\tabu@gobbletoken\tabu@linesep} \tabu@linesep
+}% \tabulinesep
+\def\tabu@linesep {\@ifnextchar_%
+ {\tabu@gobbletoken{\tabu@setsep\abovetabulinesep \belowtabulinesep}}
+ {\ifx ^\@let@token \def\tabu@temp{%
+ \tabu@gobbletoken{\tabu@setsep\belowtabulinesep \abovetabulinesep}}%
+ \else \let\tabu@temp \@empty
+ \afterassignment \tabu@setlinesep \abovetabulinesep
+ \fi \tabu@temp}%
+}% \tabu@linesep
+\def\tabu@setsep #1#2{\def\tabu@temp{\tabu@sets@p#1#2}\afterassignment\tabu@temp#2}
+\def\tabu@sets@p #1#2{\@ifnextchar^%
+ {\tabu@gobbletoken{\tabu@setsep\belowtabulinesep \abovetabulinesep}}
+ {\ifx _\@let@token \def\tabu@temp{%
+ \tabu@gobbletoken{\tabu@setsep\abovetabulinesep \belowtabulinesep}}%
+ \else \let\tabu@temp \@empty
+ \tabu@Gsave \tabu@G@linesep \tabu@C@linesep \abovetabulinesep \belowtabulinesep
+ \fi \tabu@temp}%
+}% \tabu@sets@p
+\def\tabu@setlinesep {\belowtabulinesep=\abovetabulinesep
+ \tabu@Gsave \tabu@G@linesep \tabu@C@linesep \abovetabulinesep \belowtabulinesep
+}% \tabu@setlinesep
+\def\tabu@Glinesep{\ifx \tabu@G@linesep\@empty \else {\tabu@Rlinesep}\fi}
+\def\tabu@n@Glinesep{\ifx \tabu@G@linesep\@empty \else \noalign{\tabu@Rlinesep}\fi}
+\def\tabu@Rlinesep{\tabu@Grestore \tabu@G@linesep \tabu@C@linesep}
+\let\tabu@C@linesep \z@
+\let\tabu@G@linesep \@empty
+%% \global\extrarowsep and \global\tabulinesep -------------------
+\def\tabu@Gsave #1#2#3#4{\xdef#1{#1%
+ \toks#2{\toks\the\currentgrouplevel{\global#3\the#3\global#4\the#4}}}%
+}% \tabu@Gsave
+\def\tabu@Grestore#1#2{%
+ \toks#2{}#1\toks\currentgrouplevel\expandafter{\expandafter}\the\toks#2\relax
+ \ifcat$\the\toks\currentgrouplevel$\else
+ \global\let#1\@empty \global\let#2\z@
+ \the\toks\currentgrouplevel
+ \fi
+}% \tabu@Grestore
+%% Setting code for every row ---------------------------------------
+\newcommand*\everyrow{\tabu@everyrow@bgroup
+ \tabu@start \z@ \tabu@stop \z@ \tabu@evrstartstop
+}% \everyrow
+\def\tabu@evrstartstop {\@ifnextchar^%
+ {\afterassignment \tabu@evrstartstop \tabu@stop=}%
+ {\ifx ^\@let@token
+ \afterassignment\tabu@evrstartstop \tabu@start=%
+ \else \afterassignment\tabu@everyr@w \toks@
+ \fi}%
+}% \tabu@evrstartstop
+\def\tabu@everyr@w {%
+ \xdef\tabu@everyrow{%
+ \noexpand\tabu@everyrowfalse
+ \let\noalign \relax
+ \noexpand\tabu@rowfontreset
+ \iftabu@colortbl \noexpand\tabu@rc@ \fi % \taburowcolors
+ \let\noexpand\tabu@docline \noexpand\tabu@docline@evr
+ \the\toks@
+ \noexpand\tabu@evrh@@k
+ \noexpand\tabu@rearstrut
+ \global\advance\c@taburow \@ne}%
+ \iftabu@everyrow \toks@\expandafter
+ {\expandafter\def\expandafter\tabu@evr@L\expandafter{\the\toks@}\ignorespaces}%
+ \else \xdef\tabu@evr@G{\the\toks@}%
+ \fi
+ \tabu@everyrow@egroup
+}% \tabu@everyr@w
+\def\tabu@evr {\def\tabu@evrh@@k} % for internal use only
+\tabu@evr{}
+%% line style and leaders -------------------------------------------
+\newcommand*\newtabulinestyle [1]{%
+ {\@for \@tempa :=#1\do{\expandafter\tabu@newlinestyle \@tempa==\@nil}}%
+}% \newtabulinestyle
+\def\tabu@newlinestyle #1=#2=#3\@nil{\tabu@getline {#2}%
+ \tabu@sanitizearg {#1}\@tempa
+ \ifodd 1\ifx \@tempa\@empty \ifdefined\tabu@linestyle@ 0 \fi\fi
+ \global\expandafter\let
+ \csname tabu@linestyle@\@tempa \endcsname =\tabu@thestyle \fi
+}% \tabu@newlinestyle
+\newcommand*\tabulinestyle [1]{\tabu@everyrow@bgroup \tabu@getline{#1}%
+ \iftabu@everyrow
+ \toks@\expandafter{\expandafter \def \expandafter
+ \tabu@ls@L\expandafter{\tabu@thestyle}\ignorespaces}%
+ \gdef\tabu@ls@{\tabu@ls@L}%
+ \else
+ \global\let\tabu@ls@G \tabu@thestyle
+ \gdef\tabu@ls@{\tabu@ls@G}%
+ \fi
+ \tabu@everyrow@egroup
+}% \tabulinestyle
+\newcommand*\taburulecolor{\tabu@everyrow@bgroup \tabu@textbar \tabu@rulecolor}
+\def\tabu@rulecolor #1{\toks@{}%
+ \def\tabu@temp #1##1#1{\tabu@ruledrsc{##1}}\@ifnextchar #1%
+ \tabu@temp
+ \tabu@rulearc
+}% \tabu@rulecolor
+\def\tabu@ruledrsc #1{\edef\tabu@temp{#1}\tabu@strtrim\tabu@temp
+ \ifx \tabu@temp\@empty \def\tabu@temp{\tabu@rule@drsc@ {}{}}%
+ \else \edef\tabu@temp{\noexpand\tabu@rule@drsc@ {}{\tabu@temp}}%
+ \fi
+ \tabu@temp
+}% \tabu@ruledrsc@
+\def\tabu@ruledrsc@ #1#{\tabu@rule@drsc@ {#1}}
+\def\tabu@rule@drsc@ #1#2{%
+ \iftabu@everyrow
+ \ifx \\#1#2\\\toks@{\let\CT@drsc@ \relax}%
+ \else \toks@{\def\CT@drsc@{\color #1{#2}}}%
+ \fi
+ \else
+ \ifx \\#1#2\\\global\let\CT@drsc@ \relax
+ \else \gdef\CT@drsc@{\color #1{#2}}%
+ \fi
+ \fi
+ \tabu@rulearc
+}% \tabu@rule@drsc@
+\def\tabu@rulearc #1#{\tabu@rule@arc@ {#1}}
+\def\tabu@rule@arc@ #1#2{%
+ \iftabu@everyrow
+ \ifx \\#1#2\\\toks@\expandafter{\the\toks@ \def\CT@arc@{}}%
+ \else \toks@\expandafter{\the\toks@ \def\CT@arc@{\color #1{#2}}}%
+ \fi
+ \toks@\expandafter{\the\toks@
+ \let\tabu@arc@L \CT@arc@
+ \let\tabu@drsc@L \CT@drsc@
+ \ignorespaces}%
+ \else
+ \ifx \\#1#2\\\gdef\CT@arc@{}%
+ \else \gdef\CT@arc@{\color #1{#2}}%
+ \fi
+ \global\let\tabu@arc@G \CT@arc@
+ \global\let\tabu@drsc@G \CT@drsc@
+ \fi
+ \tabu@everyrow@egroup
+}% \tabu@rule@arc@
+\def\taburowcolors {\tabu@everyrow@bgroup \@testopt \tabu@rowcolors 1}
+\def\tabu@rowcolors [#1]#2#{\tabu@rowc@lors{#1}{#2}}
+\def\tabu@rowc@lors #1#2#3{%
+ \toks@{}\@defaultunits \count@ =\number0#2\relax \@nnil
+ \@defaultunits \tabu@start =\number0#1\relax \@nnil
+ \ifnum \count@<\tw@ \count@=\tw@ \fi
+ \advance\tabu@start \m@ne
+ \ifnum \tabu@start<\z@ \tabu@start \z@ \fi
+ \tabu@rowcolorseries #3\in@..\in@ \@nnil
+}% \tabu@rowcolors
+\def\tabu@rowcolorseries #1..#2\in@ #3\@nnil {%
+ \ifx \in@#1\relax
+ \iftabu@everyrow \toks@{\def\tabu@rc@{}\let\tabu@rc@L \tabu@rc@}%
+ \else \gdef\tabu@rc@{}\global\let\tabu@rc@G \tabu@rc@
+ \fi
+ \else
+ \ifx \\#2\\\tabu@rowcolorserieserror \fi
+ \tabu@sanitizearg{#1}\tabu@temp
+ \tabu@sanitizearg{#2}\@tempa
+ \advance\count@ \m@ne
+ \iftabu@everyrow
+ \def\tabu@rc@ ##1##2##3##4{\def\tabu@rc@{%
+ \ifnum ##2=\c@taburow
+ \definecolorseries{tabu@rcseries@\the\tabu@nested}{rgb}{last}{##3}{##4}\fi
+ \ifnum \c@taburow<##2 \else
+ \ifnum \tabu@modulo {\c@taburow-##2}{##1+1}=\z@
+ \resetcolorseries[{##1}]{tabu@rcseries@\the\tabu@nested}\fi
+ \xglobal\colorlet{tabu@rc@\the\tabu@nested}{tabu@rcseries@\the\tabu@nested!!+}%
+ \rowcolor{tabu@rc@\the\tabu@nested}\fi}%
+ }\edef\x{\noexpand\tabu@rc@ {\the\count@}
+ {\the\tabu@start}
+ {\tabu@temp}
+ {\@tempa}%
+ }\x
+ \toks@\expandafter{\expandafter\def\expandafter\tabu@rc@\expandafter{\tabu@rc@}}%
+ \toks@\expandafter{\the\toks@ \let\tabu@rc@L \tabu@rc@ \ignorespaces}%
+ \else % inside \noalign
+ \definecolorseries{tabu@rcseries@\the\tabu@nested}{rgb}{last}{\tabu@temp}{\@tempa}%
+ \expandafter\resetcolorseries\expandafter[\the\count@]{tabu@rcseries@\the\tabu@nested}%
+ \xglobal\colorlet{tabu@rc@\the\tabu@nested}{tabu@rcseries@\the\tabu@nested!!+}%
+ \let\noalign \relax \rowcolor{tabu@rc@\the\tabu@nested}%
+ \def\tabu@rc@ ##1##2{\gdef\tabu@rc@{%
+ \ifnum \tabu@modulo {\c@taburow-##2}{##1+1}=\@ne
+ \resetcolorseries[{##1}]{tabu@rcseries@\the\tabu@nested}\fi
+ \xglobal\colorlet{tabu@rc@\the\tabu@nested}{tabu@rcseries@\the\tabu@nested!!+}%
+ \rowcolor{tabu@rc@\the\tabu@nested}}%
+ }\edef\x{\noexpand\tabu@rc@{\the\count@}{\the\c@taburow}}\x
+ \global\let\tabu@rc@G \tabu@rc@
+ \fi
+ \fi
+ \tabu@everyrow@egroup
+}% \tabu@rowcolorseries
+\tabuDisableCommands {\let\tabu@rc@ \@empty }
+\def\tabu@rowcolorserieserror {\PackageError{tabu}
+ {Invalid syntax for \string\taburowcolors
+ \MessageBreak Please look at the documentation!}\@ehd
+}% \tabu@rowcolorserieserror
+\newcommand*\tabureset {%
+ \tabulinesep=\z@ \extrarowsep=\z@ \extratabsurround=\z@
+ \tabulinestyle{}\everyrow{}\taburulecolor||{}\taburowcolors{}%
+}% \tabureset
+%% Parsing the line styles ------------------------------------------
+\def\tabu@getline #1{\begingroup
+ \csname \ifcsname if@safe@actives\endcsname %
+ @safe@activestrue\else
+ relax\fi \endcsname
+ \edef\tabu@temp{#1}\tabu@sanitizearg{#1}\@tempa
+ \let\tabu@thestyle \relax
+ \ifcsname tabu@linestyle@\@tempa \endcsname
+ \edef\tabu@thestyle{\endgroup
+ \def\tabu@thestyle{\expandafter\noexpand
+ \csname tabu@linestyle@\@tempa\endcsname}%
+ }\tabu@thestyle
+ \else \expandafter\tabu@definestyle \tabu@temp \@nil
+ \fi
+}% \tabu@getline
+\def\tabu@definestyle #1#2\@nil {\endlinechar \m@ne \makeatletter
+ \tabu@thick \maxdimen \tabu@on \maxdimen \tabu@off \maxdimen
+ \let\tabu@c@lon \@undefined \let\tabu@c@loff \@undefined
+ \ifodd 1\ifcat .#1\else\ifcat\relax #1\else 0\fi\fi % catcode 12 or non expandable cs
+ \def\tabu@temp{\tabu@getparam{thick}}%
+ \else \def\tabu@temp{\tabu@getparam{thick}\maxdimen}%
+ \fi
+ {%
+ \let\tabu@ \relax
+ \def\:{\obeyspaces \tabu@oXIII \tabu@commaXIII \edef\:}% (space active \: happy ;-))
+ \scantokens{\:{\tabu@temp #1#2 \tabu@\tabu@}}%
+ \expandafter}\expandafter
+ \def\expandafter\:\expandafter{\:}% line spec rewritten now ;-)
+ \def\;{\def\:}%
+ \scantokens\expandafter{\expandafter\;\expandafter{\:}}% space is now inactive (catcode 10)
+ \let\tabu@ \tabu@getcolor \:% all arguments are ready now ;-)
+ \ifdefined\tabu@c@lon \else \let\tabu@c@lon\@empty \fi
+ \ifx \tabu@c@lon\@empty \def\tabu@c@lon{\CT@arc@}\fi
+ \ifdefined\tabu@c@loff \else \let\tabu@c@loff \@empty \fi
+ \ifdim \tabu@on=\maxdimen \ifdim \tabu@off<\maxdimen
+ \tabu@on \tabulineon \fi\fi
+ \ifdim \tabu@off=\maxdimen \ifdim \tabu@on<\maxdimen
+ \tabu@off \tabulineoff \fi\fi
+ \ifodd 1\ifdim \tabu@off=\maxdimen \ifdim \tabu@on=\maxdimen 0 \fi\fi
+ \in@true %
+ \else \in@false %
+ \fi
+ \ifdim\tabu@thick=\maxdimen \def\tabu@thick{\arrayrulewidth}%
+ \else \edef\tabu@thick{\the\tabu@thick}%
+ \fi
+ \edef \tabu@thestyle ##1##2{\endgroup
+ \def\tabu@thestyle{%
+ \ifin@ \noexpand\tabu@leadersstyle {\tabu@thick}
+ {\the\tabu@on}{##1}
+ {\the\tabu@off}{##2}%
+ \else \noexpand\tabu@rulesstyle
+ {##1\vrule width \tabu@thick}%
+ {##1\leaders \hrule height \tabu@thick \hfil}%
+ \fi}%
+ }\expandafter \expandafter
+ \expandafter \tabu@thestyle \expandafter
+ \expandafter \expandafter
+ {\expandafter\tabu@c@lon\expandafter}\expandafter{\tabu@c@loff}%
+}% \tabu@definestyle
+{\catcode`\O=\active \lccode`\O=`\o \catcode`\,=\active
+ \lowercase{\gdef\tabu@oXIII {\catcode`\o=\active \let O=\tabu@oxiii}}
+ \gdef\tabu@commaXIII {\catcode`\,=\active \let ,=\space}
+}% \catcode
+\def\tabu@oxiii #1{%
+ \ifcase \ifx n#1\z@ \else
+ \ifx f#1\@ne\else
+ \tw@ \fi\fi
+ \expandafter\tabu@onxiii
+ \or \expandafter\tabu@ofxiii
+ \else o%
+ \fi#1}%
+\def\tabu@onxiii #1#2{%
+ \ifcase \ifx !#2\tw@ \else
+ \ifcat.\noexpand#2\z@ \else
+ \ifx \tabu@spxiii#2\@ne\else
+ \tw@ \fi\fi\fi
+ \tabu@getparam{on}#2\expandafter\@gobble
+ \or \expandafter\tabu@onxiii % (space is active)
+ \else o\expandafter\@firstofone
+ \fi{#1#2}}%
+\def\tabu@ofxiii #1#2{%
+ \ifx #2f\expandafter\tabu@offxiii
+ \else o\expandafter\@firstofone
+ \fi{#1#2}}
+\def\tabu@offxiii #1#2{%
+ \ifcase \ifx !#2\tw@ \else
+ \ifcat.\noexpand#2\z@ \else
+ \ifx\tabu@spxiii#2\@ne \else
+ \tw@ \fi\fi\fi
+ \tabu@getparam{off}#2\expandafter\@gobble
+ \or \expandafter\tabu@offxiii % (space is active)
+ \else o\expandafter\@firstofone
+ \fi{#1#2}}
+\def\tabu@getparam #1{\tabu@ \csname tabu@#1\endcsname=}
+\def\tabu@getcolor #1{% \tabu@ <- \tabu@getcolor after \edef
+ \ifx \tabu@#1\else % no more spec
+ \let\tabu@theparam=#1\afterassignment \tabu@getc@l@r #1\fi
+}% \tabu@getcolor
+\def\tabu@getc@l@r #1\tabu@ {%
+ \def\tabu@temp{#1}\tabu@strtrim \tabu@temp
+ \ifx \tabu@temp\@empty
+ \else%\ifcsname \string\color@\tabu@temp \endcsname % if the color exists
+ \ifx \tabu@theparam \tabu@off \let\tabu@c@loff \tabu@c@l@r
+ \else \let\tabu@c@lon \tabu@c@l@r
+ \fi
+ %\else \tabu@warncolour{\tabu@temp}%
+ \fi%\fi
+ \tabu@ % next spec
+}% \tabu@getc@l@r
+\def\tabu@warncolour #1{\PackageWarning{tabu}
+ {Color #1 is not defined. Default color used}%
+}% \tabu@warncolour
+\def\tabu@leadersstyle #1#2#3#4#5{\def\tabu@leaders{{#1}{#2}{#3}{#4}{#5}}%
+ \ifx \tabu@leaders\tabu@leaders@G \else
+ \tabu@LEADERS{#1}{#2}{#3}{#4}{#5}\fi
+}% \tabu@leadersstyle
+\def\tabu@rulesstyle #1#2{\let\tabu@leaders \@undefined
+ \gdef\tabu@thevrule{#1}\gdef\tabu@thehrule{#2}%
+}% \tabu@rulesstyle
+%% The leaders boxes ------------------------------------------------
+\def\tabu@LEADERS #1#2#3#4#5{%% width, dash, dash color, gap, gap color
+ {\let\color \tabu@color % => during trials -> \color = \tabu@nocolor
+ {% % but the leaders boxes should have colors !
+ \def\@therule{\vrule}\def\@thick{height}\def\@length{width}%
+ \def\@box{\hbox}\def\@unbox{\unhbox}\def\@elt{\wd}%
+ \def\@skip{\hskip}\def\@ss{\hss}\def\tabu@leads{\tabu@hleads}%
+ \tabu@l@@d@rs {#1}{#2}{#3}{#4}{#5}%
+ \global\let\tabu@thehleaders \tabu@theleaders
+ }%
+ {%
+ \def\@therule{\hrule}\def\@thick{width}\def\@length{height}%
+ \def\@box{\vbox}\def\@unbox{\unvbox}\def\@elt{\ht}%
+ \def\@skip{\vskip}\def\@ss{\vss}\def\tabu@leads{\tabu@vleads}%
+ \tabu@l@@d@rs {#1}{#2}{#3}{#4}{#5}%
+ \global\let\tabu@thevleaders \tabu@theleaders
+ }%
+ \gdef\tabu@leaders@G{{#1}{#2}{#3}{#4}{#5}}%
+ }%
+}% \tabu@LEADERS
+\def\tabu@therule #1#2{\@therule \@thick#1\@length\dimexpr#2/2 \@depth\z@}
+\def\tabu@l@@d@rs #1#2#3#4#5{%% width, dash, dash color, gap, gap color
+ \global\setbox \tabu@leads=\@box{%
+ {#3\tabu@therule{#1}{#2}}%
+ \ifx\\#5\\\@skip#4\else{#5\tabu@therule{#1}{#4*2}}\fi
+ {#3\tabu@therule{#1}{#2}}}%
+ \global\setbox\tabu@leads=\@box to\@elt\tabu@leads{\@ss
+ {#3\tabu@therule{#1}{#2}}\@unbox\tabu@leads}%
+ \edef\tabu@theleaders ##1{\def\noexpand\tabu@theleaders {%
+ {##1\tabu@therule{#1}{#2}}%
+ \xleaders \copy\tabu@leads \@ss
+ \tabu@therule{0pt}{-#2}{##1\tabu@therule{#1}{#2}}}%
+ }\tabu@theleaders{#3}%
+}% \tabu@l@@d@rs
+%% \tabu \endtabu \tabu* \longtabu \endlongtabu \longtabu* ----------
+\newcommand*\tabu {\tabu@longfalse
+ \ifmmode \def\tabu@ {\array}\def\endtabu {\endarray}%
+ \else \def\tabu@ {\tabu@tabular}\def\endtabu {\endtabular}\fi
+ \expandafter\let\csname tabu*\endcsname \tabu
+ \expandafter\def\csname endtabu*\endcsname{\endtabu}%
+ \tabu@spreadfalse \tabu@negcoeffalse \tabu@settarget
+}% {tabu}
+\let\tabu@tabular \tabular %
+\expandafter\def\csname tabu*\endcsname{\tabuscantokenstrue \tabu}
+\newcommand*\longtabu {\tabu@longtrue
+ \ifmmode\PackageError{tabu}{longtabu not allowed in math mode}\fi
+ \def\tabu@{\longtable}\def\endlongtabu{\endlongtable}%
+ \LTchunksize=\@M
+ \expandafter\let\csname tabu*\endcsname \tabu
+ \expandafter\def\csname endlongtabu*\endcsname{\endlongtabu}%
+ \let\LT@startpbox \tabu@LT@startpbox % \everypar{ array struts }
+ \tabu@spreadfalse \tabu@negcoeffalse \tabu@settarget
+}% {longtabu}
+\expandafter\def\csname longtabu*\endcsname{\tabuscantokenstrue \longtabu}
+\def\tabu@nolongtabu{\PackageError{tabu}
+ {longtabu requires the longtable package}\@ehd}
+%% Read the target and then : \tabular or \@array ------------------
+\def\tabu@settarget {\futurelet\@let@token \tabu@sett@rget }
+\def\tabu@sett@rget {\tabu@target \z@
+ \ifcase \ifx \bgroup\@let@token \z@ \else
+ \ifx \@sptoken\@let@token \@ne \else
+ \if t\@let@token \tw@ \else
+ \if s\@let@token \thr@@\else
+ \z@\fi\fi\fi\fi
+ \expandafter\tabu@begin
+ \or \expandafter\tabu@gobblespace\expandafter\tabu@settarget
+ \or \expandafter\tabu@to
+ \or \expandafter\tabu@spread
+ \fi
+}% \tabu@sett@rget
+\def\tabu@to to{\def\tabu@halignto{to}\tabu@gettarget}
+\def\tabu@spread spread{\tabu@spreadtrue\def\tabu@halignto{spread}\tabu@gettarget}
+\def\tabu@gettarget {\afterassignment\tabu@linegoaltarget \tabu@target }
+\def\tabu@linegoaltarget {\futurelet\tabu@temp \tabu@linegoalt@rget }
+\def\tabu@linegoalt@rget {%
+ \ifx \tabu@temp\LNGL@setlinegoal
+ \LNGL@setlinegoal \expandafter \@firstoftwo \fi % @gobbles \LNGL@setlinegoal
+ \tabu@begin
+}% \tabu@linegoalt@rget
+\def\tabu@begin #1#{%
+ \iftabu@measuring \expandafter\tabu@nestedmeasure \fi
+ \ifdim \tabu@target=\z@ \let\tabu@halignto \@empty
+ \else \edef\tabu@halignto{\tabu@halignto\the\tabu@target}%
+ \fi
+ \@testopt \tabu@tabu@ \tabu@aligndefault #1\@nil
+}% \tabu@begin
+\long\def\tabu@tabu@ [#1]#2\@nil #3{\tabu@setup
+ \def\tabu@align {#1}\def\tabu@savedpream{\NC@find #3}%
+ \tabu@ [\tabu@align ]#2{#3\tabu@rewritefirst }%
+}% \tabu@tabu@
+\def\tabu@nestedmeasure {%
+ \ifodd 1\iftabu@spread \else \ifdim\tabu@target=\z@ \else 0 \fi\fi\relax
+ \tabu@spreadtrue
+ \else \begingroup \iffalse{\fi \ifnum0=`}\fi
+ \toks@{}\def\tabu@stack{b}%
+ \expandafter\tabu@collectbody\expandafter\tabu@quickrule
+ \expandafter\endgroup
+ \fi
+}% \tabu@nestedmeasure
+\def\tabu@quickrule {\indent\vrule height\z@ depth\z@ width\tabu@target}
+%% \tabu@setup \tabu@init \tabu@indent
+\def\tabu@setup{\tabu@alloc@
+ \ifcase \tabu@nested
+ \ifmmode \else \iftabu@spread\else \ifdim\tabu@target=\z@
+ \let\tabu@afterendpar \par
+ \fi\fi\fi
+ \def\tabu@aligndefault{c}\tabu@init \tabu@indent
+ \else %
+ \def\tabu@aligndefault{t}\let\tabudefaulttarget \linewidth
+ \fi
+ \let\tabu@thetarget \tabudefaulttarget \let\tabu@restored \@undefined
+ \edef\tabu@NC@list{\the\NC@list}\NC@list{\NC@do \tabu@rewritefirst}%
+ \everycr{}\let\@startpbox \tabu@startpbox % for nested tabu inside longtabu...
+ \let\@endpbox \tabu@endpbox % idem " " " " " "
+ \let\@tabarray \tabu@tabarray % idem " " " " " "
+ \tabu@setcleanup \tabu@setreset
+}% \tabu@setup
+\def\tabu@init{\tabu@starttimer \tabu@measuringfalse
+ \edef\tabu@hfuzz {\the\dimexpr\hfuzz+1sp}\global\tabu@footnotes{}%
+ \let\firsthline \tabu@firsthline \let\lasthline \tabu@lasthline
+ \let\firstline \tabu@firstline \let\lastline \tabu@lastline
+ \let\hline \tabu@hline \let\@xhline \tabu@xhline
+ \let\color \tabu@color \let\@arstrutbox \tabu@arstrutbox
+ \iftabu@colortbl\else\let\LT@@hline \tabu@LT@@hline \fi
+ \tabu@trivlist %
+ \let\@footnotetext \tabu@footnotetext \let\@xfootnotetext \tabu@xfootnotetext
+ \let\@xfootnote \tabu@xfootnote \let\centering \tabu@centering
+ \let\raggedright \tabu@raggedright \let\raggedleft \tabu@raggedleft
+ \let\tabudecimal \tabu@tabudecimal \let\Centering \tabu@Centering
+ \let\RaggedRight \tabu@RaggedRight \let\RaggedLeft \tabu@RaggedLeft
+ \let\justifying \tabu@justifying \let\rowfont \tabu@rowfont
+ \let\fbox \tabu@fbox \let\color@b@x \tabu@color@b@x
+ \let\tabu@@everycr \everycr \let\tabu@@everypar \everypar
+ \let\tabu@prepnext@tokORI \prepnext@tok\let\prepnext@tok \tabu@prepnext@tok
+ \let\tabu@multicolumnORI\multicolumn \let\multicolumn \tabu@multicolumn
+ \let\tabu@startpbox \@startpbox % for nested tabu inside longtabu pfff !!!
+ \let\tabu@endpbox \@endpbox % idem " " " " " " "
+ \let\tabu@tabarray \@tabarray % idem " " " " " " "
+ \tabu@adl@fix \let\endarray \tabu@endarray % colortbl & arydshln (delarray)
+ \iftabu@colortbl\CT@everycr\expandafter{\expandafter\iftabu@everyrow \the\CT@everycr \fi}\fi
+}% \tabu@init
+\def\tabu@indent{% correction for indentation
+ \ifdim \parindent>\z@\ifx \linewidth\tabudefaulttarget
+ \everypar\expandafter{%
+ \the\everypar\everypar\expandafter{\the\everypar}%
+ \setbox\z@=\lastbox
+ \ifdim\wd\z@>\z@ \edef\tabu@thetarget
+ {\the\dimexpr -\wd\z@+\tabudefaulttarget}\fi
+ \box\z@}%
+ \fi\fi
+}% \tabu@indent
+\def\tabu@setcleanup {% saves last global assignments
+ \ifodd 1\ifmmode \else \iftabu@long \else 0\fi\fi\relax
+ \def\tabu@aftergroupcleanup{%
+ \def\tabu@aftergroupcleanup{\aftergroup\tabu@cleanup}}%
+ \else
+ \def\tabu@aftergroupcleanup{%
+ \aftergroup\aftergroup\aftergroup\tabu@cleanup
+ \let\tabu@aftergroupcleanup \relax}%
+ \fi
+ \let\tabu@arc@Gsave \tabu@arc@G
+ \let\tabu@arc@G \tabu@arc@L %
+ \let\tabu@drsc@Gsave \tabu@drsc@G
+ \let\tabu@drsc@G \tabu@drsc@L %
+ \let\tabu@ls@Gsave \tabu@ls@G
+ \let\tabu@ls@G \tabu@ls@L %
+ \let\tabu@rc@Gsave \tabu@rc@G
+ \let\tabu@rc@G \tabu@rc@L %
+ \let\tabu@evr@Gsave \tabu@evr@G
+ \let\tabu@evr@G \tabu@evr@L %
+ \let\tabu@celllalign@save \tabu@celllalign
+ \let\tabu@cellralign@save \tabu@cellralign
+ \let\tabu@cellleft@save \tabu@cellleft
+ \let\tabu@cellright@save \tabu@cellright
+ \let\tabu@@celllalign@save \tabu@@celllalign
+ \let\tabu@@cellralign@save \tabu@@cellralign
+ \let\tabu@@cellleft@save \tabu@@cellleft
+ \let\tabu@@cellright@save \tabu@@cellright
+ \let\tabu@rowfontreset@save \tabu@rowfontreset
+ \let\tabu@@rowfontreset@save\tabu@@rowfontreset
+ \let\tabu@rowfontreset \@empty
+ \edef\tabu@alloc@save {\the\tabu@alloc}% restore at \tabu@reset
+ \edef\c@taburow@save {\the\c@taburow}%
+ \edef\tabu@naturalX@save {\the\tabu@naturalX}%
+ \let\tabu@naturalXmin@save \tabu@naturalXmin
+ \let\tabu@naturalXmax@save \tabu@naturalXmax
+ \let\tabu@mkarstrut@save \tabu@mkarstrut
+ \edef\tabu@clarstrut{%
+ \extrarowheight \the\dimexpr \ht\@arstrutbox-\ht\strutbox \relax
+ \extrarowdepth \the\dimexpr \dp\@arstrutbox-\dp\strutbox \relax
+ \let\noexpand\@arraystretch \@ne \noexpand\tabu@rearstrut}%
+}% \tabu@setcleanup
+\def\tabu@cleanup {\begingroup
+ \globaldefs\@ne \tabu@everyrowtrue
+ \let\tabu@arc@G \tabu@arc@Gsave
+ \let\CT@arc@ \tabu@arc@G
+ \let\tabu@drsc@G \tabu@drsc@Gsave
+ \let\CT@drsc@ \tabu@drsc@G
+ \let\tabu@ls@G \tabu@ls@Gsave
+ \let\tabu@ls@ \tabu@ls@G
+ \let\tabu@rc@G \tabu@rc@Gsave
+ \let\tabu@rc@ \tabu@rc@G
+ \let\CT@do@color \relax
+ \let\tabu@evr@G \tabu@evr@Gsave
+ \let\tabu@celllalign \tabu@celllalign@save
+ \let\tabu@cellralign \tabu@cellralign@save
+ \let\tabu@cellleft \tabu@cellleft@save
+ \let\tabu@cellright \tabu@cellright@save
+ \let\tabu@@celllalign \tabu@@celllalign@save
+ \let\tabu@@cellralign \tabu@@cellralign@save
+ \let\tabu@@cellleft \tabu@@cellleft@save
+ \let\tabu@@cellright \tabu@@cellright@save
+ \let\tabu@rowfontreset \tabu@rowfontreset@save
+ \let\tabu@@rowfontreset \tabu@@rowfontreset@save
+ \tabu@naturalX =\tabu@naturalX@save
+ \let\tabu@naturalXmax \tabu@naturalXmax@save
+ \let\tabu@naturalXmin \tabu@naturalXmin@save
+ \let\tabu@mkarstrut \tabu@mkarstrut@save
+ \c@taburow =\c@taburow@save
+ \ifcase \tabu@nested \tabu@alloc \m@ne\fi
+ \endgroup %
+ \ifcase \tabu@nested
+ \the\tabu@footnotes \global\tabu@footnotes{}%
+ \tabu@afterendpar \tabu@elapsedtime
+ \fi
+ \tabu@clarstrut
+ \everyrow\expandafter {\tabu@evr@G}%
+}% \tabu@cleanup
+\let\tabu@afterendpar \relax
+\def\tabu@setreset {%
+ \edef\tabu@savedparams {% \relax for \tabu@message@save
+ \ifmmode \col@sep \the\arraycolsep
+ \else \col@sep \the\tabcolsep \fi \relax
+ \arrayrulewidth \the\arrayrulewidth \relax
+ \doublerulesep \the\doublerulesep \relax
+ \extratabsurround \the\extratabsurround \relax
+ \extrarowheight \the\extrarowheight \relax
+ \extrarowdepth \the\extrarowdepth \relax
+ \abovetabulinesep \the\abovetabulinesep \relax
+ \belowtabulinesep \the\belowtabulinesep \relax
+ \def\noexpand\arraystretch{\arraystretch}%
+ \ifdefined\minrowclearance \minrowclearance\the\minrowclearance\relax\fi}%
+ \begingroup
+ \@temptokena\expandafter{\tabu@savedparams}% => only for \savetabu / \usetabu
+ \ifx \tabu@arc@L\relax \else \tabu@setsave \tabu@arc@L \fi
+ \ifx \tabu@drsc@L\relax \else \tabu@setsave \tabu@drsc@L \fi
+ \tabu@setsave \tabu@ls@L \tabu@setsave \tabu@evr@L
+ \expandafter \endgroup \expandafter
+ \def\expandafter\tabu@saved@ \expandafter{\the\@temptokena
+ \let\tabu@arc@G \tabu@arc@L
+ \let\tabu@drsc@G \tabu@drsc@L
+ \let\tabu@ls@G \tabu@ls@L
+ \let\tabu@rc@G \tabu@rc@L
+ \let\tabu@evr@G \tabu@evr@L}%
+ \def\tabu@reset{\tabu@savedparams
+ \tabu@everyrowtrue \c@taburow \z@
+ \let\CT@arc@ \tabu@arc@L
+ \let\CT@drsc@ \tabu@drsc@L
+ \let\tabu@ls@ \tabu@ls@L
+ \let\tabu@rc@ \tabu@rc@L
+ \global\tabu@alloc \tabu@alloc@save
+ \everyrow\expandafter{\tabu@evr@L}}%
+}% \tabu@reset
+\def\tabu@setsave #1{\expandafter\tabu@sets@ve #1\@nil{#1}}
+\long\def\tabu@sets@ve #1\@nil #2{\@temptokena\expandafter{\the\@temptokena \def#2{#1}}}
+%% The Rewriting Process -------------------------------------------
+\def\tabu@newcolumntype #1{%
+ \expandafter\tabu@new@columntype
+ \csname NC@find@\string#1\expandafter\endcsname
+ \csname NC@rewrite@\string#1\endcsname
+ {#1}%
+}% \tabu@newcolumntype
+\def\tabu@new@columntype #1#2#3{%
+ \def#1##1#3{\NC@{##1}}%
+ \let#2\relax \newcommand*#2%
+}% \tabu@new@columntype
+\def\tabu@privatecolumntype #1{%
+ \expandafter\tabu@private@columntype
+ \csname NC@find@\string#1\expandafter\endcsname
+ \csname NC@rewrite@\string#1\expandafter\endcsname
+ \csname tabu@NC@find@\string#1\expandafter\endcsname
+ \csname tabu@NC@rewrite@\string#1\endcsname
+ {#1}%
+}% \tabu@privatecolumntype
+\def\tabu@private@columntype#1#2#3#4{%
+ \g@addto@macro\tabu@privatecolumns{\let#1#3\let#2#4}%
+ \tabu@new@columntype#3#4%
+}% \tabu@private@columntype
+\let\tabu@privatecolumns \@empty
+\newcommand*\tabucolumn [1]{\expandafter \def \expandafter
+ \tabu@highprioritycolumns\expandafter{\tabu@highprioritycolumns
+ \NC@do #1}}%
+\let\tabu@highprioritycolumns \@empty
+%% The | ``column'' : rewriting process --------------------------
+\tabu@privatecolumntype |{\tabu@rewritevline}
+\newcommand*\tabu@rewritevline[1][]{\tabu@vlinearg{#1}%
+ \expandafter \NC@find \tabu@rewritten}
+\def\tabu@lines #1{%
+ \ifx|#1\else \tabu@privatecolumntype #1{\tabu@rewritevline}\fi
+ \NC@list\expandafter{\the\NC@list \NC@do #1}%
+}% \tabu@lines@
+\def\tabu@vlinearg #1{%
+ \ifx\\#1\\\def\tabu@thestyle {\tabu@ls@}%
+ \else\tabu@getline {#1}%
+ \fi
+ \def\tabu@rewritten ##1{\def\tabu@rewritten{!{##1\tabu@thevline}}%
+ }\expandafter\tabu@rewritten\expandafter{\tabu@thestyle}%
+ \expandafter \tabu@keepls \tabu@thestyle \@nil
+}% \tabu@vlinearg
+\def\tabu@keepls #1\@nil{%
+ \ifcat $\@cdr #1\@nil $%
+ \ifx \relax#1\else
+ \ifx \tabu@ls@#1\else
+ \let#1\relax
+ \xdef\tabu@mkpreambuffer{\tabu@mkpreambuffer
+ \tabu@savels\noexpand#1}\fi\fi\fi
+}% \tabu@keepls
+\def\tabu@thevline {\begingroup
+ \ifdefined\tabu@leaders
+ \setbox\@tempboxa=\vtop to\dimexpr
+ \ht\@arstrutbox+\dp\@arstrutbox{{\tabu@thevleaders}}%
+ \ht\@tempboxa=\ht\@arstrutbox \dp\@tempboxa=\dp\@arstrutbox
+ \box\@tempboxa
+ \else
+ \tabu@thevrule
+ \fi \endgroup
+}% \tabu@thevline
+\def\tabu@savels #1{%
+ \expandafter\let\csname\string#1\endcsname #1%
+ \expandafter\def\expandafter\tabu@reset\expandafter{\tabu@reset
+ \tabu@resetls#1}}%
+\def\tabu@resetls #1{\expandafter\let\expandafter#1\csname\string#1\endcsname}%
+%% \multicolumn inside tabu environment -----------------------------
+\tabu@newcolumntype \tabu@rewritemulticolumn{%
+ \aftergroup \tabu@endrewritemulticolumn % after \@mkpream group
+ \NC@list{\NC@do *}\tabu@textbar \tabu@lines
+ \tabu@savedecl
+ \tabu@privatecolumns
+ \NC@list\expandafter{\the\expandafter\NC@list \tabu@NC@list}%
+ \let\tabu@savels \relax
+ \NC@find
+}% \tabu@rewritemulticolumn
+\def\tabu@endrewritemulticolumn{\gdef\tabu@mkpreambuffer{}\endgroup}
+\def\tabu@multicolumn{\tabu@ifenvir \tabu@multic@lumn \tabu@multicolumnORI}
+\long\def\tabu@multic@lumn #1#2#3{\multispan{#1}\begingroup
+ \tabu@everyrowtrue
+ \NC@list{\NC@do \tabu@rewritemulticolumn}%
+ \expandafter\@gobbletwo % gobbles \multispan{#1}
+ \tabu@multicolumnORI{#1}{\tabu@rewritemulticolumn #2}%
+ {\iftabuscantokens \tabu@rescan \else \expandafter\@firstofone \fi
+ {#3}}%
+}% \tabu@multic@lumn
+%% The X column(s): rewriting process -----------------------------
+\tabu@privatecolumntype X[1][]{\begingroup \tabu@siunitx{\endgroup \tabu@rewriteX {#1}}}
+\def\tabu@nosiunitx #1{#1{}{}\expandafter \NC@find \tabu@rewritten }
+\def\tabu@siunitx #1{\@ifnextchar \bgroup
+ {\tabu@rewriteX@Ss{#1}}
+ {\tabu@nosiunitx{#1}}}
+\def\tabu@rewriteX@Ss #1#2{\@temptokena{}%
+ \@defaultunits \let\tabu@temp =#2\relax\@nnil
+ \ifodd 1\ifx S\tabu@temp \else \ifx s\tabu@temp \else 0 \fi\fi
+ \def\NC@find{\def\NC@find >####1####2<####3\relax{#1 {####1}{####3}%
+ }\expandafter\NC@find \the\@temptokena \relax
+ }\expandafter\NC@rewrite@S \@gobble #2\relax
+ \else \tabu@siunitxerror
+ \fi
+ \expandafter \NC@find \tabu@rewritten
+}% \tabu@rewriteX@Ss
+\def\tabu@siunitxerror {\PackageError{tabu}{Not a S nor s column !
+ \MessageBreak X column can only embed siunitx S or s columns}\@ehd
+}% \tabu@siunitxerror
+\def\tabu@rewriteX #1#2#3{\tabu@Xarg {#1}{#2}{#3}%
+ \iftabu@measuring
+ \else \tabu@measuringtrue % first X column found in the preamble
+ \let\@halignto \relax \let\tabu@halignto \relax
+ \iftabu@spread \tabu@spreadtarget \tabu@target \tabu@target \z@
+ \else \tabu@spreadtarget \z@ \fi
+ \ifdim \tabu@target=\z@
+ \setlength\tabu@target \tabu@thetarget
+ \tabu@message{\tabu@message@defaulttarget}%
+ \else \tabu@message{\tabu@message@target}\fi
+ \fi
+}% \tabu@rewriteX
+\def\tabu@rewriteXrestore #1#2#3{\let\@halignto \relax
+ \def\tabu@rewritten{l}}
+\def\tabu@Xarg #1#2#3{%
+ \advance\tabu@Xcol \@ne \let\tabu@Xlcr \@empty
+ \let\tabu@Xdisp \@empty \let\tabu@Xmath \@empty
+ \ifx\\#1\\%
+ \def\tabu@rewritten{p}\tabucolX \p@ %
+ \else
+ \let\tabu@rewritten \@empty \let\tabu@temp \@empty \tabucolX \z@
+ \tabu@Xparse {}#1\relax
+ \fi
+ \tabu@Xrewritten{#2}{#3}%
+}% \tabu@Xarg
+\def\tabu@Xparse #1{\futurelet\@let@token \tabu@Xtest}
+\expandafter\def\expandafter\tabu@Xparsespace\space{\tabu@Xparse{}}
+\def\tabu@Xtest{%
+ \ifcase \ifx \relax\@let@token \z@ \else
+ \if ,\@let@token \m@ne\else
+ \if p\@let@token 1\else
+ \if m\@let@token 2\else
+ \if b\@let@token 3\else
+ \if l\@let@token 4\else
+ \if c\@let@token 5\else
+ \if r\@let@token 6\else
+ \if j\@let@token 7\else
+ \if L\@let@token 8\else
+ \if C\@let@token 9\else
+ \if R\@let@token 10\else
+ \if J\@let@token 11\else
+ \ifx \@sptoken\@let@token 12\else
+ \if .\@let@token 13\else
+ \if -\@let@token 13\else
+ \ifcat $\@let@token 14\else
+ 15\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\relax
+ \or \tabu@Xtype {p}%
+ \or \tabu@Xtype {m}%
+ \or \tabu@Xtype {b}%
+ \or \tabu@Xalign \raggedright\relax
+ \or \tabu@Xalign \centering\relax
+ \or \tabu@Xalign \raggedleft\relax
+ \or \tabu@Xalign \tabu@justify\relax
+ \or \tabu@Xalign \RaggedRight\raggedright
+ \or \tabu@Xalign \Centering\centering
+ \or \tabu@Xalign \RaggedLeft\raggedleft
+ \or \tabu@Xalign \justifying\tabu@justify
+ \or \expandafter \tabu@Xparsespace
+ \or \expandafter \tabu@Xcoef
+ \or \expandafter \tabu@Xm@th
+ \or \tabu@Xcoef{}%
+ \else\expandafter \tabu@Xparse
+ \fi
+}% \tabu@Xtest
+\def\tabu@Xalign #1#2{%
+ \ifx \tabu@Xlcr\@empty \else \PackageWarning{tabu}
+ {Duplicate horizontal alignment specification}\fi
+ \ifdefined#1\def\tabu@Xlcr{#1}\let#1\relax
+ \else \def\tabu@Xlcr{#2}\let#2\relax\fi
+ \expandafter\tabu@Xparse
+}% \tabu@Xalign
+\def\tabu@Xtype #1{%
+ \ifx \tabu@rewritten\@empty \else \PackageWarning{tabu}
+ {Duplicate vertical alignment specification}\fi
+ \def\tabu@rewritten{#1}\expandafter\tabu@Xparse
+}% \tabu@Xtype
+\def\tabu@Xcoef#1{\edef\tabu@temp{\tabu@temp#1}%
+ \afterassignment\tabu@Xc@ef \tabu@cnt\number\if-#10\fi
+}% \tabu@Xcoef
+\def\tabu@Xc@ef{\advance\tabucolX \tabu@temp\the\tabu@cnt\p@
+ \tabu@Xparse{}%
+}% \tabu@Xc@ef
+\def\tabu@Xm@th #1{\futurelet \@let@token \tabu@Xd@sp}
+\def\tabu@Xd@sp{\let\tabu@Xmath=$%
+ \ifx $\@let@token \def\tabu@Xdisp{\displaystyle}%
+ \expandafter\tabu@Xparse
+ \else \expandafter\tabu@Xparse\expandafter{\expandafter}%
+ \fi
+}% \tabu@Xd@sp
+\def\tabu@Xrewritten {%
+ \ifx \tabu@rewritten\@empty \def\tabu@rewritten{p}\fi
+ \ifdim \tabucolX<\z@ \tabu@negcoeftrue
+ \else\ifdim \tabucolX=\z@ \tabucolX \p@
+ \fi\fi
+ \edef\tabu@temp{{\the\tabu@Xcol}{\tabu@strippt\tabucolX}}%
+ \edef\tabu@Xcoefs{\tabu@Xcoefs \tabu@ \tabu@temp}%
+ \edef\tabu@rewritten ##1##2{\def\noexpand\tabu@rewritten{%
+ >{\tabu@Xlcr \ifx$\tabu@Xmath$\tabu@Xdisp\fi ##1}%
+ \tabu@rewritten {\tabu@hsize \tabu@temp}%
+ <{##2\ifx$\tabu@Xmath$\fi}}%
+ }\tabu@rewritten
+}% \tabu@Xrewritten
+\def\tabu@hsize #1#2{%
+ \ifdim #2\p@<\z@
+ \ifdim \tabucolX=\maxdimen \tabu@wd{#1}\else
+ \ifdim \tabu@wd{#1}<-#2\tabucolX \tabu@wd{#1}\else -#2\tabucolX\fi
+ \fi
+ \else #2\tabucolX
+ \fi
+}% \tabu@hsize
+%% \usetabu and \preamble: rewriting process ---------------------
+\tabu@privatecolumntype \usetabu [1]{%
+ \ifx\\#1\\\tabu@saveerr{}\else
+ \@ifundefined{tabu@saved@\string#1}
+ {\tabu@saveerr{#1}}
+ {\let\tabu@rewriteX \tabu@rewriteXrestore
+ \csname tabu@saved@\string#1\expandafter\endcsname\expandafter\@ne}%
+ \fi
+}% \NC@rewrite@\usetabu
+\tabu@privatecolumntype \preamble [1]{%
+ \ifx\\#1\\\tabu@saveerr{}\else
+ \@ifundefined{tabu@saved@\string#1}
+ {\tabu@saveerr{#1}}
+ {\csname tabu@saved@\string#1\expandafter\endcsname\expandafter\z@}%
+ \fi
+}% \NC@rewrite@\preamble
+%% Controlling the rewriting process -------------------------------
+\tabu@newcolumntype \tabu@rewritefirst{%
+ \iftabu@long \aftergroup \tabu@longpream %
+ \else \aftergroup \tabu@pream
+ \fi
+ \let\tabu@ \relax \let\tabu@hsize \relax
+ \let\tabu@Xcoefs \@empty \let\tabu@savels \relax
+ \tabu@Xcol \z@ \tabu@cnt \tw@
+ \gdef\tabu@mkpreambuffer{\tabu@{}}\tabu@measuringfalse
+ \global\setbox\@arstrutbox \box\@arstrutbox
+ \NC@list{\NC@do *}\tabu@textbar \tabu@lines
+ \NC@list\expandafter{\the\NC@list \NC@do X}%
+ \iftabu@siunitx %
+ \NC@list\expandafter{\the\NC@list \NC@do S\NC@do s}\fi
+ \NC@list\expandafter{\the\expandafter\NC@list \tabu@highprioritycolumns}%
+ \expandafter\def\expandafter\tabu@NC@list\expandafter{%
+ \the\expandafter\NC@list \tabu@NC@list}% % * | X S
+ \NC@list\expandafter{\expandafter \NC@do \expandafter\usetabu
+ \expandafter \NC@do \expandafter\preamble
+ \the\NC@list \NC@do \tabu@rewritemiddle
+ \NC@do \tabu@rewritelast}%
+ \tabu@savedecl
+ \tabu@privatecolumns
+ \edef\tabu@prev{\the\@temptokena}\NC@find \tabu@rewritemiddle
+}% NC@rewrite@\tabu@rewritefirst
+\tabu@newcolumntype \tabu@rewritemiddle{%
+ \edef\tabu@temp{\the\@temptokena}\NC@find \tabu@rewritelast
+}% \NC@rewrite@\tabu@rewritemiddle
+\tabu@newcolumntype \tabu@rewritelast{%
+ \ifx \tabu@temp\tabu@prev \advance\tabu@cnt \m@ne
+ \NC@list\expandafter{\tabu@NC@list \NC@do \tabu@rewritemiddle
+ \NC@do \tabu@rewritelast}%
+ \else \let\tabu@prev\tabu@temp
+ \fi
+ \ifcase \tabu@cnt \expandafter\tabu@endrewrite
+ \else \expandafter\NC@find \expandafter\tabu@rewritemiddle
+ \fi
+}% \NC@rewrite@\tabu@rewritelast
+%% Choosing the strategy --------------------------------------------
+\def\tabu@endrewrite {%
+ \let\tabu@temp \NC@find
+ \ifx \@arrayright\relax \let\@arrayright \@empty \fi
+ \count@=%
+ \ifx \@finalstrut\tabu@finalstrut \z@ % outer in mode 0 print
+ \iftabu@measuring
+ \xdef\tabu@mkpreambuffer{\tabu@mkpreambuffer
+ \tabu@target \csname tabu@\the\tabu@nested.T\endcsname
+ \tabucolX \csname tabu@\the\tabu@nested.X\endcsname
+ \edef\@halignto {\ifx\@arrayright\@empty to\tabu@target\fi}}%
+ \fi
+ \else\iftabu@measuring 4 % X columns
+ \xdef\tabu@mkpreambuffer{\tabu@{\tabu@mkpreambuffer
+ \tabu@target \the\tabu@target
+ \tabu@spreadtarget \the\tabu@spreadtarget}%
+ \def\noexpand\tabu@Xcoefs{\tabu@Xcoefs}%
+ \edef\tabu@halignto{\ifx \@arrayright\@empty to\tabu@target\fi}}%
+ \let\tabu@Xcoefs \relax
+ \else\ifcase\tabu@nested \thr@@ % outer, no X
+ \global\let\tabu@afterendpar \relax
+ \else \@ne % inner, no X, outer in mode 1 or 2
+ \fi
+ \ifdefined\tabu@usetabu
+ \else \ifdim\tabu@target=\z@
+ \else \let\tabu@temp \tabu@extracolsep
+ \fi\fi
+ \fi
+ \fi
+ \xdef\tabu@mkpreambuffer{\count@ \the\count@ \tabu@mkpreambuffer}%
+ \tabu@temp
+}% \tabu@endrewrite
+\def\tabu@extracolsep{\@defaultunits \expandafter\let
+ \expandafter\tabu@temp \expandafter=\the\@temptokena \relax\@nnil
+ \ifx \tabu@temp\@sptoken
+ \expandafter\tabu@gobblespace \expandafter\tabu@extracolsep
+ \else
+ \edef\tabu@temp{\noexpand\NC@find
+ \if |\noexpand\tabu@temp @%
+ \else\if !\noexpand\tabu@temp @%
+ \else !%
+ \fi\fi
+ {\noexpand\extracolsep\noexpand\@flushglue}}%
+ \fi
+ \tabu@temp
+}% \tabu@extrac@lsep
+%% Implementing the strategy ----------------------------------------
+\long\def\tabu@pream #1\@preamble {%
+ \let\tabu@ \tabu@@ \tabu@mkpreambuffer \tabu@aftergroupcleanup
+ \NC@list\expandafter {\tabu@NC@list}% in case of nesting...
+ \ifdefined\tabu@usetabu \tabu@usetabu \tabu@target \z@ \fi
+ \let\tabu@savedpreamble \@preamble
+ \global\let\tabu@elapsedtime \relax
+ \tabu@thebody ={#1\tabu@aftergroupcleanup}%
+ \tabu@thebody =\expandafter{\the\expandafter\tabu@thebody
+ \@preamble}%
+ \edef\tabuthepreamble {\the\tabu@thebody}% ( no @ allowed for \scantokens )
+ \tabu@select
+}% \tabu@pream
+\long\def\tabu@longpream #1\LT@bchunk #2\LT@bchunk{%
+ \let\tabu@ \tabu@@ \tabu@mkpreambuffer \tabu@aftergroupcleanup
+ \NC@list\expandafter {\tabu@NC@list}% in case of nesting...
+ \let\tabu@savedpreamble \@preamble
+ \global\let\tabu@elapsedtime \relax
+ \tabu@thebody ={#1\LT@bchunk #2\tabu@aftergroupcleanup \LT@bchunk}%
+ \edef\tabuthepreamble {\the\tabu@thebody}% ( no @ allowed for \scantokens )
+ \tabu@select
+}% \tabu@longpream
+\def\tabu@select {%
+ \ifnum\tabu@nested>\z@ \tabuscantokensfalse \fi
+ \ifnum \count@=\@ne \iftabu@measuring \count@=\tw@ \fi\fi
+ \ifcase \count@
+ \global\let\tabu@elapsedtime \relax
+ \tabu@seteverycr
+ \expandafter \tabuthepreamble % vertical adjustment (inherited from outer)
+ \or % exit in vertical measure + struts per cell because no X and outer in mode 3
+ \tabu@evr{\tabu@verticalinit}\tabu@celllalign@def{\tabu@verticalmeasure}%
+ \def\tabu@cellralign{\tabu@verticalspacing}%
+ \tabu@seteverycr
+ \expandafter \tabuthepreamble
+ \or % exit without measure because no X and outer in mode 4
+ \tabu@evr{}\tabu@celllalign@def{}\let\tabu@cellralign \@empty
+ \tabu@seteverycr
+ \expandafter \tabuthepreamble
+ \else % needs trials
+ \tabu@evr{}\tabu@celllalign@def{}\let\tabu@cellralign \@empty
+ \tabu@savecounters
+ \expandafter \tabu@setstrategy
+ \fi
+}% \tabu@select
+\def\tabu@@ {\gdef\tabu@mkpreambuffer}
+%% Protections to set up before trials ------------------------------
+\def\tabu@setstrategy {\begingroup %
+ \tabu@trialh@@k \tabu@cnt \z@ % number of trials
+ \hbadness \@M \let\hbadness \@tempcnta
+ \hfuzz \maxdimen \let\hfuzz \@tempdima
+ \let\write \tabu@nowrite\let\GenericError \tabu@GenericError
+ \let\savetabu \@gobble \let\tabudefaulttarget \linewidth
+ \let\@footnotetext \@gobble \let\@xfootnote \tabu@xfootnote
+ \let\color \tabu@nocolor\let\rowcolor \tabu@norowcolor
+ \let\tabu@aftergroupcleanup \relax % only after the last trial
+ \tabu@mkpreambuffer
+ \ifnum \count@>\thr@@ \let\@halignto \@empty \tabucolX@init
+ \def\tabu@lasttry{\m@ne\p@}\fi
+ \begingroup \iffalse{\fi \ifnum0=`}\fi
+ \toks@{}\def\tabu@stack{b}\iftabuscantokens \endlinechar=10 \obeyspaces \fi %
+ \tabu@collectbody \tabu@strategy %
+}% \tabu@setstrategy
+\def\tabu@savecounters{%
+ \def\@elt ##1{\csname c@##1\endcsname\the\csname c@##1\endcsname}%
+ \edef\tabu@clckpt {\begingroup \globaldefs=\@ne \cl@@ckpt \endgroup}\let\@elt \relax
+}% \tabu@savecounters
+\def\tabucolX@init {% \tabucolX <= \tabu@target / (sum coefs > 0)
+ \dimen@ \z@ \tabu@Xsum \z@ \tabucolX \z@ \let\tabu@ \tabu@Xinit \tabu@Xcoefs
+ \ifdim \dimen@>\z@
+ \@tempdima \dimexpr \tabu@target *\p@/\dimen@ + \tabu@hfuzz\relax
+ \ifdim \tabucolX<\@tempdima \tabucolX \@tempdima \fi
+ \fi
+}% \tabucolX@init
+\def\tabu@Xinit #1#2{\tabu@Xcol #1 \advance \tabu@Xsum
+ \ifdim #2\p@>\z@ #2\p@ \advance\dimen@ #2\p@
+ \else -#2\p@ \tabu@negcoeftrue
+ \@tempdima \dimexpr \tabu@target*\p@/\dimexpr-#2\p@\relax \relax
+ \ifdim \tabucolX<\@tempdima \tabucolX \@tempdima \fi
+ \tabu@wddef{#1}{0pt}%
+ \fi
+}% \tabu@Xinit
+%% Collecting the environment body ----------------------------------
+\long\def\tabu@collectbody #1#2\end #3{%
+ \edef\tabu@stack{\tabu@pushbegins #2\begin\end\expandafter\@gobble\tabu@stack}%
+ \ifx \tabu@stack\@empty
+ \toks@\expandafter{\expandafter\tabu@thebody\expandafter{\the\toks@ #2}%
+ \def\tabu@end@envir{\end{#3}}%
+ \iftabuscantokens
+ \iftabu@long \def\tabu@endenvir {\end{#3}\tabu@gobbleX}%
+ \else \def\tabu@endenvir {\let\endarray \@empty
+ \end{#3}\tabu@gobbleX}%
+ \fi
+ \else \def\tabu@endenvir {\end{#3}}\fi}%
+ \let\tabu@collectbody \tabu@endofcollect
+ \else\def\tabu@temp{#3}%
+ \ifx \tabu@temp\@empty \toks@\expandafter{\the\toks@ #2\end }%
+ \else \ifx\tabu@temp\tabu@@spxiii \toks@\expandafter{\the\toks@ #2\end #3}%
+ \else \ifx\tabu@temp\tabu@X \toks@\expandafter{\the\toks@ #2\end #3}%
+ \else \toks@\expandafter{\the\toks@ #2\end{#3}}%
+ \fi\fi\fi
+ \fi
+ \tabu@collectbody{#1}%
+}% \tabu@collectbody
+\long\def\tabu@pushbegins#1\begin#2{\ifx\end#2\else b\expandafter\tabu@pushbegins\fi}%
+\def\tabu@endofcollect #1{\ifnum0=`{}\fi
+ \expandafter\endgroup \the\toks@ #1%
+}% \tabu@endofcollect
+%% The trials: switching between strategies -------------------------
+\def\tabu@strategy {\relax % stops \count@ assignment !
+ \ifcase\count@ % case 0 = print with vertical adjustment (outer is finished)
+ \expandafter \tabu@endoftrials
+ \or % case 1 = exit in vertical measure (outer in mode 3)
+ \expandafter\xdef\csname tabu@\the\tabu@nested.T\endcsname{\the\tabu@target}%
+ \expandafter\xdef\csname tabu@\the\tabu@nested.X\endcsname{\the\tabucolX}%
+ \expandafter \tabu@endoftrials
+ \or % case 2 = exit with a rule replacing the table (outer in mode 4)
+ \expandafter \tabu@quickend
+ \or % case 3 = outer is in mode 3 because of no X
+ \begingroup
+ \tabu@evr{\tabu@verticalinit}\tabu@celllalign@def{\tabu@verticalmeasure}%
+ \def\tabu@cellralign{\tabu@verticalspacing}%
+ \expandafter \tabu@measuring
+ \else % case 4 = horizontal measure
+ \begingroup
+ \global\let\tabu@elapsedtime \tabu@message@etime
+ \long\def\multicolumn##1##2##3{\multispan{##1}}%
+ \let\tabu@startpboxORI \@startpbox
+ \iftabu@spread
+ \def\tabu@naturalXmax {\z@}%
+ \let\tabu@naturalXmin \tabu@naturalXmax
+ \tabu@evr{\global\tabu@naturalX \z@}%
+ \let\@startpbox \tabu@startpboxmeasure
+ \else\iftabu@negcoef
+ \let\@startpbox \tabu@startpboxmeasure
+ \else \let\@startpbox \tabu@startpboxquick
+ \fi\fi
+ \expandafter \tabu@measuring
+ \fi
+}% \tabu@strategy
+\def\tabu@measuring{\expandafter \tabu@trial \expandafter
+ \count@ \the\count@ \tabu@endtrial
+}% \tabu@measuring
+\def\tabu@trial{\iftabu@long \tabu@longtrial \else \tabu@shorttrial \fi}
+\def\tabu@shorttrial {\setbox\tabu@box \hbox\bgroup \tabu@seteverycr
+ \ifx \tabu@savecounters\relax \else
+ \let\tabu@savecounters \relax \tabu@clckpt \fi
+ $\iftabuscantokens \tabu@rescan \else \expandafter\@secondoftwo \fi
+ \expandafter{\expandafter \tabuthepreamble
+ \the\tabu@thebody
+ \csname tabu@adl@endtrial\endcsname
+ \endarray}$\egroup % got \tabu@box
+}% \tabu@shorttrial
+\def\tabu@longtrial {\setbox\tabu@box \hbox\bgroup \tabu@seteverycr
+ \ifx \tabu@savecounters\relax \else
+ \let\tabu@savecounters \relax \tabu@clckpt \fi
+ \iftabuscantokens \tabu@rescan \else \expandafter\@secondoftwo \fi
+ \expandafter{\expandafter \tabuthepreamble
+ \the\tabu@thebody
+ \tabuendlongtrial}\egroup % got \tabu@box
+}% \tabu@longtrial
+\def\tabuendlongtrial{% no @ allowed for \scantokens
+ \LT@echunk \global\setbox\@ne \hbox{\unhbox\@ne}\kern\wd\@ne
+ \LT@get@widths
+}% \tabuendlongtrial
+\def\tabu@adl@endtrial{%
+ \crcr \noalign{\global\adl@ncol \tabu@nbcols}}% anything global is crap, junky and fails !
+\def\tabu@seteverycr {\tabu@reset
+ \everycr \expandafter{\the\everycr \tabu@everycr}%
+ \let\everycr \tabu@noeverycr %
+}% \tabu@seteverycr
+\def\tabu@noeverycr{{\aftergroup\tabu@restoreeverycr \afterassignment}\toks@}
+\def\tabu@restoreeverycr {\let\everycr \tabu@@everycr}
+\def\tabu@everycr {\iftabu@everyrow \noalign{\tabu@everyrow}\fi}
+\def\tabu@endoftrials {%
+ \iftabuscantokens \expandafter\@firstoftwo
+ \else \expandafter\@secondoftwo
+ \fi
+ {\expandafter \tabu@closetrialsgroup \expandafter
+ \tabu@rescan \expandafter{%
+ \expandafter\tabuthepreamble
+ \the\expandafter\tabu@thebody
+ \iftabu@long \else \endarray \fi}}
+ {\expandafter\tabu@closetrialsgroup \expandafter
+ \tabuthepreamble
+ \the\tabu@thebody}%
+ \tabu@endenvir % Finish !
+}% \tabu@endoftrials
+\def\tabu@closetrialsgroup {%
+ \toks@\expandafter{\tabu@endenvir}%
+ \edef\tabu@bufferX{\endgroup
+ \tabucolX \the\tabucolX
+ \tabu@target \the\tabu@target
+ \tabu@cnt \the\tabu@cnt
+ \def\noexpand\tabu@endenvir{\the\toks@}%
+ %Quid de \@halignto = \tabu@halignto ??
+ }% \tabu@bufferX
+ \tabu@bufferX
+ \ifcase\tabu@nested % print out (outer in mode 0)
+ \global\tabu@cnt \tabu@cnt
+ \tabu@evr{\tabu@verticaldynamicadjustment}%
+ \tabu@celllalign@def{\everypar{}}\let\tabu@cellralign \@empty
+ \let\@finalstrut \tabu@finalstrut
+ \else % vertical measure of nested tabu
+ \tabu@evr{\tabu@verticalinit}%
+ \tabu@celllalign@def{\tabu@verticalmeasure}%
+ \def\tabu@cellralign{\tabu@verticalspacing}%
+ \fi
+ \tabu@clckpt \let\@halignto \tabu@halignto
+ \let\@halignto \@empty
+ \tabu@seteverycr
+ \ifdim \tabustrutrule>\z@ \ifnum\tabu@nested=\z@
+ \setbox\@arstrutbox \box\voidb@x % force \@arstrutbox to be rebuilt (visible struts)
+ \fi\fi
+}% \tabu@closetrialsgroup
+\def\tabu@quickend {\expandafter \endgroup \expandafter
+ \tabu@target \the\tabu@target \tabu@quickrule
+ \let\endarray \relax \tabu@endenvir
+}% \tabu@quickend
+\def\tabu@endtrial {\relax % stops \count@ assignment !
+ \ifcase \count@ \tabu@err % case 0 = impossible here
+ \or \tabu@err % case 1 = impossible here
+ \or \tabu@err % case 2 = impossible here
+ \or % case 3 = outer goes into mode 0
+ \def\tabu@bufferX{\endgroup}\count@ \z@
+ \else % case 4 = outer goes into mode 3
+ \iftabu@spread \tabu@spreadarith % inner into mode 1 (outer in mode 3)
+ \else \tabu@arith % or 2 (outer in mode 4)
+ \fi
+ \count@=%
+ \ifcase\tabu@nested \thr@@ % outer goes into mode 3
+ \else\iftabu@measuring \tw@ % outer is in mode 4
+ \else \@ne % outer is in mode 3
+ \fi\fi
+ \edef\tabu@bufferX{\endgroup
+ \tabucolX \the\tabucolX
+ \tabu@target \the\tabu@target}%
+ \fi
+ \expandafter \tabu@bufferX \expandafter
+ \count@ \the\count@ \tabu@strategy
+}% \tabu@endtrial
+\def\tabu@err{\errmessage{(tabu) Internal impossible error! (\count@=\the\count@)}}
+%% The algorithms: compute the widths / stop or go on ---------------
+\def\tabu@arithnegcoef {%
+ \@tempdima \z@ \dimen@ \z@ \let\tabu@ \tabu@arith@negcoef \tabu@Xcoefs
+}% \tabu@arithnegcoef
+\def\tabu@arith@negcoef #1#2{%
+ \ifdim #2\p@>\z@ \advance\dimen@ #2\p@ % saturated by definition
+ \advance\@tempdima #2\tabucolX
+ \else
+ \ifdim -#2\tabucolX <\tabu@wd{#1}% c_i X < natural width <= \tabu@target-> saturated
+ \advance\dimen@ -#2\p@
+ \advance\@tempdima -#2\tabucolX
+ \else
+ \advance\@tempdima \tabu@wd{#1}% natural width <= c_i X => neutralised
+ \ifdim \tabu@wd{#1}<\tabu@target \else % neutralised
+ \advance\dimen@ -#2\p@ % saturated (natural width = tabu@target)
+ \fi
+ \fi
+ \fi
+}% \tabu@arith@negcoef
+\def\tabu@givespace #1#2{% here \tabu@DELTA < \z@
+ \ifdim \@tempdima=\z@
+ \tabu@wddef{#1}{\the\dimexpr -\tabu@DELTA*\p@/\tabu@Xsum}%
+ \else
+ \tabu@wddef{#1}{\the\dimexpr \tabu@hsize{#1}{#2}
+ *(\p@ -\tabu@DELTA*\p@/\@tempdima)/\p@\relax}%
+ \fi
+}% \tabu@givespace
+\def\tabu@arith {\advance\tabu@cnt \@ne
+ \ifnum \tabu@cnt=\@ne \tabu@message{\tabu@titles}\fi
+ \tabu@arithnegcoef
+ \@tempdimb \dimexpr \wd\tabu@box -\@tempdima \relax %
+ \tabu@DELTA = \dimexpr \wd\tabu@box - \tabu@target \relax
+ \tabu@message{\tabu@message@arith}%
+ \ifdim \tabu@DELTA <\tabu@hfuzz
+ \ifdim \tabu@DELTA<\z@ % wd (tabu)<\tabu@target ?
+ \let\tabu@ \tabu@givespace \tabu@Xcoefs
+ \advance\@tempdima \@tempdimb \advance\@tempdima -\tabu@DELTA % for message
+ \else % already converged: nothing to do but nearly impossible...
+ \fi
+ \tabucolX \maxdimen
+ \tabu@measuringfalse
+ \else % need for narrower X columns
+ \tabucolX =\dimexpr (\@tempdima -\tabu@DELTA) *\p@/\tabu@Xsum \relax
+ \tabu@measuringtrue
+ \@whilesw \iftabu@measuring\fi {%
+ \advance\tabu@cnt \@ne
+ \tabu@arithnegcoef
+ \tabu@DELTA =\dimexpr \@tempdima+\@tempdimb -\tabu@target \relax % always < 0 here
+ \tabu@message{\tabu@header
+ \tabu@msgalign \tabucolX { }{ }{ }{ }{ }\@@
+ \tabu@msgalign \@tempdima+\@tempdimb { }{ }{ }{ }{ }\@@
+ \tabu@msgalign \tabu@target { }{ }{ }{ }{ }\@@
+ \tabu@msgalign@PT \dimen@ { }{}{}{}{}{}{}\@@
+ \ifdim -\tabu@DELTA<\tabu@hfuzz \tabu@spaces target ok\else
+ \tabu@msgalign \dimexpr -\tabu@DELTA *\p@/\dimen@ {}{}{}{}{}\@@
+ \fi}%
+ \ifdim -\tabu@DELTA<\tabu@hfuzz
+ \advance\@tempdima \@tempdimb % for message
+ \tabu@measuringfalse
+ \else
+ \advance\tabucolX \dimexpr -\tabu@DELTA *\p@/\dimen@ \relax
+ \fi
+ }%
+ \fi
+ \tabu@message{\tabu@message@reached}%
+ \edef\tabu@bufferX{\endgroup \tabu@cnt \the\tabu@cnt
+ \tabucolX \the\tabucolX
+ \tabu@target \the\tabu@target}%
+}% \tabu@arith
+\def\tabu@spreadarith {%
+ \dimen@ \z@ \@tempdima \tabu@naturalXmax \let\tabu@ \tabu@spread@arith \tabu@Xcoefs
+ \edef\tabu@naturalXmin {\the\dimexpr\tabu@naturalXmin*\dimen@/\p@}%
+ \@tempdimc =\dimexpr \wd\tabu@box -\tabu@naturalXmax+\tabu@naturalXmin \relax
+ \iftabu@measuring
+ \tabu@target =\dimexpr \@tempdimc+\tabu@spreadtarget \relax
+ \edef\tabu@bufferX{\endgroup \tabucolX \the\tabucolX \tabu@target\the\tabu@target}%
+ \else
+ \tabu@message{\tabu@message@spreadarith}%
+ \ifdim \dimexpr \@tempdimc+\tabu@spreadtarget >\tabu@target
+ \tabu@message{(tabu) spread
+ \ifdim \@tempdimc>\tabu@target useless here: default target used%
+ \else too large: reduced to fit default target\fi.}%
+ \else
+ \tabu@target =\dimexpr \@tempdimc+\tabu@spreadtarget \relax
+ \tabu@message{(tabu) spread: New target set to \the\tabu@target^^J}%
+ \fi
+ \begingroup \let\tabu@wddef \@gobbletwo
+ \@tempdimb \@tempdima
+ \tabucolX@init
+ \tabu@arithnegcoef
+ \wd\tabu@box =\dimexpr \wd\tabu@box +\@tempdima-\@tempdimb \relax
+ \expandafter\endgroup \expandafter\tabucolX \the\tabucolX
+ \tabu@arith
+ \fi
+}% \tabu@spreadarith
+\def\tabu@spread@arith #1#2{%
+ \ifdim #2\p@>\z@ \advance\dimen@ #2\p@
+ \else \advance\@tempdima \tabu@wd{#1}\relax
+ \fi
+}% \tabu@spread@arith
+%% Reporting in the .log file ---------------------------------------
+\def\tabu@message@defaulttarget{%
+ \ifnum\tabu@nested=\z@^^J(tabu) Default target:
+ \ifx\tabudefaulttarget\linewidth \string\linewidth
+ \ifdim \tabu@thetarget=\linewidth \else
+ -\the\dimexpr\linewidth-\tabu@thetarget\fi =
+ \else\ifx\tabudefaulttarget\linegoal\string\linegoal=
+ \fi\fi
+ \else (tabu) Default target (nested): \fi
+ \the\tabu@target \on@line
+ \ifnum\tabu@nested=\z@ , page \the\c@page\fi}
+\def\tabu@message@target {^^J(tabu) Target specified:
+ \the\tabu@target \on@line, page \the\c@page}
+\def\tabu@message@arith {\tabu@header
+ \tabu@msgalign \tabucolX { }{ }{ }{ }{ }\@@
+ \tabu@msgalign \wd\tabu@box { }{ }{ }{ }{ }\@@
+ \tabu@msgalign \tabu@target { }{ }{ }{ }{ }\@@
+ \tabu@msgalign@PT \dimen@ { }{}{}{}{}{}{}\@@
+ \ifdim \tabu@DELTA<\tabu@hfuzz giving space\else
+ \tabu@msgalign \dimexpr (\@tempdima-\tabu@DELTA) *\p@/\tabu@Xsum -\tabucolX {}{}{}{}{}\@@
+ \fi
+}% \tabu@message@arith
+\def\tabu@message@spreadarith {\tabu@spreadheader
+ \tabu@msgalign \tabu@spreadtarget { }{ }{ }{ }{}\@@
+ \tabu@msgalign \wd\tabu@box { }{ }{ }{ }{}\@@
+ \tabu@msgalign -\tabu@naturalXmax { }{}{}{}{}\@@
+ \tabu@msgalign \tabu@naturalXmin { }{ }{ }{ }{}\@@
+ \tabu@msgalign \ifdim \dimexpr\@tempdimc>\tabu@target \tabu@target
+ \else \@tempdimc+\tabu@spreadtarget \fi
+ {}{}{}{}{}\@@}
+\def\tabu@message@negcoef #1#2{
+ \tabu@spaces\tabu@spaces\space * #1. X[\rem@pt#2]:
+ \space width = \tabu@wd {#1}
+ \expandafter\string\csname tabu@\the\tabu@nested.W\number#1\endcsname
+ \ifdim -\tabu@pt#2\tabucolX<\tabu@target
+ < \number-\rem@pt#2 X
+ = \the\dimexpr -\tabu@pt#2\tabucolX \relax
+ \else
+ <= \the\tabu@target\space < \number-\rem@pt#2 X\fi}
+\def\tabu@message@reached{\tabu@header
+ ******* Reached Target:
+ hfuzz = \tabu@hfuzz\on@line\space *******}
+\def\tabu@message@etime{\edef\tabu@stoptime{\the\pdfelapsedtime}%
+ \tabu@message{(tabu)\tabu@spaces Time elapsed during measure:
+ \the\numexpr(\tabu@stoptime-\tabu@starttime-32767)/65536\relax sec
+ \the\numexpr\numexpr(\tabu@stoptime-\tabu@starttime)
+ -\numexpr(\tabu@stoptime-\tabu@starttime-32767)/65536\relax*65536\relax
+ *1000/65536\relax ms \tabu@spaces(\the\tabu@cnt\space
+ cycle\ifnum\tabu@cnt>\@ne s\fi)^^J^^J}}
+\def\tabu@message@verticalsp {%
+ \ifdim \@tempdima>\tabu@ht
+ \ifdim \@tempdimb>\tabu@dp
+ \expandafter\expandafter\expandafter\string\tabu@ht =
+ \tabu@msgalign \@tempdima { }{ }{ }{ }{ }\@@
+ \expandafter\expandafter\expandafter\string\tabu@dp =
+ \tabu@msgalign \@tempdimb { }{ }{ }{ }{ }\@@^^J%
+ \else
+ \expandafter\expandafter\expandafter\string\tabu@ht =
+ \tabu@msgalign \@tempdima { }{ }{ }{ }{ }\@@^^J%
+ \fi
+ \else\ifdim \@tempdimb>\tabu@dp
+ \tabu@spaces\tabu@spaces\tabu@spaces
+ \expandafter\expandafter\expandafter\string\tabu@dp =
+ \tabu@msgalign \@tempdimb { }{ }{ }{ }{ }\@@^^J\fi
+ \fi
+}% \tabu@message@verticalsp
+\edef\tabu@spaces{\@spaces}
+\def\tabu@strippt{\expandafter\tabu@pt\the}
+{\@makeother\P \@makeother\T\lowercase{\gdef\tabu@pt #1PT{#1}}}
+\def\tabu@msgalign{\expandafter\tabu@msg@align\the\dimexpr}
+\def\tabu@msgalign@PT{\expandafter\tabu@msg@align\romannumeral-`\0\tabu@strippt}
+\def\do #1{%
+ \def\tabu@msg@align##1.##2##3##4##5##6##7##8##9\@@{%
+ \ifnum##1<10 #1 #1\else
+ \ifnum##1<100 #1 \else
+ \ifnum##1<\@m #1\fi\fi\fi
+ ##1.##2##3##4##5##6##7##8#1}%
+ \def\tabu@header{(tabu) \ifnum\tabu@cnt<10 #1\fi\the\tabu@cnt) }%
+ \def\tabu@titles{\ifnum \tabu@nested=\z@
+ (tabu) Try#1 #1 tabu X #1 #1 #1tabu Width #1 #1 Target
+ #1 #1 #1 Coefs #1 #1 #1 Update^^J\fi}%
+ \def\tabu@spreadheader{%
+ (tabu) Try#1 #1 Spread #1 #1 tabu Width #1 #1 #1 Nat. X #1 #1 #1 #1Nat. Min.
+ #1 New Target^^J%
+ (tabu) sprd}
+ \def\tabu@message@save {\begingroup
+ \def\x ####1{\tabu@msg@align ####1{ }{ }{ }{ }{}\@@}
+ \def\z ####1{\expandafter\x\expandafter{\romannumeral-`\0\tabu@strippt
+ \dimexpr####1\p@{ }{ }}}%
+ \let\color \relax \def\tabu@rulesstyle ####1####2{\detokenize{####1}}%
+ \let\CT@arc@ \relax \let\@preamble \@gobble
+ \let\tabu@savedpream \@firstofone
+ \let\tabu@savedparams \@firstofone
+ \def\tabu@target ####1\relax {(tabu) target #1 #1 #1 #1 #1 = \x{####1}^^J}%
+ \def\tabucolX ####1\relax {(tabu) X columns width#1 = \x{####1}^^J}%
+ \def\tabu@nbcols ####1\relax {(tabu) Number of columns: \z{####1}^^J}%
+ \def\tabu@aligndefault ####1{(tabu) Default alignment: #1 #1 ####1^^J}%
+ \def\col@sep ####1\relax {(tabu) column sep #1 #1 #1 = \x{####1}^^J}%
+ \def\arrayrulewidth ####1\relax{(tabu) arrayrulewidth #1 = \x{####1}}%
+ \def\doublerulesep ####1\relax { doublerulesep = \x{####1}^^J}%
+ \def\extratabsurround####1\relax{(tabu) extratabsurround = \x{####1}^^J}%
+ \def\extrarowheight ####1\relax{(tabu) extrarowheight #1 = \x{####1}}%
+ \def\extrarowdepth ####1\relax {extrarowdepth = \x{####1}^^J}%
+ \def\abovetabulinesep####1\relax{(tabu) abovetabulinesep=\x{####1} }%
+ \def\belowtabulinesep####1\relax{ belowtabulinesep=\x{####1}^^J}%
+ \def\arraystretch ####1{(tabu) arraystretch #1 #1 = \z{####1}^^J}%
+ \def\minrowclearance####1\relax{(tabu) minrowclearance #1 = \x{####1}^^J}%
+ \def\tabu@arc@L ####1{(tabu) taburulecolor #1 #1 = ####1^^J}%
+ \def\tabu@drsc@L ####1{(tabu) tabudoublerulecolor= ####1^^J}%
+ \def\tabu@evr@L ####1{(tabu) everyrow #1 #1 #1 #1 = \detokenize{####1}^^J}%
+ \def\tabu@ls@L ####1{(tabu) line style = \detokenize{####1}^^J}%
+ \def\NC@find ####1\@nil{(tabu) tabu preamble#1 #1 = \detokenize{####1}^^J}%
+ \def\tabu@wddef####1####2{(tabu) Natural width ####1 = \x{####2}^^J}%
+ \let\edef \@gobbletwo \let\def \@empty \let\let \@gobbletwo
+ \tabu@message{%
+ (tabu) \string\savetabu{\tabu@temp}: \on@line^^J%
+ \tabu@usetabu \@nil^^J}%
+ \endgroup}
+}\do{ }
+%% Measuring the natural width (varwidth) - store the results -------
+\def\tabu@startpboxmeasure #1{\bgroup % entering \vtop
+ \edef\tabu@temp{\expandafter\@secondoftwo \ifx\tabu@hsize #1\else\relax\fi}%
+ \ifodd 1\ifx \tabu@temp\@empty 0 \else % starts with \tabu@hsize ?
+ \iftabu@spread \else % if spread -> measure
+ \ifdim \tabu@temp\p@>\z@ 0 \fi\fi\fi% if coef>0 -> do not measure
+ \let\@startpbox \tabu@startpboxORI % restore immediately (nesting)
+ \tabu@measuringtrue % for the quick option...
+ \tabu@Xcol =\expandafter\@firstoftwo\ifx\tabu@hsize #1\fi
+ \ifdim \tabu@temp\p@>\z@ \ifdim \tabu@temp\tabucolX<\tabu@target
+ \tabu@target=\tabu@temp\tabucolX \fi\fi
+ \setbox\tabu@box \hbox \bgroup
+ \begin{varwidth}\tabu@target
+ \let\FV@ListProcessLine \tabu@FV@ListProcessLine % \hbox to natural width...
+ \narrowragged \arraybackslash \parfillskip \@flushglue
+ \ifdefined\pdfadjustspacing \pdfadjustspacing\z@ \fi
+ \bgroup \aftergroup\tabu@endpboxmeasure
+ \ifdefined \cellspacetoplimit \tabu@cellspacepatch \fi
+ \else \expandafter\@gobble
+ \tabu@startpboxquick{#1}% \@gobble \bgroup
+ \fi
+}% \tabu@startpboxmeasure
+\def\tabu@cellspacepatch{\def\bcolumn##1\@nil{}\let\ecolumn\@empty
+ \bgroup\color@begingroup}
+\def\tabu@endpboxmeasure {%
+ \@finalstrut \@arstrutbox
+ \end{varwidth}\egroup %
+ \ifdim \tabu@temp\p@ <\z@ % neg coef
+ \ifdim \tabu@wd\tabu@Xcol <\wd\tabu@box
+ \tabu@wddef\tabu@Xcol {\the\wd\tabu@box}%
+ \tabu@debug{\tabu@message@endpboxmeasure}%
+ \fi
+ \else % spread coef>0
+ \global\advance \tabu@naturalX \wd\tabu@box
+ \@tempdima =\dimexpr \wd\tabu@box *\p@/\dimexpr \tabu@temp\p@\relax \relax
+ \ifdim \tabu@naturalXmax <\tabu@naturalX
+ \xdef\tabu@naturalXmax {\the\tabu@naturalX}\fi
+ \ifdim \tabu@naturalXmin <\@tempdima
+ \xdef\tabu@naturalXmin {\the\@tempdima}\fi
+ \fi
+ \box\tabu@box \egroup % end of \vtop (measure) restore \tabu@target
+}% \tabu@endpboxmeasure
+\def\tabu@wddef #1{\expandafter\xdef
+ \csname tabu@\the\tabu@nested.W\number#1\endcsname}
+\def\tabu@wd #1{\csname tabu@\the\tabu@nested.W\number#1\endcsname}
+\def\tabu@message@endpboxmeasure{\tabu@spaces\tabu@spaces<-> % <-> save natural wd
+ \the\tabu@Xcol. X[\tabu@temp]:
+ target = \the\tabucolX \space
+ \expandafter\expandafter\expandafter\string\tabu@wd\tabu@Xcol
+ =\tabu@wd\tabu@Xcol
+}% \tabu@message@endpboxmeasure
+\def\tabu@startpboxquick {\bgroup
+ \let\@startpbox \tabu@startpboxORI % restore immediately
+ \let\tabu \tabu@quick % \begin is expanded before...
+ \expandafter\@gobble \@startpbox % gobbles \bgroup
+}% \tabu@startpboxquick
+\def\tabu@quick {\begingroup \iffalse{\fi \ifnum0=`}\fi
+ \toks@{}\def\tabu@stack{b}\tabu@collectbody \tabu@endquick
+}% \tabu@quick
+\def\tabu@endquick {%
+ \ifodd 1\ifx\tabu@end@envir\tabu@endtabu \else
+ \ifx\tabu@end@envir\tabu@endtabus \else 0\fi\fi\relax
+ \endgroup
+ \else \let\endtabu \relax
+ \tabu@end@envir
+ \fi
+}% \tabu@quick
+\def\tabu@endtabu {\end{tabu}}
+\def\tabu@endtabus {\end{tabu*}}
+%% Measuring the heights and depths - store the results -------------
+\def\tabu@verticalmeasure{\everypar{}%
+ \ifnum \currentgrouptype>12 % 14=semi-simple, 15=math shift group
+ \setbox\tabu@box =\hbox\bgroup
+ \let\tabu@verticalspacing \tabu@verticalsp@lcr
+ \d@llarbegin % after \hbox ...
+ \else
+ \edef\tabu@temp{\ifnum\currentgrouptype=5\vtop
+ \else\ifnum\currentgrouptype=12\vcenter
+ \else\vbox\fi\fi}%
+ \setbox\tabu@box \hbox\bgroup$\tabu@temp \bgroup
+ \let\tabu@verticalspacing \tabu@verticalsp@pmb
+ \fi
+}% \tabu@verticalmeasure
+\def\tabu@verticalsp@lcr{%
+ \d@llarend \egroup %
+ \@tempdima \dimexpr \ht\tabu@box+\abovetabulinesep
+ \@tempdimb \dimexpr \dp\tabu@box+\belowtabulinesep \relax
+ \ifdim\tabustrutrule>\z@ \tabu@debug{\tabu@message@verticalsp}\fi
+ \ifdim \tabu@ht<\@tempdima \tabu@htdef{\the\@tempdima}\fi
+ \ifdim \tabu@dp<\@tempdimb \tabu@dpdef{\the\@tempdimb}\fi
+ \noindent\vrule height\@tempdima depth\@tempdimb
+}% \tabu@verticalsp@lcr
+\def\tabu@verticalsp@pmb{% inserts struts as needed
+ \par \expandafter\egroup
+ \expandafter$\expandafter
+ \egroup \expandafter
+ \@tempdimc \the\prevdepth
+ \@tempdima \dimexpr \ht\tabu@box+\abovetabulinesep
+ \@tempdimb \dimexpr \dp\tabu@box+\belowtabulinesep \relax
+ \ifdim\tabustrutrule>\z@ \tabu@debug{\tabu@message@verticalsp}\fi
+ \ifdim \tabu@ht<\@tempdima \tabu@htdef{\the\@tempdima}\fi
+ \ifdim \tabu@dp<\@tempdimb \tabu@dpdef{\the\@tempdimb}\fi
+ \let\@finalstrut \@gobble
+ \hrule height\@tempdima depth\@tempdimb width\hsize
+%% \box\tabu@box
+}% \tabu@verticalsp@pmb
+
+\def\tabu@verticalinit{%
+ \ifnum \c@taburow=\z@ \tabu@rearstrut \fi % after \tabu@reset !
+ \advance\c@taburow \@ne
+ \tabu@htdef{\the\ht\@arstrutbox}\tabu@dpdef{\the\dp\@arstrutbox}%
+ \advance\c@taburow \m@ne
+}% \tabu@verticalinit
+\def\tabu@htdef {\expandafter\xdef \csname tabu@\the\tabu@nested.H\the\c@taburow\endcsname}
+\def\tabu@ht {\csname tabu@\the\tabu@nested.H\the\c@taburow\endcsname}
+\def\tabu@dpdef {\expandafter\xdef \csname tabu@\the\tabu@nested.D\the\c@taburow\endcsname}
+\def\tabu@dp {\csname tabu@\the\tabu@nested.D\the\c@taburow\endcsname}
+\def\tabu@verticaldynamicadjustment {%
+ \advance\c@taburow \@ne
+ \extrarowheight \dimexpr\tabu@ht - \ht\strutbox
+ \extrarowdepth \dimexpr\tabu@dp - \dp\strutbox
+ \let\arraystretch \@empty
+ \advance\c@taburow \m@ne
+}% \tabu@verticaldynamicadjustment
+\def\tabuphantomline{\crcr \noalign{%
+ {\globaldefs \@ne
+ \setbox\@arstrutbox \box\voidb@x
+ \let\tabu@@celllalign \tabu@celllalign
+ \let\tabu@@cellralign \tabu@cellralign
+ \let\tabu@@cellleft \tabu@cellleft
+ \let\tabu@@cellright \tabu@cellright
+ \let\tabu@@thevline \tabu@thevline
+ \let\tabu@celllalign \@empty
+ \let\tabu@cellralign \@empty
+ \let\tabu@cellright \@empty
+ \let\tabu@cellleft \@empty
+ \let\tabu@thevline \relax}%
+ \edef\tabu@temp{\tabu@multispan \tabu@nbcols{\noindent &}}%
+ \toks@\expandafter{\tabu@temp \noindent\tabu@everyrowfalse \cr
+ \noalign{\tabu@rearstrut
+ {\globaldefs\@ne
+ \let\tabu@celllalign \tabu@@celllalign
+ \let\tabu@cellralign \tabu@@cellralign
+ \let\tabu@cellleft \tabu@@cellleft
+ \let\tabu@cellright \tabu@@cellright
+ \let\tabu@thevline \tabu@@thevline}}}%
+ \expandafter}\the\toks@
+}% \tabuphantomline
+%% \firsthline and \lasthline corrections ---------------------------
+\def\tabu@firstline {\tabu@hlineAZ \tabu@firsthlinecorrection {}}
+\def\tabu@firsthline{\tabu@hlineAZ \tabu@firsthlinecorrection \hline}
+\def\tabu@lastline {\tabu@hlineAZ \tabu@lasthlinecorrection {}}
+\def\tabu@lasthline {\tabu@hlineAZ \tabu@lasthlinecorrection \hline}
+\def\tabu@hline {% replaces \hline if no colortbl (see \AtBeginDocument)
+ \noalign{\ifnum0=`}\fi
+ {\CT@arc@\hrule height\arrayrulewidth}%
+ \futurelet \tabu@temp \tabu@xhline
+}% \tabu@hline
+\def\tabu@xhline{%
+ \ifx \tabu@temp \hline
+ {\ifx \CT@drsc@\relax \vskip
+ \else\ifx \CT@drsc@\@empty \vskip
+ \else \CT@drsc@\hrule height
+ \fi\fi
+ \doublerulesep}%
+ \fi
+ \ifnum0=`{\fi}%
+}% \tabu@xhline
+\def\tabu@hlineAZ #1#2{\noalign{\ifnum0=`}\fi \dimen@ \z@ \count@ \z@
+ \toks@{}\def\tabu@hlinecorrection{#1}\def\tabu@temp{#2}%
+ \tabu@hlineAZsurround
+}% \tabu@hlineAZ
+\newcommand*\tabu@hlineAZsurround[1][\extratabsurround]{%
+ \extratabsurround #1\let\tabucline \tabucline@scan
+ \let\hline \tabu@hlinescan \let\firsthline \hline
+ \let\cline \tabu@clinescan \let\lasthline \hline
+ \expandafter \futurelet \expandafter \tabu@temp
+ \expandafter \tabu@nexthlineAZ \tabu@temp
+}% \tabu@hlineAZsurround
+\def\tabu@hlinescan {\tabu@thick \arrayrulewidth \tabu@xhlineAZ \hline}
+\def\tabu@clinescan #1{\tabu@thick \arrayrulewidth \tabu@xhlineAZ {\cline{#1}}}
+\def\tabucline@scan{\@testopt \tabucline@sc@n {}}
+\def\tabucline@sc@n #1[#2]{\tabu@xhlineAZ {\tabucline[{#1}]{#2}}}
+\def\tabu@nexthlineAZ{%
+ \ifx \tabu@temp\hline \else
+ \ifx \tabu@temp\cline \else
+ \ifx \tabu@temp\tabucline \else
+ \tabu@hlinecorrection
+ \fi\fi\fi
+}% \tabu@nexthlineAZ
+\def\tabu@xhlineAZ #1{%
+ \toks@\expandafter{\the\toks@ #1}%
+ \@tempdimc \tabu@thick % The last line width
+ \ifcase\count@ \@tempdimb \tabu@thick % The first line width
+ \else \advance\dimen@ \dimexpr \tabu@thick+\doublerulesep \relax
+ \fi
+ \advance\count@ \@ne \futurelet \tabu@temp \tabu@nexthlineAZ
+}% \tabu@xhlineAZ
+\def\tabu@firsthlinecorrection{% \count@ = number of \hline -1
+ \@tempdima \dimexpr \ht\@arstrutbox+\dimen@
+ \edef\firsthline{%
+ \omit \hbox to\z@{\hss{\noexpand\tabu@DBG{yellow}\vrule
+ height \the\dimexpr\@tempdima+\extratabsurround
+ depth \dp\@arstrutbox
+ width \tabustrutrule}\hss}\cr
+ \noalign{\vskip -\the\dimexpr \@tempdima+\@tempdimb
+ +\dp\@arstrutbox \relax}%
+ \the\toks@
+ }\ifnum0=`{\fi
+ \expandafter}\firsthline % we are then !
+}% \tabu@firsthlinecorrection
+\def\tabu@lasthlinecorrection{%
+ \@tempdima \dimexpr \dp\@arstrutbox+\dimen@+\@tempdimb+\@tempdimc
+ \edef\lasthline{%
+ \the\toks@
+ \noalign{\vskip -\the\dimexpr\dimen@+\@tempdimb+\dp\@arstrutbox}%
+ \omit \hbox to\z@{\hss{\noexpand\tabu@DBG{yellow}\vrule
+ depth \the\dimexpr \dp\@arstrutbox+\@tempdimb+\dimen@
+ +\extratabsurround-\@tempdimc
+ height \z@
+ width \tabustrutrule}\hss}\cr
+ }\ifnum0=`{\fi
+ \expandafter}\lasthline % we are then !
+}% \tabu@lasthlinecorrection
+\def\tabu@LT@@hline{%
+ \ifx\LT@next\hline
+ \global\let\LT@next \@gobble
+ \ifx \CT@drsc@\relax
+ \gdef\CT@LT@sep{%
+ \noalign{\penalty-\@medpenalty\vskip\doublerulesep}}%
+ \else
+ \gdef\CT@LT@sep{%
+ \multispan\LT@cols{%
+ \CT@drsc@\leaders\hrule\@height\doublerulesep\hfill}\cr}%
+ \fi
+ \else
+ \global\let\LT@next\empty
+ \gdef\CT@LT@sep{%
+ \noalign{\penalty-\@lowpenalty\vskip-\arrayrulewidth}}%
+ \fi
+ \ifnum0=`{\fi}%
+ \multispan\LT@cols
+ {\CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill}\cr
+ \CT@LT@sep
+ \multispan\LT@cols
+ {\CT@arc@\leaders\hrule\@height\arrayrulewidth\hfill}\cr
+ \noalign{\penalty\@M}%
+ \LT@next
+}% \tabu@LT@@hline
+%% Horizontal lines : \tabucline ------------------------------------
+\let\tabu@start \@tempcnta
+\let\tabu@stop \@tempcntb
+\newcommand*\tabucline{\noalign{\ifnum0=`}\fi \tabu@cline}
+\newcommand*\tabu@cline[2][]{\tabu@startstop{#2}%
+ \ifnum \tabu@stop<\z@ \toks@{}%
+ \else \tabu@clinearg{#1}\tabu@thestyle
+ \edef\tabucline{\toks@{%
+ \ifnum \tabu@start>\z@ \omit
+ \tabu@multispan\tabu@start {\span\omit}&\fi
+ \omit \tabu@multispan\tabu@stop {\span\omit}%
+ \tabu@thehline\cr
+ }}\tabucline
+ \tabu@tracinglines{(tabu:tabucline) Style: #1^^J\the\toks@^^J^^J}%
+ \fi
+ \futurelet \tabu@temp \tabu@xcline
+}% \tabu@cline
+\def\tabu@clinearg #1{%
+ \ifx\\#1\\\let\tabu@thestyle \tabu@ls@
+ \else \@defaultunits \expandafter\let\expandafter\@tempa
+ \romannumeral-`\0#1\relax \@nnil
+ \ifx \hbox\@tempa \tabu@clinebox{#1}%
+ \else\ifx \box\@tempa \tabu@clinebox{#1}%
+ \else\ifx \vbox\@tempa \tabu@clinebox{#1}%
+ \else\ifx \vtop\@tempa \tabu@clinebox{#1}%
+ \else\ifx \copy\@tempa \tabu@clinebox{#1}%
+ \else\ifx \leaders\@tempa \tabu@clineleads{#1}%
+ \else\ifx \cleaders\@tempa \tabu@clineleads{#1}%
+ \else\ifx \xleaders\@tempa \tabu@clineleads{#1}%
+ \else\tabu@getline {#1}%
+ \fi\fi\fi\fi\fi\fi\fi\fi
+ \fi
+}% \tabu@clinearg
+\def\tabu@clinebox #1{\tabu@clineleads{\xleaders#1\hss}}
+\def\tabu@clineleads #1{%
+ \let\tabu@thestyle \relax \let\tabu@leaders \@undefined
+ \gdef\tabu@thehrule{#1}}
+\def\tabu@thehline{\begingroup
+ \ifdefined\tabu@leaders
+ \noexpand\tabu@thehleaders
+ \else \noexpand\tabu@thehrule
+ \fi \endgroup
+}% \tabu@thehline
+\def\tabu@xcline{%
+ \ifx \tabu@temp\tabucline
+ \toks@\expandafter{\the\toks@ \noalign
+ {\ifx\CT@drsc@\relax \vskip
+ \else \CT@drsc@\hrule height
+ \fi
+ \doublerulesep}}%
+ \fi
+ \tabu@docline
+}% \tabu@xcline
+\def\tabu@docline {\ifnum0=`{\fi \expandafter}\the\toks@}
+\def\tabu@docline@evr {\xdef\tabu@doclineafter{\the\toks@}%
+ \ifnum0=`{\fi}\aftergroup\tabu@doclineafter}
+\def\tabu@multispan #1#2{%
+ \ifnum\numexpr#1>\@ne #2\expandafter\tabu@multispan
+ \else \expandafter\@gobbletwo
+ \fi {#1-1}{#2}%
+}% \tabu@multispan
+\def\tabu@startstop #1{\tabu@start@stop #1\relax 1-\tabu@nbcols \@nnil}
+\def\tabu@start@stop #1-#2\@nnil{%
+ \@defaultunits \tabu@start\number 0#1\relax \@nnil
+ \@defaultunits \tabu@stop \number 0#2\relax \@nnil
+ \tabu@stop \ifnum \tabu@start>\tabu@nbcols \m@ne
+ \else\ifnum \tabu@stop=\z@ \tabu@nbcols
+ \else\ifnum \tabu@stop>\tabu@nbcols \tabu@nbcols
+ \else \tabu@stop
+ \fi\fi\fi
+ \advance\tabu@start \m@ne
+ \ifnum \tabu@start>\z@ \advance\tabu@stop -\tabu@start \fi
+}% \tabu@start@stop
+%% Numbers: siunitx S columns (and \tabudecimal) -------------------
+\def\tabu@tabudecimal #1{%
+ \def\tabu@decimal{#1}\@temptokena{}%
+ \let\tabu@getdecimal@ \tabu@getdecimal@ignorespaces
+ \tabu@scandecimal
+}% \tabu@tabudecimal
+\def\tabu@scandecimal{\futurelet \tabu@temp \tabu@getdecimal@}
+\def\tabu@skipdecimal#1{#1\tabu@scandecimal}
+\def\tabu@getdecimal@ignorespaces{%
+ \ifcase 0\ifx\tabu@temp\ignorespaces\else
+ \ifx\tabu@temp\@sptoken1\else
+ 2\fi\fi\relax
+ \let\tabu@getdecimal@ \tabu@getdecimal
+ \expandafter\tabu@skipdecimal
+ \or \expandafter\tabu@gobblespace\expandafter\tabu@scandecimal
+ \else \expandafter\tabu@skipdecimal
+ \fi
+}% \tabu@getdecimal@ignorespaces
+\def\tabu@get@decimal#1{\@temptokena\expandafter{\the\@temptokena #1}%
+ \tabu@scandecimal}
+\def\do#1{%
+ \def\tabu@get@decimalspace#1{%
+ \@temptokena\expandafter{\the\@temptokena #1}\tabu@scandecimal}%
+}\do{ }
+\let\tabu@@tabudecimal \tabu@tabudecimal
+\def\tabu@getdecimal{%
+ \ifcase 0\ifx 0\tabu@temp\else
+ \ifx 1\tabu@temp\else
+ \ifx 2\tabu@temp\else
+ \ifx 3\tabu@temp\else
+ \ifx 4\tabu@temp\else
+ \ifx 5\tabu@temp\else
+ \ifx 6\tabu@temp\else
+ \ifx 7\tabu@temp\else
+ \ifx 8\tabu@temp\else
+ \ifx 9\tabu@temp\else
+ \ifx .\tabu@temp\else
+ \ifx ,\tabu@temp\else
+ \ifx -\tabu@temp\else
+ \ifx +\tabu@temp\else
+ \ifx e\tabu@temp\else
+ \ifx E\tabu@temp\else
+ \ifx\tabu@cellleft\tabu@temp1\else
+ \ifx\ignorespaces\tabu@temp1\else
+ \ifx\@sptoken\tabu@temp2\else
+ 3\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\relax
+ \expandafter\tabu@get@decimal
+ \or \expandafter\tabu@skipdecimal
+ \or \expandafter\tabu@get@decimalspace
+ \else\expandafter\tabu@printdecimal
+ \fi
+}% \tabu@getdecimal
+\def\tabu@printdecimal{%
+ \edef\tabu@temp{\the\@temptokena}%
+ \ifx\tabu@temp\@empty\else
+ \ifx\tabu@temp\space\else
+ \expandafter\tabu@decimal\expandafter{\the\@temptokena}%
+ \fi\fi
+}% \tabu@printdecimal
+%% Verbatim inside X columns ----------------------------------------
+\def\tabu@verbatim{%
+ \let\verb \tabu@verb
+ \let\FV@DefineCheckEnd \tabu@FV@DefineCheckEnd
+}% \tabu@verbatim
+\let\tabu@ltx@verb \verb
+\def\tabu@verb{\@ifstar {\tabu@ltx@verb*} \tabu@ltx@verb}
+\def\tabu@fancyvrb {%
+ \def\tabu@FV@DefineCheckEnd ##1{%
+ \def\tabu@FV@DefineCheckEnd{%
+ ##1%
+ \let\FV@CheckEnd \tabu@FV@CheckEnd
+ \let\FV@@CheckEnd \tabu@FV@@CheckEnd
+ \let\FV@@@CheckEnd \tabu@FV@@@CheckEnd
+ \edef\FV@EndScanning{%
+ \def\noexpand\next{\noexpand\end{\FV@EnvironName}}%
+ \global\let\noexpand\FV@EnvironName\relax
+ \noexpand\next}%
+ \xdef\FV@EnvironName{\detokenize\expandafter{\FV@EnvironName}}}%
+ }\expandafter\tabu@FV@DefineCheckEnd\expandafter{\FV@DefineCheckEnd}
+}% \tabu@fancyvrb
+\def\tabu@FV@CheckEnd #1{\expandafter\FV@@CheckEnd \detokenize{#1\end{}}\@nil}
+\edef\tabu@FV@@@CheckEnd {\detokenize{\end{}}}
+\begingroup
+\catcode`\[1 \catcode`\]2
+\@makeother\{ \@makeother\}
+ \edef\x[\endgroup
+ \def\noexpand\tabu@FV@@CheckEnd ##1\detokenize[\end{]##2\detokenize[}]##3%
+ ]\x \@nil{\def\@tempa{#2}\def\@tempb{#3}}
+\def\tabu@FV@ListProcessLine #1{%
+ \hbox {%to \hsize{%
+ \kern\leftmargin
+ \hbox {%to \linewidth{%
+ \FV@LeftListNumber
+ \FV@LeftListFrame
+ \FancyVerbFormatLine{#1}\hss
+%% DG/SR modification begin - Jan. 28, 1998 (for numbers=right add-on)
+%% \FV@RightListFrame}%
+ \FV@RightListFrame
+ \FV@RightListNumber}%
+%% DG/SR modification end
+ \hss}}
+%% \savetabu --------------------------------------------------------
+\newcommand*\savetabu[1]{\noalign{%
+ \tabu@sanitizearg{#1}\tabu@temp
+ \ifx \tabu@temp\@empty \tabu@savewarn{}{The tabu will not be saved}\else
+ \@ifundefined{tabu@saved@\tabu@temp}{}{\tabu@savewarn{#1}{Overwriting}}%
+ \ifdefined\tabu@restored \expandafter\let
+ \csname tabu@saved@\tabu@temp \endcsname \tabu@restored
+ \else {\tabu@save}%
+ \fi
+ \fi}%
+}% \savetabu
+\def\tabu@save {%
+ \toks0\expandafter{\tabu@saved@}%
+ \iftabu@negcoef
+ \let\tabu@wddef \relax \let\tabu@ \tabu@savewd \edef\tabu@savewd{\tabu@Xcoefs}%
+ \toks0\expandafter{\the\toks\expandafter0\tabu@savewd}\fi
+ \toks1\expandafter{\tabu@savedpream}%
+ \toks2\expandafter{\tabu@savedpreamble}%
+ \let\@preamble \relax
+ \let\tabu@savedpream \relax \let\tabu@savedparams \relax
+ \edef\tabu@preamble{%
+ \def\noexpand\tabu@aligndefault{\tabu@align}%
+ \def\tabu@savedparams {\noexpand\the\toks0}%
+ \def\tabu@savedpream {\noexpand\the\toks1}}%
+ \edef\tabu@usetabu{%
+ \def\@preamble {\noexpand\the\toks2}%
+ \tabu@target \the\tabu@target \relax
+ \tabucolX \the\tabucolX \relax
+ \tabu@nbcols \the\tabu@nbcols \relax
+ \def\noexpand\tabu@aligndefault{\tabu@align}%
+ \def\tabu@savedparams {\noexpand\the\toks0}%
+ \def\tabu@savedpream {\noexpand\the\toks1}}%
+ \let\tabu@aligndefault \relax \let\@sharp \relax
+ \edef\@tempa{\noexpand\tabu@s@ved
+ {\tabu@usetabu}
+ {\tabu@preamble}
+ {\the\toks1}}\@tempa
+ \tabu@message@save
+}% \tabu@save
+\long\def\tabu@s@ved #1#2#3{%
+ \def\tabu@usetabu{#1}%
+ \expandafter\gdef\csname tabu@saved@\tabu@temp\endcsname ##1{%
+ \ifodd ##1% \usetabu
+ \tabu@measuringfalse \tabu@spreadfalse % Just in case...
+ \gdef\tabu@usetabu {%
+ \ifdim \tabu@target>\z@ \tabu@warn@usetabu \fi
+ \global\let\tabu@usetabu \@undefined
+ \def\@halignto {to\tabu@target}%
+ #1%
+ \ifx \tabu@align\tabu@aligndefault@text
+ \ifnum \tabu@nested=\z@
+ \let\tabu@align \tabu@aligndefault \fi\fi}%
+ \else % \preamble
+ \gdef\tabu@preamble {%
+ \global\let\tabu@preamble \@undefined
+ #2%
+ \ifx \tabu@align\tabu@aligndefault@text
+ \ifnum \tabu@nested=\z@
+ \let\tabu@align \tabu@aligndefault \fi\fi}%
+ \fi
+ #3}%
+}% \tabu@s@ved
+\def\tabu@aligndefault@text {\tabu@aligndefault}%
+\def\tabu@warn@usetabu {\PackageWarning{tabu}
+ {Specifying a target with \string\usetabu\space is useless
+ \MessageBreak The target cannot be changed!}}
+\def\tabu@savewd #1#2{\ifdim #2\p@<\z@ \tabu@wddef{#1}{\tabu@wd{#1}}\fi}
+\def\tabu@savewarn#1#2{\PackageInfo{tabu}
+ {User-name `#1' already used for \string\savetabu
+ \MessageBreak #2}}%
+\def\tabu@saveerr#1{\PackageError{tabu}
+ {User-name `#1' is unknown for \string\usetabu
+ \MessageBreak I cannot restore an unknown preamble!}\@ehd}
+%% \rowfont ---------------------------------------------------------
+\newskip \tabu@cellskip
+\def\tabu@rowfont{\ifdim \baselineskip=\z@\noalign\fi
+ {\ifnum0=`}\fi \tabu@row@font}
+\newcommand*\tabu@row@font[2][]{%
+ \ifnum7=\currentgrouptype
+ \global\let\tabu@@cellleft \tabu@cellleft
+ \global\let\tabu@@cellright \tabu@cellright
+ \global\let\tabu@@celllalign \tabu@celllalign
+ \global\let\tabu@@cellralign \tabu@cellralign
+ \global\let\tabu@@rowfontreset\tabu@rowfontreset
+ \fi
+ \global\let\tabu@rowfontreset \tabu@rowfont@reset
+ \expandafter\gdef\expandafter\tabu@cellleft\expandafter{\tabu@cellleft #2}%
+ \ifcsname tabu@cell@#1\endcsname % row alignment
+ \csname tabu@cell@#1\endcsname \fi
+ \ifnum0=`{\fi}% end of group / noalign group
+}% \rowfont
+\def\tabu@ifcolorleavevmode #1{\let\color \tabu@leavevmodecolor #1\let\color\tabu@color}%
+\def\tabu@rowfont@reset{%
+ \global\let\tabu@rowfontreset \tabu@@rowfontreset
+ \global\let\tabu@cellleft \tabu@@cellleft
+ \global\let\tabu@cellright \tabu@@cellright
+ \global\let\tabu@cellfont \@empty
+ \global\let\tabu@celllalign \tabu@@celllalign
+ \global\let\tabu@cellralign \tabu@@cellralign
+}% \tabu@@rowfontreset
+\let\tabu@rowfontreset \@empty % overwritten \AtBeginDocument if colortbl
+%% \tabu@prepnext@tok -----------------------------------------------
+\newif \iftabu@cellright
+\def\tabu@prepnext@tok{%
+ \ifnum \count@<\z@ %
+ \@tempcnta \@M %
+ \tabu@nbcols\z@
+ \let\tabu@fornoopORI \@fornoop
+ \tabu@cellrightfalse
+ \else
+ \ifcase \numexpr \count@-\@tempcnta \relax % (case 0): prev. token is left
+ \advance \tabu@nbcols \@ne
+ \iftabu@cellright % before-previous token is right and is finished
+ \tabu@cellrightfalse %
+ \tabu@righttok
+ \fi
+ \tabu@lefttok
+ \or % (case 1) previous token is right
+ \tabu@cellrighttrue \let\@fornoop \tabu@lastnoop
+ \else % special column: do not change the token
+ \iftabu@cellright % before-previous token is right
+ \tabu@cellrightfalse
+ \tabu@righttok
+ \fi
+ \fi % \ifcase
+ \fi
+ \tabu@prepnext@tokORI
+}% \tabu@prepnext@tok
+\long\def\tabu@lastnoop#1\@@#2#3{\tabu@lastn@@p #2\@nextchar \in@\in@@}
+\def\tabu@lastn@@p #1\@nextchar #2#3\in@@{%
+ \ifx \in@#2\else
+ \let\@fornoop \tabu@fornoopORI
+ \xdef\tabu@mkpreambuffer{\tabu@nbcols\the\tabu@nbcols \tabu@mkpreambuffer}%
+ \toks0\expandafter{\expandafter\tabu@everyrowtrue \the\toks0}%
+ \expandafter\prepnext@tok
+ \fi
+}% \tabu@lastnoop
+\def\tabu@righttok{%
+ \advance \count@ \m@ne
+ \toks\count@\expandafter {\the\toks\count@ \tabu@cellright \tabu@cellralign}%
+ \advance \count@ \@ne
+}% \tabu@righttok
+\def\tabu@lefttok{\toks\count@\expandafter{\expandafter\tabu@celllalign
+ \the\toks\count@ \tabu@cellleft}% after because of $
+}% \tabu@lefttok
+%% Neutralisation of glues ------------------------------------------
+\let\tabu@cellleft \@empty
+\let\tabu@cellright \@empty
+\tabu@celllalign@def{\tabu@cellleft}%
+\let\tabu@cellralign \@empty
+\def\tabu@cell@align #1#2#3{%
+ \let\tabu@maybesiunitx \toks@ \tabu@celllalign
+ \global \expandafter \tabu@celllalign@def \expandafter {\the\toks@ #1}%
+ \toks@\expandafter{\tabu@cellralign #2}%
+ \xdef\tabu@cellralign{\the\toks@}%
+ \toks@\expandafter{\tabu@cellleft #3}%
+ \xdef\tabu@cellleft{\the\toks@}%
+}% \tabu@cell@align
+\def\tabu@cell@l{% force alignment to left
+ \tabu@cell@align
+ {\tabu@removehfil \raggedright \tabu@cellleft}% left
+ {\tabu@flush1\tabu@ignorehfil}% right
+ \raggedright
+}% \tabu@cell@l
+\def\tabu@cell@c{% force alignment to center
+ \tabu@cell@align
+ {\tabu@removehfil \centering \tabu@flush{.5}\tabu@cellleft}
+ {\tabu@flush{.5}\tabu@ignorehfil}
+ \centering
+}% \tabu@cell@c
+\def\tabu@cell@r{% force alignment to right
+ \tabu@cell@align
+ {\tabu@removehfil \raggedleft \tabu@flush1\tabu@cellleft}
+ \tabu@ignorehfil
+ \raggedleft
+}% \tabu@cell@r
+\def\tabu@cell@j{% force justification (for p, m, b columns)
+ \tabu@cell@align
+ {\tabu@justify\tabu@cellleft}
+ {}
+ \tabu@justify
+}% \tabu@cell@j
+\def\tabu@justify{%
+ \leftskip\z@skip \@rightskip\leftskip \rightskip\@rightskip
+ \parfillskip\@flushglue
+}% \tabu@justify
+%% ragged2e settings
+\def\tabu@cell@L{% force alignment to left (ragged2e)
+ \tabu@cell@align
+ {\tabu@removehfil \RaggedRight \tabu@cellleft}
+ {\tabu@flush 1\tabu@ignorehfil}
+ \RaggedRight
+}% \tabu@cell@L
+\def\tabu@cell@C{% force alignment to center (ragged2e)
+ \tabu@cell@align
+ {\tabu@removehfil \Centering \tabu@flush{.5}\tabu@cellleft}
+ {\tabu@flush{.5}\tabu@ignorehfil}
+ \Centering
+}% \tabu@cell@C
+\def\tabu@cell@R{% force alignment to right (ragged2e)
+ \tabu@cell@align
+ {\tabu@removehfil \RaggedLeft \tabu@flush 1\tabu@cellleft}
+ \tabu@ignorehfil
+ \RaggedLeft
+}% \tabu@cell@R
+\def\tabu@cell@J{% force justification (ragged2e)
+ \tabu@cell@align
+ {\justifying \tabu@cellleft}
+ {}
+ \justifying
+}% \tabu@cell@J
+\def\tabu@flush#1{%
+ \iftabu@colortbl % colortbl uses \hfill rather than \hfil
+ \hskip \ifnum13<\currentgrouptype \stretch{#1}%
+ \else \ifdim#1pt<\p@ \tabu@cellskip
+ \else \stretch{#1}
+ \fi\fi \relax
+ \else % array.sty
+ \ifnum 13<\currentgrouptype
+ \hfil \hskip1sp \relax \fi
+ \fi
+}% \tabu@flush
+\let\tabu@hfil \hfil
+\let\tabu@hfill \hfill
+\let\tabu@hskip \hskip
+\def\tabu@removehfil{%
+ \iftabu@colortbl
+ \unkern \tabu@cellskip =\lastskip
+ \ifnum\gluestretchorder\tabu@cellskip =\tw@ \hskip-\tabu@cellskip
+ \else \tabu@cellskip \z@skip
+ \fi
+ \else
+ \ifdim\lastskip=1sp\unskip\fi
+ \ifnum\gluestretchorder\lastskip =\@ne
+ \hfilneg % \hfilneg for array.sty but not for colortbl...
+ \fi
+ \fi
+}% \tabu@removehfil
+\def\tabu@ignorehfil{\aftergroup \tabu@nohfil}
+\def\tabu@nohfil{% \hfil -> do nothing + restore original \hfil
+ \def\hfil{\let\hfil \tabu@hfil}% local to (alignment template) group
+}% \tabu@nohfil
+\def\tabu@colortblalignments {% if colortbl
+ \def\tabu@nohfil{%
+ \def\hfil {\let\hfil \tabu@hfil}% local to (alignment template) group
+ \def\hfill {\let\hfill \tabu@hfill}% (colortbl uses \hfill) pfff...
+ \def\hskip ####1\relax{\let\hskip \tabu@hskip}}% local
+}% \tabu@colortblalignments
+%% Taking care of footnotes and hyperfootnotes ----------------------
+\long\def\tabu@footnotetext #1{%
+ \edef\@tempa{\the\tabu@footnotes
+ \noexpand\footnotetext [\the\csname c@\@mpfn\endcsname]}%
+ \global\tabu@footnotes\expandafter{\@tempa {#1}}}%
+\long\def\tabu@xfootnotetext [#1]#2{%
+ \global\tabu@footnotes\expandafter{\the\tabu@footnotes
+ \footnotetext [{#1}]{#2}}}
+\let\tabu@xfootnote \@xfootnote
+\long\def\tabu@Hy@ftntext{\tabu@Hy@ftntxt {\the \c@footnote }}
+\long\def\tabu@Hy@xfootnote [#1]{%
+ \begingroup
+ \value\@mpfn #1\relax
+ \protected@xdef \@thefnmark {\thempfn}%
+ \endgroup
+ \@footnotemark \tabu@Hy@ftntxt {#1}%
+}% \tabu@Hy@xfootnote
+\long\def\tabu@Hy@ftntxt #1#2{%
+ \edef\@tempa{%
+ \the\tabu@footnotes
+ \begingroup
+ \value\@mpfn #1\relax
+ \noexpand\protected@xdef\noexpand\@thefnmark {\noexpand\thempfn}%
+ \expandafter \noexpand \expandafter
+ \tabu@Hy@footnotetext \expandafter{\Hy@footnote@currentHref}%
+ }%
+ \global\tabu@footnotes\expandafter{\@tempa {#2}%
+ \endgroup}%
+}% \tabu@Hy@ftntxt
+\long\def\tabu@Hy@footnotetext #1#2{%
+ \H@@footnotetext{%
+ \ifHy@nesting
+ \hyper@@anchor {#1}{#2}%
+ \else
+ \Hy@raisedlink{%
+ \hyper@@anchor {#1}{\relax}%
+ }%
+ \def\@currentHref {#1}%
+ \let\@currentlabelname \@empty
+ #2%
+ \fi
+ }%
+}% \tabu@Hy@footnotetext
+%% No need for \arraybackslash ! ------------------------------------
+\def\tabu@latextwoe {%
+\def\tabu@temp##1##2##3{{\toks@\expandafter{##2##3}\xdef##1{\the\toks@}}}
+\tabu@temp \tabu@centering \centering \arraybackslash
+\tabu@temp \tabu@raggedleft \raggedleft \arraybackslash
+\tabu@temp \tabu@raggedright \raggedright \arraybackslash
+}% \tabu@latextwoe
+\def\tabu@raggedtwoe {%
+\def\tabu@temp ##1##2##3{{\toks@\expandafter{##2##3}\xdef##1{\the\toks@}}}
+\tabu@temp \tabu@Centering \Centering \arraybackslash
+\tabu@temp \tabu@RaggedLeft \RaggedLeft \arraybackslash
+\tabu@temp \tabu@RaggedRight \RaggedRight \arraybackslash
+\tabu@temp \tabu@justifying \justifying \arraybackslash
+}% \tabu@raggedtwoe
+\def\tabu@normalcrbackslash{\let\\\@normalcr}
+\def\tabu@trivlist{\expandafter\def\expandafter\@trivlist\expandafter{%
+ \expandafter\tabu@normalcrbackslash \@trivlist}}
+%% Utilities: \fbox \fcolorbox and \tabudecimal -------------------
+\def\tabu@fbox {\leavevmode\afterassignment\tabu@beginfbox \setbox\@tempboxa\hbox}
+\def\tabu@beginfbox {\bgroup \kern\fboxsep
+ \bgroup\aftergroup\tabu@endfbox}
+\def\tabu@endfbox {\kern\fboxsep\egroup\egroup
+ \@frameb@x\relax}
+\def\tabu@color@b@x #1#2{\leavevmode \bgroup
+ \def\tabu@docolor@b@x{#1{#2\color@block{\wd\z@}{\ht\z@}{\dp\z@}\box\z@}}%
+ \afterassignment\tabu@begincolor@b@x \setbox\z@ \hbox
+}% \tabu@color@b@x
+\def\tabu@begincolor@b@x {\kern\fboxsep \bgroup
+ \aftergroup\tabu@endcolor@b@x \set@color}
+\def\tabu@endcolor@b@x {\kern\fboxsep \egroup
+ \dimen@\ht\z@ \advance\dimen@ \fboxsep \ht\z@ \dimen@
+ \dimen@\dp\z@ \advance\dimen@ \fboxsep \dp\z@ \dimen@
+ \tabu@docolor@b@x \egroup
+}% \tabu@endcolor@b@x
+%% Corrections (arydshln, delarray, colortbl) -----------------------
+\def\tabu@fix@arrayright {%% \@arrayright is missing from \endarray
+ \iftabu@colortbl
+ \ifdefined\adl@array %
+ \def\tabu@endarray{%
+ \adl@endarray \egroup \adl@arrayrestore \CT@end \egroup %
+ \@arrayright %
+ \gdef\@preamble{}}%
+ \else %
+ \def\tabu@endarray{%
+ \crcr \egroup \egroup %
+ \@arrayright %
+ \gdef\@preamble{}\CT@end}%
+ \fi
+ \else
+ \ifdefined\adl@array %
+ \def\tabu@endarray{%
+ \adl@endarray \egroup \adl@arrayrestore \egroup %
+ \@arrayright %
+ \gdef\@preamble{}}%
+ \else %
+ \PackageWarning{tabu}
+ {\string\@arrayright\space is missing from the
+ \MessageBreak definition of \string\endarray.
+ \MessageBreak Compatibility with delarray.sty is broken.}%
+ \fi\fi
+}% \tabu@fix@arrayright
+\def\tabu@adl@xarraydashrule #1#2#3{%
+ \ifnum\@lastchclass=\adl@class@start\else
+ \ifnum\@lastchclass=\@ne\else
+ \ifnum\@lastchclass=5 \else % @-arg (class 5) and !-arg (class 1)
+ \adl@leftrulefalse \fi\fi % must be treated the same
+ \fi
+ \ifadl@zwvrule\else \ifadl@inactive\else
+ \@addtopreamble{\vrule\@width\arrayrulewidth
+ \@height\z@ \@depth\z@}\fi \fi
+ \ifadl@leftrule
+ \@addtopreamble{\adl@vlineL{\CT@arc@}{\adl@dashgapcolor}%
+ {\number#1}#3}%
+ \else \@addtopreamble{\adl@vlineR{\CT@arc@}{\adl@dashgapcolor}%
+ {\number#2}#3}
+ \fi
+}% \tabu@adl@xarraydashrule
+\def\tabu@adl@act@endpbox {%
+ \unskip \ifhmode \nobreak \fi \@finalstrut \@arstrutbox
+ \egroup \egroup
+ \adl@colhtdp \box\adl@box \hfil
+}% \tabu@adl@act@endpbox
+\def\tabu@adl@fix {%
+ \let\adl@xarraydashrule \tabu@adl@xarraydashrule % arydshln
+ \let\adl@act@endpbox \tabu@adl@act@endpbox % arydshln
+ \let\adl@act@@endpbox \tabu@adl@act@endpbox % arydshln
+ \let\@preamerror \@preamerr % arydshln
+}% \tabu@adl@fix
+%% Correction for longtable' \@startbox definition ------------------
+%% => \everypar is ``missing'' : TeX should be in vertical mode
+\def\tabu@LT@startpbox #1{%
+ \bgroup
+ \let\@footnotetext\LT@p@ftntext
+ \setlength\hsize{#1}%
+ \@arrayparboxrestore
+ \everypar{%
+ \vrule \@height \ht\@arstrutbox \@width \z@
+ \everypar{}}%
+}% \tabu@LT@startpbox
+%% \tracingtabu and the package options ------------------
+\DeclareOption{delarray}{\AtEndOfPackage{\RequirePackage{delarray}}}
+\DeclareOption{linegoal}{%
+ \AtEndOfPackage{%
+ \RequirePackage{linegoal}[2010/12/07]%
+ \let\tabudefaulttarget \linegoal% \linegoal is \linewidth if not pdfTeX
+}}
+\DeclareOption{scantokens}{\tabuscantokenstrue}
+\DeclareOption{debugshow}{\AtEndOfPackage{\tracingtabu=\tw@}}
+\def\tracingtabu {\begingroup\@ifnextchar=%
+ {\afterassignment\tabu@tracing\count@}
+ {\afterassignment\tabu@tracing\count@1\relax}}
+\def\tabu@tracing{\expandafter\endgroup
+ \expandafter\tabu@tr@cing \the\count@ \relax
+}% \tabu@tracing
+\def\tabu@tr@cing #1\relax {%
+ \ifnum#1>\thr@@ \let\tabu@tracinglines\message
+ \else \let\tabu@tracinglines\@gobble
+ \fi
+ \ifnum#1>\tw@ \let\tabu@DBG \tabu@@DBG
+ \def\tabu@mkarstrut {\tabu@DBG@arstrut}%
+ \tabustrutrule 1.5\p@
+ \else \let\tabu@DBG \@gobble
+ \def\tabu@mkarstrut {\tabu@arstrut}%
+ \tabustrutrule \z@
+ \fi
+ \ifnum#1>\@ne \let\tabu@debug \message
+ \else \let\tabu@debug \@gobble
+ \fi
+ \ifnum#1>\z@
+ \let\tabu@message \message
+ \let\tabu@tracing@save \tabu@message@save
+ \let\tabu@starttimer \tabu@pdftimer
+ \else
+ \let\tabu@message \@gobble
+ \let\tabu@tracing@save \@gobble
+ \let\tabu@starttimer \relax
+ \fi
+}% \tabu@tr@cing
+%% Setup \AtBeginDocument
+\AtBeginDocument{\tabu@AtBeginDocument}
+\def\tabu@AtBeginDocument{\let\tabu@AtBeginDocument \@undefined
+ \ifdefined\arrayrulecolor \tabu@colortbltrue %
+ \tabu@colortblalignments % different glues are used
+ \else \tabu@colortblfalse \fi
+ \ifdefined\CT@arc@ \else \let\CT@arc@ \relax \fi
+ \ifdefined\CT@drsc@\else \let\CT@drsc@ \relax \fi
+ \let\tabu@arc@L \CT@arc@ \let\tabu@drsc@L \CT@drsc@
+ \ifodd 1\ifcsname siunitx_table_collect_begin:Nn\endcsname %
+ \expandafter\ifx
+ \csname siunitx_table_collect_begin:Nn\endcsname\relax 0\fi\fi\relax
+ \tabu@siunitxtrue
+ \else \let\tabu@maybesiunitx \@firstofone %
+ \let\tabu@siunitx \tabu@nosiunitx
+ \tabu@siunitxfalse
+ \fi
+ \ifdefined\adl@array %
+ \else \let\tabu@adl@fix \relax
+ \let\tabu@adl@endtrial \@empty \fi
+ \ifdefined\longtable %
+ \else \let\longtabu \tabu@nolongtabu \fi
+ \ifdefined\cellspacetoplimit \tabu@warn@cellspace\fi
+ \csname\ifcsname ifHy@hyperfootnotes\endcsname %
+ ifHy@hyperfootnotes\else iffalse\fi\endcsname
+ \let\tabu@footnotetext \tabu@Hy@ftntext
+ \let\tabu@xfootnote \tabu@Hy@xfootnote \fi
+ \ifdefined\FV@DefineCheckEnd%
+ \tabu@fancyvrb \fi
+ \ifdefined\color %
+ \let\tabu@color \color
+ \def\tabu@leavevmodecolor ##1{%
+ \def\tabu@leavevmodecolor {\leavevmode ##1}%
+ }\expandafter\tabu@leavevmodecolor\expandafter{\color}%
+ \else
+ \let\tabu@color \tabu@nocolor
+ \let\tabu@leavevmodecolor \@firstofone \fi
+ \tabu@latextwoe
+ \ifdefined\@raggedtwoe@everyselectfont %
+ \tabu@raggedtwoe
+ \else
+ \let\tabu@cell@L \tabu@cell@l
+ \let\tabu@cell@R \tabu@cell@r
+ \let\tabu@cell@C \tabu@cell@c
+ \let\tabu@cell@J \tabu@cell@j \fi
+ \expandafter\in@ \expandafter\@arrayright \expandafter{\endarray}%
+ \ifin@ \let\tabu@endarray \endarray
+ \else \tabu@fix@arrayright \fi%
+ \everyrow{}%
+}% \tabu@AtBeginDocument
+\def\tabu@warn@cellspace{%
+ \PackageWarning{tabu}{%
+ Package cellspace has some limitations
+ \MessageBreak And redefines some macros of array.sty.
+ \MessageBreak Please use \string\tabulinesep\space to control
+ \MessageBreak vertical spacing of lines inside tabu environment}%
+}% \tabu@warn@cellspace
+%% tabu Package initialisation
+\tabuscantokensfalse
+\let\tabu@arc@G \relax
+\let\tabu@drsc@G \relax
+\let\tabu@evr@G \@empty
+\let\tabu@rc@G \@empty
+\def\tabu@ls@G {\tabu@linestyle@}%
+\let\tabu@@rowfontreset \@empty %
+\let\tabu@@celllalign \@empty
+\let\tabu@@cellralign \@empty
+\let\tabu@@cellleft \@empty
+\let\tabu@@cellright \@empty
+\def\tabu@naturalXmin {\z@}
+\def\tabu@naturalXmax {\z@}
+\let\tabu@rowfontreset \@empty
+\def\tabulineon {4pt}\let\tabulineoff \tabulineon
+\tabu@everyrowtrue
+\ifdefined\pdfelapsedtime %
+ \def\tabu@pdftimer {\xdef\tabu@starttime{\the\pdfelapsedtime}}%
+\else \let\tabu@pdftimer \relax \let\tabu@message@etime \relax
+\fi
+\tracingtabu=\z@
+\newtabulinestyle {=\maxdimen}% creates the 'factory' settings \tabu@linestyle@
+\tabulinestyle{}
+\taburowcolors{}
+\let\tabudefaulttarget \linewidth
+\ProcessOptions* % \ProcessOptions* is quicker !
+\endinput
+%%
+%% End of file `tabu.sty'.
diff --git a/tmp.aux b/tmp.aux
new file mode 100644
index 0000000..b0d3810
--- /dev/null
+++ b/tmp.aux
@@ -0,0 +1,113 @@
+\relax
+\providecommand\hyper@newdestlabel[2]{}
+\providecommand\HyField@AuxAddToFields[1]{}
+\providecommand\HyField@AuxAddToCoFields[2]{}
+\@writefile{toc}{\contentsline {section}{\numberline {0.1}\_\_call.cpp}{2}{section.0.1}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore call.cpp}{2}{lstlisting.0.-1}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.2}\_\_call.h}{4}{section.0.2}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore call.h}{4}{lstlisting.0.-2}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.3}\_\_comment.cpp}{5}{section.0.3}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore comment.cpp}{5}{lstlisting.0.-3}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.4}\_\_comment.h}{6}{section.0.4}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore comment.h}{6}{lstlisting.0.-4}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.5}\_\_dotag.cpp}{7}{section.0.5}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore dotag.cpp}{7}{lstlisting.0.-5}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.6}\_\_dotag.h}{8}{section.0.6}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore dotag.h}{8}{lstlisting.0.-6}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.7}\_\_dump.cpp}{9}{section.0.7}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore dump.cpp}{9}{lstlisting.0.-7}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.8}\_\_dump.h}{10}{section.0.8}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore dump.h}{10}{lstlisting.0.-8}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.9}\_\_for.cpp}{11}{section.0.9}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore for.cpp}{11}{lstlisting.0.-9}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.10}\_\_for.cpp~}{12}{section.0.10}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore for.cpp}{12}{lstlisting.0.-10}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.11}\_\_for.h}{13}{section.0.11}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore for.h}{13}{lstlisting.0.-11}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.12}Global.cpp}{14}{section.0.12}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{Global.cpp}{14}{lstlisting.0.-12}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.13}Global.h}{17}{section.0.13}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{Global.h}{17}{lstlisting.0.-13}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.14}\_\_header.cpp}{18}{section.0.14}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore header.cpp}{18}{lstlisting.0.-14}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.15}\_\_header.h}{19}{section.0.15}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore header.h}{19}{lstlisting.0.-15}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.16}\_\_if.cpp}{20}{section.0.16}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore if.cpp}{20}{lstlisting.0.-16}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.17}\_\_if.h}{22}{section.0.17}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore if.h}{22}{lstlisting.0.-17}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.18}\_\_ifrow.cpp}{23}{section.0.18}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore ifrow.cpp}{23}{lstlisting.0.-18}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.19}\_\_ifrow.h}{24}{section.0.19}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore ifrow.h}{24}{lstlisting.0.-19}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.20}\_\_include.cpp}{25}{section.0.20}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore include.cpp}{25}{lstlisting.0.-20}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.21}\_\_include.h}{26}{section.0.21}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore include.h}{26}{lstlisting.0.-21}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.22}jet-2.0.cpp}{27}{section.0.22}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{jet\textendash 2.0.cpp}{27}{lstlisting.0.-22}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.23}\_\_jet.cpp}{28}{section.0.23}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore jet.cpp}{28}{lstlisting.0.-23}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.24}\_\_jet.h}{29}{section.0.24}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore jet.h}{29}{lstlisting.0.-24}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.25}KeywordValue.cpp}{30}{section.0.25}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.26}KeywordValue.h}{31}{section.0.26}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.27}Modifiers.cpp}{32}{section.0.27}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.28}Modifiers.h}{33}{section.0.28}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.29}\_\_mysql.cpp}{34}{section.0.29}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore mysql.cpp}{34}{lstlisting.0.-25}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.30}\_\_mysql.h}{36}{section.0.30}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore mysql.h}{36}{lstlisting.0.-26}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.31}Operand.cpp}{37}{section.0.31}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{Operand.cpp}{37}{lstlisting.0.-27}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.32}Operand.h}{44}{section.0.32}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{Operand.h}{44}{lstlisting.0.-28}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.33}\_\_read.cpp}{45}{section.0.33}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore read.cpp}{45}{lstlisting.0.-29}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.34}\_\_read.h}{46}{section.0.34}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore read.h}{46}{lstlisting.0.-30}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.35}\_\_set.cpp}{47}{section.0.35}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore set.cpp}{47}{lstlisting.0.-31}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.36}\_\_set.h}{48}{section.0.36}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore set.h}{48}{lstlisting.0.-32}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.37}\_\_sql.cpp}{49}{section.0.37}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore sql.cpp}{49}{lstlisting.0.-33}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.38}\_\_sql.h}{50}{section.0.38}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore sql.h}{50}{lstlisting.0.-34}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.39}\_\_stream.cpp}{51}{section.0.39}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore stream.cpp}{51}{lstlisting.0.-35}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.40}\_\_stream.h}{52}{section.0.40}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore stream.h}{52}{lstlisting.0.-36}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.41}\_\_system.cpp}{53}{section.0.41}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore system.cpp}{53}{lstlisting.0.-37}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.42}\_\_system.h}{54}{section.0.42}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore system.h}{54}{lstlisting.0.-38}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.43}\_\_tag.cpp}{55}{section.0.43}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore tag.cpp}{55}{lstlisting.0.-39}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.44}Tag.cpp}{56}{section.0.44}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{Tag.cpp}{56}{lstlisting.0.-40}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.45}\_\_tag.h}{66}{section.0.45}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore tag.h}{66}{lstlisting.0.-41}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.46}Tag.h}{67}{section.0.46}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{Tag.h}{67}{lstlisting.0.-42}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.47}\_\_until.cpp}{69}{section.0.47}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore until.cpp}{69}{lstlisting.0.-43}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.48}\_\_until.h}{71}{section.0.48}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore until.h}{71}{lstlisting.0.-44}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.49}\_\_while.cpp}{72}{section.0.49}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore while.cpp}{72}{lstlisting.0.-45}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.50}\_\_whiledir.cpp}{74}{section.0.50}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore whiledir.cpp}{74}{lstlisting.0.-46}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.51}\_\_whiledir.h}{75}{section.0.51}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore whiledir.h}{75}{lstlisting.0.-47}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.52}\_\_while.h}{76}{section.0.52}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore while.h}{76}{lstlisting.0.-48}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.53}\_\_whilerow.cpp}{77}{section.0.53}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore whilerow.cpp}{77}{lstlisting.0.-49}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.54}\_\_whilerow.h}{78}{section.0.54}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore whilerow.h}{78}{lstlisting.0.-50}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.55}\_\_write.cpp}{79}{section.0.55}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore write.cpp}{79}{lstlisting.0.-51}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {0.56}\_\_write.h}{80}{section.0.56}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\textunderscore \textunderscore write.h}{80}{lstlisting.0.-52}\protected@file@percent }
+\gdef \@abspage@last{80}
diff --git a/tmp.log b/tmp.log
new file mode 100644
index 0000000..4669278
--- /dev/null
+++ b/tmp.log
@@ -0,0 +1,467 @@
+This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/Debian) (preloaded format=pdflatex 2024.11.17) 23 OCT 2025 11:36
+entering extended mode
+ restricted \write18 enabled.
+ %&-line parsing enabled.
+**/tmp/tmp.ikmUKb4RcL -output-directory .
+(/tmp/tmp.ikmUKb4RcL
+LaTeX2e <2023-11-01> patch level 1
+L3 programming layer <2024-01-22>
+(/usr/share/texlive/texmf-dist/tex/latex/base/book.cls
+Document Class: book 2023/05/17 v1.4n Standard LaTeX document class
+(/usr/share/texlive/texmf-dist/tex/latex/base/bk10.clo
+File: bk10.clo 2023/05/17 v1.4n Standard LaTeX file (size option)
+)
+\c@part=\count187
+\c@chapter=\count188
+\c@section=\count189
+\c@subsection=\count190
+\c@subsubsection=\count191
+\c@paragraph=\count192
+\c@subparagraph=\count193
+\c@figure=\count194
+\c@table=\count195
+\abovecaptionskip=\skip48
+\belowcaptionskip=\skip49
+\bibindent=\dimen140
+)
+(/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
+Package: keyval 2022/05/29 v1.15 key=value parser (DPC)
+\KV@toks@=\toks17
+)
+\lst@mode=\count196
+\lst@gtempboxa=\box51
+\lst@token=\toks18
+\lst@length=\count197
+\lst@currlwidth=\dimen141
+\lst@column=\count198
+\lst@pos=\count199
+\lst@lostspace=\dimen142
+\lst@width=\dimen143
+\lst@newlines=\count266
+\lst@lineno=\count267
+\lst@maxwidth=\dimen144
+
+(/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
+File: lstmisc.sty 2023/02/27 1.9 (Carsten Heinz)
+\c@lstnumber=\count268
+\lst@skipnumbers=\count269
+\lst@framebox=\box52
+)
+(/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg
+File: listings.cfg 2023/02/27 1.9 listings configuration
+))
+Package: listings 2023/02/27 1.9 (Carsten Heinz)
+
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/color.sty
+Package: color 2022/01/06 v1.3d Standard LaTeX Color (DPC)
+
+(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
+File: color.cfg 2016/01/02 v1.6 sample color configuration
+)
+Package color Info: Driver file: pdftex.def on input line 149.
+
+(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
+File: pdftex.def 2022/09/22 v1.2b Graphics/color driver for pdftex
+)
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/dvipsnam.def
+File: dvipsnam.def 2016/06/17 v3.0m Driver-dependent file (DPC,SPQR)
+)
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/mathcolor.ltx))
+(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
+Package: hyperref 2024-01-20 v7.01h Hypertext links for LaTeX
+
+(/usr/share/texlive/texmf-dist/tex/generic/iftex/iftex.sty
+Package: iftex 2022/02/03 v1.0f TeX engine tests
+)
+(/usr/share/texlive/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty
+Package: kvsetkeys 2022-10-05 v1.19 Key value parser (HO)
+)
+(/usr/share/texlive/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
+Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO)
+)
+(/usr/share/texlive/texmf-dist/tex/generic/pdfescape/pdfescape.sty
+Package: pdfescape 2019/12/09 v1.15 Implements pdfTeX's escape features (HO)
+
+(/usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
+Package: ltxcmds 2023-12-04 v1.26 LaTeX kernel commands for general use (HO)
+)
+(/usr/share/texlive/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
+Package: pdftexcmds 2020-06-27 v0.33 Utility functions of pdfTeX for LuaTeX (HO
+)
+
+(/usr/share/texlive/texmf-dist/tex/generic/infwarerr/infwarerr.sty
+Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO)
+)
+Package pdftexcmds Info: \pdf@primitive is available.
+Package pdftexcmds Info: \pdf@ifprimitive is available.
+Package pdftexcmds Info: \pdfdraftmode found.
+))
+(/usr/share/texlive/texmf-dist/tex/latex/hycolor/hycolor.sty
+Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO)
+)
+(/usr/share/texlive/texmf-dist/tex/latex/auxhook/auxhook.sty
+Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO)
+)
+(/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
+Package: nameref 2023-11-26 v2.56 Cross-referencing by name of section
+
+(/usr/share/texlive/texmf-dist/tex/latex/refcount/refcount.sty
+Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO)
+)
+(/usr/share/texlive/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
+Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO)
+
+(/usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
+Package: kvoptions 2022-06-15 v3.15 Key value format for package options (HO)
+))
+\c@section@level=\count270
+)
+(/usr/share/texlive/texmf-dist/tex/latex/etoolbox/etoolbox.sty
+Package: etoolbox 2020/10/05 v2.5k e-TeX tools for LaTeX (JAW)
+\etb@tempcnta=\count271
+)
+\@linkdim=\dimen145
+\Hy@linkcounter=\count272
+\Hy@pagecounter=\count273
+
+(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
+File: pd1enc.def 2024-01-20 v7.01h Hyperref: PDFDocEncoding definition (HO)
+Now handling font encoding PD1 ...
+... no UTF-8 mapping file for font encoding PD1
+)
+(/usr/share/texlive/texmf-dist/tex/generic/intcalc/intcalc.sty
+Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO)
+)
+\Hy@SavedSpaceFactor=\count274
+
+(/usr/share/texlive/texmf-dist/tex/latex/hyperref/puenc.def
+File: puenc.def 2024-01-20 v7.01h Hyperref: PDF Unicode definition (HO)
+Now handling font encoding PU ...
+... no UTF-8 mapping file for font encoding PU
+)
+Package hyperref Info: Option `colorlinks' set `true' on input line 4062.
+Package hyperref Info: Hyper figures OFF on input line 4179.
+Package hyperref Info: Link nesting OFF on input line 4184.
+Package hyperref Info: Hyper index ON on input line 4187.
+Package hyperref Info: Plain pages OFF on input line 4194.
+Package hyperref Info: Backreferencing OFF on input line 4199.
+Package hyperref Info: Implicit mode ON; LaTeX internals redefined.
+Package hyperref Info: Bookmarks ON on input line 4446.
+\c@Hy@tempcnt=\count275
+
+(/usr/share/texlive/texmf-dist/tex/latex/url/url.sty
+\Urlmuskip=\muskip16
+Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc.
+)
+LaTeX Info: Redefining \url on input line 4784.
+\XeTeXLinkMargin=\dimen146
+
+(/usr/share/texlive/texmf-dist/tex/generic/bitset/bitset.sty
+Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO)
+
+(/usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
+Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO
+)
+))
+\Fld@menulength=\count276
+\Field@Width=\dimen147
+\Fld@charsize=\dimen148
+Package hyperref Info: Hyper figures OFF on input line 6063.
+Package hyperref Info: Link nesting OFF on input line 6068.
+Package hyperref Info: Hyper index ON on input line 6071.
+Package hyperref Info: backreferencing OFF on input line 6078.
+Package hyperref Info: Link coloring ON on input line 6081.
+Package hyperref Info: Link coloring with OCG OFF on input line 6088.
+Package hyperref Info: PDF/A mode OFF on input line 6093.
+
+(/usr/share/texlive/texmf-dist/tex/latex/base/atbegshi-ltx.sty
+Package: atbegshi-ltx 2021/01/10 v1.0c Emulation of the original atbegshi
+package with kernel methods
+)
+\Hy@abspage=\count277
+\c@Item=\count278
+\c@Hfootnote=\count279
+)
+Package hyperref Info: Driver (autodetected): hpdftex.
+
+(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
+File: hpdftex.def 2024-01-20 v7.01h Hyperref driver for pdfTeX
+
+(/usr/share/texlive/texmf-dist/tex/latex/base/atveryend-ltx.sty
+Package: atveryend-ltx 2020/08/19 v1.0a Emulation of the original atveryend pac
+kage
+with kernel methods
+)
+\Fld@listcount=\count280
+\c@bookmark@seq@number=\count281
+
+(/usr/share/texlive/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
+Package: rerunfilecheck 2022-07-10 v1.10 Rerun checks for auxiliary files (HO)
+
+(/usr/share/texlive/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
+Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO)
+)
+Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2
+85.
+)
+\Hy@SectionHShift=\skip50
+)
+(/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
+File: l3backend-pdftex.def 2024-01-04 L3 backend support: PDF output (pdfTeX)
+\l__color_backend_stack_int=\count282
+\l__pdf_internal_box=\box53
+)
+(./tmp.aux)
+\openout1 = `tmp.aux'.
+
+LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 17.
+LaTeX Font Info: ... okay on input line 17.
+LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 17.
+LaTeX Font Info: ... okay on input line 17.
+LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 17.
+LaTeX Font Info: ... okay on input line 17.
+LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 17.
+LaTeX Font Info: ... okay on input line 17.
+LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 17.
+LaTeX Font Info: ... okay on input line 17.
+LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 17.
+LaTeX Font Info: ... okay on input line 17.
+LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 17.
+LaTeX Font Info: ... okay on input line 17.
+LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 17.
+LaTeX Font Info: ... okay on input line 17.
+LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 17.
+LaTeX Font Info: ... okay on input line 17.
+\c@lstlisting=\count283
+ (/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
+[Loading MPS to PDF converter (version 2006.09.02).]
+\scratchcounter=\count284
+\scratchdimen=\dimen149
+\scratchbox=\box54
+\nofMPsegments=\count285
+\nofMParguments=\count286
+\everyMPshowfont=\toks19
+\MPscratchCnt=\count287
+\MPscratchDim=\dimen150
+\MPnumerator=\count288
+\makeMPintoPDFobject=\count289
+\everyMPtoPDFconversion=\toks20
+)
+Package hyperref Info: Link coloring ON on input line 17.
+ (./tmp.out) (./tmp.out)
+\@outlinefile=\write3
+\openout3 = `tmp.out'.
+
+ (./tmp.toc)
+\tf@toc=\write4
+\openout4 = `tmp.toc'.
+
+ [1
+
+
+{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (/usr/share/texlive/texmf-
+dist/tex/latex/listings/lstlang1.sty
+File: lstlang1.sty 2023/02/27 1.9 listings language file
+)
+(/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
+File: lstlang1.sty 2023/02/27 1.9 listings language file
+)
+(/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
+File: lstmisc.sty 2023/02/27 1.9 (Carsten Heinz)
+)
+Package hyperref Info: bookmark level for unknown lstlisting defaults to 0 on i
+nput line 22.
+ (./__call.cpp
+LaTeX Font Info: Font shape `OT1/cmtt/bx/n' in size <8> not available
+(Font) Font shape `OT1/cmtt/m/n' tried instead on input line 1.
+
+[2]) [3] (./__call.h) [4] (./__comment.cpp) [5] (./__comment.h) [6]
+(./__dotag.cpp) [7] (./__dotag.h) [8] (./__dump.cpp) [9] (./__dump.h) [10]
+(./__for.cpp) [11]
+
+! Package Listings Error: File `__for(.cpp~)' not found.
+
+Type X to quit or to proceed,
+or enter new name. (Default extension: cpp~)
+
+Enter file name: src
+
+! Package Listings Error: File `src(.cpp~)' not found.
+
+Type X to quit or to proceed,
+or enter new name. (Default extension: cpp~)
+
+Enter file name: __for.cpp
+(./__for.cpp) [12] (./__for.h) [13] (./Global.cpp [14]
+Underfull \vbox (badness 10000) has occurred while \output is active []
+
+ [15])
+[16] (./Global.h) [17] (./__header.cpp) [18] (./__header.h) [19] (./__if.cpp
+[20]) [21] (./__if.h) [22] (./__ifrow.cpp) [23] (./__ifrow.h) [24]
+(./__include.cpp) [25] (./__include.h) [26] (./jet-2.0.cpp) [27] (./__jet.cpp)
+[28] (./__jet.h) [29]
+
+! Package Listings Error: File `KeywordValue(.cpp)' not found.
+
+Type X to quit or to proceed,
+or enter new name. (Default extension: cpp)
+
+Enter file name:
+[30]
+
+! Package Listings Error: File `KeywordValue(.h)' not found.
+
+Type X to quit or to proceed,
+or enter new name. (Default extension: h)
+
+Enter file name: KeywordValue.cpp
+
+! Package Listings Error: File `KeywordValue(.cpp)' not found.
+
+Type X to quit or to proceed,
+or enter new name. (Default extension: cpp)
+
+Enter file name: KeywordValue.cpp
+
+! Package Listings Error: File `KeywordValue(.cpp)' not found.
+
+Type X to quit or to proceed,
+or enter new name. (Default extension: cpp)
+
+Enter file name: q
+
+! Package Listings Error: File `q(.cpp)' not found.
+
+Type X to quit or to proceed,
+or enter new name. (Default extension: cpp)
+
+Enter file name:
+! Interruption.
+
+ }
+l.97 ...utlisting[style=customasm]{KeywordValue.h}
+ ^^M
+?
+[31]
+
+! Package Listings Error: File `Modifiers(.cpp)' not found.
+
+Type X to quit or to proceed,
+or enter new name. (Default extension: cpp)
+
+Enter file name:
+! Interruption.
+
+ }
+l.100 ...utlisting[style=customasm]{Modifiers.cpp}
+ ^^M
+?
+[32]
+
+! Package Listings Error: File `Modifiers(.h)' not found.
+
+Type X to quit or to proceed,
+or enter new name. (Default extension: h)
+
+Enter file name:
+! Interruption.
+
+ }
+l.103 ...nputlisting[style=customasm]{Modifiers.h}
+ ^^M
+?
+[33] (./__mysql.cpp [34]) [35] (./__mysql.h) [36] (./Operand.cpp
+LaTeX Font Info: Trying to load font information for TS1+cmtt on input line
+15.
+
+(/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmtt.fd
+File: ts1cmtt.fd 2023/04/13 v2.5m Standard LaTeX font definitions
+) [37{/usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-ts1.enc}]
+Underfull \vbox (badness 10000) has occurred while \output is active []
+
+ [38]
+Underfull \vbox (badness 10000) has occurred while \output is active []
+
+ [39]
+Underfull \vbox (badness 10000) has occurred while \output is active []
+
+ [40]
+Underfull \vbox (badness 10000) has occurred while \output is active []
+
+ [41]
+Underfull \vbox (badness 10000) has occurred while \output is active []
+
+ [42])
+[43] (./Operand.h) [44] (./__read.cpp) [45] (./__read.h) [46] (./__set.cpp)
+[47] (./__set.h) [48] (./__sql.cpp) [49] (./__sql.h) [50] (./__stream.cpp)
+[51] (./__stream.h) [52] (./__system.cpp) [53] (./__system.h) [54] (./__tag.cpp
+) [55] (./Tag.cpp [56]
+Overfull \hbox (25.20828pt too wide) in paragraph at lines 55--56
+[][][][]
+ []
+
+
+Underfull \vbox (badness 10000) has occurred while \output is active []
+
+ [57]
+Underfull \vbox (badness 10000) has occurred while \output is active []
+
+ [58]
+Underfull \vbox (badness 10000) has occurred while \output is active []
+
+ [59]
+Underfull \vbox (badness 10000) has occurred while \output is active []
+
+ [60]
+Underfull \vbox (badness 10000) has occurred while \output is active []
+
+ [61]
+Underfull \vbox (badness 10000) has occurred while \output is active []
+
+ [62]
+Underfull \vbox (badness 10000) has occurred while \output is active []
+
+ [63]
+Underfull \vbox (badness 10000) has occurred while \output is active []
+
+ [64])
+[65] (./__tag.h) [66] (./Tag.h [67]) [68] (./__until.cpp [69]) [70]
+(./__until.h) [71] (./__while.cpp [72]) [73] (./__whiledir.cpp) [74]
+(./__whiledir.h) [75] (./__while.h) [76] (./__whilerow.cpp) [77]
+(./__whilerow.h) [78] (./__write.cpp) [79] (./__write.h) [80] (./tmp.aux)
+ ***********
+LaTeX2e <2023-11-01> patch level 1
+L3 programming layer <2024-01-22>
+ ***********
+
+
+Package rerunfilecheck Warning: File `tmp.out' has changed.
+(rerunfilecheck) Rerun to get outlines right
+(rerunfilecheck) or use package `bookmark'.
+
+Package rerunfilecheck Info: Checksums for `tmp.out':
+(rerunfilecheck) Before: 155527EB348F1845D117B5E56AE77364;2394
+(rerunfilecheck) After: 656ADDF09DF2171BE729518C28B77DA0;5682.
+ )
+Here is how much of TeX's memory you used:
+ 13704 strings out of 474222
+ 206447 string characters out of 5748732
+ 2297975 words of memory out of 5000000
+ 33066 multiletter control sequences out of 15000+600000
+ 560565 words of font info for 45 fonts, out of 8000000 for 9000
+ 1141 hyphenation exceptions out of 8191
+ 75i,7n,79p,455b,2210s stack positions out of 10000i,1000n,20000p,200000b,200000s
+
+Output written on tmp.pdf (80 pages, 265306 bytes).
+PDF statistics:
+ 3622 PDF objects out of 4296 (max. 8388607)
+ 3493 compressed objects within 35 object streams
+ 2681 named destinations out of 2984 (max. 500000)
+ 193 words of extra memory for PDF output out of 10000 (max. 10000000)
+
diff --git a/tmp.out b/tmp.out
new file mode 100644
index 0000000..9cc63f1
--- /dev/null
+++ b/tmp.out
@@ -0,0 +1,56 @@
+\BOOKMARK [1][-]{section.0.1}{\376\377\000\137\000\137\000c\000a\000l\000l\000.\000c\000p\000p}{}% 1
+\BOOKMARK [1][-]{section.0.2}{\376\377\000\137\000\137\000c\000a\000l\000l\000.\000h}{}% 2
+\BOOKMARK [1][-]{section.0.3}{\376\377\000\137\000\137\000c\000o\000m\000m\000e\000n\000t\000.\000c\000p\000p}{}% 3
+\BOOKMARK [1][-]{section.0.4}{\376\377\000\137\000\137\000c\000o\000m\000m\000e\000n\000t\000.\000h}{}% 4
+\BOOKMARK [1][-]{section.0.5}{\376\377\000\137\000\137\000d\000o\000t\000a\000g\000.\000c\000p\000p}{}% 5
+\BOOKMARK [1][-]{section.0.6}{\376\377\000\137\000\137\000d\000o\000t\000a\000g\000.\000h}{}% 6
+\BOOKMARK [1][-]{section.0.7}{\376\377\000\137\000\137\000d\000u\000m\000p\000.\000c\000p\000p}{}% 7
+\BOOKMARK [1][-]{section.0.8}{\376\377\000\137\000\137\000d\000u\000m\000p\000.\000h}{}% 8
+\BOOKMARK [1][-]{section.0.9}{\376\377\000\137\000\137\000f\000o\000r\000.\000c\000p\000p}{}% 9
+\BOOKMARK [1][-]{section.0.10}{\376\377\000\137\000\137\000f\000o\000r\000.\000c\000p\000p\000\040}{}% 10
+\BOOKMARK [1][-]{section.0.11}{\376\377\000\137\000\137\000f\000o\000r\000.\000h}{}% 11
+\BOOKMARK [1][-]{section.0.12}{\376\377\000G\000l\000o\000b\000a\000l\000.\000c\000p\000p}{}% 12
+\BOOKMARK [1][-]{section.0.13}{\376\377\000G\000l\000o\000b\000a\000l\000.\000h}{}% 13
+\BOOKMARK [1][-]{section.0.14}{\376\377\000\137\000\137\000h\000e\000a\000d\000e\000r\000.\000c\000p\000p}{}% 14
+\BOOKMARK [1][-]{section.0.15}{\376\377\000\137\000\137\000h\000e\000a\000d\000e\000r\000.\000h}{}% 15
+\BOOKMARK [1][-]{section.0.16}{\376\377\000\137\000\137\000i\000f\000.\000c\000p\000p}{}% 16
+\BOOKMARK [1][-]{section.0.17}{\376\377\000\137\000\137\000i\000f\000.\000h}{}% 17
+\BOOKMARK [1][-]{section.0.18}{\376\377\000\137\000\137\000i\000f\000r\000o\000w\000.\000c\000p\000p}{}% 18
+\BOOKMARK [1][-]{section.0.19}{\376\377\000\137\000\137\000i\000f\000r\000o\000w\000.\000h}{}% 19
+\BOOKMARK [1][-]{section.0.20}{\376\377\000\137\000\137\000i\000n\000c\000l\000u\000d\000e\000.\000c\000p\000p}{}% 20
+\BOOKMARK [1][-]{section.0.21}{\376\377\000\137\000\137\000i\000n\000c\000l\000u\000d\000e\000.\000h}{}% 21
+\BOOKMARK [1][-]{section.0.22}{\376\377\000j\000e\000t\000-\0002\000.\0000\000.\000c\000p\000p}{}% 22
+\BOOKMARK [1][-]{section.0.23}{\376\377\000\137\000\137\000j\000e\000t\000.\000c\000p\000p}{}% 23
+\BOOKMARK [1][-]{section.0.24}{\376\377\000\137\000\137\000j\000e\000t\000.\000h}{}% 24
+\BOOKMARK [1][-]{section.0.25}{\376\377\000K\000e\000y\000w\000o\000r\000d\000V\000a\000l\000u\000e\000.\000c\000p\000p}{}% 25
+\BOOKMARK [1][-]{section.0.26}{\376\377\000K\000e\000y\000w\000o\000r\000d\000V\000a\000l\000u\000e\000.\000h}{}% 26
+\BOOKMARK [1][-]{section.0.27}{\376\377\000M\000o\000d\000i\000f\000i\000e\000r\000s\000.\000c\000p\000p}{}% 27
+\BOOKMARK [1][-]{section.0.28}{\376\377\000M\000o\000d\000i\000f\000i\000e\000r\000s\000.\000h}{}% 28
+\BOOKMARK [1][-]{section.0.29}{\376\377\000\137\000\137\000m\000y\000s\000q\000l\000.\000c\000p\000p}{}% 29
+\BOOKMARK [1][-]{section.0.30}{\376\377\000\137\000\137\000m\000y\000s\000q\000l\000.\000h}{}% 30
+\BOOKMARK [1][-]{section.0.31}{\376\377\000O\000p\000e\000r\000a\000n\000d\000.\000c\000p\000p}{}% 31
+\BOOKMARK [1][-]{section.0.32}{\376\377\000O\000p\000e\000r\000a\000n\000d\000.\000h}{}% 32
+\BOOKMARK [1][-]{section.0.33}{\376\377\000\137\000\137\000r\000e\000a\000d\000.\000c\000p\000p}{}% 33
+\BOOKMARK [1][-]{section.0.34}{\376\377\000\137\000\137\000r\000e\000a\000d\000.\000h}{}% 34
+\BOOKMARK [1][-]{section.0.35}{\376\377\000\137\000\137\000s\000e\000t\000.\000c\000p\000p}{}% 35
+\BOOKMARK [1][-]{section.0.36}{\376\377\000\137\000\137\000s\000e\000t\000.\000h}{}% 36
+\BOOKMARK [1][-]{section.0.37}{\376\377\000\137\000\137\000s\000q\000l\000.\000c\000p\000p}{}% 37
+\BOOKMARK [1][-]{section.0.38}{\376\377\000\137\000\137\000s\000q\000l\000.\000h}{}% 38
+\BOOKMARK [1][-]{section.0.39}{\376\377\000\137\000\137\000s\000t\000r\000e\000a\000m\000.\000c\000p\000p}{}% 39
+\BOOKMARK [1][-]{section.0.40}{\376\377\000\137\000\137\000s\000t\000r\000e\000a\000m\000.\000h}{}% 40
+\BOOKMARK [1][-]{section.0.41}{\376\377\000\137\000\137\000s\000y\000s\000t\000e\000m\000.\000c\000p\000p}{}% 41
+\BOOKMARK [1][-]{section.0.42}{\376\377\000\137\000\137\000s\000y\000s\000t\000e\000m\000.\000h}{}% 42
+\BOOKMARK [1][-]{section.0.43}{\376\377\000\137\000\137\000t\000a\000g\000.\000c\000p\000p}{}% 43
+\BOOKMARK [1][-]{section.0.44}{\376\377\000T\000a\000g\000.\000c\000p\000p}{}% 44
+\BOOKMARK [1][-]{section.0.45}{\376\377\000\137\000\137\000t\000a\000g\000.\000h}{}% 45
+\BOOKMARK [1][-]{section.0.46}{\376\377\000T\000a\000g\000.\000h}{}% 46
+\BOOKMARK [1][-]{section.0.47}{\376\377\000\137\000\137\000u\000n\000t\000i\000l\000.\000c\000p\000p}{}% 47
+\BOOKMARK [1][-]{section.0.48}{\376\377\000\137\000\137\000u\000n\000t\000i\000l\000.\000h}{}% 48
+\BOOKMARK [1][-]{section.0.49}{\376\377\000\137\000\137\000w\000h\000i\000l\000e\000.\000c\000p\000p}{}% 49
+\BOOKMARK [1][-]{section.0.50}{\376\377\000\137\000\137\000w\000h\000i\000l\000e\000d\000i\000r\000.\000c\000p\000p}{}% 50
+\BOOKMARK [1][-]{section.0.51}{\376\377\000\137\000\137\000w\000h\000i\000l\000e\000d\000i\000r\000.\000h}{}% 51
+\BOOKMARK [1][-]{section.0.52}{\376\377\000\137\000\137\000w\000h\000i\000l\000e\000.\000h}{}% 52
+\BOOKMARK [1][-]{section.0.53}{\376\377\000\137\000\137\000w\000h\000i\000l\000e\000r\000o\000w\000.\000c\000p\000p}{}% 53
+\BOOKMARK [1][-]{section.0.54}{\376\377\000\137\000\137\000w\000h\000i\000l\000e\000r\000o\000w\000.\000h}{}% 54
+\BOOKMARK [1][-]{section.0.55}{\376\377\000\137\000\137\000w\000r\000i\000t\000e\000.\000c\000p\000p}{}% 55
+\BOOKMARK [1][-]{section.0.56}{\376\377\000\137\000\137\000w\000r\000i\000t\000e\000.\000h}{}% 56
diff --git a/tmp.pdf b/tmp.pdf
new file mode 100644
index 0000000..36ae503
Binary files /dev/null and b/tmp.pdf differ
diff --git a/tmp.toc b/tmp.toc
new file mode 100644
index 0000000..b9a91d3
--- /dev/null
+++ b/tmp.toc
@@ -0,0 +1,56 @@
+\contentsline {section}{\numberline {0.1}\_\_call.cpp}{2}{section.0.1}%
+\contentsline {section}{\numberline {0.2}\_\_call.h}{4}{section.0.2}%
+\contentsline {section}{\numberline {0.3}\_\_comment.cpp}{5}{section.0.3}%
+\contentsline {section}{\numberline {0.4}\_\_comment.h}{6}{section.0.4}%
+\contentsline {section}{\numberline {0.5}\_\_dotag.cpp}{7}{section.0.5}%
+\contentsline {section}{\numberline {0.6}\_\_dotag.h}{8}{section.0.6}%
+\contentsline {section}{\numberline {0.7}\_\_dump.cpp}{9}{section.0.7}%
+\contentsline {section}{\numberline {0.8}\_\_dump.h}{10}{section.0.8}%
+\contentsline {section}{\numberline {0.9}\_\_for.cpp}{11}{section.0.9}%
+\contentsline {section}{\numberline {0.10}\_\_for.cpp~}{12}{section.0.10}%
+\contentsline {section}{\numberline {0.11}\_\_for.h}{13}{section.0.11}%
+\contentsline {section}{\numberline {0.12}Global.cpp}{14}{section.0.12}%
+\contentsline {section}{\numberline {0.13}Global.h}{17}{section.0.13}%
+\contentsline {section}{\numberline {0.14}\_\_header.cpp}{18}{section.0.14}%
+\contentsline {section}{\numberline {0.15}\_\_header.h}{19}{section.0.15}%
+\contentsline {section}{\numberline {0.16}\_\_if.cpp}{20}{section.0.16}%
+\contentsline {section}{\numberline {0.17}\_\_if.h}{22}{section.0.17}%
+\contentsline {section}{\numberline {0.18}\_\_ifrow.cpp}{23}{section.0.18}%
+\contentsline {section}{\numberline {0.19}\_\_ifrow.h}{24}{section.0.19}%
+\contentsline {section}{\numberline {0.20}\_\_include.cpp}{25}{section.0.20}%
+\contentsline {section}{\numberline {0.21}\_\_include.h}{26}{section.0.21}%
+\contentsline {section}{\numberline {0.22}jet-2.0.cpp}{27}{section.0.22}%
+\contentsline {section}{\numberline {0.23}\_\_jet.cpp}{28}{section.0.23}%
+\contentsline {section}{\numberline {0.24}\_\_jet.h}{29}{section.0.24}%
+\contentsline {section}{\numberline {0.25}KeywordValue.cpp}{30}{section.0.25}%
+\contentsline {section}{\numberline {0.26}KeywordValue.h}{31}{section.0.26}%
+\contentsline {section}{\numberline {0.27}Modifiers.cpp}{32}{section.0.27}%
+\contentsline {section}{\numberline {0.28}Modifiers.h}{33}{section.0.28}%
+\contentsline {section}{\numberline {0.29}\_\_mysql.cpp}{34}{section.0.29}%
+\contentsline {section}{\numberline {0.30}\_\_mysql.h}{36}{section.0.30}%
+\contentsline {section}{\numberline {0.31}Operand.cpp}{37}{section.0.31}%
+\contentsline {section}{\numberline {0.32}Operand.h}{44}{section.0.32}%
+\contentsline {section}{\numberline {0.33}\_\_read.cpp}{45}{section.0.33}%
+\contentsline {section}{\numberline {0.34}\_\_read.h}{46}{section.0.34}%
+\contentsline {section}{\numberline {0.35}\_\_set.cpp}{47}{section.0.35}%
+\contentsline {section}{\numberline {0.36}\_\_set.h}{48}{section.0.36}%
+\contentsline {section}{\numberline {0.37}\_\_sql.cpp}{49}{section.0.37}%
+\contentsline {section}{\numberline {0.38}\_\_sql.h}{50}{section.0.38}%
+\contentsline {section}{\numberline {0.39}\_\_stream.cpp}{51}{section.0.39}%
+\contentsline {section}{\numberline {0.40}\_\_stream.h}{52}{section.0.40}%
+\contentsline {section}{\numberline {0.41}\_\_system.cpp}{53}{section.0.41}%
+\contentsline {section}{\numberline {0.42}\_\_system.h}{54}{section.0.42}%
+\contentsline {section}{\numberline {0.43}\_\_tag.cpp}{55}{section.0.43}%
+\contentsline {section}{\numberline {0.44}Tag.cpp}{56}{section.0.44}%
+\contentsline {section}{\numberline {0.45}\_\_tag.h}{66}{section.0.45}%
+\contentsline {section}{\numberline {0.46}Tag.h}{67}{section.0.46}%
+\contentsline {section}{\numberline {0.47}\_\_until.cpp}{69}{section.0.47}%
+\contentsline {section}{\numberline {0.48}\_\_until.h}{71}{section.0.48}%
+\contentsline {section}{\numberline {0.49}\_\_while.cpp}{72}{section.0.49}%
+\contentsline {section}{\numberline {0.50}\_\_whiledir.cpp}{74}{section.0.50}%
+\contentsline {section}{\numberline {0.51}\_\_whiledir.h}{75}{section.0.51}%
+\contentsline {section}{\numberline {0.52}\_\_while.h}{76}{section.0.52}%
+\contentsline {section}{\numberline {0.53}\_\_whilerow.cpp}{77}{section.0.53}%
+\contentsline {section}{\numberline {0.54}\_\_whilerow.h}{78}{section.0.54}%
+\contentsline {section}{\numberline {0.55}\_\_write.cpp}{79}{section.0.55}%
+\contentsline {section}{\numberline {0.56}\_\_write.h}{80}{section.0.56}%