From af363c50c64268f473aa5b595a0379f8590c4759 Mon Sep 17 00:00:00 2001
From: Dimitri van Heesch
Date: Mon, 11 Feb 2019 19:36:01 +0100
Subject: Remove persistent storage of Entry objects
---
src/CMakeLists.txt | 3 -
src/arguments.cpp | 65 -
src/arguments.h | 3 -
src/definition.cpp | 2 +-
src/doxygen.cpp | 1320 ++++++-------
src/entry.cpp | 126 +-
src/entry.h | 63 +-
src/filestorage.h | 135 --
src/htmlgen.cpp | 1 -
src/logos.cpp | 1985 --------------------
src/logos.h | 27 -
src/marshal.cpp | 857 ---------
src/marshal.h | 97 -
src/memberdef.cpp | 1 -
src/membergroup.cpp | 35 -
src/membergroup.h | 3 -
src/memberlist.cpp | 70 -
src/memberlist.h | 3 -
src/store.cpp | 484 -----
src/store.h | 123 --
testing/009/bug.xml | 2 +-
testing/009/class_bug.xml | 2 +-
testing/009/class_deprecated.xml | 2 +-
testing/009/class_reminder.xml | 2 +-
testing/009/class_test.xml | 2 +-
testing/009/class_todo.xml | 2 +-
testing/009/deprecated.xml | 2 +-
testing/009/reminders.xml | 6 +-
testing/009/test.xml | 2 +-
testing/009/todo.xml | 2 +-
testing/011/category_integer_07_arithmetic_08.xml | 6 +-
testing/011/interface_integer.xml | 8 +-
testing/012/citelist.xml | 86 +-
testing/012/indexpage.xml | 26 +-
testing/014/indexpage.xml | 2 +-
testing/015/015__cond_8c.xml | 2 +-
testing/016/016__copydoc_8c.xml | 8 +-
testing/018/018__def_8c.xml | 10 +-
testing/019/group__g1.xml | 2 +-
testing/019/group__g2.xml | 2 +-
testing/019/group__g3.xml | 4 +-
testing/020/indexpage.xml | 4 +-
testing/025/class_test.xml | 2 +-
testing/026/class_test.xml | 2 +-
testing/027/struct_car.xml | 2 +-
testing/027/struct_object.xml | 6 +-
testing/027/struct_truck.xml | 2 +-
testing/027/struct_vehicle.xml | 6 +-
testing/029/029__hideinit_8c.xml | 4 +-
testing/031/indexpage.xml | 108 +-
testing/035/035__invariant_8c.xml | 2 +-
testing/036/036__link_8c.xml | 2 +-
testing/037/class_receiver.xml | 2 +-
testing/037/class_sender.xml | 2 +-
testing/039/class_test.xml | 6 +-
testing/041/class_test.xml | 8 +-
testing/042/namespaceorg_1_1doxygen_1_1_test.xml | 2 +-
testing/044/struct_s.xml | 12 +-
testing/046/046__related_8cpp.xml | 2 +-
testing/046/class_test.xml | 6 +-
testing/047/047__return_8cpp.xml | 6 +-
testing/048/048__showinit_8c.xml | 4 +-
testing/050/indexpage.xml | 90 +-
testing/051/indexpage.xml | 2 +-
testing/054/054__parblock_8cpp.xml | 4 +-
testing/055/md_055_markdown.xml | 62 +-
testing/064/struct_foo.xml | 6 +-
testing/066/class_class1.xml | 106 +-
testing/067/067__link__varargs_8cpp.xml | 4 +-
testing/068/068__ref__varargs_8cpp.xml | 4 +-
testing/069/069__link__variadic__template_8cpp.xml | 20 +-
testing/070/070__ref__variadic__template_8cpp.xml | 20 +-
testing/071/namespace_a_namespace_1_1_0D0.xml | 8 +-
testing/072/072__using_8cpp.xml | 2 +-
testing/073/073__typed__enum_8cpp.xml | 2 +-
testing/074/namespacens.xml | 8 +-
testing/074/struct_foo.xml | 22 +-
testing/075/struct_foo.xml | 14 +-
...xml__namespace__members__in__file__scope_8h.xml | 4 +-
testing/079/empty.xml | 2 +-
testing/080/class_interface.xml | 12 +-
testing/081/081__brief__lists_8h.xml | 8 +-
testing/082/namespace_n.xml | 4 +-
testing/083/namespace_n.xml | 4 +-
testing/084/084__markdown__pre_8f90.xml | 102 +-
testing/085/085__tooltip_8cpp.xml | 132 +-
86 files changed, 1057 insertions(+), 5358 deletions(-)
delete mode 100644 src/filestorage.h
delete mode 100644 src/logos.cpp
delete mode 100644 src/logos.h
delete mode 100644 src/marshal.cpp
delete mode 100644 src/marshal.h
delete mode 100644 src/store.cpp
delete mode 100644 src/store.h
mode change 100755 => 100644 testing/012/citelist.xml
mode change 100755 => 100644 testing/012/indexpage.xml
mode change 100755 => 100644 testing/031/indexpage.xml
mode change 100755 => 100644 testing/050/indexpage.xml
mode change 100755 => 100644 testing/055/md_055_markdown.xml
mode change 100755 => 100644 testing/066/class_class1.xml
mode change 100755 => 100644 testing/084/084__markdown__pre_8f90.xml
mode change 100755 => 100644 testing/085/085__tooltip_8cpp.xml
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 4dc31fa..92a302a 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -204,12 +204,10 @@ add_library(_doxygen STATIC
latexgen.cpp
layout.cpp
lodepng.cpp
- logos.cpp
mandocvisitor.cpp
mangen.cpp
sqlite3gen.cpp
markdown.cpp
- marshal.cpp
memberdef.cpp
membergroup.cpp
memberlist.cpp
@@ -230,7 +228,6 @@ add_library(_doxygen STATIC
rtfgen.cpp
rtfstyle.cpp
searchindex.cpp
- store.cpp
tagreader.cpp
template.cpp
textdocvisitor.cpp
diff --git a/src/arguments.cpp b/src/arguments.cpp
index a828dab..6d3e13b 100644
--- a/src/arguments.cpp
+++ b/src/arguments.cpp
@@ -1,5 +1,4 @@
#include "arguments.h"
-#include "marshal.h"
#include
/*! the argument list is documented if one of its
@@ -38,67 +37,3 @@ ArgumentList *ArgumentList::deepCopy() const
return argList;
}
-ArgumentList *ArgumentList::unmarshal(StorageIntf *s)
-{
- uint i;
- uint count = unmarshalUInt(s);
- if (count==NULL_LIST) return 0; // null list
- ArgumentList *result = new ArgumentList;
- assert(count<1000000);
- //printf("unmarshalArgumentList: %d\n",count);
- for (i=0;iattrib = unmarshalQCString(s);
- a->type = unmarshalQCString(s);
- a->canType = unmarshalQCString(s);
- a->name = unmarshalQCString(s);
- a->array = unmarshalQCString(s);
- a->defval = unmarshalQCString(s);
- a->docs = unmarshalQCString(s);
- a->typeConstraint = unmarshalQCString(s);
- result->append(a);
- }
- result->constSpecifier = unmarshalBool(s);
- result->volatileSpecifier = unmarshalBool(s);
- result->pureSpecifier = unmarshalBool(s);
- result->trailingReturnType = unmarshalQCString(s);
- result->isDeleted = unmarshalBool(s);
- result->refQualifier = (RefQualifierType)unmarshalInt(s);
- return result;
-}
-
-void ArgumentList::marshal(StorageIntf *s,ArgumentList *argList)
-{
- if (argList==0)
- {
- marshalUInt(s,NULL_LIST); // null pointer representation
- }
- else
- {
- marshalUInt(s,argList->count());
- if (argList->count()>0)
- {
- ArgumentListIterator ali(*argList);
- Argument *a;
- for (ali.toFirst();(a=ali.current());++ali)
- {
- marshalQCString(s,a->attrib);
- marshalQCString(s,a->type);
- marshalQCString(s,a->canType);
- marshalQCString(s,a->name);
- marshalQCString(s,a->array);
- marshalQCString(s,a->defval);
- marshalQCString(s,a->docs);
- marshalQCString(s,a->typeConstraint);
- }
- }
- marshalBool(s,argList->constSpecifier);
- marshalBool(s,argList->volatileSpecifier);
- marshalBool(s,argList->pureSpecifier);
- marshalQCString(s,argList->trailingReturnType);
- marshalBool(s,argList->isDeleted);
- marshalInt(s,(int)argList->refQualifier);
- }
-}
-
diff --git a/src/arguments.h b/src/arguments.h
index 3af7134..7ef9642 100644
--- a/src/arguments.h
+++ b/src/arguments.h
@@ -115,9 +115,6 @@ class ArgumentList : public QList
bool isDeleted;
/*! C++11 ref qualifier */
RefQualifierType refQualifier;
-
- static ArgumentList *unmarshal(StorageIntf *s);
- static void marshal(StorageIntf *s,ArgumentList *argList);
};
typedef QListIterator ArgumentListIterator;
diff --git a/src/definition.cpp b/src/definition.cpp
index ae229ad..a649700 100644
--- a/src/definition.cpp
+++ b/src/definition.cpp
@@ -26,6 +26,7 @@
#include "doxygen.h"
#include "language.h"
#include "message.h"
+#include "portable.h"
#include "outputlist.h"
#include "code.h"
#include "util.h"
@@ -34,7 +35,6 @@
#include "section.h"
#include "htags.h"
#include "parserintf.h"
-#include "marshal.h"
#include "debug.h"
#include "vhdldocgen.h"
#include "memberlist.h"
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index 9cdad02..caa13a6 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -38,7 +38,6 @@
#include "scanner.h"
#include "entry.h"
#include "index.h"
-#include "logos.h"
#include "message.h"
#include "config.h"
#include "util.h"
@@ -80,14 +79,11 @@
#include "tclscanner.h"
#include "code.h"
#include "objcache.h"
-#include "store.h"
-#include "marshal.h"
#include "portable.h"
#include "vhdljjparser.h"
#include "vhdldocgen.h"
#include "eclipsehelp.h"
#include "cite.h"
-#include "filestorage.h"
#include "markdown.h"
#include "arguments.h"
#include "memberlist.h"
@@ -111,7 +107,7 @@ extern void initResources();
#define RECURSE_ENTRYTREE(func,var) \
do { if (var->children()) { \
- EntryNavListIterator eli(*var->children()); \
+ EntryListIterator eli(*var->children()); \
for (;eli.current();++eli) func(eli.current()); \
} } while(0)
@@ -166,7 +162,7 @@ SDict Doxygen::dirRelations(257);
ParserManager *Doxygen::parserManager = 0;
QCString Doxygen::htmlFileExtension;
bool Doxygen::suppressDocWarnings = FALSE;
-Store *Doxygen::symbolStorage;
+//Store *Doxygen::symbolStorage;
QCString Doxygen::objDBFileName;
QCString Doxygen::entryDBFileName;
QCString Doxygen::filterDBFileName;
@@ -180,12 +176,11 @@ bool Doxygen::markdownSupport = TRUE;
GenericsSDict *Doxygen::genericsDict;
// locally accessible globals
-static QDict g_classEntries(1009);
+static QDict g_classEntries(1009);
static StringList g_inputFiles;
static QDict g_compoundKeywordDict(7); // keywords recognised as compounds
static OutputList *g_outputList = 0; // list of output generating objects
static QDict g_usingDeclarations(1009); // used classes
-static FileStorage *g_storage = 0;
static bool g_successfulRun = FALSE;
static bool g_dumpSymbolMap = FALSE;
static bool g_useOutputTemplate = FALSE;
@@ -301,9 +296,9 @@ void statistics()
-static void addMemberDocs(EntryNav *rootNav,MemberDef *md, const char *funcDecl,
+static void addMemberDocs(Entry *root,MemberDef *md, const char *funcDecl,
ArgumentList *al,bool over_load,NamespaceSDict *nl=0);
-static void findMember(EntryNav *rootNav,
+static void findMember(Entry *root,
QCString funcDecl,
bool overloaded,
bool isFunc
@@ -317,7 +312,7 @@ enum FindBaseClassRelation_Mode
};
static bool findClassRelation(
- EntryNav *rootNav,
+ Entry *root,
Definition *context,
ClassDef *cd,
BaseInfo *bi,
@@ -424,7 +419,7 @@ static STLInfo g_stlinfo[] =
{ 0, 0, 0, 0, 0, 0, 0, FALSE, FALSE }
};
-static void addSTLMember(EntryNav *rootNav,const char *type,const char *name)
+static void addSTLMember(Entry *root,const char *type,const char *name)
{
Entry *memEntry = new Entry;
memEntry->name = name;
@@ -435,13 +430,13 @@ static void addSTLMember(EntryNav *rootNav,const char *type,const char *name)
memEntry->hidden = FALSE;
memEntry->artificial = TRUE;
//memEntry->parent = root;
- //root->addSubEntry(memEntry);
- EntryNav *memEntryNav = new EntryNav(rootNav,memEntry);
- memEntryNav->setEntry(memEntry);
- rootNav->addChild(memEntryNav);
+ root->addSubEntry(memEntry);
+ //EntryNav *memEntryNav = new EntryNav(root,memEntry);
+ //memEntryNav->setEntry(memEntry);
+ //rootNav->addChild(memEntryNav);
}
-static void addSTLIterator(EntryNav *classEntryNav,const char *name)
+static void addSTLIterator(Entry *classEntry,const char *name)
{
Entry *iteratorClassEntry = new Entry;
iteratorClassEntry->fileName = "[STL]";
@@ -451,13 +446,14 @@ static void addSTLIterator(EntryNav *classEntryNav,const char *name)
iteratorClassEntry->brief = "STL iterator class";
iteratorClassEntry->hidden = FALSE;
iteratorClassEntry->artificial= TRUE;
- EntryNav *iteratorClassEntryNav = new EntryNav(classEntryNav,iteratorClassEntry);
- iteratorClassEntryNav->setEntry(iteratorClassEntry);
- classEntryNav->addChild(iteratorClassEntryNav);
+ classEntry->addSubEntry(iteratorClassEntry);
+ //EntryNav *iteratorClassEntryNav = new EntryNav(classEntryNav,iteratorClassEntry);
+ //iteratorClassEntryNav->setEntry(iteratorClassEntry);
+ //classEntryNav->addChild(iteratorClassEntryNav);
}
-static void addSTLClasses(EntryNav *rootNav)
+static void addSTLClasses(Entry *root)
{
Entry *namespaceEntry = new Entry;
namespaceEntry->fileName = "[STL]";
@@ -468,10 +464,10 @@ static void addSTLClasses(EntryNav *rootNav)
namespaceEntry->brief = "STL namespace";
namespaceEntry->hidden = FALSE;
namespaceEntry->artificial= TRUE;
- //root->addSubEntry(namespaceEntry);
- EntryNav *namespaceEntryNav = new EntryNav(rootNav,namespaceEntry);
- namespaceEntryNav->setEntry(namespaceEntry);
- rootNav->addChild(namespaceEntryNav);
+ root->addSubEntry(namespaceEntry);
+ //EntryNav *namespaceEntryNav = new EntryNav(rootNav,namespaceEntry);
+ //namespaceEntryNav->setEntry(namespaceEntry);
+ //rootNav->addChild(namespaceEntryNav);
STLInfo *info = g_stlinfo;
while (info->className)
@@ -485,15 +481,14 @@ static void addSTLClasses(EntryNav *rootNav)
classEntry->fileName = "[STL]";
classEntry->startLine = 1;
classEntry->name = fullName;
- //classEntry->parent = namespaceEntry;
classEntry->section = Entry::CLASS_SEC;
classEntry->brief = "STL class";
classEntry->hidden = FALSE;
classEntry->artificial= TRUE;
- //namespaceEntry->addSubEntry(classEntry);
- EntryNav *classEntryNav = new EntryNav(namespaceEntryNav,classEntry);
- classEntryNav->setEntry(classEntry);
- namespaceEntryNav->addChild(classEntryNav);
+ namespaceEntry->addSubEntry(classEntry);
+ //EntryNav *classEntryNav = new EntryNav(namespaceEntryNav,classEntry);
+ //classEntryNav->setEntry(classEntry);
+ //namespaceEntryNav->addChild(classEntryNav);
// add template arguments to class
if (info->templType1)
@@ -517,11 +512,11 @@ static void addSTLClasses(EntryNav *rootNav)
// add member variables
if (info->templName1)
{
- addSTLMember(classEntryNav,info->templType1,info->templName1);
+ addSTLMember(classEntry,info->templType1,info->templName1);
}
if (info->templName2)
{
- addSTLMember(classEntryNav,info->templType2,info->templName2);
+ addSTLMember(classEntry,info->templType2,info->templName2);
}
if (fullName=="std::auto_ptr" || fullName=="std::smart_ptr" || fullName=="std::shared_ptr" ||
fullName=="std::unique_ptr" || fullName=="std::weak_ptr")
@@ -535,9 +530,10 @@ static void addSTLClasses(EntryNav *rootNav)
memEntry->brief = "STL member";
memEntry->hidden = FALSE;
memEntry->artificial = FALSE;
- EntryNav *memEntryNav = new EntryNav(classEntryNav,memEntry);
- memEntryNav->setEntry(memEntry);
- classEntryNav->addChild(memEntryNav);
+ classEntry->addSubEntry(memEntry);
+ //EntryNav *memEntryNav = new EntryNav(classEntryNav,memEntry);
+ //memEntryNav->setEntry(memEntry);
+ //classEntryNav->addChild(memEntryNav);
}
if (info->baseClass1)
{
@@ -550,10 +546,10 @@ static void addSTLClasses(EntryNav *rootNav)
if (info->iterators)
{
// add iterator class
- addSTLIterator(classEntryNav,fullName+"::iterator");
- addSTLIterator(classEntryNav,fullName+"::const_iterator");
- addSTLIterator(classEntryNav,fullName+"::reverse_iterator");
- addSTLIterator(classEntryNav,fullName+"::const_reverse_iterator");
+ addSTLIterator(classEntry,fullName+"::iterator");
+ addSTLIterator(classEntry,fullName+"::const_iterator");
+ addSTLIterator(classEntry,fullName+"::reverse_iterator");
+ addSTLIterator(classEntry,fullName+"::const_reverse_iterator");
}
info++;
}
@@ -564,18 +560,18 @@ static void addSTLClasses(EntryNav *rootNav)
static Definition *findScopeFromQualifiedName(Definition *startScope,const QCString &n,
FileDef *fileScope,TagInfo *tagInfo);
-static void addPageToContext(PageDef *pd,EntryNav *rootNav)
+static void addPageToContext(PageDef *pd,Entry *root)
{
- if (rootNav->parent()) // add the page to it's scope
+ if (root->parent()) // add the page to it's scope
{
- QCString scope = rootNav->parent()->name();
- if (rootNav->parent()->section()==Entry::PACKAGEDOC_SEC)
+ QCString scope = root->parent()->name;
+ if (root->parent()->section==Entry::PACKAGEDOC_SEC)
{
scope=substitute(scope,".","::");
}
scope = stripAnonymousNamespaceScope(scope);
scope+="::"+pd->name();
- Definition *d = findScopeFromQualifiedName(Doxygen::globalScope,scope,0,rootNav->tagInfo());
+ Definition *d = findScopeFromQualifiedName(Doxygen::globalScope,scope,0,root->tagInfo);
if (d)
{
pd->setPageScope(d);
@@ -583,9 +579,8 @@ static void addPageToContext(PageDef *pd,EntryNav *rootNav)
}
}
-static void addRelatedPage(EntryNav *rootNav)
+static void addRelatedPage(Entry *root)
{
- Entry *root = rootNav->entry();
GroupDef *gd=0;
QListIterator gli(*root->groups);
Grouping *g;
@@ -606,7 +601,7 @@ static void addRelatedPage(EntryNav *rootNav)
PageDef *pd = addRelatedPage(root->name,root->args,doc,root->anchors,
root->docFile,root->docLine,
root->sli,
- gd,rootNav->tagInfo(),
+ gd,root->tagInfo,
root->lang
);
if (pd)
@@ -614,20 +609,17 @@ static void addRelatedPage(EntryNav *rootNav)
pd->setBriefDescription(root->brief,root->briefFile,root->briefLine);
pd->addSectionsToDefinition(root->anchors);
pd->setLocalToc(root->localToc);
- addPageToContext(pd,rootNav);
+ addPageToContext(pd,root);
}
}
-static void buildGroupListFiltered(EntryNav *rootNav,bool additional, bool includeExternal)
+static void buildGroupListFiltered(Entry *root,bool additional, bool includeExternal)
{
- if (rootNav->section()==Entry::GROUPDOC_SEC && !rootNav->name().isEmpty() &&
- ((!includeExternal && rootNav->tagInfo()==0) ||
- ( includeExternal && rootNav->tagInfo()!=0))
+ if (root->section==Entry::GROUPDOC_SEC && !root->name.isEmpty() &&
+ ((!includeExternal && root->tagInfo==0) ||
+ ( includeExternal && root->tagInfo!=0))
)
{
- rootNav->loadEntry(g_storage);
- Entry *root = rootNav->entry();
-
if ((root->groupDocType==Entry::GROUPDOC_NORMAL && !additional) ||
(root->groupDocType!=Entry::GROUPDOC_NORMAL && additional))
{
@@ -656,10 +648,10 @@ static void buildGroupListFiltered(EntryNav *rootNav,bool additional, bool inclu
}
else
{
- if (rootNav->tagInfo())
+ if (root->tagInfo)
{
- gd = new GroupDef(root->fileName,root->startLine,root->name,root->type,rootNav->tagInfo()->fileName);
- gd->setReference(rootNav->tagInfo()->tagName);
+ gd = new GroupDef(root->fileName,root->startLine,root->name,root->type,root->tagInfo->fileName);
+ gd->setReference(root->tagInfo->tagName);
}
else
{
@@ -675,13 +667,11 @@ static void buildGroupListFiltered(EntryNav *rootNav,bool additional, bool inclu
gd->setLanguage(root->lang);
}
}
-
- rootNav->releaseEntry();
}
- if (rootNav->children())
+ if (root->children())
{
- EntryNavListIterator eli(*rootNav->children());
- EntryNav *e;
+ EntryListIterator eli(*root->children());
+ Entry *e;
for (;(e=eli.current());++eli)
{
buildGroupListFiltered(e,additional,includeExternal);
@@ -689,53 +679,50 @@ static void buildGroupListFiltered(EntryNav *rootNav,bool additional, bool inclu
}
}
-static void buildGroupList(EntryNav *rootNav)
+static void buildGroupList(Entry *root)
{
// --- first process only local groups
// first process the @defgroups blocks
- buildGroupListFiltered(rootNav,FALSE,FALSE);
+ buildGroupListFiltered(root,FALSE,FALSE);
// then process the @addtogroup, @weakgroup blocks
- buildGroupListFiltered(rootNav,TRUE,FALSE);
+ buildGroupListFiltered(root,TRUE,FALSE);
// --- then also process external groups
// first process the @defgroups blocks
- buildGroupListFiltered(rootNav,FALSE,TRUE);
+ buildGroupListFiltered(root,FALSE,TRUE);
// then process the @addtogroup, @weakgroup blocks
- buildGroupListFiltered(rootNav,TRUE,TRUE);
+ buildGroupListFiltered(root,TRUE,TRUE);
}
-static void findGroupScope(EntryNav *rootNav)
+static void findGroupScope(Entry *root)
{
- if (rootNav->section()==Entry::GROUPDOC_SEC && !rootNav->name().isEmpty() &&
- rootNav->parent() && !rootNav->parent()->name().isEmpty())
+ if (root->section==Entry::GROUPDOC_SEC && !root->name.isEmpty() &&
+ root->parent() && !root->parent()->name.isEmpty())
{
GroupDef *gd;
- if ((gd=Doxygen::groupSDict->find(rootNav->name())))
+ if ((gd=Doxygen::groupSDict->find(root->name)))
{
- QCString scope = rootNav->parent()->name();
- if (rootNav->parent()->section()==Entry::PACKAGEDOC_SEC)
+ QCString scope = root->parent()->name;
+ if (root->parent()->section==Entry::PACKAGEDOC_SEC)
{
scope=substitute(scope,".","::");
}
scope = stripAnonymousNamespaceScope(scope);
scope+="::"+gd->name();
- Definition *d = findScopeFromQualifiedName(Doxygen::globalScope,scope,0,rootNav->tagInfo());
+ Definition *d = findScopeFromQualifiedName(Doxygen::globalScope,scope,0,root->tagInfo);
if (d)
{
gd->setGroupScope(d);
}
}
}
- RECURSE_ENTRYTREE(findGroupScope,rootNav);
+ RECURSE_ENTRYTREE(findGroupScope,root);
}
-static void organizeSubGroupsFiltered(EntryNav *rootNav,bool additional)
+static void organizeSubGroupsFiltered(Entry *root,bool additional)
{
- if (rootNav->section()==Entry::GROUPDOC_SEC && !rootNav->name().isEmpty())
+ if (root->section==Entry::GROUPDOC_SEC && !root->name.isEmpty())
{
- rootNav->loadEntry(g_storage);
- Entry *root = rootNav->entry();
-
if ((root->groupDocType==Entry::GROUPDOC_NORMAL && !additional) ||
(root->groupDocType!=Entry::GROUPDOC_NORMAL && additional))
{
@@ -746,13 +733,11 @@ static void organizeSubGroupsFiltered(EntryNav *rootNav,bool additional)
addGroupToGroups(root,gd);
}
}
-
- rootNav->releaseEntry();
}
- if (rootNav->children())
+ if (root->children())
{
- EntryNavListIterator eli(*rootNav->children());
- EntryNav *e;
+ EntryListIterator eli(*root->children());
+ Entry *e;
for (;(e=eli.current());++eli)
{
organizeSubGroupsFiltered(e,additional);
@@ -760,66 +745,48 @@ static void organizeSubGroupsFiltered(EntryNav *rootNav,bool additional)
}
}
-static void organizeSubGroups(EntryNav *rootNav)
+static void organizeSubGroups(Entry *root)
{
//printf("Defining groups\n");
// first process the @defgroups blocks
- organizeSubGroupsFiltered(rootNav,FALSE);
+ organizeSubGroupsFiltered(root,FALSE);
//printf("Additional groups\n");
// then process the @addtogroup, @weakgroup blocks
- organizeSubGroupsFiltered(rootNav,TRUE);
+ organizeSubGroupsFiltered(root,TRUE);
}
//----------------------------------------------------------------------
-static void buildFileList(EntryNav *rootNav)
+static void buildFileList(Entry *root)
{
- if (((rootNav->section()==Entry::FILEDOC_SEC) ||
- ((rootNav->section() & Entry::FILE_MASK) && Config_getBool(EXTRACT_ALL))) &&
- !rootNav->name().isEmpty() && !rootNav->tagInfo() // skip any file coming from tag files
+ if (((root->section==Entry::FILEDOC_SEC) ||
+ ((root->section & Entry::FILE_MASK) && Config_getBool(EXTRACT_ALL))) &&
+ !root->name.isEmpty() && !root->tagInfo // skip any file coming from tag files
)
{
- rootNav->loadEntry(g_storage);
- Entry *root = rootNav->entry();
-
bool ambig;
FileDef *fd=findFileDef(Doxygen::inputNameDict,root->name,ambig);
//printf("**************** root->name=%s fd=%p\n",root->name.data(),fd);
if (fd && !ambig)
{
-#if 0
- if ((!root->doc.isEmpty() && !fd->documentation().isEmpty()) ||
- (!root->brief.isEmpty() && !fd->briefDescription().isEmpty()))
- {
- warn(
- root->fileName,root->startLine,
- "file %s already documented. "
- "Skipping documentation.",
- root->name.data()
- );
- }
- else
-#endif
+ //printf("Adding documentation!\n");
+ // using FALSE in setDocumentation is small hack to make sure a file
+ // is documented even if a \file command is used without further
+ // documentation
+ fd->setDocumentation(root->doc,root->docFile,root->docLine,FALSE);
+ fd->setBriefDescription(root->brief,root->briefFile,root->briefLine);
+ fd->addSectionsToDefinition(root->anchors);
+ fd->setRefItems(root->sli);
+ QListIterator gli(*root->groups);
+ Grouping *g;
+ for (;(g=gli.current());++gli)
{
- //printf("Adding documentation!\n");
- // using FALSE in setDocumentation is small hack to make sure a file
- // is documented even if a \file command is used without further
- // documentation
- fd->setDocumentation(root->doc,root->docFile,root->docLine,FALSE);
- fd->setBriefDescription(root->brief,root->briefFile,root->briefLine);
- fd->addSectionsToDefinition(root->anchors);
- fd->setRefItems(root->sli);
- QListIterator gli(*root->groups);
- Grouping *g;
- for (;(g=gli.current());++gli)
+ GroupDef *gd=0;
+ if (!g->groupname.isEmpty() && (gd=Doxygen::groupSDict->find(g->groupname)))
{
- GroupDef *gd=0;
- if (!g->groupname.isEmpty() && (gd=Doxygen::groupSDict->find(g->groupname)))
- {
- gd->addFile(fd);
- fd->makePartOfGroup(gd);
- //printf("File %s: in group %s\n",fd->name().data(),s->data());
- }
+ gd->addFile(fd);
+ fd->makePartOfGroup(gd);
+ //printf("File %s: in group %s\n",fd->name().data(),s->data());
}
}
}
@@ -843,10 +810,8 @@ static void buildFileList(EntryNav *rootNav)
}
warn(fn,root->startLine,text);
}
-
- rootNav->releaseEntry();
}
- RECURSE_ENTRYTREE(buildFileList,rootNav);
+ RECURSE_ENTRYTREE(buildFileList,root);
}
static void addIncludeFile(ClassDef *cd,FileDef *ifd,Entry *root)
@@ -1242,19 +1207,15 @@ ClassDef::CompoundType convertToCompoundType(int section,uint64 specifier)
}
-static void addClassToContext(EntryNav *rootNav)
+static void addClassToContext(Entry *root)
{
//printf("Loading entry for rootNav=%p name=%s\n",rootNav,rootNav->name().data());
- rootNav->loadEntry(g_storage);
- Entry *root = rootNav->entry();
-
- //NamespaceDef *nd = 0;
- FileDef *fd = rootNav->fileDef();
+ FileDef *fd = root->fileDef();
QCString scName;
- if (rootNav->parent()->section()&Entry::SCOPE_MASK)
+ if (root->parent()->section&Entry::SCOPE_MASK)
{
- scName=rootNav->parent()->name();
+ scName=root->parent()->name;
}
// name without parent's scope
QCString fullName = root->name;
@@ -1322,7 +1283,7 @@ static void addClassToContext(EntryNav *rootNav)
QCString tagName;
QCString refFileName;
- TagInfo *tagInfo = rootNav->tagInfo();
+ TagInfo *tagInfo = root->tagInfo;
int i;
if (tagInfo)
{
@@ -1408,34 +1369,32 @@ static void addClassToContext(EntryNav *rootNav)
}
addClassToGroups(root,cd);
cd->setRefItems(root->sli);
-
- rootNav->releaseEntry();
}
//----------------------------------------------------------------------
// build a list of all classes mentioned in the documentation
// and all classes that have a documentation block before their definition.
-static void buildClassList(EntryNav *rootNav)
+static void buildClassList(Entry *root)
{
if (
- ((rootNav->section() & Entry::COMPOUND_MASK) ||
- rootNav->section()==Entry::OBJCIMPL_SEC) && !rootNav->name().isEmpty()
+ ((root->section & Entry::COMPOUND_MASK) ||
+ root->section==Entry::OBJCIMPL_SEC) && !root->name.isEmpty()
)
{
- addClassToContext(rootNav);
+ addClassToContext(root);
}
- RECURSE_ENTRYTREE(buildClassList,rootNav);
+ RECURSE_ENTRYTREE(buildClassList,root);
}
-static void buildClassDocList(EntryNav *rootNav)
+static void buildClassDocList(Entry *root)
{
if (
- (rootNav->section() & Entry::COMPOUNDDOC_MASK) && !rootNav->name().isEmpty()
+ (root->section & Entry::COMPOUNDDOC_MASK) && !root->name.isEmpty()
)
{
- addClassToContext(rootNav);
+ addClassToContext(root);
}
- RECURSE_ENTRYTREE(buildClassDocList,rootNav);
+ RECURSE_ENTRYTREE(buildClassDocList,root);
}
static void resolveClassNestingRelations()
@@ -1721,19 +1680,16 @@ static void findTagLessClasses()
//----------------------------------------------------------------------
// build a list of all namespaces mentioned in the documentation
// and all namespaces that have a documentation block before their definition.
-static void buildNamespaceList(EntryNav *rootNav)
+static void buildNamespaceList(Entry *root)
{
if (
- (rootNav->section()==Entry::NAMESPACE_SEC ||
- rootNav->section()==Entry::NAMESPACEDOC_SEC ||
- rootNav->section()==Entry::PACKAGEDOC_SEC
+ (root->section==Entry::NAMESPACE_SEC ||
+ root->section==Entry::NAMESPACEDOC_SEC ||
+ root->section==Entry::PACKAGEDOC_SEC
) &&
- !rootNav->name().isEmpty()
+ !root->name.isEmpty()
)
{
- rootNav->loadEntry(g_storage);
- Entry *root = rootNav->entry();
-
//printf("** buildNamespaceList(%s)\n",root->name.data());
QCString fName = root->name;
@@ -1758,7 +1714,7 @@ static void buildNamespaceList(EntryNav *rootNav)
{
nd->setLanguage(root->lang);
}
- if (rootNav->tagInfo()==0) // if we found the namespace in a tag file
+ if (root->tagInfo==0) // if we found the namespace in a tag file
// and also in a project file, then remove
// the tag file reference
{
@@ -1768,7 +1724,7 @@ static void buildNamespaceList(EntryNav *rootNav)
nd->setMetaData(root->metaData);
// file definition containing the namespace nd
- FileDef *fd=rootNav->fileDef();
+ FileDef *fd=root->fileDef();
// insert the namespace in the file definition
if (fd) fd->insertNamespace(nd);
addNamespaceToGroups(root,nd);
@@ -1778,7 +1734,7 @@ static void buildNamespaceList(EntryNav *rootNav)
{
QCString tagName;
QCString tagFileName;
- TagInfo *tagInfo = rootNav->tagInfo();
+ TagInfo *tagInfo = root->tagInfo;
if (tagInfo)
{
tagName = tagInfo->tagName;
@@ -1802,7 +1758,7 @@ static void buildNamespaceList(EntryNav *rootNav)
nd->setRefItems(root->sli);
// file definition containing the namespace nd
- FileDef *fd=rootNav->fileDef();
+ FileDef *fd=root->fileDef();
// insert the namespace in the file definition
if (fd) fd->insertNamespace(nd);
@@ -1833,10 +1789,8 @@ static void buildNamespaceList(EntryNav *rootNav)
}
}
}
-
- rootNav->releaseEntry();
}
- RECURSE_ENTRYTREE(buildNamespaceList,rootNav);
+ RECURSE_ENTRYTREE(buildNamespaceList,root);
}
//----------------------------------------------------------------------
@@ -1860,13 +1814,10 @@ static NamespaceDef *findUsedNamespace(NamespaceSDict *unl,
return usingNd;
}
-static void findUsingDirectives(EntryNav *rootNav)
+static void findUsingDirectives(Entry *root)
{
- if (rootNav->section()==Entry::USINGDIR_SEC)
+ if (root->section==Entry::USINGDIR_SEC)
{
- rootNav->loadEntry(g_storage);
- Entry *root = rootNav->entry();
-
//printf("Found using directive %s at line %d of %s\n",
// root->name.data(),root->startLine,root->fileName.data());
QCString name=substitute(root->name,".","::");
@@ -1878,16 +1829,16 @@ static void findUsingDirectives(EntryNav *rootNav)
{
NamespaceDef *usingNd = 0;
NamespaceDef *nd = 0;
- FileDef *fd = rootNav->fileDef();
+ FileDef *fd = root->fileDef();
QCString nsName;
// see if the using statement was found inside a namespace or inside
// the global file scope.
- if (rootNav->parent() && rootNav->parent()->section()==Entry::NAMESPACE_SEC &&
+ if (root->parent() && root->parent()->section==Entry::NAMESPACE_SEC &&
(fd==0 || fd->getLanguage()!=SrcLangExt_Java) // not a .java file
)
{
- nsName=stripAnonymousNamespaceScope(rootNav->parent()->name());
+ nsName=stripAnonymousNamespaceScope(root->parent()->name);
if (!nsName.isEmpty())
{
nd = getResolvedNamespace(nsName);
@@ -1997,49 +1948,39 @@ static void findUsingDirectives(EntryNav *rootNav)
nd->setRefItems(root->sli);
}
}
-
- rootNav->releaseEntry();
}
- RECURSE_ENTRYTREE(findUsingDirectives,rootNav);
+ RECURSE_ENTRYTREE(findUsingDirectives,root);
}
//----------------------------------------------------------------------
-static void buildListOfUsingDecls(EntryNav *rootNav)
+static void buildListOfUsingDecls(Entry *root)
{
- if (rootNav->section()==Entry::USINGDECL_SEC &&
- !(rootNav->parent()->section()&Entry::COMPOUND_MASK) // not a class/struct member
+ if (root->section==Entry::USINGDECL_SEC &&
+ !(root->parent()->section&Entry::COMPOUND_MASK) // not a class/struct member
)
{
- rootNav->loadEntry(g_storage);
- Entry *root = rootNav->entry();
-
QCString name = substitute(root->name,".","::");
if (g_usingDeclarations.find(name)==0)
{
- FileDef *fd = rootNav->fileDef();
+ FileDef *fd = root->fileDef();
if (fd)
{
g_usingDeclarations.insert(name,fd);
}
}
-
- rootNav->releaseEntry();
}
- RECURSE_ENTRYTREE(buildListOfUsingDecls,rootNav);
+ RECURSE_ENTRYTREE(buildListOfUsingDecls,root);
}
-static void findUsingDeclarations(EntryNav *rootNav)
+static void findUsingDeclarations(Entry *root)
{
- if (rootNav->section()==Entry::USINGDECL_SEC &&
- !(rootNav->parent()->section()&Entry::COMPOUND_MASK) // not a class/struct member
+ if (root->section==Entry::USINGDECL_SEC &&
+ !(root->parent()->section&Entry::COMPOUND_MASK) // not a class/struct member
)
{
- rootNav->loadEntry(g_storage);
- Entry *root = rootNav->entry();
-
//printf("Found using declaration %s at line %d of %s inside section %x\n",
// root->name.data(),root->startLine,root->fileName.data(),
// rootNav->parent()->section());
@@ -2047,14 +1988,14 @@ static void findUsingDeclarations(EntryNav *rootNav)
{
ClassDef *usingCd = 0;
NamespaceDef *nd = 0;
- FileDef *fd = rootNav->fileDef();
+ FileDef *fd = root->fileDef();
QCString scName;
// see if the using statement was found inside a namespace or inside
// the global file scope.
- if (rootNav->parent()->section() == Entry::NAMESPACE_SEC)
+ if (root->parent()->section == Entry::NAMESPACE_SEC)
{
- scName=rootNav->parent()->name();
+ scName=root->parent()->name;
if (!scName.isEmpty())
{
nd = getResolvedNamespace(scName);
@@ -2113,34 +2054,32 @@ static void findUsingDeclarations(EntryNav *rootNav)
fd->addUsingDeclaration(usingCd);
}
}
-
- rootNav->releaseEntry();
}
- RECURSE_ENTRYTREE(findUsingDeclarations,rootNav);
+ RECURSE_ENTRYTREE(findUsingDeclarations,root);
}
//----------------------------------------------------------------------
-static void findUsingDeclImports(EntryNav *rootNav)
+static void findUsingDeclImports(Entry *root)
{
- if (rootNav->section()==Entry::USINGDECL_SEC &&
- (rootNav->parent()->section()&Entry::COMPOUND_MASK) // in a class/struct member
+ if (root->section==Entry::USINGDECL_SEC &&
+ (root->parent()->section&Entry::COMPOUND_MASK) // in a class/struct member
)
{
//printf("Found using declaration %s inside section %x\n",
// rootNav->name().data(), rootNav->parent()->section());
- QCString fullName=removeRedundantWhiteSpace(rootNav->parent()->name());
+ QCString fullName=removeRedundantWhiteSpace(root->parent()->name);
fullName=stripAnonymousNamespaceScope(fullName);
fullName=stripTemplateSpecifiersFromScope(fullName);
ClassDef *cd = getClass(fullName);
if (cd)
{
//printf("found class %s\n",cd->name().data());
- int i=rootNav->name().find("::");
+ int i=root->name.find("::");
if (i!=-1)
{
- QCString scope=rootNav->name().left(i);
- QCString memName=rootNav->name().right(rootNav->name().length()-i-2);
+ QCString scope=root->name.left(i);
+ QCString memName=root->name.right(root->name.length()-i-2);
ClassDef *bcd = getResolvedClass(cd,0,scope); // todo: file in fileScope parameter
if (bcd)
{
@@ -2158,17 +2097,13 @@ static void findUsingDeclImports(EntryNav *rootNav)
MemberDef *md = mi->memberDef;
if (md && md->protection()!=Private)
{
-
- rootNav->loadEntry(g_storage);
- Entry *root = rootNav->entry();
-
//printf("found member %s\n",mni->memberName());
MemberDef *newMd = 0;
{
QCString fileName = root->fileName;
- if (fileName.isEmpty() && rootNav->tagInfo())
+ if (fileName.isEmpty() && root->tagInfo)
{
- fileName = rootNav->tagInfo()->tagName;
+ fileName = root->tagInfo->tagName;
}
ArgumentList *templAl = md->templateArguments();
ArgumentList *al = md->templateArguments();
@@ -2209,8 +2144,6 @@ static void findUsingDeclImports(EntryNav *rootNav)
newMd->setMemberSpecifiers(md->getMemberSpecifiers());
newMd->setLanguage(root->lang);
newMd->setId(root->id);
-
- rootNav->releaseEntry();
}
}
}
@@ -2220,7 +2153,7 @@ static void findUsingDeclImports(EntryNav *rootNav)
}
}
- RECURSE_ENTRYTREE(findUsingDeclImports,rootNav);
+ RECURSE_ENTRYTREE(findUsingDeclImports,root);
}
//----------------------------------------------------------------------
@@ -2259,7 +2192,7 @@ static void findIncludedUsingDirectives()
//----------------------------------------------------------------------
static MemberDef *addVariableToClass(
- EntryNav *rootNav,
+ Entry *root,
ClassDef *cd,
MemberType mtype,
const QCString &name,
@@ -2268,8 +2201,6 @@ static MemberDef *addVariableToClass(
Protection prot,
Relationship related)
{
- Entry *root = rootNav->entry();
-
QCString qualScope = cd->qualifiedNameWithTemplateParameters();
QCString scopeSeparator="::";
SrcLangExt lang = cd->getLanguage();
@@ -2354,7 +2285,7 @@ static MemberDef *addVariableToClass(
md->setProtection(root->protection);
cd->reclassifyMember(md,MemberType_Property);
}
- addMemberDocs(rootNav,md,def,0,FALSE);
+ addMemberDocs(root,md,def,0,FALSE);
//printf(" Member already found!\n");
return md;
}
@@ -2362,9 +2293,9 @@ static MemberDef *addVariableToClass(
}
QCString fileName = root->fileName;
- if (fileName.isEmpty() && rootNav->tagInfo())
+ if (fileName.isEmpty() && root->tagInfo)
{
- fileName = rootNav->tagInfo()->tagName;
+ fileName = root->tagInfo->tagName;
}
// new member variable, typedef or enum value
@@ -2373,7 +2304,7 @@ static MemberDef *addVariableToClass(
root->type,name,root->args,root->exception,
prot,Normal,root->stat,related,
mtype,root->tArgLists ? root->tArgLists->getLast() : 0,0, root->metaData);
- md->setTagInfo(rootNav->tagInfo());
+ md->setTagInfo(root->tagInfo);
md->setMemberClass(cd); // also sets outer scope (i.e. getOuterScope())
//md->setDefFile(root->fileName);
//md->setDefLine(root->startLine);
@@ -2407,7 +2338,7 @@ static MemberDef *addVariableToClass(
// printf("memberdef %s in memberGroup %d\n",name.data(),root->mGrpId);
// md->setMemberGroup(memberGroupDict[root->mGrpId]);
//
- md->setBodyDef(rootNav->fileDef());
+ md->setBodyDef(root->fileDef());
//printf(" Adding member=%s\n",md->name().data());
// add the member to the global list
@@ -2430,15 +2361,15 @@ static MemberDef *addVariableToClass(
md->setRefItems(root->sli);
//TODO: insert FileDef instead of filename strings.
- cd->insertUsedFile(rootNav->fileDef());
- rootNav->changeSection(Entry::EMPTY_SEC);
+ cd->insertUsedFile(root->fileDef());
+ root->changeSection(Entry::EMPTY_SEC);
return md;
}
//----------------------------------------------------------------------
static MemberDef *addVariableToFile(
- EntryNav *rootNav,
+ Entry *root,
MemberType mtype,
const QCString &scope,
const QCString &name,
@@ -2446,7 +2377,6 @@ static MemberDef *addVariableToFile(
/*int indentDepth,*/
MemberDef *fromAnnMemb)
{
- Entry *root = rootNav->entry();
Debug::print(Debug::Variables,0,
" global variable:\n"
" file='%s' type=`%s' scope=`%s' name=`%s' args=`%s' prot=`%d mtype=%d lang=%d\n",
@@ -2460,7 +2390,7 @@ static MemberDef *addVariableToFile(
root->lang
);
- FileDef *fd = rootNav->fileDef();
+ FileDef *fd = root->fileDef();
// see if we have a typedef that should hide a struct or union
if (mtype==MemberType_Typedef && Config_getBool(TYPEDEF_HIDES_STRUCT))
@@ -2596,7 +2526,7 @@ static MemberDef *addVariableToFile(
{
Debug::print(Debug::Variables,0,
" variable already found: scope=%s\n",qPrint(md->getOuterScope()->name()));
- addMemberDocs(rootNav,md,def,0,FALSE);
+ addMemberDocs(root,md,def,0,FALSE);
md->setRefItems(root->sli);
// if md is a variable forward declaration and root is the definition that
// turn md into the defintion
@@ -2618,20 +2548,20 @@ static MemberDef *addVariableToFile(
}
QCString fileName = root->fileName;
- if (fileName.isEmpty() && rootNav->tagInfo())
+ if (fileName.isEmpty() && root->tagInfo)
{
- fileName = rootNav->tagInfo()->tagName;
+ fileName = root->tagInfo->tagName;
}
Debug::print(Debug::Variables,0,
- " new variable, nd=%s tagInfo=%p!\n",nd?qPrint(nd->name()):"",rootNav->tagInfo());
+ " new variable, nd=%s tagInfo=%p!\n",nd?qPrint(nd->name()):"",root->tagInfo);
// new global variable, enum value or typedef
MemberDef *md=new MemberDef(
fileName,root->startLine,root->startColumn,
root->type,name,root->args,0,
root->protection, Normal,root->stat,Member,
mtype,root->tArgLists ? root->tArgLists->getLast() : 0,0, root->metaData);
- md->setTagInfo(rootNav->tagInfo());
+ md->setTagInfo(root->tagInfo);
md->setMemberSpecifiers(root->spec);
md->setDocumentation(root->doc,root->docFile,root->docLine);
md->setBriefDescription(root->brief,root->briefFile,root->briefLine);
@@ -2684,7 +2614,7 @@ static MemberDef *addVariableToFile(
mn->append(md);
Doxygen::functionNameSDict->append(name,mn);
}
- rootNav->changeSection(Entry::EMPTY_SEC);
+ root->changeSection(Entry::EMPTY_SEC);
return md;
}
@@ -2725,7 +2655,7 @@ static int findFunctionPtr(const QCString &type,int lang, int *pLength=0)
/*! Returns TRUE iff \a type is a class within scope \a context.
* Used to detect variable declarations that look like function prototypes.
*/
-static bool isVarWithConstructor(EntryNav *rootNav)
+static bool isVarWithConstructor(Entry *root)
{
static QRegExp initChars("[0-9\"'&*!^]+");
static QRegExp idChars("[a-z_A-Z][a-z_A-Z0-9]*");
@@ -2737,15 +2667,12 @@ static bool isVarWithConstructor(EntryNav *rootNav)
int ti;
//printf("isVarWithConstructor(%s)\n",rootNav->name().data());
- rootNav->loadEntry(g_storage);
- Entry *root = rootNav->entry();
-
- if (rootNav->parent()->section() & Entry::COMPOUND_MASK)
+ if (root->parent()->section & Entry::COMPOUND_MASK)
{ // inside a class
result=FALSE;
goto done;
}
- else if ((fd = rootNav->fileDef()) &&
+ else if ((fd = root->fileDef()) &&
(fd->name().right(2)==".c" || fd->name().right(2)==".h")
)
{ // inside a .c file
@@ -2757,9 +2684,9 @@ static bool isVarWithConstructor(EntryNav *rootNav)
result=FALSE;
goto done;
}
- if (!rootNav->parent()->name().isEmpty())
+ if (!root->parent()->name.isEmpty())
{
- ctx=Doxygen::namespaceSDict->find(rootNav->parent()->name());
+ ctx=Doxygen::namespaceSDict->find(root->parent()->name);
}
type = root->type;
// remove qualifiers
@@ -2844,17 +2771,13 @@ static bool isVarWithConstructor(EntryNav *rootNav)
done:
//printf("isVarWithConstructor(%s,%s)=%d\n",rootNav->parent()->name().data(),
// root->type.data(),result);
- rootNav->releaseEntry();
return result;
}
-static void addVariable(EntryNav *rootNav,int isFuncPtr=-1)
+static void addVariable(Entry *root,int isFuncPtr=-1)
{
static bool sliceOpt = Config_getBool(OPTIMIZE_OUTPUT_SLICE);
- rootNav->loadEntry(g_storage);
- Entry *root = rootNav->entry();
-
Debug::print(Debug::Variables,0,
"VARIABLE_SEC: \n"
" type=`%s' name=`%s' args=`%s' bodyLine=`%d' mGrpId=%d relates=%s\n",
@@ -2911,10 +2834,10 @@ static void addVariable(EntryNav *rootNav,int isFuncPtr=-1)
QCString scope,name=removeRedundantWhiteSpace(root->name);
// find the scope of this variable
- EntryNav *p = rootNav->parent();
- while ((p->section() & Entry::SCOPE_MASK))
+ Entry *p = root->parent();
+ while ((p->section & Entry::SCOPE_MASK))
{
- QCString scopeName = p->name();
+ QCString scopeName = p->name;
if (!scopeName.isEmpty())
{
scope.prepend(scopeName);
@@ -2941,7 +2864,7 @@ static void addVariable(EntryNav *rootNav,int isFuncPtr=-1)
cd=getClass(scope);
if (cd)
{
- addVariableToClass(rootNav, // entry
+ addVariableToClass(root, // entry
cd, // class to add member to
MemberType_Friend, // type of member
name, // name of the member
@@ -2952,8 +2875,7 @@ static void addVariable(EntryNav *rootNav,int isFuncPtr=-1)
);
}
}
- goto nextMember;
- /* skip this member, because it is a
+ return; /* skip this member, because it is a
* static variable definition (always?), which will be
* found in a class scope as well, but then we know the
* correct protection level, so only then it will be
@@ -3017,7 +2939,7 @@ static void addVariable(EntryNav *rootNav,int isFuncPtr=-1)
{
if (!pScope.isEmpty() && (pcd=getClass(pScope)))
{
- md=addVariableToClass(rootNav, // entry
+ md=addVariableToClass(root, // entry
pcd, // class to add member to
mtype, // member type
name, // member name
@@ -3032,7 +2954,7 @@ static void addVariable(EntryNav *rootNav,int isFuncPtr=-1)
{
if (mtype==MemberType_Variable)
{
- md=addVariableToFile(rootNav,mtype,pScope,name,TRUE,0);
+ md=addVariableToFile(root,mtype,pScope,name,TRUE,0);
}
//added=TRUE;
}
@@ -3042,7 +2964,7 @@ static void addVariable(EntryNav *rootNav,int isFuncPtr=-1)
//printf("name=`%s' scope=%s scope.right=%s\n",
// name.data(),scope.data(),
// scope.right(scope.length()-si).data());
- addVariableToClass(rootNav, // entry
+ addVariableToClass(root, // entry
cd, // class to add member to
mtype, // member type
name, // name of the member
@@ -3054,33 +2976,31 @@ static void addVariable(EntryNav *rootNav,int isFuncPtr=-1)
else if (!name.isEmpty()) // global variable
{
//printf("Inserting member in global scope %s!\n",scope.data());
- addVariableToFile(rootNav,mtype,scope,name,FALSE,/*0,*/0);
+ addVariableToFile(root,mtype,scope,name,FALSE,/*0,*/0);
}
-nextMember:
- rootNav->releaseEntry();
}
//----------------------------------------------------------------------
// Searches the Entry tree for typedef documentation sections.
// If found they are stored in their class or in the global list.
-static void buildTypedefList(EntryNav *rootNav)
+static void buildTypedefList(Entry *root)
{
//printf("buildVarList(%s)\n",rootNav->name().data());
- if (!rootNav->name().isEmpty() &&
- rootNav->section()==Entry::VARIABLE_SEC &&
- rootNav->type().find("typedef ")!=-1 // its a typedef
+ if (!root->name.isEmpty() &&
+ root->section==Entry::VARIABLE_SEC &&
+ root->type.find("typedef ")!=-1 // its a typedef
)
{
- addVariable(rootNav);
+ addVariable(root);
}
- if (rootNav->children())
+ if (root->children())
{
- EntryNavListIterator eli(*rootNav->children());
- EntryNav *e;
+ EntryListIterator eli(*root->children());
+ Entry *e;
for (;(e=eli.current());++eli)
{
- if (e->section()!=Entry::ENUM_SEC)
+ if (e->section!=Entry::ENUM_SEC)
{
buildTypedefList(e);
}
@@ -3091,22 +3011,22 @@ static void buildTypedefList(EntryNav *rootNav)
//----------------------------------------------------------------------
// Searches the Entry tree for sequence documentation sections.
// If found they are stored in the global list.
-static void buildSequenceList(EntryNav *rootNav)
+static void buildSequenceList(Entry *root)
{
- if (!rootNav->name().isEmpty() &&
- rootNav->section()==Entry::VARIABLE_SEC &&
- rootNav->type().find("sequence<")!=-1 // it's a sequence
+ if (!root->name.isEmpty() &&
+ root->section==Entry::VARIABLE_SEC &&
+ root->type.find("sequence<")!=-1 // it's a sequence
)
{
- addVariable(rootNav);
+ addVariable(root);
}
- if (rootNav->children())
+ if (root->children())
{
- EntryNavListIterator eli(*rootNav->children());
- EntryNav *e;
+ EntryListIterator eli(*root->children());
+ Entry *e;
for (;(e=eli.current());++eli)
{
- if (e->section()!=Entry::ENUM_SEC)
+ if (e->section!=Entry::ENUM_SEC)
{
buildSequenceList(e);
}
@@ -3117,22 +3037,22 @@ static void buildSequenceList(EntryNav *rootNav)
//----------------------------------------------------------------------
// Searches the Entry tree for dictionary documentation sections.
// If found they are stored in the global list.
-static void buildDictionaryList(EntryNav *rootNav)
+static void buildDictionaryList(Entry *root)
{
- if (!rootNav->name().isEmpty() &&
- rootNav->section()==Entry::VARIABLE_SEC &&
- rootNav->type().find("dictionary<")!=-1 // it's a dictionary
+ if (!root->name.isEmpty() &&
+ root->section==Entry::VARIABLE_SEC &&
+ root->type.find("dictionary<")!=-1 // it's a dictionary
)
{
- addVariable(rootNav);
+ addVariable(root);
}
- if (rootNav->children())
+ if (root->children())
{
- EntryNavListIterator eli(*rootNav->children());
- EntryNav *e;
+ EntryListIterator eli(*root->children());
+ Entry *e;
for (;(e=eli.current());++eli)
{
- if (e->section()!=Entry::ENUM_SEC)
+ if (e->section!=Entry::ENUM_SEC)
{
buildDictionaryList(e);
}
@@ -3144,33 +3064,33 @@ static void buildDictionaryList(EntryNav *rootNav)
// Searches the Entry tree for Variable documentation sections.
// If found they are stored in their class or in the global list.
-static void buildVarList(EntryNav *rootNav)
+static void buildVarList(Entry *root)
{
//printf("buildVarList(%s) section=%08x\n",rootNav->name().data(),rootNav->section());
int isFuncPtr=-1;
- if (!rootNav->name().isEmpty() &&
- (rootNav->type().isEmpty() || g_compoundKeywordDict.find(rootNav->type())==0) &&
+ if (!root->name.isEmpty() &&
+ (root->type.isEmpty() || g_compoundKeywordDict.find(root->type)==0) &&
(
- (rootNav->section()==Entry::VARIABLE_SEC // it's a variable
+ (root->section==Entry::VARIABLE_SEC // it's a variable
) ||
- (rootNav->section()==Entry::FUNCTION_SEC && // or maybe a function pointer variable
- (isFuncPtr=findFunctionPtr(rootNav->type(),rootNav->lang()))!=-1
+ (root->section==Entry::FUNCTION_SEC && // or maybe a function pointer variable
+ (isFuncPtr=findFunctionPtr(root->type,root->lang))!=-1
) ||
- (rootNav->section()==Entry::FUNCTION_SEC && // class variable initialized by constructor
- isVarWithConstructor(rootNav)
+ (root->section==Entry::FUNCTION_SEC && // class variable initialized by constructor
+ isVarWithConstructor(root)
)
)
) // documented variable
{
- addVariable(rootNav,isFuncPtr);
+ addVariable(root,isFuncPtr);
}
- if (rootNav->children())
+ if (root->children())
{
- EntryNavListIterator eli(*rootNav->children());
- EntryNav *e;
+ EntryListIterator eli(*root->children());
+ Entry *e;
for (;(e=eli.current());++eli)
{
- if (e->section()!=Entry::ENUM_SEC)
+ if (e->section!=Entry::ENUM_SEC)
{
buildVarList(e);
}
@@ -3184,25 +3104,24 @@ static void buildVarList(EntryNav *rootNav)
//
static void addInterfaceOrServiceToServiceOrSingleton(
- EntryNav *const rootNav,
+ Entry *const root,
ClassDef *const cd,
QCString const& rname)
{
- Entry *const root = rootNav->entry();
- FileDef *const fd = rootNav->fileDef();
- enum MemberType const type = (rootNav->section()==Entry::EXPORTED_INTERFACE_SEC)
+ FileDef *fd = root->fileDef();
+ enum MemberType type = (root->section==Entry::EXPORTED_INTERFACE_SEC)
? MemberType_Interface
: MemberType_Service;
QCString fileName = root->fileName;
- if (fileName.isEmpty() && rootNav->tagInfo())
+ if (fileName.isEmpty() && root->tagInfo)
{
- fileName = rootNav->tagInfo()->tagName;
+ fileName = root->tagInfo->tagName;
}
MemberDef *const md = new MemberDef(
fileName, root->startLine, root->startColumn, root->type, rname,
"", "", root->protection, root->virt, root->stat, Member,
type, 0, root->argList, root->metaData);
- md->setTagInfo(rootNav->tagInfo());
+ md->setTagInfo(root->tagInfo);
md->setMemberClass(cd);
md->setDocumentation(root->doc,root->docFile,root->docLine);
md->setDocsForDefinition(false);
@@ -3252,29 +3171,25 @@ static void addInterfaceOrServiceToServiceOrSingleton(
// "optional" interface/service get Protected which turns into dashed line
BaseInfo base(rname,
(root->spec & (Entry::Optional)) ? Protected : Public,Normal);
- findClassRelation(rootNav,cd,cd,&base,0,DocumentedOnly,true)
- || findClassRelation(rootNav,cd,cd,&base,0,Undocumented,true);
+ findClassRelation(root,cd,cd,&base,0,DocumentedOnly,true) || findClassRelation(root,cd,cd,&base,0,Undocumented,true);
// add file to list of used files
cd->insertUsedFile(fd);
addMemberToGroups(root,md);
- rootNav->changeSection(Entry::EMPTY_SEC);
+ root->changeSection(Entry::EMPTY_SEC);
md->setRefItems(root->sli);
}
-static void buildInterfaceAndServiceList(EntryNav *const rootNav)
+static void buildInterfaceAndServiceList(Entry *root)
{
- if (rootNav->section()==Entry::EXPORTED_INTERFACE_SEC ||
- rootNav->section()==Entry::INCLUDED_SERVICE_SEC)
+ if (root->section==Entry::EXPORTED_INTERFACE_SEC ||
+ root->section==Entry::INCLUDED_SERVICE_SEC)
{
- rootNav->loadEntry(g_storage);
- Entry *const root = rootNav->entry();
-
Debug::print(Debug::Functions,0,
"EXPORTED_INTERFACE_SEC:\n"
" `%s' `%s'::`%s' `%s' relates=`%s' relatesType=`%d' file=`%s' line=`%d' bodyLine=`%d' #tArgLists=%d mGrpId=%d spec=%lld proto=%d docFile=%s\n",
qPrint(root->type),
- qPrint(rootNav->parent()->name()),
+ qPrint(root->parent()->name),
qPrint(root->name),
qPrint(root->args),
qPrint(root->relates),
@@ -3289,18 +3204,18 @@ static void buildInterfaceAndServiceList(EntryNav *const rootNav)
qPrint(root->docFile)
);
- QCString const rname = removeRedundantWhiteSpace(root->name);
+ QCString rname = removeRedundantWhiteSpace(root->name);
if (!rname.isEmpty())
{
- QCString const scope = rootNav->parent()->name();
- ClassDef *const cd = getClass(scope);
+ QCString scope = root->parent()->name;
+ ClassDef *cd = getClass(scope);
assert(cd);
if (cd && ((ClassDef::Interface == cd->compoundType()) ||
(ClassDef::Service == cd->compoundType()) ||
(ClassDef::Singleton == cd->compoundType())))
{
- addInterfaceOrServiceToServiceOrSingleton(rootNav,cd,rname);
+ addInterfaceOrServiceToServiceOrSingleton(root,cd,rname);
}
else
{
@@ -3312,15 +3227,13 @@ static void buildInterfaceAndServiceList(EntryNav *const rootNav)
warn(root->fileName,root->startLine,
"Illegal member name found.");
}
-
- rootNav->releaseEntry();
}
// can only have these in IDL anyway
- switch (rootNav->lang())
+ switch (root->lang)
{
case SrcLangExt_Unknown: // fall through (root node always is Unknown)
case SrcLangExt_IDL:
- RECURSE_ENTRYTREE(buildInterfaceAndServiceList,rootNav);
+ RECURSE_ENTRYTREE(buildInterfaceAndServiceList,root);
break;
default:
return; // nothing to do here
@@ -3332,11 +3245,10 @@ static void buildInterfaceAndServiceList(EntryNav *const rootNav)
// Searches the Entry tree for Function sections.
// If found they are stored in their class or in the global list.
-static void addMethodToClass(EntryNav *rootNav,ClassDef *cd,
+static void addMethodToClass(Entry *root,ClassDef *cd,
const QCString &rname,bool isFriend)
{
- Entry *root = rootNav->entry();
- FileDef *fd=rootNav->fileDef();
+ FileDef *fd=root->fileDef();
int l;
static QRegExp re("([a-z_A-Z0-9: ]*[ &*]+[ ]*");
@@ -3373,9 +3285,9 @@ static void addMethodToClass(EntryNav *rootNav,ClassDef *cd,
}
QCString fileName = root->fileName;
- if (fileName.isEmpty() && rootNav->tagInfo())
+ if (fileName.isEmpty() && root->tagInfo)
{
- fileName = rootNav->tagInfo()->tagName;
+ fileName = root->tagInfo->tagName;
}
//printf("root->name=`%s; root->args=`%s' root->argList=`%s'\n",
@@ -3391,7 +3303,7 @@ static void addMethodToClass(EntryNav *rootNav,ClassDef *cd,
root->relates.isEmpty() ? Member :
root->relatesType == MemberOf ? Foreign : Related,
mtype,root->tArgLists ? root->tArgLists->getLast() : 0,root->argList, root->metaData);
- md->setTagInfo(rootNav->tagInfo());
+ md->setTagInfo(root->tagInfo);
md->setMemberClass(cd);
md->setDocumentation(root->doc,root->docFile,root->docLine);
md->setDocsForDefinition(!root->proto);
@@ -3509,23 +3421,20 @@ static void addMethodToClass(EntryNav *rootNav,ClassDef *cd,
cd->insertUsedFile(fd);
addMemberToGroups(root,md);
- rootNav->changeSection(Entry::EMPTY_SEC);
+ root->changeSection(Entry::EMPTY_SEC);
md->setRefItems(root->sli);
}
-static void buildFunctionList(EntryNav *rootNav)
+static void buildFunctionList(Entry *root)
{
- if (rootNav->section()==Entry::FUNCTION_SEC)
+ if (root->section==Entry::FUNCTION_SEC)
{
- rootNav->loadEntry(g_storage);
- Entry *root = rootNav->entry();
-
Debug::print(Debug::Functions,0,
"FUNCTION_SEC:\n"
" `%s' `%s'::`%s' `%s' relates=`%s' relatesType=`%d' file=`%s' line=`%d' bodyLine=`%d' #tArgLists=%d mGrpId=%d spec=%lld proto=%d docFile=%s\n",
qPrint(root->type),
- qPrint(rootNav->parent()->name()),
+ qPrint(root->parent()->name),
qPrint(root->name),
qPrint(root->args),
qPrint(root->relates),
@@ -3544,14 +3453,14 @@ static void buildFunctionList(EntryNav *rootNav)
QCString rname = removeRedundantWhiteSpace(root->name);
//printf("rname=%s\n",rname.data());
- QCString scope=rootNav->parent()->name(); //stripAnonymousNamespaceScope(root->parent->name);
+ QCString scope=root->parent()->name; //stripAnonymousNamespaceScope(root->parent->name);
if (!rname.isEmpty() && scope.find('@')==-1)
{
ClassDef *cd=0;
// check if this function's parent is a class
scope=stripTemplateSpecifiersFromScope(scope,FALSE);
- FileDef *rfd=rootNav->fileDef();
+ FileDef *rfd=root->fileDef();
int memIndex=rname.findRev("::");
@@ -3559,7 +3468,7 @@ static void buildFunctionList(EntryNav *rootNav)
if (cd && scope+"::"==rname.left(scope.length()+2)) // found A::f inside A
{
// strip scope from name
- rname=rname.right(rname.length()-rootNav->parent()->name().length()-2);
+ rname=rname.right(rname.length()-root->parent()->name.length()-2);
}
NamespaceDef *nd = 0;
@@ -3593,8 +3502,8 @@ static void buildFunctionList(EntryNav *rootNav)
int ts=root->type.find('<');
int te=root->type.findRev('>');
int ti;
- if (!rootNav->parent()->name().isEmpty() &&
- (rootNav->parent()->section() & Entry::COMPOUND_MASK) &&
+ if (!root->parent()->name.isEmpty() &&
+ (root->parent()->section & Entry::COMPOUND_MASK) &&
cd &&
// do some fuzzy things to exclude function pointers
(root->type.isEmpty() ||
@@ -3608,10 +3517,10 @@ static void buildFunctionList(EntryNav *rootNav)
{
Debug::print(Debug::Functions,0," --> member %s of class %s!\n",
qPrint(rname),qPrint(cd->name()));
- addMethodToClass(rootNav,cd,rname,isFriend);
+ addMethodToClass(root,cd,rname,isFriend);
}
- else if (!((rootNav->parent()->section() & Entry::COMPOUND_MASK)
- || rootNav->parent()->section()==Entry::OBJCIMPL_SEC
+ else if (!((root->parent()->section & Entry::COMPOUND_MASK)
+ || root->parent()->section==Entry::OBJCIMPL_SEC
) &&
!isMember &&
(root->relates.isEmpty() || root->relatesType == Duplicate) &&
@@ -3636,7 +3545,7 @@ static void buildFunctionList(EntryNav *rootNav)
NamespaceDef *rnd = 0;
//printf("root namespace=%s\n",rootNav->parent()->name().data());
QCString fullScope = scope;
- QCString parentScope = rootNav->parent()->name();
+ QCString parentScope = root->parent()->name;
if (!parentScope.isEmpty() && !leftScopeMatch(parentScope,scope))
{
if (!scope.isEmpty()) fullScope.prepend("::");
@@ -3792,7 +3701,7 @@ static void buildFunctionList(EntryNav *rootNav)
root->protection,root->virt,root->stat,Member,
MemberType_Function,tArgList,root->argList,root->metaData);
- md->setTagInfo(rootNav->tagInfo());
+ md->setTagInfo(root->tagInfo);
md->setLanguage(root->lang);
md->setId(root->id);
//md->setDefFile(root->fileName);
@@ -3805,7 +3714,7 @@ static void buildFunctionList(EntryNav *rootNav)
md->setTypeConstraints(root->typeConstr);
//md->setBody(root->body);
md->setBodySegment(root->bodyLine,root->endBodyLine);
- FileDef *fd=rootNav->fileDef();
+ FileDef *fd=root->fileDef();
md->setBodyDef(fd);
md->addSectionsToDefinition(root->anchors);
md->setMemberSpecifiers(root->spec);
@@ -3813,10 +3722,10 @@ static void buildFunctionList(EntryNav *rootNav)
// see if the function is inside a namespace that was not part of
// the name already (in that case nd should be non-zero already)
- if (nd==0 && rootNav->parent()->section() == Entry::NAMESPACE_SEC )
+ if (nd==0 && root->parent()->section == Entry::NAMESPACE_SEC )
{
- //QCString nscope=removeAnonymousScopes(rootNav->parent()->name());
- QCString nscope=rootNav->parent()->name();
+ //QCString nscope=removeAnonymousScopes(root->parent()->name);
+ QCString nscope=root->parent()->name;
if (!nscope.isEmpty())
{
nd = getResolvedNamespace(nscope);
@@ -3861,7 +3770,7 @@ static void buildFunctionList(EntryNav *rootNav)
" `%s' `%s'::`%s' `%s' proto=%d\n"
" def=`%s'\n",
qPrint(root->type),
- qPrint(rootNav->parent()->name()),
+ qPrint(root->parent()->name),
qPrint(rname),
qPrint(root->args),
root->proto,
@@ -3909,14 +3818,14 @@ static void buildFunctionList(EntryNav *rootNav)
if (root->relatesType == Simple) // if this is a relatesalso command,
// allow find Member to pick it up
{
- rootNav->changeSection(Entry::EMPTY_SEC); // Otherwise we have finished
- // with this entry.
+ root->changeSection(Entry::EMPTY_SEC); // Otherwise we have finished
+ // with this entry.
}
}
else
{
- FileDef *fd=rootNav->fileDef();
+ FileDef *fd=root->fileDef();
if (fd)
{
// add member to the file (we do this even if we have already
@@ -3939,10 +3848,8 @@ static void buildFunctionList(EntryNav *rootNav)
"Illegal member name found."
);
}
-
- rootNav->releaseEntry();
}
- RECURSE_ENTRYTREE(buildFunctionList,rootNav);
+ RECURSE_ENTRYTREE(buildFunctionList,root);
}
//----------------------------------------------------------------------
@@ -4285,7 +4192,7 @@ static ClassDef *findClassWithinClassContext(Definition *context,ClassDef *cd,co
}
-static void findUsedClassesForClass(EntryNav *rootNav,
+static void findUsedClassesForClass(Entry *root,
Definition *context,
ClassDef *masterCd,
ClassDef *instanceCd,
@@ -4327,7 +4234,7 @@ static void findUsedClassesForClass(EntryNav *rootNav,
}
//printf(" template substitution gives=%s\n",type.data());
- while (!found && extractClassNameFromType(type,pos,usedClassName,templSpec,rootNav->lang())!=-1)
+ while (!found && extractClassNameFromType(type,pos,usedClassName,templSpec,root->lang)!=-1)
{
// find the type (if any) that matches usedClassName
ClassDef *typeCd = getResolvedClass(masterCd,
@@ -4362,7 +4269,7 @@ static void findUsedClassesForClass(EntryNav *rootNav,
delTempNames=TRUE;
}
BaseInfo bi(usedName,Public,Normal);
- findClassRelation(rootNav,context,instanceCd,&bi,templateNames,TemplateInstances,isArtificial);
+ findClassRelation(root,context,instanceCd,&bi,templateNames,TemplateInstances,isArtificial);
if (masterCd->templateArguments())
{
@@ -4455,7 +4362,7 @@ static void findUsedClassesForClass(EntryNav *rootNav,
}
static void findBaseClassesForClass(
- EntryNav *rootNav,
+ Entry *root,
Definition *context,
ClassDef *masterCd,
ClassDef *instanceCd,
@@ -4465,7 +4372,6 @@ static void findBaseClassesForClass(
QDict *templateNames=0
)
{
- Entry *root = rootNav->entry();
//if (masterCd->visited) return;
masterCd->visited=TRUE;
// The base class could ofcouse also be a non-nested class
@@ -4492,7 +4398,7 @@ static void findBaseClassesForClass(
if (mode==DocumentedOnly)
{
// find a documented base class in the correct scope
- if (!findClassRelation(rootNav,context,instanceCd,&tbi,templateNames,DocumentedOnly,isArtificial))
+ if (!findClassRelation(root,context,instanceCd,&tbi,templateNames,DocumentedOnly,isArtificial))
{
// 1.8.2: decided to show inheritance relations even if not documented,
// we do make them artificial, so they do not appear in the index
@@ -4500,13 +4406,13 @@ static void findBaseClassesForClass(
bool b = Config_getBool(HIDE_UNDOC_RELATIONS) ? TRUE : isArtificial;
//{
// no documented base class -> try to find an undocumented one
- findClassRelation(rootNav,context,instanceCd,&tbi,templateNames,Undocumented,b);
+ findClassRelation(root,context,instanceCd,&tbi,templateNames,Undocumented,b);
//}
}
}
else if (mode==TemplateInstances)
{
- findClassRelation(rootNav,context,instanceCd,&tbi,templateNames,TemplateInstances,isArtificial);
+ findClassRelation(root,context,instanceCd,&tbi,templateNames,TemplateInstances,isArtificial);
}
if (delTempNames)
{
@@ -4558,34 +4464,19 @@ static bool findTemplateInstanceRelation(Entry *root,
// search for new template instances caused by base classes of
// instanceClass
- EntryNav *templateRootNav = g_classEntries.find(templateClass->name());
- if (templateRootNav)
+ Entry *templateRoot = g_classEntries.find(templateClass->name());
+ if (templateRoot)
{
- bool unloadNeeded=FALSE;
- Entry *templateRoot = templateRootNav->entry();
- if (templateRoot==0) // not yet loaded
- {
- templateRootNav->loadEntry(g_storage);
- templateRoot = templateRootNav->entry();
- ASSERT(templateRoot!=0); // now it should really be loaded
- unloadNeeded=TRUE;
- }
-
Debug::print(Debug::Classes,0," template root found %s templSpec=%s!\n",
qPrint(templateRoot->name),qPrint(templSpec));
ArgumentList *templArgs = new ArgumentList;
stringToArgumentList(templSpec,templArgs);
- findBaseClassesForClass(templateRootNav,context,templateClass,instanceClass,
+ findBaseClassesForClass(templateRoot,context,templateClass,instanceClass,
TemplateInstances,isArtificial,templArgs,templateNames);
- findUsedClassesForClass(templateRootNav,context,templateClass,instanceClass,
+ findUsedClassesForClass(templateRoot,context,templateClass,instanceClass,
isArtificial,templArgs,templateNames);
delete templArgs;
-
- if (unloadNeeded) // still cleanup to do
- {
- templateRootNav->releaseEntry();
- }
}
else
{
@@ -4695,7 +4586,7 @@ static int findEndOfTemplate(const QCString &s,int startPos)
}
static bool findClassRelation(
- EntryNav *rootNav,
+ Entry *root,
Definition *context,
ClassDef *cd,
BaseInfo *bi,
@@ -4717,8 +4608,6 @@ static bool findClassRelation(
//}
//printf("\n");
- Entry *root = rootNav->entry();
-
QCString biName=bi->name;
bool explicitGlobalScope=FALSE;
//printf("findClassRelation: biName=`%s'\n",biName.data());
@@ -4728,12 +4617,12 @@ static bool findClassRelation(
explicitGlobalScope=TRUE;
}
- EntryNav *parentNode=rootNav->parent();
+ Entry *parentNode=root->parent();
bool lastParent=FALSE;
do // for each parent scope, starting with the largest scope
// (in case of nested classes)
{
- QCString scopeName= parentNode ? parentNode->name().data() : "";
+ QCString scopeName= parentNode ? parentNode->name.data() : "";
int scopeOffset=explicitGlobalScope ? 0 : scopeName.length();
do // try all parent scope prefixes, starting with the largest scope
{
@@ -4772,18 +4661,18 @@ static bool findClassRelation(
// ) // Check for base class with the same name.
// // If found then look in the outer scope for a match
// // and prevent recursion.
- if (!isRecursiveBaseClass(rootNav->name(),baseClassName)
+ if (!isRecursiveBaseClass(root->name,baseClassName)
|| explicitGlobalScope
// sadly isRecursiveBaseClass always true for UNO IDL ifc/svc members
// (i.e. this is needed for addInterfaceOrServiceToServiceOrSingleton)
- || (rootNav->lang()==SrcLangExt_IDL &&
- (rootNav->section()==Entry::EXPORTED_INTERFACE_SEC ||
- rootNav->section()==Entry::INCLUDED_SERVICE_SEC)))
+ || (root->lang==SrcLangExt_IDL &&
+ (root->section==Entry::EXPORTED_INTERFACE_SEC ||
+ root->section==Entry::INCLUDED_SERVICE_SEC)))
{
Debug::print(
Debug::Classes,0," class relation %s inherited/used by %s found (%s and %s) templSpec='%s'\n",
qPrint(baseClassName),
- qPrint(rootNav->name()),
+ qPrint(root->name),
(bi->prot==Private)?"private":((bi->prot==Protected)?"protected":"public"),
(bi->virt==Normal)?"normal":"virtual",
qPrint(templSpec)
@@ -4980,7 +4869,7 @@ static bool findClassRelation(
int si = baseClassName.findRev("::");
if (si!=-1) // class is nested
{
- Definition *sd = findScopeFromQualifiedName(Doxygen::globalScope,baseClassName.left(si),0,rootNav->tagInfo());
+ Definition *sd = findScopeFromQualifiedName(Doxygen::globalScope,baseClassName.left(si),0,root->tagInfo);
if (sd==0 || sd==Doxygen::globalScope) // outer scope not found
{
baseClass->setArtificial(TRUE); // see bug678139
@@ -4997,7 +4886,7 @@ static bool findClassRelation(
// add this class as super class to the base class
baseClass->insertSubClass(cd,bi->prot,bi->virt,templSpec);
// the undocumented base was found in this file
- baseClass->insertUsedFile(rootNav->fileDef());
+ baseClass->insertUsedFile(root->fileDef());
baseClass->setOuterScope(Doxygen::globalScope);
if (baseClassName.right(2)=="-p")
{
@@ -5051,22 +4940,19 @@ static bool findClassRelation(
//----------------------------------------------------------------------
// Computes the base and super classes for each class in the tree
-static bool isClassSection(EntryNav *rootNav)
+static bool isClassSection(Entry *root)
{
- if ( !rootNav->name().isEmpty() )
+ if ( !root->name.isEmpty() )
{
- if (rootNav->section() & Entry::COMPOUND_MASK)
+ if (root->section & Entry::COMPOUND_MASK)
// is it a compound (class, struct, union, interface ...)
{
return TRUE;
}
- else if (rootNav->section() & Entry::COMPOUNDDOC_MASK)
+ else if (root->section & Entry::COMPOUNDDOC_MASK)
// is it a documentation block with inheritance info.
{
- rootNav->loadEntry(g_storage);
- Entry *root = rootNav->entry();
bool extends = root->extends->count()>0;
- rootNav->releaseEntry();
if (extends) return TRUE;
}
}
@@ -5076,22 +4962,22 @@ static bool isClassSection(EntryNav *rootNav)
/*! Builds a dictionary of all entry nodes in the tree starting with \a root
*/
-static void findClassEntries(EntryNav *rootNav)
+static void findClassEntries(Entry *root)
{
- if (isClassSection(rootNav))
+ if (isClassSection(root))
{
- g_classEntries.insert(rootNav->name(),rootNav);
+ g_classEntries.insert(root->name,root);
}
- RECURSE_ENTRYTREE(findClassEntries,rootNav);
+ RECURSE_ENTRYTREE(findClassEntries,root);
}
-static QCString extractClassName(EntryNav *rootNav)
+static QCString extractClassName(Entry *root)
{
// strip any anonymous scopes first
- QCString bName=stripAnonymousNamespaceScope(rootNav->name());
+ QCString bName=stripAnonymousNamespaceScope(root->name);
bName=stripTemplateSpecifiersFromScope(bName);
int i;
- if ((rootNav->lang()==SrcLangExt_CSharp || rootNav->lang()==SrcLangExt_Java) &&
+ if ((root->lang==SrcLangExt_CSharp || root->lang==SrcLangExt_Java) &&
(i=bName.find('<'))!=-1)
{
// a Java/C# generic class looks like a C++ specialization, so we need to strip the
@@ -5110,19 +4996,17 @@ static void findInheritedTemplateInstances()
{
ClassSDict::Iterator cli(*Doxygen::classSDict);
for (cli.toFirst();cli.current();++cli) cli.current()->visited=FALSE;
- QDictIterator edi(g_classEntries);
- EntryNav *rootNav;
- for (;(rootNav=edi.current());++edi)
+ QDictIterator edi(g_classEntries);
+ Entry *root;
+ for (;(root=edi.current());++edi)
{
ClassDef *cd;
- QCString bName = extractClassName(rootNav);
+ QCString bName = extractClassName(root);
Debug::print(Debug::Classes,0," Inheritance: Class %s : \n",qPrint(bName));
if ((cd=getClass(bName)))
{
- rootNav->loadEntry(g_storage);
//printf("Class %s %d\n",cd->name().data(),root->extends->count());
- findBaseClassesForClass(rootNav,cd,cd,cd,TemplateInstances,FALSE);
- rootNav->releaseEntry();
+ findBaseClassesForClass(root,cd,cd,cd,TemplateInstances,FALSE);
}
}
}
@@ -5131,19 +5015,17 @@ static void findUsedTemplateInstances()
{
ClassSDict::Iterator cli(*Doxygen::classSDict);
for (cli.toFirst();cli.current();++cli) cli.current()->visited=FALSE;
- QDictIterator edi(g_classEntries);
- EntryNav *rootNav;
- for (;(rootNav=edi.current());++edi)
+ QDictIterator edi(g_classEntries);
+ Entry *root;
+ for (;(root=edi.current());++edi)
{
ClassDef *cd;
- QCString bName = extractClassName(rootNav);
+ QCString bName = extractClassName(root);
Debug::print(Debug::Classes,0," Usage: Class %s : \n",qPrint(bName));
if ((cd=getClass(bName)))
{
- rootNav->loadEntry(g_storage);
- findUsedClassesForClass(rootNav,cd,cd,cd,TRUE);
+ findUsedClassesForClass(root,cd,cd,cd,TRUE);
cd->addTypeConstraints();
- rootNav->releaseEntry();
}
}
}
@@ -5152,19 +5034,17 @@ static void computeClassRelations()
{
ClassSDict::Iterator cli(*Doxygen::classSDict);
for (cli.toFirst();cli.current();++cli) cli.current()->visited=FALSE;
- QDictIterator edi(g_classEntries);
- EntryNav *rootNav;
- for (;(rootNav=edi.current());++edi)
+ QDictIterator edi(g_classEntries);
+ Entry *root;
+ for (;(root=edi.current());++edi)
{
ClassDef *cd;
- rootNav->loadEntry(g_storage);
- Entry *root = rootNav->entry();
- QCString bName = extractClassName(rootNav);
+ QCString bName = extractClassName(root);
Debug::print(Debug::Classes,0," Relations: Class %s : \n",qPrint(bName));
if ((cd=getClass(bName)))
{
- findBaseClassesForClass(rootNav,cd,cd,cd,DocumentedOnly,FALSE);
+ findBaseClassesForClass(root,cd,cd,cd,DocumentedOnly,FALSE);
}
int numMembers = cd && cd->memberNameInfoSDict() ? cd->memberNameInfoSDict()->count() : 0;
if ((cd==0 || (!cd->hasDocumentation() && !cd->isReference())) && numMembers>0 &&
@@ -5182,20 +5062,15 @@ static void computeClassRelations()
root->name.data()
);
}
-
- rootNav->releaseEntry();
}
}
static void computeTemplateClassRelations()
{
- QDictIterator edi(g_classEntries);
- EntryNav *rootNav;
- for (;(rootNav=edi.current());++edi)
+ QDictIterator edi(g_classEntries);
+ Entry *root;
+ for (;(root=edi.current());++edi)
{
- rootNav->loadEntry(g_storage);
- Entry *root = rootNav->entry();
-
QCString bName=stripAnonymousNamespaceScope(root->name);
bName=stripTemplateSpecifiersFromScope(bName);
ClassDef *cd=getClass(bName);
@@ -5250,10 +5125,10 @@ static void computeTemplateClassRelations()
tbi.name = substituteTemplateArgumentsInString(bi->name,tl,templArgs);
// find a documented base class in the correct scope
- if (!findClassRelation(rootNav,cd,tcd,&tbi,actualTemplateNames,DocumentedOnly,FALSE))
+ if (!findClassRelation(root,cd,tcd,&tbi,actualTemplateNames,DocumentedOnly,FALSE))
{
// no documented base class -> try to find an undocumented one
- findClassRelation(rootNav,cd,tcd,&tbi,actualTemplateNames,Undocumented,TRUE);
+ findClassRelation(root,cd,tcd,&tbi,actualTemplateNames,Undocumented,TRUE);
}
delete actualTemplateNames;
}
@@ -5261,8 +5136,6 @@ static void computeTemplateClassRelations()
delete templArgs;
} // class has no base classes
}
-
- rootNav->releaseEntry();
}
}
@@ -5413,14 +5286,13 @@ static void generateXRefPages()
// set the function declaration of the member to `funcDecl'. If the boolean
// over_load is set the standard overload text is added.
-static void addMemberDocs(EntryNav *rootNav,
+static void addMemberDocs(Entry *root,
MemberDef *md, const char *funcDecl,
ArgumentList *al,
bool over_load,
NamespaceSDict *
)
{
- Entry *root = rootNav->entry();
//printf("addMemberDocs: `%s'::`%s' `%s' funcDecl=`%s' mSpec=%d\n",
// root->parent->name.data(),md->name().data(),md->argsString(),funcDecl,root->spec);
QCString fDecl=funcDecl;
@@ -5441,7 +5313,7 @@ static void addMemberDocs(EntryNav *rootNav,
if (!fullName.isEmpty()) fullName+="::";
fullName+=md->name();
- FileDef *rfd=rootNav->fileDef();
+ FileDef *rfd=root->fileDef();
// TODO determine scope based on root not md
Definition *rscope = md->getOuterScope();
@@ -5488,7 +5360,7 @@ static void addMemberDocs(EntryNav *rootNav,
if (
(md->inbodyDocumentation().isEmpty() ||
- !rootNav->parent()->name().isEmpty()
+ !root->parent()->name.isEmpty()
) && !root->inbodyDocs.isEmpty()
)
{
@@ -5570,7 +5442,7 @@ static ClassDef *findClassDefinition(FileDef *fd,NamespaceDef *nd,
// with name `name' and argument list `args' (for overloading) and
// function declaration `decl' to the corresponding member definition.
-static bool findGlobalMember(EntryNav *rootNav,
+static bool findGlobalMember(Entry *root,
const QCString &namespaceName,
const char *type,
const char *name,
@@ -5578,7 +5450,6 @@ static bool findGlobalMember(EntryNav *rootNav,
const char *,
const char *decl)
{
- Entry *root = rootNav->entry();
Debug::print(Debug::FindMembers,0,
"2. findGlobalMember(namespace=%s,type=%s,name=%s,tempArg=%s,decl=%s)\n",
qPrint(namespaceName),qPrint(type),qPrint(name),qPrint(tempArg),qPrint(decl));
@@ -5604,7 +5475,7 @@ static bool findGlobalMember(EntryNav *rootNav,
//printf("Namespace namespaceName=%s nd=%s\n",
// namespaceName.data(),nd ? nd->name().data() : "");
- FileDef *fd=rootNav->fileDef();
+ FileDef *fd=root->fileDef();
//printf("File %s\n",fd ? fd->name().data() : "");
NamespaceSDict *nl = fd ? fd->getUsedNamespaces() : 0;
//SDict *cl = fd ? fd->getUsedClasses() : 0;
@@ -5679,7 +5550,7 @@ static bool findGlobalMember(EntryNav *rootNav,
if (matching) // add docs to the member
{
Debug::print(Debug::FindMembers,0,"5. Match found\n");
- addMemberDocs(rootNav,md,decl,root->argList,FALSE);
+ addMemberDocs(root,md,decl,root->argList,FALSE);
found=TRUE;
}
}
@@ -5889,14 +5760,12 @@ static void substituteTemplatesInArgList(
* The boolean \a isFunc is a hint that indicates that this is a function
* instead of a variable or typedef.
*/
-static void findMember(EntryNav *rootNav,
+static void findMember(Entry *root,
QCString funcDecl,
bool overloaded,
bool isFunc
)
{
- Entry *root = rootNav->entry();
-
Debug::print(Debug::FindMembers,0,
"findMember(root=%p,funcDecl=`%s',related=`%s',overload=%d,"
"isFunc=%d mGrpId=%d tArgList=%p (#=%d) "
@@ -6009,14 +5878,14 @@ static void findMember(EntryNav *rootNav,
}
}
- if (root->relates.isEmpty() && rootNav->parent() &&
- ((rootNav->parent()->section()&Entry::SCOPE_MASK) ||
- (rootNav->parent()->section()==Entry::OBJCIMPL_SEC)
+ if (root->relates.isEmpty() && root->parent() &&
+ ((root->parent()->section&Entry::SCOPE_MASK) ||
+ (root->parent()->section==Entry::OBJCIMPL_SEC)
) &&
- !rootNav->parent()->name().isEmpty()) // see if we can combine scopeName
+ !root->parent()->name.isEmpty()) // see if we can combine scopeName
// with the scope in which it was found
{
- QCString joinedName = rootNav->parent()->name()+"::"+scopeName;
+ QCString joinedName = root->parent()->name+"::"+scopeName;
if (!scopeName.isEmpty() &&
(getClass(joinedName) || Doxygen::namespaceSDict->find(joinedName)))
{
@@ -6024,12 +5893,12 @@ static void findMember(EntryNav *rootNav,
}
else
{
- scopeName = mergeScopes(rootNav->parent()->name(),scopeName);
+ scopeName = mergeScopes(root->parent()->name,scopeName);
}
}
else // see if we can prefix a namespace or class that is used from the file
{
- FileDef *fd=rootNav->fileDef();
+ FileDef *fd=root->fileDef();
if (fd)
{
NamespaceSDict *fnl = fd->getUsedNamespaces();
@@ -6235,7 +6104,7 @@ static void findMember(EntryNav *rootNav,
qPrint(md->argsString()),
qPrint(root->fileName));
//printf("Member %s (member scopeName=%s) (this scopeName=%s) classTempList=%s\n",md->name().data(),cd->name().data(),scopeName.data(),classTempList.data());
- FileDef *fd=rootNav->fileDef();
+ FileDef *fd=root->fileDef();
NamespaceDef *nd=0;
if (!namespaceName.isEmpty()) nd=getResolvedNamespace(namespaceName);
@@ -6377,7 +6246,7 @@ static void findMember(EntryNav *rootNav,
// TODO: copy other aspects?
root->protection=md->protection(); // copy protection level
- addMethodToClass(rootNav,cd,md->name(),isFriend);
+ addMethodToClass(root,cd,md->name(),isFriend);
return;
}
delete argList;
@@ -6385,7 +6254,7 @@ static void findMember(EntryNav *rootNav,
}
if (matching)
{
- addMemberDocs(rootNav,md,funcDecl,0,overloaded,0/* TODO */);
+ addMemberDocs(root,md,funcDecl,0,overloaded,0/* TODO */);
count++;
memFound=TRUE;
}
@@ -6396,8 +6265,8 @@ static void findMember(EntryNav *rootNav,
noMatchCount++;
}
}
- if (count==0 && rootNav->parent() &&
- rootNav->parent()->section()==Entry::OBJCIMPL_SEC)
+ if (count==0 && root->parent() &&
+ root->parent()->section==Entry::OBJCIMPL_SEC)
{
goto localObjCMethod;
}
@@ -6420,7 +6289,7 @@ static void findMember(EntryNav *rootNav,
if (root->tArgLists && templAl!=0 &&
root->tArgLists->getLast()->count()<=templAl->count())
{
- addMethodToClass(rootNav,ccd,md->name(),isFriend);
+ addMethodToClass(root,ccd,md->name(),isFriend);
return;
}
if (md->argsString()==argListToString(root->argList,TRUE,FALSE))
@@ -6450,7 +6319,7 @@ static void findMember(EntryNav *rootNav,
{
// we didn't find an actual match on argument lists, but there is only 1 member with this
// name in the same scope, so that has to be the one.
- addMemberDocs(rootNav,umd,funcDecl,0,overloaded,0);
+ addMemberDocs(root,umd,funcDecl,0,overloaded,0);
return;
}
else if (candidates>1 && ecd && emd)
@@ -6458,7 +6327,7 @@ static void findMember(EntryNav *rootNav,
// we didn't find a unique match using type resolution,
// but one of the matches has the exact same signature so
// we take that one.
- addMemberDocs(rootNav,emd,funcDecl,0,overloaded,0);
+ addMemberDocs(root,emd,funcDecl,0,overloaded,0);
return;
}
}
@@ -6548,7 +6417,7 @@ static void findMember(EntryNav *rootNav,
root->virt,root->stat,Member,
mtype,tArgList,root->argList,root->metaData);
//printf("new specialized member %s args=`%s'\n",md->name().data(),funcArgs.data());
- md->setTagInfo(rootNav->tagInfo());
+ md->setTagInfo(root->tagInfo);
md->setLanguage(root->lang);
md->setId(root->id);
md->setMemberClass(cd);
@@ -6566,7 +6435,7 @@ static void findMember(EntryNav *rootNav,
md->setPrototype(root->proto,root->fileName,root->startLine,root->startColumn);
md->addSectionsToDefinition(root->anchors);
md->setBodySegment(root->bodyLine,root->endBodyLine);
- FileDef *fd=rootNav->fileDef();
+ FileDef *fd=root->fileDef();
md->setBodyDef(fd);
md->setMemberSpecifiers(root->spec);
md->setMemberGroupId(root->mGrpId);
@@ -6616,7 +6485,7 @@ static void findMember(EntryNav *rootNav,
funcType,funcName,funcArgs,exceptions,
root->protection,root->virt,root->stat,Related,
mtype,tArgList,root->argList,root->metaData);
- md->setTagInfo(rootNav->tagInfo());
+ md->setTagInfo(root->tagInfo);
md->setLanguage(root->lang);
md->setId(root->id);
md->setTypeConstraints(root->typeConstr);
@@ -6636,7 +6505,7 @@ static void findMember(EntryNav *rootNav,
md->setPrototype(root->proto,root->fileName,root->startLine,root->startColumn);
md->addSectionsToDefinition(root->anchors);
md->setBodySegment(root->bodyLine,root->endBodyLine);
- FileDef *fd=rootNav->fileDef();
+ FileDef *fd=root->fileDef();
md->setBodyDef(fd);
md->setMemberSpecifiers(root->spec);
md->setMemberGroupId(root->mGrpId);
@@ -6648,7 +6517,7 @@ static void findMember(EntryNav *rootNav,
}
else // unrelated function with the same name as a member
{
- if (!findGlobalMember(rootNav,namespaceName,funcType,funcName,funcTempList,funcArgs,funcDecl))
+ if (!findGlobalMember(root,namespaceName,funcType,funcName,funcTempList,funcArgs,funcDecl))
{
QCString fullFuncDecl=funcDecl.copy();
if (isFunc) fullFuncDecl+=argListToString(root->argList,TRUE);
@@ -6686,7 +6555,7 @@ static void findMember(EntryNav *rootNav,
}
}
- FileDef *fd=rootNav->fileDef();
+ FileDef *fd=root->fileDef();
if ((mn=Doxygen::memberNameSDict->find(funcName))==0)
{
@@ -6712,7 +6581,7 @@ static void findMember(EntryNav *rootNav,
{
//printf("addMemberDocs for related member %s\n",root->name.data());
//rmd->setMemberDefTemplateArguments(root->mtArgList);
- addMemberDocs(rootNav,rmd,funcDecl,0,overloaded);
+ addMemberDocs(root,rmd,funcDecl,0,overloaded);
}
}
@@ -6775,7 +6644,7 @@ static void findMember(EntryNav *rootNav,
//
md->setDefinitionTemplateParameterLists(root->tArgLists);
- md->setTagInfo(rootNav->tagInfo());
+ md->setTagInfo(root->tagInfo);
@@ -6861,7 +6730,7 @@ static void findMember(EntryNav *rootNav,
}
if (root->relatesType == Duplicate)
{
- if (!findGlobalMember(rootNav,namespaceName,funcType,funcName,funcTempList,funcArgs,funcDecl))
+ if (!findGlobalMember(root,namespaceName,funcType,funcName,funcTempList,funcArgs,funcDecl))
{
QCString fullFuncDecl=funcDecl.copy();
if (isFunc) fullFuncDecl+=argListToString(root->argList,TRUE);
@@ -6881,7 +6750,7 @@ static void findMember(EntryNav *rootNav,
);
}
}
- else if (rootNav->parent() && rootNav->parent()->section()==Entry::OBJCIMPL_SEC)
+ else if (root->parent() && root->parent()->section==Entry::OBJCIMPL_SEC)
{
localObjCMethod:
ClassDef *cd;
@@ -6896,7 +6765,7 @@ localObjCMethod:
funcType,funcName,funcArgs,exceptions,
root->protection,root->virt,root->stat,Member,
MemberType_Function,0,root->argList,root->metaData);
- md->setTagInfo(rootNav->tagInfo());
+ md->setTagInfo(root->tagInfo);
md->setLanguage(root->lang);
md->setId(root->id);
md->makeImplementationDetail();
@@ -6913,7 +6782,7 @@ localObjCMethod:
md->setPrototype(root->proto,root->fileName,root->startLine,root->startColumn);
md->addSectionsToDefinition(root->anchors);
md->setBodySegment(root->bodyLine,root->endBodyLine);
- FileDef *fd=rootNav->fileDef();
+ FileDef *fd=root->fileDef();
md->setBodyDef(fd);
md->setMemberSpecifiers(root->spec);
md->setMemberGroupId(root->mGrpId);
@@ -6938,7 +6807,7 @@ localObjCMethod:
}
else // unrelated not overloaded member found
{
- bool globMem = findGlobalMember(rootNav,namespaceName,funcType,funcName,funcTempList,funcArgs,funcDecl);
+ bool globMem = findGlobalMember(root,namespaceName,funcType,funcName,funcTempList,funcArgs,funcDecl);
if (className.isEmpty() && !globMem)
{
warn(root->fileName,root->startLine,
@@ -6967,22 +6836,21 @@ localObjCMethod:
// find the members corresponding to the different documentation blocks
// that are extracted from the sources.
-static void filterMemberDocumentation(EntryNav *rootNav)
+static void filterMemberDocumentation(Entry *root)
{
- Entry *root = rootNav->entry();
int i=-1,l;
Debug::print(Debug::FindMembers,0,
"findMemberDocumentation(): root->type=`%s' root->inside=`%s' root->name=`%s' root->args=`%s' section=%x root->spec=%lld root->mGrpId=%d\n",
qPrint(root->type),qPrint(root->inside),qPrint(root->name),qPrint(root->args),root->section,root->spec,root->mGrpId
);
- //printf("rootNav->parent()->name()=%s\n",rootNav->parent()->name().data());
+ //printf("root->parent()->name=%s\n",root->parent()->name.data());
bool isFunc=TRUE;
if (root->relatesType == Duplicate && !root->relates.isEmpty())
{
QCString tmp = root->relates;
root->relates.resize(0);
- filterMemberDocumentation(rootNav);
+ filterMemberDocumentation(root);
root->relates = tmp;
}
@@ -7011,17 +6879,17 @@ static void filterMemberDocumentation(EntryNav *rootNav)
//if (root->relates.length()) printf(" Relates %s\n",root->relates.data());
if (root->type.isEmpty())
{
- findMember(rootNav,root->name+root->args+root->exception,FALSE,isFunc);
+ findMember(root,root->name+root->args+root->exception,FALSE,isFunc);
}
else
{
- findMember(rootNav,root->type+" "+root->name+root->args+root->exception,FALSE,isFunc);
+ findMember(root,root->type+" "+root->name+root->args+root->exception,FALSE,isFunc);
}
}
else if (root->section==Entry::OVERLOADDOC_SEC)
{
//printf("Overloaded member %s found\n",root->name.data());
- findMember(rootNav,root->name,TRUE,isFunc);
+ findMember(root,root->name,TRUE,isFunc);
}
else if
((root->section==Entry::FUNCTION_SEC // function
@@ -7041,7 +6909,7 @@ static void filterMemberDocumentation(EntryNav *rootNav)
if (root->type=="friend class" || root->type=="friend struct" ||
root->type=="friend union")
{
- findMember(rootNav,
+ findMember(root,
root->type+" "+
root->name,
FALSE,FALSE);
@@ -7049,7 +6917,7 @@ static void filterMemberDocumentation(EntryNav *rootNav)
}
else if (!root->type.isEmpty())
{
- findMember(rootNav,
+ findMember(root,
root->type+" "+
root->inside+
root->name+
@@ -7059,7 +6927,7 @@ static void filterMemberDocumentation(EntryNav *rootNav)
}
else
{
- findMember(rootNav,
+ findMember(root,
root->inside+
root->name+
root->args+
@@ -7069,18 +6937,18 @@ static void filterMemberDocumentation(EntryNav *rootNav)
}
else if (root->section==Entry::DEFINE_SEC && !root->relates.isEmpty())
{
- findMember(rootNav,root->name+root->args,FALSE,!root->args.isEmpty());
+ findMember(root,root->name+root->args,FALSE,!root->args.isEmpty());
}
else if (root->section==Entry::VARIABLEDOC_SEC)
{
//printf("Documentation for variable %s found\n",root->name.data());
//if (!root->relates.isEmpty()) printf(" Relates %s\n",root->relates.data());
- findMember(rootNav,root->name,FALSE,FALSE);
+ findMember(root,root->name,FALSE,FALSE);
}
else if (root->section==Entry::EXPORTED_INTERFACE_SEC ||
root->section==Entry::INCLUDED_SERVICE_SEC)
{
- findMember(rootNav,root->type + " " + root->name,FALSE,FALSE);
+ findMember(root,root->type + " " + root->name,FALSE,FALSE);
}
else
{
@@ -7089,62 +6957,53 @@ static void filterMemberDocumentation(EntryNav *rootNav)
}
}
-static void findMemberDocumentation(EntryNav *rootNav)
+static void findMemberDocumentation(Entry *root)
{
- if (rootNav->section()==Entry::MEMBERDOC_SEC ||
- rootNav->section()==Entry::OVERLOADDOC_SEC ||
- rootNav->section()==Entry::FUNCTION_SEC ||
- rootNav->section()==Entry::VARIABLE_SEC ||
- rootNav->section()==Entry::VARIABLEDOC_SEC ||
- rootNav->section()==Entry::DEFINE_SEC ||
- rootNav->section()==Entry::INCLUDED_SERVICE_SEC ||
- rootNav->section()==Entry::EXPORTED_INTERFACE_SEC
+ if (root->section==Entry::MEMBERDOC_SEC ||
+ root->section==Entry::OVERLOADDOC_SEC ||
+ root->section==Entry::FUNCTION_SEC ||
+ root->section==Entry::VARIABLE_SEC ||
+ root->section==Entry::VARIABLEDOC_SEC ||
+ root->section==Entry::DEFINE_SEC ||
+ root->section==Entry::INCLUDED_SERVICE_SEC ||
+ root->section==Entry::EXPORTED_INTERFACE_SEC
)
{
- rootNav->loadEntry(g_storage);
-
- filterMemberDocumentation(rootNav);
-
- rootNav->releaseEntry();
+ filterMemberDocumentation(root);
}
- if (rootNav->children())
+ if (root->children())
{
- EntryNavListIterator eli(*rootNav->children());
- EntryNav *e;
+ EntryListIterator eli(*root->children());
+ Entry *e;
for (;(e=eli.current());++eli)
{
- if (e->section()!=Entry::ENUM_SEC) findMemberDocumentation(e);
+ if (e->section!=Entry::ENUM_SEC) findMemberDocumentation(e);
}
}
}
//----------------------------------------------------------------------
-static void findObjCMethodDefinitions(EntryNav *rootNav)
+static void findObjCMethodDefinitions(Entry *root)
{
- if (rootNav->children())
+ if (root->children())
{
- EntryNavListIterator eli(*rootNav->children());
- EntryNav *objCImplNav;
- for (;(objCImplNav=eli.current());++eli)
+ EntryListIterator eli(*root->children());
+ Entry *objCImpl;
+ for (;(objCImpl=eli.current());++eli)
{
- if (objCImplNav->section()==Entry::OBJCIMPL_SEC && objCImplNav->children())
+ if (objCImpl->section==Entry::OBJCIMPL_SEC && objCImpl->children())
{
- EntryNavListIterator seli(*objCImplNav->children());
- EntryNav *objCMethodNav;
- for (;(objCMethodNav=seli.current());++seli)
+ EntryListIterator seli(*objCImpl->children());
+ Entry *objCMethod;
+ for (;(objCMethod=seli.current());++seli)
{
- if (objCMethodNav->section()==Entry::FUNCTION_SEC)
+ if (objCMethod->section==Entry::FUNCTION_SEC)
{
- objCMethodNav->loadEntry(g_storage);
- Entry *objCMethod = objCMethodNav->entry();
-
//Printf(" Found ObjC method definition %s\n",objCMethod->name.data());
- findMember(objCMethodNav, objCMethod->type+" "+objCImplNav->name()+"::"+
+ findMember(objCMethod, objCMethod->type+" "+objCImpl->name+"::"+
objCMethod->name+" "+objCMethod->args, FALSE,TRUE);
objCMethod->section=Entry::EMPTY_SEC;
-
- objCMethodNav->releaseEntry();
}
}
}
@@ -7155,13 +7014,10 @@ static void findObjCMethodDefinitions(EntryNav *rootNav)
//----------------------------------------------------------------------
// find and add the enumeration to their classes, namespaces or files
-static void findEnums(EntryNav *rootNav)
+static void findEnums(Entry *root)
{
- if (rootNav->section()==Entry::ENUM_SEC)
+ if (root->section==Entry::ENUM_SEC)
{
- rootNav->loadEntry(g_storage);
- Entry *root = rootNav->entry();
-
MemberDef *md=0;
ClassDef *cd=0;
FileDef *fd=0;
@@ -7184,11 +7040,11 @@ static void findEnums(EntryNav *rootNav)
}
else // no scope, check the scope in which the docs where found
{
- if (( rootNav->parent()->section() & Entry::SCOPE_MASK )
- && !rootNav->parent()->name().isEmpty()
+ if (( root->parent()->section & Entry::SCOPE_MASK )
+ && !root->parent()->name.isEmpty()
) // found enum docs inside a compound
{
- scope=rootNav->parent()->name();
+ scope=root->parent()->name;
if ((cd=getClass(scope))==0) nd=getResolvedNamespace(scope);
}
name=root->name;
@@ -7219,7 +7075,7 @@ static void findEnums(EntryNav *rootNav)
}
else // found a global enum
{
- fd=rootNav->fileDef();
+ fd=root->fileDef();
mnsd=Doxygen::functionNameSDict;
isGlobal=TRUE;
}
@@ -7234,12 +7090,12 @@ static void findEnums(EntryNav *rootNav)
isMemberOf ? Foreign : isRelated ? Related : Member,
MemberType_Enumeration,
0,0,root->metaData);
- md->setTagInfo(rootNav->tagInfo());
+ md->setTagInfo(root->tagInfo);
md->setLanguage(root->lang);
md->setId(root->id);
if (!isGlobal) md->setMemberClass(cd); else md->setFileDef(fd);
md->setBodySegment(root->bodyLine,root->endBodyLine);
- md->setBodyDef(rootNav->fileDef());
+ md->setBodyDef(root->fileDef());
md->setMemberSpecifiers(root->spec);
md->setEnumBaseType(root->args);
//printf("Enum %s definition at line %d of %s: protection=%d scope=%s\n",
@@ -7283,9 +7139,9 @@ static void findEnums(EntryNav *rootNav)
if (isGlobal)
{
if (!defSet) md->setDefinition(name+baseType);
- if (fd==0 && rootNav->parent())
+ if (fd==0 && root->parent())
{
- fd=rootNav->parent()->fileDef();
+ fd=root->parent()->fileDef();
}
if (fd)
{
@@ -7328,24 +7184,20 @@ static void findEnums(EntryNav *rootNav)
}
addMemberToGroups(root,md);
}
- rootNav->releaseEntry();
}
else
{
- RECURSE_ENTRYTREE(findEnums,rootNav);
+ RECURSE_ENTRYTREE(findEnums,root);
}
}
//----------------------------------------------------------------------
-static void addEnumValuesToEnums(EntryNav *rootNav)
+static void addEnumValuesToEnums(Entry *root)
{
- if (rootNav->section()==Entry::ENUM_SEC)
+ if (root->section==Entry::ENUM_SEC)
// non anonymous enumeration
{
- rootNav->loadEntry(g_storage);
- Entry *root = rootNav->entry();
-
ClassDef *cd=0;
FileDef *fd=0;
NamespaceDef *nd=0;
@@ -7366,11 +7218,11 @@ static void addEnumValuesToEnums(EntryNav *rootNav)
}
else // no scope, check the scope in which the docs where found
{
- if (( rootNav->parent()->section() & Entry::SCOPE_MASK )
- && !rootNav->parent()->name().isEmpty()
+ if (( root->parent()->section & Entry::SCOPE_MASK )
+ && !root->parent()->name.isEmpty()
) // found enum docs inside a compound
{
- scope=rootNav->parent()->name();
+ scope=root->parent()->name;
if ((cd=getClass(scope))==0) nd=getResolvedNamespace(scope);
}
name=root->name;
@@ -7401,7 +7253,7 @@ static void addEnumValuesToEnums(EntryNav *rootNav)
}
else // found a global enum
{
- fd=rootNav->fileDef();
+ fd=root->fileDef();
//printf("Enum in file `%s': `%s'\n",fd->name().data(),name.data());
mnsd=Doxygen::functionNameSDict;
isGlobal=TRUE;
@@ -7417,16 +7269,16 @@ static void addEnumValuesToEnums(EntryNav *rootNav)
MemberDef *md;
for (mni.toFirst(); (md=mni.current()) ; ++mni) // for each enum in this list
{
- if (md->isEnumerate() && rootNav->children())
+ if (md->isEnumerate() && root->children())
{
- //printf(" enum with %d children\n",rootNav->children()->count());
- EntryNavListIterator eli(*rootNav->children()); // for each enum value
- EntryNav *e;
+ //printf(" enum with %d children\n",root->children()->count());
+ EntryListIterator eli(*root->children()); // for each enum value
+ Entry *e;
for (;(e=eli.current());++eli)
{
SrcLangExt sle;
if (
- (sle=rootNav->lang())==SrcLangExt_CSharp ||
+ (sle=root->lang)==SrcLangExt_CSharp ||
sle==SrcLangExt_Java ||
sle==SrcLangExt_XML ||
(root->spec&Entry::Strong)
@@ -7435,12 +7287,10 @@ static void addEnumValuesToEnums(EntryNav *rootNav)
// Unlike classic C/C++ enums, for C++11, C# & Java enum
// values are only visible inside the enum scope, so we must create
// them here and only add them to the enum
- e->loadEntry(g_storage);
- Entry *root = e->entry();
- //printf("md->qualifiedName()=%s rootNav->name()=%s tagInfo=%p name=%s\n",
- // md->qualifiedName().data(),rootNav->name().data(),rootNav->tagInfo(),root->name.data());
- QCString qualifiedName = substitute(rootNav->name(),"::",".");
- if (!scope.isEmpty() && rootNav->tagInfo())
+ //printf("md->qualifiedName()=%s e->name=%s tagInfo=%p name=%s\n",
+ // md->qualifiedName().data(),e->name.data(),e->tagInfo,e->name.data());
+ QCString qualifiedName = substitute(root->name,"::",".");
+ if (!scope.isEmpty() && root->tagInfo)
{
qualifiedName=substitute(scope,"::",".")+"."+qualifiedName;
}
@@ -7448,54 +7298,53 @@ static void addEnumValuesToEnums(EntryNav *rootNav)
qualifiedName // enum value scope matches that of the enum
)
{
- QCString fileName = root->fileName;
- if (fileName.isEmpty() && rootNav->tagInfo())
+ QCString fileName = e->fileName;
+ if (fileName.isEmpty() && e->tagInfo)
{
- fileName = rootNav->tagInfo()->tagName;
+ fileName = e->tagInfo->tagName;
}
MemberDef *fmd=new MemberDef(
- fileName,root->startLine,root->startColumn,
- root->type,root->name,root->args,0,
- root->protection, Normal,root->stat,Member,
- MemberType_EnumValue,0,0,root->metaData);
+ fileName,e->startLine,e->startColumn,
+ e->type,e->name,e->args,0,
+ e->protection, Normal,e->stat,Member,
+ MemberType_EnumValue,0,0,e->metaData);
if (md->getClassDef()) fmd->setMemberClass(md->getClassDef());
else if (md->getNamespaceDef()) fmd->setNamespace(md->getNamespaceDef());
else if (md->getFileDef()) fmd->setFileDef(md->getFileDef());
fmd->setOuterScope(md->getOuterScope());
- fmd->setTagInfo(e->tagInfo());
- fmd->setLanguage(root->lang);
- fmd->setId(root->id);
- fmd->setDocumentation(root->doc,root->docFile,root->docLine);
- fmd->setBriefDescription(root->brief,root->briefFile,root->briefLine);
- fmd->addSectionsToDefinition(root->anchors);
- fmd->setInitializer(root->initializer);
- fmd->setMaxInitLines(root->initLines);
- fmd->setMemberGroupId(root->mGrpId);
- fmd->setExplicitExternal(root->explicitExternal,fileName,root->startLine,root->startColumn);
- fmd->setRefItems(root->sli);
+ fmd->setTagInfo(e->tagInfo);
+ fmd->setLanguage(e->lang);
+ fmd->setId(e->id);
+ fmd->setDocumentation(e->doc,e->docFile,e->docLine);
+ fmd->setBriefDescription(e->brief,e->briefFile,e->briefLine);
+ fmd->addSectionsToDefinition(e->anchors);
+ fmd->setInitializer(e->initializer);
+ fmd->setMaxInitLines(e->initLines);
+ fmd->setMemberGroupId(e->mGrpId);
+ fmd->setExplicitExternal(e->explicitExternal,fileName,e->startLine,e->startColumn);
+ fmd->setRefItems(e->sli);
fmd->setAnchor();
md->insertEnumField(fmd);
fmd->setEnumScope(md,TRUE);
- MemberName *mn=mnsd->find(root->name);
+ MemberName *mn=mnsd->find(e->name);
if (mn)
{
mn->append(fmd);
}
else
{
- mn = new MemberName(root->name);
+ mn = new MemberName(e->name);
mn->append(fmd);
- mnsd->append(root->name,mn);
+ mnsd->append(e->name,mn);
}
}
- e->releaseEntry();
}
else
{
//printf("e->name=%s isRelated=%d\n",e->name().data(),isRelated);
MemberName *fmn=0;
MemberNameSDict *emnsd = isRelated ? Doxygen::functionNameSDict : mnsd;
- if (!e->name().isEmpty() && (fmn=(*emnsd)[e->name()]))
+ if (!e->name.isEmpty() && (fmn=(*emnsd)[e->name]))
// get list of members with the same name as the field
{
MemberNameIterator fmni(*fmn);
@@ -7554,12 +7403,10 @@ static void addEnumValuesToEnums(EntryNav *rootNav)
}
}
}
-
- rootNav->releaseEntry();
}
else
{
- RECURSE_ENTRYTREE(addEnumValuesToEnums,rootNav);
+ RECURSE_ENTRYTREE(addEnumValuesToEnums,root);
}
}
@@ -7567,16 +7414,13 @@ static void addEnumValuesToEnums(EntryNav *rootNav)
//----------------------------------------------------------------------
// find the documentation blocks for the enumerations
-static void findEnumDocumentation(EntryNav *rootNav)
+static void findEnumDocumentation(Entry *root)
{
- if (rootNav->section()==Entry::ENUMDOC_SEC
- && !rootNav->name().isEmpty()
- && rootNav->name().at(0)!='@' // skip anonymous enums
+ if (root->section==Entry::ENUMDOC_SEC
+ && !root->name.isEmpty()
+ && root->name.at(0)!='@' // skip anonymous enums
)
{
- rootNav->loadEntry(g_storage);
- Entry *root = rootNav->entry();
-
//printf("Found docs for enum with name `%s' in context %s\n",
// root->name.data(),root->parent->name.data());
int i;
@@ -7592,12 +7436,12 @@ static void findEnumDocumentation(EntryNav *rootNav)
{
name=root->name;
}
- if (( rootNav->parent()->section() & Entry::SCOPE_MASK )
- && !rootNav->parent()->name().isEmpty()
+ if (( root->parent()->section & Entry::SCOPE_MASK )
+ && !root->parent()->name.isEmpty()
) // found enum docs inside a compound
{
if (!scope.isEmpty()) scope.prepend("::");
- scope.prepend(rootNav->parent()->name());
+ scope.prepend(root->parent()->name);
}
ClassDef *cd=getClass(scope);
@@ -7620,7 +7464,7 @@ static void findEnumDocumentation(EntryNav *rootNav)
{
// documentation outside a compound overrides the documentation inside it
#if 0
- if (!md->documentation() || rootNav->parent()->name().isEmpty())
+ if (!md->documentation() || root->parent()->name.isEmpty())
#endif
{
md->setDocumentation(root->doc,root->docFile,root->docLine);
@@ -7630,13 +7474,13 @@ static void findEnumDocumentation(EntryNav *rootNav)
// brief descriptions inside a compound override the documentation
// outside it
#if 0
- if (!md->briefDescription() || !rootNav->parent()->name().isEmpty())
+ if (!md->briefDescription() || !root->parent()->name.isEmpty())
#endif
{
md->setBriefDescription(root->brief,root->briefFile,root->briefLine);
}
- if (!md->inbodyDocumentation() || !rootNav->parent()->name().isEmpty())
+ if (!md->inbodyDocumentation() || !root->parent()->name.isEmpty())
{
md->setInbodyDocumentation(root->inbodyDocs,root->inbodyFile,root->inbodyLine);
}
@@ -7702,10 +7546,8 @@ static void findEnumDocumentation(EntryNav *rootNav)
);
}
}
-
- rootNav->releaseEntry();
}
- RECURSE_ENTRYTREE(findEnumDocumentation,rootNav);
+ RECURSE_ENTRYTREE(findEnumDocumentation,root);
}
// search for each enum (member or function) in mnl if it has documented
@@ -8572,27 +8414,24 @@ static void flushUnresolvedRelations()
//----------------------------------------------------------------------------
-static void findDefineDocumentation(EntryNav *rootNav)
+static void findDefineDocumentation(Entry *root)
{
- if ((rootNav->section()==Entry::DEFINEDOC_SEC ||
- rootNav->section()==Entry::DEFINE_SEC) && !rootNav->name().isEmpty()
+ if ((root->section==Entry::DEFINEDOC_SEC ||
+ root->section==Entry::DEFINE_SEC) && !root->name.isEmpty()
)
{
- rootNav->loadEntry(g_storage);
- Entry *root = rootNav->entry();
-
//printf("found define `%s' `%s' brief=`%s' doc=`%s'\n",
// root->name.data(),root->args.data(),root->brief.data(),root->doc.data());
- if (rootNav->tagInfo() && !root->name.isEmpty()) // define read from a tag file
+ if (root->tagInfo && !root->name.isEmpty()) // define read from a tag file
{
- MemberDef *md=new MemberDef(rootNav->tagInfo()->tagName,1,1,
+ MemberDef *md=new MemberDef(root->tagInfo->tagName,1,1,
"#define",root->name,root->args,0,
Public,Normal,FALSE,Member,MemberType_Define,0,0,"");
- md->setTagInfo(rootNav->tagInfo());
+ md->setTagInfo(root->tagInfo);
md->setLanguage(root->lang);
//printf("Searching for `%s' fd=%p\n",filePathName.data(),fd);
- md->setFileDef(rootNav->parent()->fileDef());
+ md->setFileDef(root->parent()->fileDef());
//printf("Adding member=%s\n",md->name().data());
MemberName *mn;
if ((mn=Doxygen::functionNameSDict->find(root->name)))
@@ -8630,7 +8469,7 @@ static void findDefineDocumentation(EntryNav *rootNav)
md->setInbodyDocumentation(root->inbodyDocs,root->inbodyFile,root->inbodyLine);
}
md->setBodySegment(root->bodyLine,root->endBodyLine);
- md->setBodyDef(rootNav->fileDef());
+ md->setBodyDef(root->fileDef());
md->addSectionsToDefinition(root->anchors);
md->setMaxInitLines(root->initLines);
md->setRefItems(root->sli);
@@ -8674,7 +8513,7 @@ static void findDefineDocumentation(EntryNav *rootNav)
md->setInbodyDocumentation(root->inbodyDocs,root->inbodyFile,root->inbodyLine);
}
md->setBodySegment(root->bodyLine,root->endBodyLine);
- md->setBodyDef(rootNav->fileDef());
+ md->setBodyDef(root->fileDef());
md->addSectionsToDefinition(root->anchors);
md->setRefItems(root->sli);
md->setLanguage(root->lang);
@@ -8708,21 +8547,16 @@ static void findDefineDocumentation(EntryNav *rootNav)
);
}
}
-
- rootNav->releaseEntry();
}
- RECURSE_ENTRYTREE(findDefineDocumentation,rootNav);
+ RECURSE_ENTRYTREE(findDefineDocumentation,root);
}
//----------------------------------------------------------------------------
-static void findDirDocumentation(EntryNav *rootNav)
+static void findDirDocumentation(Entry *root)
{
- if (rootNav->section() == Entry::DIRDOC_SEC)
+ if (root->section == Entry::DIRDOC_SEC)
{
- rootNav->loadEntry(g_storage);
- Entry *root = rootNav->entry();
-
QCString normalizedName = root->name;
normalizedName = substitute(normalizedName,"\\","/");
//printf("root->docFile=%s normalizedName=%s\n",
@@ -8774,34 +8608,25 @@ static void findDirDocumentation(EntryNav *rootNav)
warn(root->fileName,root->startLine,"No matching "
"directory found for command \\dir %s\n",normalizedName.data());
}
- rootNav->releaseEntry();
}
- RECURSE_ENTRYTREE(findDirDocumentation,rootNav);
+ RECURSE_ENTRYTREE(findDirDocumentation,root);
}
//----------------------------------------------------------------------------
// create a (sorted) list of separate documentation pages
-static void buildPageList(EntryNav *rootNav)
+static void buildPageList(Entry *root)
{
- if (rootNav->section() == Entry::PAGEDOC_SEC)
+ if (root->section == Entry::PAGEDOC_SEC)
{
- rootNav->loadEntry(g_storage);
- Entry *root = rootNav->entry();
-
if (!root->name.isEmpty())
{
- addRelatedPage(rootNav);
+ addRelatedPage(root);
}
-
- rootNav->releaseEntry();
}
- else if (rootNav->section() == Entry::MAINPAGEDOC_SEC)
+ else if (root->section == Entry::MAINPAGEDOC_SEC)
{
- rootNav->loadEntry(g_storage);
- Entry *root = rootNav->entry();
-
QCString title=root->args.stripWhiteSpace();
if (title.isEmpty()) title=theTranslator->trMainPage();
//QCString name = Config_getBool(GENERATE_TREEVIEW)?"main":"index";
@@ -8813,22 +8638,17 @@ static void buildPageList(EntryNav *rootNav)
title,
0,0
);
-
- rootNav->releaseEntry();
}
- RECURSE_ENTRYTREE(buildPageList,rootNav);
+ RECURSE_ENTRYTREE(buildPageList,root);
}
// search for the main page defined in this project
-static void findMainPage(EntryNav *rootNav)
+static void findMainPage(Entry *root)
{
- if (rootNav->section() == Entry::MAINPAGEDOC_SEC)
+ if (root->section == Entry::MAINPAGEDOC_SEC)
{
- rootNav->loadEntry(g_storage);
-
- if (Doxygen::mainPage==0 && rootNav->tagInfo()==0)
+ if (Doxygen::mainPage==0 && root->tagInfo==0)
{
- Entry *root = rootNav->entry();
//printf("Found main page! \n======\n%s\n=======\n",root->doc.data());
QCString title=root->args.stripWhiteSpace();
//QCString indexName=Config_getBool(GENERATE_TREEVIEW)?"main":"index";
@@ -8839,7 +8659,7 @@ static void findMainPage(EntryNav *rootNav)
Doxygen::mainPage->setBriefDescription(root->brief,root->briefFile,root->briefLine);
Doxygen::mainPage->setFileName(indexName);
Doxygen::mainPage->setLocalToc(root->localToc);
- addPageToContext(Doxygen::mainPage,rootNav);
+ addPageToContext(Doxygen::mainPage,root);
SectionInfo *si = Doxygen::sectionDict->find(Doxygen::mainPage->name());
if (si)
@@ -8866,46 +8686,37 @@ static void findMainPage(EntryNav *rootNav)
Doxygen::mainPage->addSectionsToDefinition(root->anchors);
}
}
- else if (rootNav->tagInfo()==0)
+ else if (root->tagInfo==0)
{
- Entry *root = rootNav->entry();
warn(root->fileName,root->startLine,
"found more than one \\mainpage comment block! (first occurrence: %s, line %d), Skipping current block!",
Doxygen::mainPage->docFile().data(),Doxygen::mainPage->docLine());
}
-
- rootNav->releaseEntry();
}
- RECURSE_ENTRYTREE(findMainPage,rootNav);
+ RECURSE_ENTRYTREE(findMainPage,root);
}
// search for the main page imported via tag files and add only the section labels
-static void findMainPageTagFiles(EntryNav *rootNav)
+static void findMainPageTagFiles(Entry *root)
{
- if (rootNav->section() == Entry::MAINPAGEDOC_SEC)
+ if (root->section == Entry::MAINPAGEDOC_SEC)
{
- rootNav->loadEntry(g_storage);
-
- if (Doxygen::mainPage && rootNav->tagInfo())
+ if (Doxygen::mainPage && root->tagInfo)
{
- Entry *root = rootNav->entry();
Doxygen::mainPage->addSectionsToDefinition(root->anchors);
}
}
- RECURSE_ENTRYTREE(findMainPageTagFiles,rootNav);
+ RECURSE_ENTRYTREE(findMainPageTagFiles,root);
}
-static void computePageRelations(EntryNav *rootNav)
+static void computePageRelations(Entry *root)
{
- if ((rootNav->section()==Entry::PAGEDOC_SEC ||
- rootNav->section()==Entry::MAINPAGEDOC_SEC
+ if ((root->section==Entry::PAGEDOC_SEC ||
+ root->section==Entry::MAINPAGEDOC_SEC
)
- && !rootNav->name().isEmpty()
+ && !root->name.isEmpty()
)
{
- rootNav->loadEntry(g_storage);
- Entry *root = rootNav->entry();
-
PageDef *pd = root->section==Entry::PAGEDOC_SEC ?
Doxygen::pageSDict->find(root->name) :
Doxygen::mainPage;
@@ -8924,10 +8735,8 @@ static void computePageRelations(EntryNav *rootNav)
}
}
}
-
- rootNav->releaseEntry();
}
- RECURSE_ENTRYTREE(computePageRelations,rootNav);
+ RECURSE_ENTRYTREE(computePageRelations,root);
}
static void checkPageRelations()
@@ -9046,13 +8855,10 @@ static void generatePageDocs()
//----------------------------------------------------------------------------
// create a (sorted) list & dictionary of example pages
-static void buildExampleList(EntryNav *rootNav)
+static void buildExampleList(Entry *root)
{
- if ((rootNav->section()==Entry::EXAMPLE_SEC || rootNav->section()==Entry::EXAMPLE_LINENO_SEC) && !rootNav->name().isEmpty())
+ if ((root->section==Entry::EXAMPLE_SEC || root->section==Entry::EXAMPLE_LINENO_SEC) && !root->name.isEmpty())
{
- rootNav->loadEntry(g_storage);
- Entry *root = rootNav->entry();
-
if (Doxygen::exampleSDict->find(root->name))
{
warn(root->fileName,root->startLine,
@@ -9069,32 +8875,30 @@ static void buildExampleList(EntryNav *rootNav)
pd->setFileName(convertNameToFile(pd->name()+"-example",FALSE,TRUE));
pd->addSectionsToDefinition(root->anchors);
pd->setLanguage(root->lang);
- pd->setShowLineNo(rootNav->section()==Entry::EXAMPLE_LINENO_SEC);
+ pd->setShowLineNo(root->section==Entry::EXAMPLE_LINENO_SEC);
Doxygen::exampleSDict->inSort(root->name,pd);
//we don't add example to groups
//addExampleToGroups(root,pd);
}
-
- rootNav->releaseEntry();
}
- RECURSE_ENTRYTREE(buildExampleList,rootNav);
+ RECURSE_ENTRYTREE(buildExampleList,root);
}
//----------------------------------------------------------------------------
// prints the Entry tree (for debugging)
-void printNavTree(EntryNav *rootNav,int indent)
+void printNavTree(Entry *root,int indent)
{
QCString indentStr;
indentStr.fill(' ',indent);
msg("%s%s (sec=0x%x)\n",
indentStr.isEmpty()?"":indentStr.data(),
- rootNav->name().isEmpty()?"":rootNav->name().data(),
- rootNav->section());
- if (rootNav->children())
+ root->name.isEmpty()?"":root->name.data(),
+ root->section);
+ if (root->children())
{
- EntryNavListIterator eli(*rootNav->children());
+ EntryListIterator eli(*root->children());
for (;eli.current();++eli) printNavTree(eli.current(),indent+2);
}
}
@@ -9486,7 +9290,7 @@ static ParserInterface *getParserForFile(const char *fn)
}
static void parseFile(ParserInterface *parser,
- Entry *root,EntryNav *rootNav,FileDef *fd,const char *fn,
+ Entry *root,FileDef *fd,const char *fn,
bool sameTu,QStrList &filesInSameTu)
{
#if USE_LIBCLANG
@@ -9539,17 +9343,15 @@ static void parseFile(ParserInterface *parser,
fd->getAllIncludeFilesRecursively(filesInSameTu);
}
+ Entry *fileRoot = new Entry;
// use language parse to parse the file
- parser->parseInput(fileName,convBuf.data(),root,sameTu,filesInSameTu);
-
- // store the Entry tree in a file and create an index to
- // navigate/load entries
- //printf("root->createNavigationIndex for %s\n",fd->name().data());
- root->createNavigationIndex(rootNav,g_storage,fd);
+ parser->parseInput(fileName,convBuf.data(),fileRoot,sameTu,filesInSameTu);
+ fileRoot->setFileDef(fd);
+ root->addSubEntry(fileRoot);
}
//! parse the list of input files
-static void parseFiles(Entry *root,EntryNav *rootNav)
+static void parseFiles(Entry *root)
{
#if USE_LIBCLANG
static bool clangAssistedParsing = Config_getBool(CLANG_ASSISTED_PARSING);
@@ -9577,7 +9379,7 @@ static void parseFiles(Entry *root,EntryNav *rootNav)
QStrList filesInSameTu;
ParserInterface * parser = getParserForFile(s->data());
parser->startTranslationUnit(s->data());
- parseFile(parser,root,rootNav,fd,s->data(),FALSE,filesInSameTu);
+ parseFile(parser,root,fd,s->data(),FALSE,filesInSameTu);
//printf(" got %d extra files in tu\n",filesInSameTu.count());
// Now process any include files in the same translation unit
@@ -9592,7 +9394,7 @@ static void parseFiles(Entry *root,EntryNav *rootNav)
{
QStrList moreFiles;
//printf(" Processing %s in same translation unit as %s\n",incFile,s->data());
- parseFile(parser,root,rootNav,ifd,incFile,TRUE,moreFiles);
+ parseFile(parser,root,ifd,incFile,TRUE,moreFiles);
g_processedFiles.insert(incFile,(void*)0x8);
}
}
@@ -9613,7 +9415,7 @@ static void parseFiles(Entry *root,EntryNav *rootNav)
ASSERT(fd!=0);
ParserInterface * parser = getParserForFile(s->data());
parser->startTranslationUnit(s->data());
- parseFile(parser,root,rootNav,fd,s->data(),FALSE,filesInSameTu);
+ parseFile(parser,root,fd,s->data(),FALSE,filesInSameTu);
parser->finishTranslationUnit();
g_processedFiles.insert(*s,(void*)0x8);
}
@@ -9632,7 +9434,7 @@ static void parseFiles(Entry *root,EntryNav *rootNav)
ASSERT(fd!=0);
ParserInterface * parser = getParserForFile(s->data());
parser->startTranslationUnit(s->data());
- parseFile(parser,root,rootNav,fd,s->data(),FALSE,filesInSameTu);
+ parseFile(parser,root,fd,s->data(),FALSE,filesInSameTu);
}
}
}
@@ -11178,7 +10980,7 @@ void parseInput()
* Initialize global lists and dictionaries
**************************************************************************/
- Doxygen::symbolStorage = new Store;
+ //Doxygen::symbolStorage = new Store;
// also scale lookup cache with SYMBOL_CACHE_SIZE
int cacheSize = Config_getInt(LOOKUP_CACHE_SIZE);
@@ -11200,11 +11002,11 @@ void parseInput()
Doxygen::filterDBFileName.sprintf("doxygen_filterdb_%d.tmp",pid);
Doxygen::filterDBFileName.prepend(outputDirectory+"/");
- if (Doxygen::symbolStorage->open(Doxygen::objDBFileName)==-1)
- {
- err("Failed to open temporary file %s\n",Doxygen::objDBFileName.data());
- exit(1);
- }
+// if (Doxygen::symbolStorage->open(Doxygen::objDBFileName)==-1)
+// {
+// err("Failed to open temporary file %s\n",Doxygen::objDBFileName.data());
+// exit(1);
+// }
@@ -11332,17 +11134,7 @@ void parseInput()
* Handle Tag Files *
**************************************************************************/
- g_storage = new FileStorage;
- g_storage->setName(Doxygen::entryDBFileName);
- if (!g_storage->open(IO_WriteOnly))
- {
- err("Failed to create temporary storage file %s\n",
- Doxygen::entryDBFileName.data());
- exit(1);
- }
Entry *root=new Entry;
- EntryNav *rootNav = new EntryNav(0,root);
- rootNav->setEntry(root);
msg("Reading and parsing tag files\n");
QStrList &tagFileList = Config_getList(TAGFILES);
@@ -11350,7 +11142,6 @@ void parseInput()
while (s)
{
readTagFile(root,s);
- root->createNavigationIndex(rootNav,g_storage,0);
s=tagFileList.next();
}
@@ -11360,12 +11151,11 @@ void parseInput()
if (Config_getBool(BUILTIN_STL_SUPPORT))
{
- addSTLClasses(rootNav);
+ addSTLClasses(root);
}
g_s.begin("Parsing files\n");
- parseFiles(root,rootNav);
- g_storage->close();
+ parseFiles(root);
g_s.end();
// we are done with input scanning now, so free up the buffers used by flex
@@ -11374,46 +11164,39 @@ void parseInput()
scanFreeScanner();
pyscanFreeScanner();
- if (!g_storage->open(IO_ReadOnly))
- {
- err("Failed to open temporary storage file %s for reading",
- Doxygen::entryDBFileName.data());
- exit(1);
- }
-
/**************************************************************************
* Gather information *
**************************************************************************/
g_s.begin("Building group list...\n");
- buildGroupList(rootNav);
- organizeSubGroups(rootNav);
+ buildGroupList(root);
+ organizeSubGroups(root);
g_s.end();
g_s.begin("Building directory list...\n");
buildDirectories();
- findDirDocumentation(rootNav);
+ findDirDocumentation(root);
g_s.end();
g_s.begin("Building namespace list...\n");
- buildNamespaceList(rootNav);
- findUsingDirectives(rootNav);
+ buildNamespaceList(root);
+ findUsingDirectives(root);
g_s.end();
g_s.begin("Building file list...\n");
- buildFileList(rootNav);
+ buildFileList(root);
g_s.end();
//generateFileTree();
g_s.begin("Building class list...\n");
- buildClassList(rootNav);
+ buildClassList(root);
g_s.end();
g_s.begin("Associating documentation with classes...\n");
- buildClassDocList(rootNav);
+ buildClassDocList(root);
// build list of using declarations here (global list)
- buildListOfUsingDecls(rootNav);
+ buildListOfUsingDecls(root);
g_s.end();
g_s.begin("Computing nesting relations for classes...\n");
@@ -11430,11 +11213,11 @@ void parseInput()
g_usingDeclarations.clear();
g_s.begin("Building example list...\n");
- buildExampleList(rootNav);
+ buildExampleList(root);
g_s.end();
g_s.begin("Searching for enumerations...\n");
- findEnums(rootNav);
+ findEnums(root);
g_s.end();
// Since buildVarList calls isVarWithConstructor
@@ -11442,24 +11225,24 @@ void parseInput()
// typedefs first so the relations between classes via typedefs
// are properly resolved. See bug 536385 for an example.
g_s.begin("Searching for documented typedefs...\n");
- buildTypedefList(rootNav);
+ buildTypedefList(root);
g_s.end();
if (Config_getBool(OPTIMIZE_OUTPUT_SLICE))
{
g_s.begin("Searching for documented sequences...\n");
- buildSequenceList(rootNav);
+ buildSequenceList(root);
g_s.end();
g_s.begin("Searching for documented dictionaries...\n");
- buildDictionaryList(rootNav);
+ buildDictionaryList(root);
g_s.end();
}
g_s.begin("Searching for members imported via using declarations...\n");
// this should be after buildTypedefList in order to properly import
// used typedefs
- findUsingDeclarations(rootNav);
+ findUsingDeclarations(root);
g_s.end();
g_s.begin("Searching for included using directives...\n");
@@ -11467,14 +11250,14 @@ void parseInput()
g_s.end();
g_s.begin("Searching for documented variables...\n");
- buildVarList(rootNav);
+ buildVarList(root);
g_s.end();
g_s.begin("Building interface member list...\n");
- buildInterfaceAndServiceList(rootNav); // UNO IDL
+ buildInterfaceAndServiceList(root); // UNO IDL
g_s.begin("Building member list...\n"); // using class info only !
- buildFunctionList(rootNav);
+ buildFunctionList(root);
g_s.end();
g_s.begin("Searching for friends...\n");
@@ -11482,11 +11265,11 @@ void parseInput()
g_s.end();
g_s.begin("Searching for documented defines...\n");
- findDefineDocumentation(rootNav);
+ findDefineDocumentation(root);
g_s.end();
g_s.begin("Computing class inheritance relations...\n");
- findClassEntries(rootNav);
+ findClassEntries(root);
findInheritedTemplateInstances();
g_s.end();
@@ -11517,14 +11300,14 @@ void parseInput()
g_s.end();
g_s.begin("Add enum values to enums...\n");
- addEnumValuesToEnums(rootNav);
- findEnumDocumentation(rootNav);
+ addEnumValuesToEnums(root);
+ findEnumDocumentation(root);
g_s.end();
g_s.begin("Searching for member function documentation...\n");
- findObjCMethodDefinitions(rootNav);
- findMemberDocumentation(rootNav); // may introduce new members !
- findUsingDeclImports(rootNav); // may introduce new members !
+ findObjCMethodDefinitions(root);
+ findMemberDocumentation(root); // may introduce new members !
+ findUsingDeclImports(root); // may introduce new members !
transferRelatedFunctionDocumentation();
transferFunctionDocumentation();
@@ -11537,21 +11320,21 @@ void parseInput()
g_s.end();
g_s.begin("Building page list...\n");
- buildPageList(rootNav);
+ buildPageList(root);
g_s.end();
g_s.begin("Search for main page...\n");
- findMainPage(rootNav);
- findMainPageTagFiles(rootNav);
+ findMainPage(root);
+ findMainPageTagFiles(root);
g_s.end();
g_s.begin("Computing page relations...\n");
- computePageRelations(rootNav);
+ computePageRelations(root);
checkPageRelations();
g_s.end();
g_s.begin("Determining the scope of groups...\n");
- findGroupScope(rootNav);
+ findGroupScope(root);
g_s.end();
g_s.begin("Sorting lists...\n");
@@ -11561,12 +11344,6 @@ void parseInput()
Doxygen::classSDict->sort();
g_s.end();
- msg("Freeing entry tree\n");
- delete rootNav;
- g_storage->close();
- delete g_storage;
- g_storage=0;
-
QDir thisDir;
thisDir.remove(Doxygen::entryDBFileName);
@@ -11742,11 +11519,6 @@ void generateOutput()
* Generate documentation *
**************************************************************************/
- if (generateHtml) writeDoxFont(Config_getString(HTML_OUTPUT));
- if (generateLatex) writeDoxFont(Config_getString(LATEX_OUTPUT));
- if (generateDocbook) writeDoxFont(Config_getString(DOCBOOK_OUTPUT));
- if (generateRtf) writeDoxFont(Config_getString(RTF_OUTPUT));
-
g_s.begin("Generating style sheet...\n");
//printf("writing style info\n");
g_outputList->writeStyleInfo(0); // write first part
@@ -11869,18 +11641,6 @@ void generateOutput()
writeTagFile();
g_s.end();
- if (Config_getBool(DOT_CLEANUP))
- {
- if (generateHtml)
- removeDoxFont(Config_getString(HTML_OUTPUT));
- if (generateRtf)
- removeDoxFont(Config_getString(RTF_OUTPUT));
- if (generateLatex)
- removeDoxFont(Config_getString(LATEX_OUTPUT));
- if (generateDocbook)
- removeDoxFont(Config_getString(DOCBOOK_OUTPUT));
- }
-
if (Config_getBool(GENERATE_XML))
{
g_s.begin("Generating XML output...\n");
@@ -12049,7 +11809,7 @@ void generateOutput()
cleanUpDoxygen();
finializeSearchIndexer();
- Doxygen::symbolStorage->close();
+// Doxygen::symbolStorage->close();
QDir thisDir;
thisDir.remove(Doxygen::objDBFileName);
thisDir.remove(Doxygen::filterDBFileName);
@@ -12057,7 +11817,7 @@ void generateOutput()
QTextCodec::deleteAllCodecs();
delete Doxygen::symbolMap;
delete Doxygen::clangUsrMap;
- delete Doxygen::symbolStorage;
+// delete Doxygen::symbolStorage;
g_successfulRun=TRUE;
}
diff --git a/src/entry.cpp b/src/entry.cpp
index b3693cd..e2a21c6 100644
--- a/src/entry.cpp
+++ b/src/entry.cpp
@@ -18,11 +18,9 @@
#include
#include
#include "entry.h"
-#include "marshal.h"
#include "util.h"
#include "section.h"
#include "doxygen.h"
-#include "filestorage.h"
#include "arguments.h"
#include "config.h"
//------------------------------------------------------------------
@@ -185,6 +183,8 @@ Entry::Entry(const Entry &e)
tArgLists = copyArgumentLists(e.tArgLists);
}
+ m_fileDef = e.m_fileDef;
+
}
Entry::~Entry()
@@ -281,6 +281,7 @@ void Entry::reset()
if (sli) { delete sli; sli=0; }
if (typeConstr) { delete typeConstr; typeConstr=0; }
//if (mtArgList) { delete mtArgList; mtArgList=0; }
+ m_fileDef = 0;
}
@@ -289,31 +290,20 @@ int Entry::getSize()
return sizeof(Entry);
}
-void Entry::createSubtreeIndex(EntryNav *nav,FileStorage *storage,FileDef *fd)
+void Entry::setFileDef(FileDef *fd)
{
- EntryNav *childNav = new EntryNav(nav,this);
- nav->addChild(childNav);
- childNav->setFileDef(fd);
- childNav->saveEntry(this,storage);
+ m_fileDef = fd;
if (m_sublist)
{
- //printf("saveEntry: %d children\n",node->sublist->count());
QListIterator eli(*m_sublist);
Entry *childNode;
for (eli.toFirst();(childNode=eli.current());++eli)
{
- childNode->createSubtreeIndex(childNav,storage,fd);
+ childNode->setFileDef(fd);
}
- //m_sublist->setAutoDelete(FALSE);
- m_sublist->clear();
}
}
-void Entry::createNavigationIndex(EntryNav *rootNav,FileStorage *storage,FileDef *fd)
-{
- createSubtreeIndex(rootNav,storage,fd);
-}
-
void Entry::addSpecialListItem(const char *listName,int itemId)
{
if (sli==0)
@@ -334,107 +324,3 @@ Entry *Entry::removeSubEntry(Entry *e)
}
//------------------------------------------------------------------
-
-
-EntryNav::EntryNav(EntryNav *parent, Entry *e)
- : m_parent(parent), m_subList(0), m_section(e->section), m_type(e->type),
- m_name(e->name), m_fileDef(0), m_lang(e->lang),
- m_info(0), m_offset(-1), m_noLoad(FALSE)
-{
- if (e->tagInfo)
- {
- m_tagInfo = new TagInfo;
- m_tagInfo->tagName = e->tagInfo->tagName;
- m_tagInfo->fileName = e->tagInfo->fileName;
- m_tagInfo->anchor = e->tagInfo->anchor;
- if (e->tagInfo)
- {
- //printf("tagInfo %p: tagName=%s fileName=%s anchor=%s\n",
- // e->tagInfo,
- // e->tagInfo->tagName.data(),
- // e->tagInfo->fileName.data(),
- // e->tagInfo->anchor.data());
- }
- }
- else
- {
- m_tagInfo = 0;
- }
-}
-
-EntryNav::~EntryNav()
-{
- delete m_subList;
- delete m_info;
- delete m_tagInfo;
-}
-
-void EntryNav::addChild(EntryNav *e)
-{
- if (m_subList==0)
- {
- m_subList = new QList;
- m_subList->setAutoDelete(TRUE);
- }
- m_subList->append(e);
-}
-
-bool EntryNav::loadEntry(FileStorage *storage)
-{
- if (m_noLoad)
- {
- return TRUE;
- }
- if (m_offset==-1)
- {
- //printf("offset not set!\n");
- return FALSE;
- }
- //delete m_info;
- //printf("EntryNav::loadEntry: new entry %p: %s\n",m_info,m_name.data());
- //m_info->tagInfo = m_tagInfo;
- //if (m_parent)
- //{
- // m_info->parent = m_parent->m_info;
- //}
- //m_info->parent = 0;
- //printf("load entry: seek to %llx\n",m_offset);
- if (!storage->seek(m_offset))
- {
- //printf("seek failed!\n");
- return FALSE;
- }
- if (m_info) delete m_info;
- m_info = unmarshalEntry(storage);
- m_info->name = m_name;
- m_info->type = m_type;
- m_info->section = m_section;
- return TRUE;
-}
-
-bool EntryNav::saveEntry(Entry *e,FileStorage *storage)
-{
- m_offset = storage->pos();
- //printf("EntryNav::saveEntry offset=%llx\n",m_offset);
- marshalEntry(storage,e);
- return TRUE;
-}
-
-void EntryNav::releaseEntry()
-{
- if (!m_noLoad)
- {
- //printf("EntryNav::releaseEntry %p\n",m_info);
- delete m_info;
- m_info=0;
- }
-}
-
-void EntryNav::setEntry(Entry *e)
-{
- delete m_info;
- m_info = e;
- //printf("EntryNav::setEntry %p\n",e);
- m_noLoad=TRUE;
-}
-
diff --git a/src/entry.h b/src/entry.h
index ad91d0d..8810c18 100644
--- a/src/entry.h
+++ b/src/entry.h
@@ -25,7 +25,6 @@
struct SectionInfo;
class QFile;
-class EntryNav;
class FileDef;
class FileStorage;
class StorageIntf;
@@ -199,7 +198,6 @@ class Entry
int getSize();
void addSpecialListItem(const char *listName,int index);
- void createNavigationIndex(EntryNav *rootNav,FileStorage *storage,FileDef *fd);
// while parsing a file these function can be used to navigate/build the tree
void setParent(Entry *parent) { m_parent = parent; }
@@ -226,11 +224,9 @@ class Entry
*/
void reset();
- /*! Serialize this entry to a persistent storage stream. */
- void marshall(StorageIntf *);
-
- /*! Reinitialize this entry from a persistent storage stream. */
- void unmarshall(StorageIntf *);
+ void changeSection(int sec) { section = sec; }
+ void setFileDef(FileDef *fd);
+ FileDef *fileDef() const { return m_fileDef; }
public:
@@ -326,64 +322,13 @@ class Entry
}
private:
- void createSubtreeIndex(EntryNav *nav,FileStorage *storage,FileDef *fd);
Entry *m_parent; //!< parent node in the tree
QList *m_sublist; //!< entries that are children of this one
Entry &operator=(const Entry &);
+ FileDef *m_fileDef;
};
-/** Wrapper for a node in the Entry tree.
- *
- * Allows navigating through the Entry tree and load and storing Entry
- * objects persistently to disk.
- */
-class EntryNav
-{
- public:
- EntryNav(EntryNav *parent,Entry *e);
- ~EntryNav();
- void addChild(EntryNav *);
- bool loadEntry(FileStorage *storage);
- bool saveEntry(Entry *e,FileStorage *storage);
- void setEntry(Entry *e);
- void releaseEntry();
- void changeSection(int section) { m_section = section; }
- void setFileDef(FileDef *fd) { m_fileDef = fd; }
-
- Entry *entry() const { return m_info; }
- int section() const { return m_section; }
- SrcLangExt lang() const { return m_lang; }
- const QCString &type() const { return m_type; }
- const QCString &name() const { return m_name; }
- TagInfo *tagInfo() const { return m_tagInfo; }
- const QList *children() const { return m_subList; }
- EntryNav *parent() const { return m_parent; }
- FileDef *fileDef() const { return m_fileDef; }
-
- private:
-
- // navigation
- EntryNav *m_parent; //!< parent node in the tree
- QList *m_subList; //!< entries that are children of this one
-
- // identification
- int m_section; //!< entry type (see Sections);
- QCString m_type; //!< member type
- QCString m_name; //!< member name
- TagInfo *m_tagInfo; //!< tag file info
- FileDef *m_fileDef;
- SrcLangExt m_lang; //!< programming language in which this entry was found
-
- Entry *m_info;
- int64 m_offset;
- bool m_noLoad;
-};
-
-
typedef QList EntryList;
typedef QListIterator EntryListIterator;
-typedef QList EntryNavList;
-typedef QListIterator EntryNavListIterator;
-
#endif
diff --git a/src/filestorage.h b/src/filestorage.h
deleted file mode 100644
index 5c2a92d..0000000
--- a/src/filestorage.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/******************************************************************************
- *
- * Copyright (C) 1997-2015 by Dimitri van Heesch.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation under the terms of the GNU General Public License is hereby
- * granted. No representations are made about the suitability of this software
- * for any purpose. It is provided "as is" without express or implied warranty.
- * See the GNU General Public License for more details.
- *
- * Documents produced by Doxygen are derivative works derived from the
- * input used in their production; they are not affected by this license.
- *
- */
-
-#include
-#include
-#include "store.h"
-
-
-#ifndef FILESTORAGE_H
-#define FILESTORAGE_H
-
-/** @brief Store implementation based on a file.
- Writing is linear, after that the file is re-opened for reading.
- Reading is random (seek+read).
- */
-class FileStorage : public StorageIntf
-{
- public:
- FileStorage() : m_readOnly(FALSE) {}
- FileStorage( const QString &name) :
- m_readOnly(FALSE) { m_file.setName(name); }
- int read(char *buf,uint size) { return m_file.readBlock(buf,size); }
- int write(const char *buf,uint size) { assert(m_readOnly==FALSE); return m_file.writeBlock(buf,size); }
- bool open( int m ) { m_readOnly = m==IO_ReadOnly; return m_file.open(m); }
- bool seek(int64 pos) { return m_file.seek(pos); }
- int64 pos() const { return m_file.pos(); }
- void close() { m_file.close(); }
- void setName( const char *name ) { m_file.setName(name); }
- private:
- bool m_readOnly;
- QFile m_file;
-};
-
-#if 0 // experimental version using mmap after opening the file as read only.
-#include
-#include
-#include
-#include
-#include
-#include
-
-class FileStorage : public StorageIntf
-{
- public:
- FileStorage() : m_readOnly(FALSE), m_map(0), m_off(0), m_size(0) {}
- FileStorage( const QString &name) :
- m_readOnly(FALSE) { m_file.setName(name); }
- void setName( const char *name ) { m_file.setName(name); }
- bool open( int m )
- {
- if (m==IO_ReadOnly)
- {
- m_readOnly=TRUE;
- QString name = m_file.name();
- m_file.close();
- m_fd = ::open(name.data(),O_RDONLY);
- struct stat stat;
- fstat(m_fd,&stat);
- m_size = stat.st_size;
- m_map = mmap(NULL,m_size,PROT_READ,MAP_SHARED,m_fd,0);
- if (m_map==MAP_FAILED) perror("mmap failed");
- assert(m_map!=MAP_FAILED);
- m_off = 0;
- return TRUE;
- }
- else
- {
- m_readOnly = FALSE;
- return m_file.open(m);
- }
- }
- int write(const char *buf,uint size)
- {
- assert(m_map==0);
- return m_file.writeBlock(buf,size);
- }
- int read(char *buf,uint size)
- {
- assert(m_map!=0);
- memcpy(buf,((char *)m_map)+m_off,size);
- m_off+=size;
- return size;
- }
- bool seek(int64 pos)
- {
- m_off=pos;
- return TRUE;
- }
- int64 pos() const
- {
- if (m_readOnly)
- {
- return m_off;
- }
- else
- {
- return m_file.pos();
- }
- }
- void close()
- {
- if (m_readOnly)
- {
- munmap(m_map,m_size);
- ::close(m_fd);
- exit(1);
- }
- else
- {
- m_file.close();
- }
- }
- private:
- bool m_readOnly;
- QFile m_file;
- int m_fd;
- void *m_map;
- off_t m_off;
- off_t m_size;
-};
-#endif
-
-#endif
diff --git a/src/htmlgen.cpp b/src/htmlgen.cpp
index 2be7c5f..513d9a4 100644
--- a/src/htmlgen.cpp
+++ b/src/htmlgen.cpp
@@ -25,7 +25,6 @@
#include "config.h"
#include "util.h"
#include "doxygen.h"
-#include "logos.h"
#include "diagram.h"
#include "version.h"
#include "dot.h"
diff --git a/src/logos.cpp b/src/logos.cpp
deleted file mode 100644
index e9e0905..0000000
--- a/src/logos.cpp
+++ /dev/null
@@ -1,1985 +0,0 @@
-/******************************************************************************
- *
- *
- *
- * Copyright (C) 1997-2015 by Dimitri van Heesch.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation under the terms of the GNU General Public License is hereby
- * granted. No representations are made about the suitability of this software
- * for any purpose. It is provided "as is" without express or implied warranty.
- * See the GNU General Public License for more details.
- *
- * Documents produced by Doxygen are derivative works derived from the
- * input used in their production; they are not affected by this license.
- *
- */
-
-#include
-
-#include
-#include
-
-// Stripped version of FreeSans.ttf part of FreeFonts package,
-// see http://www.nongnu.org/freefont for more info
-unsigned char FreeSans_ttf[] = {
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x80, 0x00, 0x03, 0x00, 0x70,
- 0x47, 0x44, 0x45, 0x46, 0x01, 0x0a, 0x00, 0xe3, 0x00, 0x00, 0x48, 0x28,
- 0x00, 0x00, 0x00, 0x2a, 0x47, 0x50, 0x4f, 0x53, 0x9d, 0x1a, 0x99, 0x8a,
- 0x00, 0x00, 0x49, 0x50, 0x00, 0x00, 0x10, 0x42, 0x47, 0x53, 0x55, 0x42,
- 0xa8, 0x85, 0x92, 0x0c, 0x00, 0x00, 0x48, 0x54, 0x00, 0x00, 0x00, 0xfc,
- 0x4f, 0x53, 0x2f, 0x32, 0x67, 0x3f, 0xcf, 0x10, 0x00, 0x00, 0x01, 0x78,
- 0x00, 0x00, 0x00, 0x56, 0x63, 0x6d, 0x61, 0x70, 0xe6, 0xd7, 0x91, 0x3d,
- 0x00, 0x00, 0x04, 0xec, 0x00, 0x00, 0x01, 0x8a, 0x63, 0x76, 0x74, 0x20,
- 0x00, 0x21, 0x02, 0x79, 0x00, 0x00, 0x06, 0x78, 0x00, 0x00, 0x00, 0x04,
- 0x67, 0x61, 0x73, 0x70, 0xff, 0xff, 0x00, 0x03, 0x00, 0x00, 0x48, 0x20,
- 0x00, 0x00, 0x00, 0x08, 0x67, 0x6c, 0x79, 0x66, 0xb3, 0x58, 0xaf, 0x41,
- 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x37, 0xca, 0x68, 0x65, 0x61, 0x64,
- 0xe7, 0x18, 0xbe, 0xac, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x36,
- 0x68, 0x68, 0x65, 0x61, 0x10, 0xbb, 0x06, 0xf2, 0x00, 0x00, 0x01, 0x34,
- 0x00, 0x00, 0x00, 0x24, 0x68, 0x6d, 0x74, 0x78, 0x55, 0x0d, 0x49, 0xe2,
- 0x00, 0x00, 0x01, 0xd0, 0x00, 0x00, 0x03, 0x1a, 0x6c, 0x6f, 0x63, 0x61,
- 0x1f, 0xdd, 0x2c, 0xb6, 0x00, 0x00, 0x06, 0x7c, 0x00, 0x00, 0x01, 0x94,
- 0x6d, 0x61, 0x78, 0x70, 0x01, 0x16, 0x00, 0xb3, 0x00, 0x00, 0x01, 0x58,
- 0x00, 0x00, 0x00, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x85, 0x1f, 0xf3, 0x73,
- 0x00, 0x00, 0x3f, 0xdc, 0x00, 0x00, 0x06, 0x69, 0x70, 0x6f, 0x73, 0x74,
- 0x46, 0xf5, 0x10, 0xd8, 0x00, 0x00, 0x46, 0x48, 0x00, 0x00, 0x01, 0xd6,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0xc2, 0x8f, 0x00, 0x8a, 0xba, 0xad,
- 0x5f, 0x0f, 0x3c, 0xf5, 0x00, 0x0b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xc0, 0x44, 0xd8, 0x89, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x44, 0xd8, 0x89,
- 0xff, 0xd3, 0xfe, 0x3d, 0x07, 0x9c, 0x07, 0xd1, 0x00, 0x00, 0x00, 0x08,
- 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
- 0x07, 0xd1, 0xfe, 0x3d, 0x01, 0x78, 0x08, 0x1e, 0xff, 0xd3, 0xff, 0xd2,
- 0x07, 0x9c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc4, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0xc9, 0x00, 0x66, 0x00, 0x05, 0x00, 0x49, 0x00, 0x04, 0x00, 0x02,
- 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
- 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x03, 0x87, 0x01, 0x90, 0x00, 0x05,
- 0x00, 0x00, 0x05, 0x33, 0x05, 0x99, 0x00, 0x00, 0x03, 0xd7, 0x05, 0x33,
- 0x05, 0x99, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x02, 0x12, 0x00, 0x00,
- 0x02, 0x0b, 0x05, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0x00, 0x00,
- 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x50, 0x66, 0x45, 0x64, 0x00, 0x40, 0x00, 0x0d, 0x02, 0xdc,
- 0x06, 0x66, 0xfe, 0x66, 0x00, 0x00, 0x07, 0xd1, 0x01, 0xc3, 0x80, 0x02,
- 0x00, 0xbf, 0xdf, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x89,
- 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0xb2, 0x00, 0x00,
- 0x02, 0x39, 0x00, 0x00, 0x02, 0x39, 0x00, 0xfe, 0x02, 0xd7, 0x00, 0x6a,
- 0x04, 0x72, 0x00, 0x1d, 0x04, 0x72, 0x00, 0x44, 0x07, 0x1c, 0x00, 0x3b,
- 0x05, 0x56, 0x00, 0x6a, 0x01, 0x87, 0x00, 0x62, 0x02, 0xa9, 0x00, 0x96,
- 0x02, 0xa9, 0x00, 0x4e, 0x03, 0x1c, 0x00, 0x52, 0x04, 0xac, 0x00, 0x66,
- 0x02, 0x39, 0x00, 0xb2, 0x02, 0xa9, 0x00, 0x5e, 0x02, 0x39, 0x00, 0xb2,
- 0x02, 0x39, 0xff, 0xf0, 0x04, 0x72, 0x00, 0x58, 0x04, 0x72, 0x00, 0xd1,
- 0x04, 0x72, 0x00, 0x46, 0x04, 0x72, 0x00, 0x42, 0x04, 0x72, 0x00, 0x39,
- 0x04, 0x72, 0x00, 0x48, 0x04, 0x72, 0x00, 0x58, 0x04, 0x72, 0x00, 0x5e,
- 0x04, 0x72, 0x00, 0x4c, 0x04, 0x72, 0x00, 0x4e, 0x02, 0x39, 0x00, 0xe1,
- 0x02, 0x39, 0x00, 0xe1, 0x04, 0xac, 0x00, 0x5c, 0x04, 0xac, 0x00, 0x66,
- 0x04, 0xac, 0x00, 0x66, 0x04, 0x72, 0x00, 0x9e, 0x08, 0x1e, 0x00, 0x46,
- 0x05, 0x56, 0x00, 0x23, 0x05, 0x56, 0x00, 0xa2, 0x05, 0xc6, 0x00, 0x62,
- 0x05, 0xc6, 0x00, 0xb6, 0x05, 0x56, 0x00, 0xb8, 0x04, 0xe3, 0x00, 0xb8,
- 0x06, 0x39, 0x00, 0x5a, 0x05, 0xc6, 0x00, 0xaa, 0x02, 0x39, 0x00, 0xcd,
- 0x04, 0x00, 0x00, 0x23, 0x05, 0x56, 0x00, 0xa2, 0x04, 0x72, 0x00, 0xa4,
- 0x06, 0xa9, 0x00, 0x9a, 0x05, 0xc6, 0x00, 0x9c, 0x06, 0x39, 0x00, 0x4e,
- 0x05, 0x56, 0x00, 0xba, 0x06, 0x39, 0x00, 0x4e, 0x05, 0xc6, 0x00, 0xbe,
- 0x05, 0x56, 0x00, 0x62, 0x04, 0xe3, 0x00, 0x2b, 0x05, 0xc6, 0x00, 0xae,
- 0x05, 0x56, 0x00, 0x3d, 0x07, 0x8d, 0x00, 0x2d, 0x05, 0x56, 0x00, 0x2d,
- 0x05, 0x56, 0x00, 0x1b, 0x04, 0xe3, 0x00, 0x39, 0x02, 0x39, 0x00, 0x83,
- 0x02, 0x39, 0xff, 0xf0, 0x02, 0x39, 0x00, 0x2f, 0x03, 0xc0, 0x00, 0x5a,
- 0x04, 0x72, 0xff, 0xd3, 0x02, 0xa9, 0x00, 0x2d, 0x04, 0x72, 0x00, 0x56,
- 0x04, 0x72, 0x00, 0x6f, 0x04, 0x00, 0x00, 0x3f, 0x04, 0x72, 0x00, 0x35,
- 0x04, 0x72, 0x00, 0x52, 0x02, 0x39, 0x00, 0x25, 0x04, 0x72, 0x00, 0x3b,
- 0x04, 0x72, 0x00, 0x8f, 0x01, 0xc6, 0x00, 0x87, 0x01, 0xc6, 0xff, 0xdb,
- 0x04, 0x00, 0x00, 0x77, 0x01, 0xc6, 0x00, 0x8b, 0x06, 0xa9, 0x00, 0x8f,
- 0x04, 0x72, 0x00, 0x8f, 0x04, 0x72, 0x00, 0x4a, 0x04, 0x72, 0x00, 0x6f,
- 0x04, 0x72, 0x00, 0x35, 0x02, 0xa9, 0x00, 0x8d, 0x04, 0x00, 0x00, 0x46,
- 0x02, 0x39, 0x00, 0x1d, 0x04, 0x72, 0x00, 0x85, 0x04, 0x00, 0x00, 0x14,
- 0x05, 0xc6, 0x00, 0x0c, 0x04, 0x00, 0x00, 0x23, 0x04, 0x00, 0x00, 0x29,
- 0x04, 0x00, 0x00, 0x3f, 0x02, 0xac, 0x00, 0x58, 0x02, 0x14, 0x00, 0xcd,
- 0x02, 0xac, 0x00, 0x3b, 0x04, 0xac, 0x00, 0x9a, 0x02, 0x39, 0x00, 0x00,
- 0x02, 0x39, 0x00, 0xfa, 0x04, 0x72, 0x00, 0x6a, 0x04, 0x72, 0x00, 0x35,
- 0x04, 0x72, 0x00, 0x89, 0x04, 0x72, 0x00, 0x17, 0x02, 0x14, 0x00, 0xcd,
- 0x04, 0x72, 0x00, 0x58, 0x02, 0xa9, 0x00, 0x3d, 0x05, 0xe5, 0xff, 0xe5,
- 0x02, 0xf5, 0x00, 0x4c, 0x04, 0x72, 0x00, 0xc9, 0x04, 0xac, 0x00, 0x52,
- 0x02, 0xa9, 0x00, 0x5e, 0x05, 0xe5, 0xff, 0xe5, 0x02, 0xa9, 0x00, 0x39,
- 0x04, 0xd9, 0x01, 0x35, 0x04, 0xac, 0x00, 0x66, 0x02, 0xce, 0x00, 0x27,
- 0x02, 0xce, 0x00, 0x21, 0x02, 0xa9, 0x00, 0xbc, 0x04, 0x72, 0x00, 0x85,
- 0x04, 0x4b, 0x00, 0x62, 0x02, 0x39, 0x00, 0xb2, 0x02, 0xa9, 0x00, 0x50,
- 0x02, 0xce, 0x00, 0x7d, 0x02, 0xeb, 0x00, 0x52, 0x04, 0x72, 0x00, 0xc9,
- 0x06, 0xf3, 0x00, 0x7d, 0x06, 0xf3, 0x00, 0x7d, 0x06, 0xf3, 0x00, 0x21,
- 0x04, 0x72, 0x00, 0xc5, 0x05, 0x56, 0x00, 0x23, 0x05, 0x56, 0x00, 0x23,
- 0x05, 0x56, 0x00, 0x23, 0x05, 0x56, 0x00, 0x23, 0x05, 0x56, 0x00, 0x23,
- 0x05, 0x56, 0x00, 0x23, 0x08, 0x00, 0x00, 0x17, 0x05, 0xc6, 0x00, 0x62,
- 0x05, 0x56, 0x00, 0xb8, 0x05, 0x56, 0x00, 0xb8, 0x05, 0x56, 0x00, 0xb8,
- 0x05, 0x56, 0x00, 0xb8, 0x02, 0x39, 0x00, 0xcd, 0x02, 0x39, 0x00, 0xcd,
- 0x02, 0x39, 0x00, 0xcd, 0x02, 0x39, 0x00, 0x1c, 0x05, 0xc6, 0x00, 0x29,
- 0x05, 0xc6, 0x00, 0x9c, 0x06, 0x39, 0x00, 0x4e, 0x06, 0x39, 0x00, 0x4e,
- 0x06, 0x39, 0x00, 0x4e, 0x06, 0x39, 0x00, 0x4e, 0x06, 0x39, 0x00, 0x4e,
- 0x04, 0xac, 0x00, 0xc3, 0x06, 0x39, 0x00, 0x3d, 0x05, 0xc6, 0x00, 0xae,
- 0x05, 0xc6, 0x00, 0xae, 0x05, 0xc6, 0x00, 0xae, 0x05, 0xc6, 0x00, 0xae,
- 0x05, 0x56, 0x00, 0x1b, 0x05, 0x53, 0x00, 0xba, 0x04, 0xe3, 0x00, 0x89,
- 0x04, 0x72, 0x00, 0x56, 0x04, 0x72, 0x00, 0x56, 0x04, 0x72, 0x00, 0x56,
- 0x04, 0x72, 0x00, 0x56, 0x04, 0x72, 0x00, 0x56, 0x04, 0x72, 0x00, 0x56,
- 0x07, 0x1c, 0x00, 0x46, 0x04, 0x00, 0x00, 0x3f, 0x04, 0x72, 0x00, 0x52,
- 0x04, 0x72, 0x00, 0x52, 0x04, 0x72, 0x00, 0x52, 0x04, 0x72, 0x00, 0x52,
- 0x02, 0x39, 0x00, 0x00, 0x02, 0x39, 0x00, 0x00, 0x02, 0x39, 0x00, 0x00,
- 0x02, 0x39, 0x00, 0x06, 0x04, 0x72, 0x00, 0x4a, 0x04, 0x72, 0x00, 0x8f,
- 0x04, 0x72, 0x00, 0x4a, 0x04, 0x72, 0x00, 0x4a, 0x04, 0x72, 0x00, 0x4a,
- 0x04, 0x72, 0x00, 0x4a, 0x04, 0x72, 0x00, 0x4a, 0x04, 0xac, 0x00, 0x66,
- 0x04, 0xe3, 0x00, 0x25, 0x04, 0x72, 0x00, 0x85, 0x04, 0x72, 0x00, 0x85,
- 0x04, 0x72, 0x00, 0x85, 0x04, 0x72, 0x00, 0x85, 0x04, 0x00, 0x00, 0x29,
- 0x04, 0x70, 0x00, 0x6f, 0x04, 0x00, 0x00, 0x29, 0x08, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1c,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x00, 0x03, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x1c, 0x00, 0x04, 0x00, 0x68, 0x00, 0x00, 0x00, 0x16,
- 0x00, 0x10, 0x00, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x0e,
- 0x00, 0x7e, 0x00, 0xff, 0x01, 0x31, 0x02, 0xc6, 0x02, 0xcb, 0x02, 0xda,
- 0x02, 0xdc, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x0e,
- 0x00, 0x20, 0x00, 0xa0, 0x01, 0x31, 0x02, 0xc6, 0x02, 0xca, 0x02, 0xda,
- 0x02, 0xdc, 0xff, 0xff, 0x00, 0x01, 0xff, 0xf6, 0xff, 0xf5, 0xff, 0xe4,
- 0xff, 0xc3, 0xff, 0x92, 0xfd, 0xfe, 0xfd, 0xfb, 0xfd, 0xed, 0xfd, 0xec,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x01, 0x06, 0x00, 0x00, 0x01, 0x93, 0xb3, 0x00, 0x00, 0x00,
- 0x00, 0xa0, 0xc0, 0x02, 0x00, 0xa1, 0xc1, 0x02, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x80, 0x7f, 0x7c, 0x81, 0x76, 0x75, 0x69, 0x70, 0x9a,
- 0x00, 0x00, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d,
- 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
- 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
- 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
- 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d,
- 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
- 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55,
- 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61,
- 0x62, 0x00, 0x87, 0x88, 0x8a, 0x8c, 0x94, 0x99, 0x9f, 0xa4, 0xa3, 0xa5,
- 0xa7, 0xa6, 0xa8, 0xaa, 0xac, 0xab, 0xad, 0xae, 0xb0, 0xaf, 0xb1, 0xb2,
- 0xb4, 0xb6, 0xb5, 0xb7, 0xb9, 0xb8, 0xbd, 0xbc, 0xbe, 0xbf, 0x00, 0x73,
- 0x65, 0x66, 0x6a, 0x00, 0x79, 0xa2, 0x71, 0x6c, 0x00, 0x77, 0x6b, 0x00,
- 0x89, 0x9b, 0x00, 0x74, 0x00, 0x00, 0x68, 0x78, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x6d, 0x7d, 0x00, 0xa9, 0xbb, 0x82, 0x64, 0x6f, 0x00, 0x00, 0x00,
- 0x00, 0x6e, 0x7e, 0x00, 0x63, 0x83, 0x86, 0x98, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xba, 0x00, 0xc2, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x7a, 0x00, 0x00, 0x00, 0x85, 0x8d, 0x84, 0x8e, 0x8b,
- 0x90, 0x91, 0x92, 0x8f, 0x96, 0x97, 0x00, 0x95, 0x9d, 0x9e, 0x9c, 0x00,
- 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x7b, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x21, 0x02, 0x79, 0x00, 0x00, 0x00, 0x16, 0x00, 0x16, 0x00, 0x16,
- 0x00, 0x16, 0x00, 0x16, 0x00, 0x2e, 0x00, 0x48, 0x00, 0x7f, 0x00, 0xe5,
- 0x01, 0x5d, 0x01, 0xc9, 0x01, 0xd9, 0x01, 0xfd, 0x02, 0x20, 0x02, 0x3e,
- 0x02, 0x56, 0x02, 0x6c, 0x02, 0x79, 0x02, 0x85, 0x02, 0x93, 0x02, 0xc3,
- 0x02, 0xda, 0x03, 0x16, 0x03, 0x63, 0x03, 0x80, 0x03, 0xbe, 0x04, 0x0c,
- 0x04, 0x2a, 0x04, 0x84, 0x04, 0xd4, 0x04, 0xe6, 0x05, 0x03, 0x05, 0x17,
- 0x05, 0x2b, 0x05, 0x3f, 0x05, 0x7d, 0x06, 0x10, 0x06, 0x2c, 0x06, 0x6d,
- 0x06, 0xaa, 0x06, 0xd3, 0x06, 0xec, 0x07, 0x02, 0x07, 0x50, 0x07, 0x68,
- 0x07, 0x76, 0x07, 0x99, 0x07, 0xb5, 0x07, 0xc6, 0x07, 0xe2, 0x07, 0xfa,
- 0x08, 0x47, 0x08, 0x72, 0x08, 0xc7, 0x09, 0x08, 0x09, 0x57, 0x09, 0x6a,
- 0x09, 0x8f, 0x09, 0xa2, 0x09, 0xc1, 0x09, 0xe0, 0x09, 0xf7, 0x0a, 0x0e,
- 0x0a, 0x20, 0x0a, 0x2f, 0x0a, 0x41, 0x0a, 0x54, 0x0a, 0x61, 0x0a, 0x70,
- 0x0a, 0xd1, 0x0b, 0x0b, 0x0b, 0x3e, 0x0b, 0x79, 0x0b, 0xba, 0x0b, 0xdc,
- 0x0c, 0x34, 0x0c, 0x5b, 0x0c, 0x6f, 0x0c, 0x91, 0x0c, 0xae, 0x0c, 0xbc,
- 0x0c, 0xfb, 0x0d, 0x21, 0x0d, 0x55, 0x0d, 0x8c, 0x0d, 0xc6, 0x0d, 0xe3,
- 0x0e, 0x2f, 0x0e, 0x55, 0x0e, 0x7b, 0x0e, 0x8e, 0x0e, 0xaa, 0x0e, 0xc9,
- 0x0e, 0xec, 0x0f, 0x03, 0x0f, 0x43, 0x0f, 0x50, 0x0f, 0x8f, 0x0f, 0xc0,
- 0x0f, 0xc8, 0x0f, 0xd2, 0x10, 0x13, 0x10, 0x73, 0x10, 0xbe, 0x10, 0xe8,
- 0x10, 0xfb, 0x11, 0x77, 0x11, 0x89, 0x12, 0x03, 0x12, 0x5c, 0x12, 0x78,
- 0x12, 0x88, 0x12, 0x95, 0x13, 0x17, 0x13, 0x24, 0x13, 0x55, 0x13, 0x74,
- 0x13, 0xb1, 0x13, 0xf8, 0x14, 0x06, 0x14, 0x38, 0x14, 0x5a, 0x14, 0x68,
- 0x14, 0x99, 0x14, 0xb1, 0x14, 0xea, 0x15, 0x07, 0x15, 0x3d, 0x15, 0x94,
- 0x15, 0xf9, 0x16, 0x03, 0x16, 0x0f, 0x16, 0x1b, 0x16, 0x27, 0x16, 0x33,
- 0x16, 0x3f, 0x16, 0x4b, 0x16, 0x72, 0x16, 0xdc, 0x16, 0xe8, 0x16, 0xf4,
- 0x17, 0x00, 0x17, 0x0c, 0x17, 0x18, 0x17, 0x24, 0x17, 0x30, 0x17, 0x3c,
- 0x17, 0x70, 0x17, 0x7c, 0x17, 0x88, 0x17, 0x94, 0x17, 0xa0, 0x17, 0xac,
- 0x17, 0xb8, 0x17, 0xd9, 0x18, 0x2e, 0x18, 0x3a, 0x18, 0x46, 0x18, 0x52,
- 0x18, 0x5e, 0x18, 0x6a, 0x18, 0x95, 0x18, 0xdf, 0x18, 0xeb, 0x18, 0xf7,
- 0x19, 0x03, 0x19, 0x0f, 0x19, 0x1b, 0x19, 0x27, 0x19, 0xa9, 0x1a, 0x05,
- 0x1a, 0x11, 0x1a, 0x1d, 0x1a, 0x29, 0x1a, 0x35, 0x1a, 0x40, 0x1a, 0x4b,
- 0x1a, 0x56, 0x1a, 0x61, 0x1a, 0xb5, 0x1a, 0xc1, 0x1a, 0xcd, 0x1a, 0xd9,
- 0x1a, 0xe5, 0x1a, 0xf1, 0x1a, 0xfd, 0x1b, 0x17, 0x1b, 0x60, 0x1b, 0x6c,
- 0x1b, 0x78, 0x1b, 0x84, 0x1b, 0x90, 0x1b, 0x9c, 0x1b, 0xd7, 0x1b, 0xe3,
- 0x1b, 0xe3, 0x1b, 0xe3, 0x1b, 0xe3, 0x1b, 0xe3, 0x1b, 0xe3, 0x1b, 0xe3,
- 0x00, 0x02, 0x00, 0x89, 0x00, 0x00, 0x03, 0xbe, 0x07, 0xd1, 0x00, 0x03,
- 0x00, 0x07, 0x00, 0x00, 0x01, 0x11, 0x21, 0x11, 0x05, 0x21, 0x11, 0x21,
- 0x03, 0xbe, 0xfc, 0xcb, 0x02, 0xac, 0xfd, 0xdd, 0x02, 0x23, 0x07, 0xd1,
- 0xf8, 0x2f, 0x07, 0xd1, 0x89, 0xf9, 0x41, 0x00, 0x00, 0x02, 0x00, 0xfe,
- 0x00, 0x00, 0x01, 0xaa, 0x05, 0xd5, 0x00, 0x05, 0x00, 0x09, 0x00, 0x00,
- 0x01, 0x11, 0x03, 0x23, 0x03, 0x11, 0x13, 0x15, 0x23, 0x35, 0x01, 0xaa,
- 0x2d, 0x50, 0x2d, 0xaa, 0xac, 0x05, 0xd5, 0xfd, 0x4c, 0xfe, 0x37, 0x01,
- 0xc9, 0x02, 0xb4, 0xfb, 0x00, 0xd5, 0xd5, 0x00, 0x00, 0x02, 0x00, 0x6a,
- 0x03, 0xb6, 0x02, 0x71, 0x05, 0xac, 0x00, 0x05, 0x00, 0x0b, 0x00, 0x00,
- 0x13, 0x33, 0x15, 0x03, 0x23, 0x03, 0x25, 0x33, 0x15, 0x03, 0x23, 0x03,
- 0x6a, 0xbf, 0x37, 0x50, 0x38, 0x01, 0x48, 0xbf, 0x38, 0x50, 0x37, 0x05,
- 0xac, 0xe3, 0xfe, 0xed, 0x01, 0x13, 0xe3, 0xe3, 0xfe, 0xed, 0x01, 0x13,
- 0x00, 0x02, 0x00, 0x1d, 0xff, 0xd7, 0x04, 0x56, 0x05, 0x93, 0x00, 0x1b,
- 0x00, 0x1f, 0x00, 0x00, 0x01, 0x03, 0x33, 0x15, 0x23, 0x03, 0x33, 0x15,
- 0x23, 0x03, 0x23, 0x13, 0x23, 0x03, 0x23, 0x13, 0x23, 0x35, 0x33, 0x13,
- 0x23, 0x35, 0x33, 0x13, 0x33, 0x03, 0x21, 0x13, 0x03, 0x23, 0x03, 0x21,
- 0x03, 0xe1, 0x49, 0xbe, 0xd9, 0x40, 0xd7, 0xef, 0x50, 0x9c, 0x4e, 0xfe,
- 0x50, 0x9b, 0x4e, 0xcf, 0xe9, 0x40, 0xde, 0xf8, 0x4a, 0x9c, 0x4a, 0x01,
- 0x00, 0x48, 0x63, 0xfe, 0x41, 0x01, 0x00, 0x05, 0x93, 0xfe, 0x6f, 0x8b,
- 0xfe, 0x9b, 0x8b, 0xfe, 0x50, 0x01, 0xb0, 0xfe, 0x50, 0x01, 0xb0, 0x8b,
- 0x01, 0x65, 0x8b, 0x01, 0x91, 0xfe, 0x6f, 0x01, 0x91, 0xfd, 0xe4, 0xfe,
- 0x9b, 0x00, 0x00, 0x03, 0x00, 0x44, 0xfe, 0xfe, 0x04, 0x25, 0x06, 0x29,
- 0x00, 0x2f, 0x00, 0x38, 0x00, 0x41, 0x00, 0x00, 0x01, 0x14, 0x07, 0x06,
- 0x07, 0x15, 0x23, 0x35, 0x24, 0x27, 0x26, 0x3d, 0x01, 0x33, 0x16, 0x17,
- 0x16, 0x17, 0x16, 0x17, 0x11, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34,
- 0x37, 0x36, 0x37, 0x35, 0x33, 0x15, 0x16, 0x17, 0x16, 0x15, 0x23, 0x26,
- 0x27, 0x26, 0x27, 0x11, 0x17, 0x16, 0x17, 0x16, 0x01, 0x11, 0x06, 0x07,
- 0x06, 0x15, 0x14, 0x17, 0x16, 0x13, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27,
- 0x26, 0x27, 0x04, 0x25, 0xb0, 0x6a, 0xa1, 0x78, 0xfe, 0xec, 0x66, 0x34,
- 0xa1, 0x0b, 0x12, 0x2e, 0x9b, 0x13, 0x14, 0xab, 0x3e, 0x0c, 0x0d, 0x92,
- 0xcc, 0x54, 0x74, 0x78, 0xdb, 0x69, 0x4a, 0xa2, 0x02, 0x59, 0x3c, 0x55,
- 0x8a, 0xde, 0x3c, 0x17, 0xfd, 0xcd, 0xa9, 0x33, 0x12, 0xbe, 0x16, 0x92,
- 0xbd, 0x3e, 0x18, 0x41, 0x3c, 0x96, 0x01, 0x8f, 0xf9, 0x74, 0x46, 0x0b,
- 0xd3, 0xd3, 0x12, 0xbd, 0x61, 0x86, 0x23, 0x77, 0x31, 0x7d, 0x20, 0x04,
- 0x03, 0x02, 0x2d, 0x33, 0x27, 0x08, 0x09, 0x68, 0xc3, 0xf8, 0x68, 0x2b,
- 0x0e, 0x6f, 0x6f, 0x10, 0x8f, 0x64, 0x90, 0x85, 0x49, 0x32, 0x04, 0xfe,
- 0x02, 0x27, 0x49, 0xa1, 0x3f, 0x01, 0x60, 0x01, 0xec, 0x17, 0x7a, 0x2d,
- 0x36, 0xa6, 0x43, 0x08, 0xfd, 0x1a, 0x17, 0x89, 0x36, 0x43, 0x69, 0x39,
- 0x33, 0x2d, 0x00, 0x05, 0x00, 0x3b, 0xff, 0xd7, 0x06, 0xdf, 0x05, 0xac,
- 0x00, 0x15, 0x00, 0x25, 0x00, 0x29, 0x00, 0x3f, 0x00, 0x4f, 0x00, 0x00,
- 0x01, 0x32, 0x17, 0x16, 0x17, 0x14, 0x07, 0x06, 0x07, 0x06, 0x23, 0x22,
- 0x27, 0x26, 0x27, 0x34, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x17, 0x22,
- 0x07, 0x06, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34,
- 0x27, 0x26, 0x25, 0x33, 0x01, 0x23, 0x01, 0x32, 0x17, 0x16, 0x17, 0x14,
- 0x07, 0x06, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x27, 0x34, 0x35, 0x34,
- 0x37, 0x36, 0x37, 0x36, 0x17, 0x22, 0x07, 0x06, 0x15, 0x14, 0x17, 0x16,
- 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x01, 0x98, 0x91, 0x65,
- 0x65, 0x03, 0x60, 0x60, 0x87, 0x0b, 0x0a, 0x8d, 0x66, 0x65, 0x07, 0x62,
- 0x60, 0x88, 0x0a, 0x09, 0x5e, 0x3e, 0x33, 0x48, 0x3b, 0x4e, 0x5c, 0x3f,
- 0x33, 0x48, 0x3a, 0x02, 0xf9, 0x87, 0xfc, 0xd7, 0x87, 0x03, 0xcb, 0x93,
- 0x65, 0x64, 0x02, 0x61, 0x5f, 0x85, 0x0b, 0x0c, 0x8c, 0x65, 0x65, 0x08,
- 0x61, 0x60, 0x88, 0x0a, 0x09, 0x5e, 0x3e, 0x33, 0x48, 0x3b, 0x4e, 0x5d,
- 0x3f, 0x33, 0x4a, 0x39, 0x05, 0x7b, 0x65, 0x6b, 0x92, 0x89, 0x65, 0x64,
- 0x08, 0x01, 0x62, 0x61, 0x8a, 0x09, 0x09, 0x8b, 0x66, 0x65, 0x07, 0x01,
- 0x8f, 0x47, 0x3b, 0x4d, 0x5d, 0x3f, 0x33, 0x46, 0x3a, 0x4d, 0x61, 0x3e,
- 0x32, 0xc0, 0xfa, 0x2b, 0x02, 0xbc, 0x65, 0x69, 0x92, 0x88, 0x65, 0x63,
- 0x09, 0x01, 0x62, 0x60, 0x89, 0x0a, 0x09, 0x8b, 0x65, 0x64, 0x07, 0x01,
- 0x8f, 0x47, 0x3a, 0x4c, 0x5e, 0x3e, 0x33, 0x47, 0x39, 0x4b, 0x62, 0x3e,
- 0x31, 0x00, 0x00, 0x03, 0x00, 0x6a, 0xff, 0xd1, 0x05, 0x19, 0x05, 0xac,
- 0x00, 0x29, 0x00, 0x39, 0x00, 0x46, 0x00, 0x00, 0x25, 0x06, 0x07, 0x06,
- 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26,
- 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x07, 0x06,
- 0x07, 0x01, 0x36, 0x37, 0x34, 0x3d, 0x01, 0x33, 0x14, 0x07, 0x06, 0x07,
- 0x13, 0x23, 0x01, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22,
- 0x07, 0x06, 0x15, 0x14, 0x17, 0x16, 0x09, 0x01, 0x06, 0x07, 0x06, 0x15,
- 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x03, 0xba, 0x4a, 0x27, 0x8e,
- 0xad, 0xc8, 0x74, 0x68, 0x49, 0x46, 0xbd, 0x7c, 0x1c, 0x0e, 0x65, 0x66,
- 0x94, 0x9c, 0x5e, 0x53, 0x4b, 0x3f, 0x90, 0x01, 0x10, 0x3a, 0x06, 0xa4,
- 0x6d, 0x05, 0x05, 0xfa, 0xe0, 0xfe, 0x0f, 0x8f, 0x29, 0x1b, 0x46, 0x2f,
- 0x3e, 0x67, 0x2f, 0x1a, 0x1f, 0x1b, 0x01, 0x66, 0xfe, 0xb8, 0xa9, 0x31,
- 0x1f, 0x53, 0x4e, 0x6b, 0x75, 0x6e, 0x27, 0xa0, 0x49, 0x1d, 0x69, 0x7b,
- 0x6e, 0xae, 0x8e, 0x5d, 0x5c, 0x6e, 0x9c, 0x56, 0x2b, 0x30, 0x86, 0x5d,
- 0x5f, 0x65, 0x59, 0x84, 0x79, 0x53, 0x46, 0x52, 0xfe, 0xb2, 0x68, 0x73,
- 0x09, 0x08, 0x08, 0xb4, 0xb3, 0x08, 0x08, 0xfe, 0xcb, 0x03, 0x73, 0x5a,
- 0x40, 0x2b, 0x37, 0x5a, 0x32, 0x22, 0x4c, 0x2b, 0x39, 0x3a, 0x32, 0x2c,
- 0xfd, 0x44, 0x01, 0x99, 0x6c, 0x57, 0x36, 0x42, 0x70, 0x4d, 0x49, 0x5b,
- 0x1f, 0x00, 0x00, 0x01, 0x00, 0x62, 0x03, 0xb6, 0x01, 0x23, 0x05, 0xac,
- 0x00, 0x05, 0x00, 0x00, 0x13, 0x33, 0x15, 0x03, 0x23, 0x03, 0x62, 0xc1,
- 0x37, 0x52, 0x38, 0x05, 0xac, 0xe3, 0xfe, 0xed, 0x01, 0x13, 0x00, 0x01,
- 0x00, 0x96, 0xfe, 0x4e, 0x02, 0x54, 0x05, 0xd5, 0x00, 0x11, 0x00, 0x00,
- 0x01, 0x33, 0x02, 0x03, 0x06, 0x15, 0x10, 0x13, 0x16, 0x17, 0x23, 0x26,
- 0x03, 0x26, 0x35, 0x10, 0x13, 0x36, 0x01, 0xe3, 0x71, 0xd3, 0x36, 0x10,
- 0xb3, 0x2e, 0x38, 0x71, 0xbe, 0x58, 0x37, 0x89, 0x51, 0x05, 0xd5, 0xfe,
- 0xab, 0xfe, 0x77, 0x74, 0x71, 0xfe, 0x76, 0xfe, 0x82, 0x61, 0x5b, 0xfa,
- 0x01, 0x47, 0xc9, 0xba, 0x01, 0x31, 0x01, 0x3f, 0xbd, 0x00, 0x00, 0x01,
- 0x00, 0x4e, 0xfe, 0x4e, 0x02, 0x0c, 0x05, 0xd5, 0x00, 0x11, 0x00, 0x00,
- 0x13, 0x23, 0x12, 0x13, 0x36, 0x35, 0x10, 0x03, 0x26, 0x27, 0x33, 0x16,
- 0x13, 0x16, 0x15, 0x10, 0x03, 0x06, 0xbe, 0x70, 0xd2, 0x36, 0x10, 0xb4,
- 0x2d, 0x37, 0x70, 0xbf, 0x59, 0x36, 0x89, 0x52, 0xfe, 0x4e, 0x01, 0x53,
- 0x01, 0x8a, 0x74, 0x71, 0x01, 0x8e, 0x01, 0x7e, 0x60, 0x59, 0xfa, 0xfe,
- 0xb9, 0xca, 0xba, 0xfe, 0xd1, 0xfe, 0xc2, 0xbe, 0x00, 0x01, 0x00, 0x52,
- 0x03, 0x87, 0x02, 0xbe, 0x05, 0xd5, 0x00, 0x0e, 0x00, 0x00, 0x01, 0x33,
- 0x07, 0x37, 0x17, 0x07, 0x17, 0x07, 0x27, 0x07, 0x27, 0x37, 0x27, 0x37,
- 0x17, 0x01, 0x48, 0x81, 0x0b, 0xda, 0x26, 0xdd, 0x90, 0x69, 0x7f, 0x81,
- 0x66, 0x8d, 0xdd, 0x27, 0xd9, 0x05, 0xd5, 0xe5, 0x4d, 0x78, 0x3e, 0xb6,
- 0x4a, 0xbf, 0xbf, 0x4a, 0xb6, 0x3e, 0x78, 0x4d, 0x00, 0x01, 0x00, 0x66,
- 0xff, 0xec, 0x04, 0x46, 0x03, 0xcb, 0x00, 0x0b, 0x00, 0x00, 0x01, 0x15,
- 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11, 0x33, 0x11, 0x04, 0x46,
- 0xfe, 0x58, 0x90, 0xfe, 0x58, 0x01, 0xa8, 0x90, 0x02, 0x23, 0x90, 0xfe,
- 0x59, 0x01, 0xa7, 0x90, 0x01, 0xa8, 0xfe, 0x58, 0x00, 0x01, 0x00, 0xb2,
- 0xfe, 0xd3, 0x01, 0x89, 0x00, 0xd5, 0x00, 0x0b, 0x00, 0x00, 0x37, 0x33,
- 0x15, 0x10, 0x23, 0x35, 0x36, 0x37, 0x36, 0x3d, 0x01, 0x23, 0xb2, 0xd7,
- 0xd7, 0x4c, 0x19, 0x16, 0x7b, 0xd5, 0xf6, 0xfe, 0xf4, 0x4e, 0x03, 0x2c,
- 0x27, 0x64, 0x25, 0x00, 0x00, 0x01, 0x00, 0x5e, 0x01, 0xec, 0x02, 0x46,
- 0x02, 0x7f, 0x00, 0x03, 0x00, 0x00, 0x01, 0x15, 0x21, 0x35, 0x02, 0x46,
- 0xfe, 0x18, 0x02, 0x7f, 0x93, 0x93, 0x00, 0x01, 0x00, 0xb2, 0x00, 0x00,
- 0x01, 0x87, 0x00, 0xd5, 0x00, 0x03, 0x00, 0x00, 0x25, 0x15, 0x23, 0x35,
- 0x01, 0x87, 0xd5, 0xd5, 0xd5, 0xd5, 0x00, 0x01, 0xff, 0xf0, 0xff, 0xd7,
- 0x02, 0x46, 0x05, 0xd5, 0x00, 0x03, 0x00, 0x00, 0x01, 0x33, 0x01, 0x23,
- 0x01, 0xd5, 0x71, 0xfe, 0x1a, 0x70, 0x05, 0xd5, 0xfa, 0x02, 0x00, 0x02,
- 0x00, 0x58, 0xff, 0xd1, 0x04, 0x0e, 0x05, 0xac, 0x00, 0x0f, 0x00, 0x19,
- 0x00, 0x00, 0x13, 0x10, 0x25, 0x36, 0x33, 0x20, 0x13, 0x16, 0x15, 0x10,
- 0x07, 0x06, 0x23, 0x20, 0x03, 0x26, 0x01, 0x20, 0x11, 0x10, 0x21, 0x32,
- 0x13, 0x36, 0x35, 0x10, 0x58, 0x01, 0x24, 0x52, 0x65, 0x01, 0x7d, 0x4c,
- 0x12, 0xd1, 0x6c, 0x9e, 0xfe, 0xcf, 0x6f, 0x3b, 0x01, 0xdb, 0xfe, 0xdd,
- 0x01, 0x1f, 0xc7, 0x3f, 0x21, 0x02, 0xbe, 0x02, 0x43, 0x86, 0x25, 0xfe,
- 0x10, 0x77, 0x93, 0xfe, 0x27, 0xae, 0x5a, 0x01, 0x44, 0xab, 0x03, 0x4c,
- 0xfd, 0xb0, 0xfd, 0xaa, 0x01, 0x06, 0x86, 0xd1, 0x02, 0x49, 0x00, 0x01,
- 0x00, 0xd1, 0x00, 0x00, 0x02, 0xc7, 0x05, 0xac, 0x00, 0x0a, 0x00, 0x00,
- 0x01, 0x21, 0x35, 0x3e, 0x01, 0x37, 0x36, 0x37, 0x33, 0x11, 0x23, 0x02,
- 0x12, 0xfe, 0xbf, 0xb3, 0x7f, 0x24, 0x12, 0x17, 0x77, 0xb5, 0x04, 0x0a,
- 0x81, 0x16, 0x43, 0x50, 0x29, 0x4f, 0xfa, 0x54, 0x00, 0x01, 0x00, 0x46,
- 0x00, 0x00, 0x04, 0x17, 0x05, 0xac, 0x00, 0x23, 0x00, 0x00, 0x13, 0x12,
- 0x21, 0x32, 0x17, 0x16, 0x15, 0x10, 0x05, 0x06, 0x0f, 0x01, 0x06, 0x07,
- 0x06, 0x07, 0x21, 0x15, 0x21, 0x36, 0x37, 0x36, 0x37, 0x36, 0x3f, 0x01,
- 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x20, 0x03, 0x06, 0x07, 0x66, 0x0f,
- 0x01, 0xd1, 0xd0, 0x82, 0x7f, 0xfe, 0xec, 0x0f, 0x11, 0xcc, 0xa8, 0x37,
- 0x1d, 0x0b, 0x02, 0xfc, 0xfc, 0x3a, 0x0b, 0x48, 0x45, 0xa7, 0x28, 0x30,
- 0xbd, 0xc4, 0x5b, 0x51, 0x73, 0xfe, 0xfe, 0x1f, 0x02, 0x01, 0x03, 0xb4,
- 0x01, 0xf8, 0x79, 0x76, 0xbb, 0xff, 0x00, 0xa4, 0x09, 0x09, 0x6f, 0x5a,
- 0x5e, 0x31, 0x42, 0xb2, 0xe0, 0x7d, 0x78, 0x6b, 0x1a, 0x1b, 0x6a, 0x70,
- 0xaf, 0x7c, 0x4f, 0x45, 0xfe, 0xcd, 0x12, 0x15, 0x00, 0x01, 0x00, 0x42,
- 0xff, 0xd1, 0x04, 0x0c, 0x05, 0xac, 0x00, 0x32, 0x00, 0x00, 0x01, 0x22,
- 0x07, 0x06, 0x07, 0x23, 0x12, 0x25, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15,
- 0x14, 0x07, 0x16, 0x17, 0x16, 0x15, 0x14, 0x07, 0x06, 0x23, 0x20, 0x03,
- 0x26, 0x27, 0x33, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34,
- 0x27, 0x26, 0x23, 0x07, 0x23, 0x35, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27,
- 0x26, 0x02, 0x29, 0xd2, 0x32, 0x0f, 0x02, 0xb4, 0x07, 0x01, 0x1a, 0x4a,
- 0x5c, 0xf3, 0x75, 0x52, 0xca, 0xa3, 0x34, 0x1e, 0x8e, 0x85, 0xd8, 0xfe,
- 0xa3, 0x5f, 0x1c, 0x07, 0xb4, 0x0d, 0xa0, 0x38, 0x4c, 0xb3, 0x4d, 0x2d,
- 0xff, 0x16, 0x18, 0x4c, 0x16, 0xc4, 0x4b, 0x55, 0x6b, 0x3e, 0x05, 0x0e,
- 0xb3, 0x36, 0x4e, 0x01, 0x70, 0x50, 0x15, 0x8f, 0x65, 0x9b, 0xde, 0x4f,
- 0x38, 0x77, 0x45, 0x66, 0xd6, 0x7c, 0x73, 0x01, 0x18, 0x52, 0x6b, 0xea,
- 0x38, 0x13, 0x77, 0x46, 0x65, 0xf3, 0x14, 0x02, 0x02, 0x99, 0x03, 0x2b,
- 0x32, 0x84, 0x93, 0x40, 0x24, 0x00, 0x00, 0x02, 0x00, 0x39, 0x00, 0x00,
- 0x04, 0x29, 0x05, 0xac, 0x00, 0x0a, 0x00, 0x0d, 0x00, 0x00, 0x01, 0x21,
- 0x35, 0x01, 0x33, 0x11, 0x33, 0x15, 0x23, 0x11, 0x23, 0x19, 0x01, 0x01,
- 0x02, 0x9e, 0xfd, 0x9b, 0x02, 0x94, 0x85, 0xd7, 0xd7, 0xb4, 0xfe, 0x39,
- 0x01, 0x5c, 0xbf, 0x03, 0x91, 0xfc, 0x52, 0xa2, 0xfe, 0xa4, 0x01, 0xfe,
- 0x02, 0x7b, 0xfd, 0x85, 0x00, 0x01, 0x00, 0x48, 0xff, 0xd1, 0x04, 0x1b,
- 0x05, 0xac, 0x00, 0x26, 0x00, 0x00, 0x01, 0x15, 0x21, 0x03, 0x36, 0x37,
- 0x32, 0x17, 0x16, 0x17, 0x14, 0x07, 0x06, 0x07, 0x06, 0x23, 0x20, 0x03,
- 0x26, 0x27, 0x33, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34,
- 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x07, 0x23, 0x13, 0x03, 0xcf, 0xfd,
- 0xa4, 0x3a, 0x7c, 0x91, 0xcf, 0x82, 0x83, 0x01, 0x85, 0x82, 0xce, 0x0e,
- 0x0f, 0xfe, 0x71, 0x4d, 0x02, 0x03, 0xb4, 0x3d, 0xd5, 0x0b, 0x0c, 0xb0,
- 0x54, 0x39, 0x74, 0x51, 0x78, 0x71, 0x4d, 0x24, 0x28, 0xa6, 0x6c, 0x05,
- 0xac, 0xb2, 0xfe, 0x6a, 0x56, 0x02, 0x84, 0x86, 0xd9, 0xe0, 0x91, 0x8c,
- 0x0a, 0x01, 0x01, 0x7b, 0x06, 0x12, 0xe7, 0x0b, 0x01, 0x7c, 0x55, 0x7f,
- 0xbe, 0x5d, 0x41, 0x3b, 0x1d, 0x2f, 0x03, 0x16, 0x00, 0x02, 0x00, 0x58,
- 0xff, 0xd1, 0x04, 0x1b, 0x05, 0xac, 0x00, 0x22, 0x00, 0x32, 0x00, 0x00,
- 0x13, 0x10, 0x25, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x23, 0x26, 0x27,
- 0x26, 0x23, 0x22, 0x07, 0x06, 0x07, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17,
- 0x14, 0x15, 0x14, 0x07, 0x06, 0x07, 0x06, 0x23, 0x20, 0x03, 0x26, 0x25,
- 0x22, 0x07, 0x06, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35,
- 0x34, 0x27, 0x26, 0x58, 0x01, 0x17, 0x69, 0x88, 0xc8, 0x72, 0x4d, 0x15,
- 0xb4, 0x20, 0x76, 0x2b, 0x33, 0xc2, 0x51, 0x30, 0x01, 0x76, 0xd8, 0xbf,
- 0x7c, 0x7e, 0x04, 0x7d, 0x7b, 0xc1, 0x11, 0x12, 0xfe, 0x42, 0x26, 0x03,
- 0x01, 0xf0, 0x93, 0x55, 0x45, 0x5d, 0x53, 0x77, 0x81, 0x53, 0x4c, 0x6f,
- 0x46, 0x02, 0x96, 0x02, 0x33, 0xa5, 0x3e, 0x8d, 0x5f, 0x8f, 0x9b, 0x2f,
- 0x11, 0xdb, 0x84, 0xc8, 0xa2, 0x7c, 0x7e, 0xc7, 0x06, 0x06, 0xcd, 0x89,
- 0x86, 0x0c, 0x01, 0x02, 0x56, 0x35, 0x8b, 0x65, 0x52, 0x7a, 0x93, 0x5e,
- 0x54, 0x60, 0x59, 0x82, 0xb4, 0x53, 0x34, 0x00, 0x00, 0x01, 0x00, 0x5e,
- 0x00, 0x00, 0x04, 0x29, 0x05, 0xac, 0x00, 0x0c, 0x00, 0x00, 0x01, 0x15,
- 0x00, 0x03, 0x06, 0x07, 0x23, 0x12, 0x13, 0x12, 0x13, 0x21, 0x35, 0x04,
- 0x29, 0xfe, 0xa5, 0x94, 0x3c, 0x23, 0xc0, 0x56, 0x8b, 0x7e, 0xf5, 0xfc,
- 0xef, 0x05, 0xac, 0x98, 0xfe, 0x33, 0xfe, 0x3c, 0xba, 0xc9, 0x01, 0x7a,
- 0x01, 0x20, 0x01, 0x03, 0x01, 0x5d, 0xb2, 0x00, 0x00, 0x03, 0x00, 0x4c,
- 0xff, 0xd1, 0x04, 0x1b, 0x05, 0xac, 0x00, 0x1c, 0x00, 0x2c, 0x00, 0x3c,
- 0x00, 0x00, 0x01, 0x16, 0x15, 0x14, 0x07, 0x06, 0x07, 0x22, 0x23, 0x22,
- 0x27, 0x26, 0x27, 0x34, 0x37, 0x26, 0x27, 0x26, 0x35, 0x34, 0x36, 0x33,
- 0x32, 0x17, 0x16, 0x15, 0x14, 0x07, 0x06, 0x01, 0x22, 0x07, 0x06, 0x15,
- 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x03,
- 0x22, 0x07, 0x06, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35,
- 0x34, 0x27, 0x26, 0x03, 0x21, 0xfa, 0x83, 0x85, 0xd5, 0x05, 0x06, 0xd7,
- 0x88, 0x85, 0x03, 0xf8, 0x7e, 0x29, 0x1e, 0xf4, 0xc0, 0xc8, 0x7a, 0x72,
- 0x3e, 0x2c, 0xfe, 0xb6, 0x8b, 0x44, 0x2d, 0x5e, 0x41, 0x5d, 0x8b, 0x45,
- 0x2c, 0x63, 0x3f, 0x5a, 0x99, 0x54, 0x42, 0x63, 0x51, 0x77, 0x9f, 0x55,
- 0x3f, 0x66, 0x51, 0x02, 0xfc, 0x77, 0xf4, 0xc2, 0x7c, 0x7e, 0x04, 0x7d,
- 0x83, 0xc2, 0xf1, 0x78, 0x4f, 0x4d, 0x3a, 0x57, 0xaa, 0xd9, 0x73, 0x6b,
- 0xa5, 0x78, 0x49, 0x34, 0x01, 0xd8, 0x59, 0x3a, 0x52, 0x7a, 0x3e, 0x2b,
- 0x58, 0x39, 0x50, 0x82, 0x3e, 0x27, 0xfd, 0xa0, 0x62, 0x4c, 0x6f, 0x8c,
- 0x51, 0x41, 0x65, 0x4b, 0x6e, 0x8e, 0x50, 0x3f, 0x00, 0x02, 0x00, 0x4e,
- 0xff, 0xd1, 0x04, 0x12, 0x05, 0xac, 0x00, 0x22, 0x00, 0x32, 0x00, 0x00,
- 0x01, 0x10, 0x05, 0x06, 0x23, 0x22, 0x27, 0x26, 0x27, 0x33, 0x16, 0x17,
- 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x06, 0x07, 0x06, 0x23, 0x22, 0x27,
- 0x26, 0x27, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x20, 0x13, 0x16, 0x01,
- 0x22, 0x07, 0x06, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35,
- 0x34, 0x27, 0x26, 0x04, 0x12, 0xfe, 0xea, 0x6a, 0x8a, 0xc7, 0x72, 0x4d,
- 0x15, 0xb4, 0x1e, 0x72, 0x2d, 0x36, 0xc2, 0x51, 0x30, 0x01, 0x6e, 0x8e,
- 0x25, 0x2b, 0xc2, 0x7d, 0x7d, 0x02, 0x7d, 0x7a, 0xc1, 0x11, 0x12, 0x01,
- 0x9e, 0x40, 0x0b, 0xfe, 0x15, 0x83, 0x53, 0x4b, 0x6e, 0x47, 0x66, 0x8f,
- 0x55, 0x49, 0x5d, 0x53, 0x02, 0xe7, 0xfd, 0xd0, 0xa6, 0x40, 0x8c, 0x5f,
- 0x90, 0x97, 0x31, 0x13, 0xdb, 0x84, 0xc8, 0x84, 0x18, 0x06, 0x7e, 0x86,
- 0xc9, 0xcd, 0x89, 0x86, 0x0c, 0x01, 0xfe, 0x01, 0x5b, 0x01, 0xbc, 0x62,
- 0x58, 0x83, 0xb3, 0x53, 0x35, 0x62, 0x53, 0x7c, 0x95, 0x5e, 0x54, 0x00,
- 0x00, 0x02, 0x00, 0xe1, 0x00, 0x00, 0x01, 0xb6, 0x04, 0x31, 0x00, 0x03,
- 0x00, 0x07, 0x00, 0x00, 0x25, 0x15, 0x23, 0x35, 0x13, 0x15, 0x23, 0x35,
- 0x01, 0xb6, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0xd5, 0x03, 0x5c, 0xd5, 0xd5,
- 0x00, 0x02, 0x00, 0xe1, 0xfe, 0xd3, 0x01, 0xb8, 0x04, 0x31, 0x00, 0x03,
- 0x00, 0x0f, 0x00, 0x00, 0x01, 0x15, 0x23, 0x35, 0x03, 0x33, 0x15, 0x10,
- 0x23, 0x35, 0x36, 0x37, 0x36, 0x3d, 0x01, 0x23, 0x01, 0xb8, 0xd5, 0x02,
- 0xd7, 0xd7, 0x4d, 0x18, 0x16, 0x7b, 0x04, 0x31, 0xd5, 0xd5, 0xfc, 0xa4,
- 0xf6, 0xfe, 0xf4, 0x4e, 0x03, 0x2c, 0x27, 0x64, 0x25, 0x00, 0x00, 0x01,
- 0x00, 0x5c, 0xff, 0xee, 0x04, 0x46, 0x03, 0xcb, 0x00, 0x06, 0x00, 0x00,
- 0x13, 0x35, 0x01, 0x15, 0x09, 0x01, 0x15, 0x5c, 0x03, 0xea, 0xfc, 0xd9,
- 0x03, 0x27, 0x01, 0x96, 0x8d, 0x01, 0xa8, 0xa2, 0xfe, 0xb6, 0xfe, 0xb0,
- 0xa1, 0x00, 0x00, 0x02, 0x00, 0x66, 0x00, 0xe3, 0x04, 0x46, 0x02, 0xd3,
- 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x01, 0x15, 0x21, 0x35, 0x01, 0x15,
- 0x21, 0x35, 0x04, 0x46, 0xfc, 0x20, 0x03, 0xe0, 0xfc, 0x20, 0x02, 0xd3,
- 0x8f, 0x8f, 0xfe, 0xa0, 0x90, 0x90, 0x00, 0x01, 0x00, 0x66, 0xff, 0xee,
- 0x04, 0x50, 0x03, 0xcb, 0x00, 0x06, 0x00, 0x00, 0x01, 0x15, 0x01, 0x35,
- 0x09, 0x01, 0x35, 0x04, 0x50, 0xfc, 0x16, 0x03, 0x27, 0xfc, 0xd9, 0x02,
- 0x23, 0x8d, 0xfe, 0x58, 0xa1, 0x01, 0x4a, 0x01, 0x50, 0xa2, 0x00, 0x02,
- 0x00, 0x9e, 0x00, 0x00, 0x04, 0x12, 0x05, 0xee, 0x00, 0x23, 0x00, 0x27,
- 0x00, 0x00, 0x01, 0x14, 0x07, 0x06, 0x07, 0x06, 0x07, 0x06, 0x1d, 0x01,
- 0x23, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27,
- 0x26, 0x23, 0x22, 0x07, 0x06, 0x15, 0x23, 0x10, 0x25, 0x36, 0x33, 0x32,
- 0x17, 0x16, 0x01, 0x15, 0x23, 0x35, 0x04, 0x12, 0x6e, 0x1a, 0x5b, 0x58,
- 0x1c, 0x17, 0xb8, 0x66, 0x14, 0x5d, 0x61, 0x1f, 0x17, 0x5f, 0x44, 0x63,
- 0xc4, 0x31, 0x13, 0xae, 0x01, 0x1f, 0x48, 0x59, 0xdc, 0x77, 0x61, 0xfe,
- 0x92, 0xb8, 0x04, 0x64, 0x99, 0x7a, 0x1c, 0x51, 0x50, 0x3a, 0x2e, 0x34,
- 0x60, 0x70, 0x78, 0x6f, 0x15, 0x58, 0x5a, 0x43, 0x33, 0x38, 0x7b, 0x41,
- 0x2e, 0xa2, 0x3f, 0x5f, 0x01, 0x7c, 0x50, 0x14, 0x80, 0x68, 0xfb, 0xcf,
- 0xd5, 0xd5, 0x00, 0x02, 0x00, 0x46, 0xfe, 0xdd, 0x07, 0x9c, 0x05, 0xee,
- 0x00, 0x51, 0x00, 0x65, 0x00, 0x00, 0x01, 0x33, 0x03, 0x06, 0x15, 0x14,
- 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26,
- 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x07, 0x06, 0x15, 0x14, 0x17, 0x16,
- 0x17, 0x16, 0x33, 0x32, 0x37, 0x17, 0x06, 0x23, 0x20, 0x27, 0x26, 0x27,
- 0x26, 0x35, 0x10, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x33, 0x20, 0x17,
- 0x16, 0x17, 0x16, 0x15, 0x14, 0x07, 0x06, 0x07, 0x06, 0x23, 0x22, 0x27,
- 0x06, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37,
- 0x36, 0x33, 0x32, 0x17, 0x01, 0x32, 0x37, 0x36, 0x37, 0x36, 0x35, 0x34,
- 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x07, 0x06, 0x15, 0x14, 0x17, 0x16,
- 0x05, 0x52, 0xaa, 0xb8, 0x19, 0x2e, 0x1a, 0x1e, 0x6f, 0x62, 0x65, 0x1b,
- 0x07, 0x92, 0x8c, 0xd9, 0x6a, 0x6f, 0xfd, 0xd4, 0xc1, 0x59, 0x3a, 0x9e,
- 0x97, 0xf1, 0x69, 0x71, 0xa3, 0xe8, 0x39, 0xe6, 0xe9, 0xfe, 0xc9, 0xf6,
- 0xd9, 0x60, 0x3d, 0x8d, 0x4c, 0x6a, 0xb6, 0xfc, 0x7e, 0x7a, 0x01, 0x1e,
- 0xe9, 0xcd, 0x5b, 0x3a, 0x7b, 0x18, 0x1d, 0x9b, 0xe2, 0xc5, 0x1d, 0x75,
- 0x7f, 0x17, 0x18, 0x8d, 0x5f, 0x61, 0x78, 0x6d, 0x9e, 0x45, 0x46, 0xac,
- 0x4e, 0xfe, 0x7b, 0x79, 0x5f, 0x4e, 0x14, 0x05, 0x47, 0x33, 0x46, 0x72,
- 0x5f, 0x61, 0x14, 0x04, 0x48, 0x39, 0x04, 0x02, 0xfd, 0xc3, 0x45, 0x22,
- 0x2f, 0x1c, 0x0f, 0x6e, 0x72, 0x9f, 0x2c, 0x2c, 0xcf, 0xa9, 0xa1, 0x3e,
- 0x1e, 0x9a, 0x8d, 0xd8, 0x8d, 0x95, 0xf3, 0xb9, 0xb0, 0x3d, 0x1b, 0x41,
- 0x89, 0x56, 0xa1, 0x8e, 0xdf, 0x8c, 0x99, 0x01, 0x07, 0xee, 0x80, 0x60,
- 0xa6, 0x42, 0x21, 0x99, 0x86, 0xce, 0x82, 0x8b, 0xcc, 0xb7, 0x25, 0x21,
- 0xb6, 0x9d, 0x7f, 0x11, 0x03, 0x6a, 0x6c, 0xa1, 0xbc, 0x9f, 0x90, 0x35,
- 0x17, 0xb2, 0xfd, 0x87, 0x99, 0x7e, 0x98, 0x23, 0x1e, 0x5b, 0x36, 0x27,
- 0x6c, 0x6f, 0x9c, 0x20, 0x1f, 0x72, 0x48, 0x38, 0x00, 0x02, 0x00, 0x23,
- 0x00, 0x00, 0x05, 0x39, 0x05, 0xd5, 0x00, 0x07, 0x00, 0x0a, 0x00, 0x00,
- 0x01, 0x21, 0x03, 0x23, 0x01, 0x33, 0x01, 0x23, 0x0b, 0x02, 0x03, 0xcb,
- 0xfd, 0xc0, 0x9d, 0xcb, 0x02, 0x14, 0xf6, 0x02, 0x0c, 0xd5, 0xce, 0xe6,
- 0xf6, 0x01, 0xc1, 0xfe, 0x3f, 0x05, 0xd5, 0xfa, 0x2b, 0x02, 0x60, 0x02,
- 0xa8, 0xfd, 0x58, 0x00, 0x00, 0x03, 0x00, 0xa2, 0x00, 0x00, 0x04, 0xfc,
- 0x05, 0xd5, 0x00, 0x10, 0x00, 0x1b, 0x00, 0x26, 0x00, 0x00, 0x01, 0x14,
- 0x07, 0x06, 0x23, 0x21, 0x11, 0x21, 0x20, 0x17, 0x16, 0x15, 0x14, 0x07,
- 0x16, 0x17, 0x16, 0x01, 0x34, 0x27, 0x26, 0x23, 0x21, 0x11, 0x21, 0x32,
- 0x37, 0x36, 0x03, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x21,
- 0x11, 0x04, 0xfc, 0x82, 0x77, 0xbf, 0xfd, 0x5e, 0x02, 0x5e, 0x01, 0x17,
- 0x6d, 0x36, 0xce, 0xbd, 0x37, 0x1c, 0xff, 0x00, 0xd0, 0x29, 0x32, 0xfe,
- 0x8f, 0x01, 0x71, 0xf7, 0x2b, 0x09, 0xcb, 0xb8, 0x3d, 0x17, 0x67, 0x42,
- 0x63, 0xfe, 0x2f, 0x01, 0xaa, 0xc7, 0x76, 0x6d, 0x05, 0xd5, 0xb4, 0x59,
- 0x6e, 0xe4, 0x62, 0x48, 0x85, 0x43, 0x02, 0x3b, 0xc9, 0x1f, 0x06, 0xfe,
- 0x25, 0x9f, 0x23, 0xfc, 0x94, 0x8c, 0x35, 0x3f, 0x92, 0x44, 0x2c, 0xfd,
- 0xfe, 0x00, 0x00, 0x01, 0x00, 0x62, 0xff, 0xd1, 0x05, 0x6a, 0x05, 0xee,
- 0x00, 0x23, 0x00, 0x00, 0x13, 0x34, 0x37, 0x12, 0x25, 0x36, 0x33, 0x20,
- 0x13, 0x16, 0x17, 0x23, 0x26, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x11,
- 0x10, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x33, 0x02, 0x21, 0x20,
- 0x03, 0x26, 0x03, 0x26, 0x62, 0x65, 0x92, 0x01, 0x3a, 0x3a, 0x3f, 0x01,
- 0xa2, 0x7c, 0x15, 0x0d, 0xc3, 0x2f, 0xb2, 0x4c, 0x66, 0xde, 0x7e, 0x79,
- 0x91, 0x81, 0xd3, 0xec, 0x66, 0x36, 0x18, 0xc4, 0x43, 0xfd, 0xdd, 0xfe,
- 0x8f, 0xb1, 0x76, 0x09, 0x01, 0x02, 0xd9, 0xfc, 0xc5, 0x01, 0x1d, 0x2e,
- 0x09, 0xfe, 0x9b, 0x3c, 0x47, 0xe6, 0x3f, 0x1b, 0xad, 0xa5, 0xfe, 0xe7,
- 0xfe, 0xd9, 0xa6, 0x95, 0xb2, 0x5e, 0x98, 0xfd, 0xb0, 0x01, 0x1d, 0xbc,
- 0x01, 0x08, 0x14, 0x00, 0x00, 0x02, 0x00, 0xb6, 0x00, 0x00, 0x05, 0x56,
- 0x05, 0xd5, 0x00, 0x09, 0x00, 0x14, 0x00, 0x00, 0x33, 0x11, 0x21, 0x20,
- 0x00, 0x11, 0x10, 0x07, 0x06, 0x21, 0x25, 0x21, 0x20, 0x13, 0x36, 0x35,
- 0x10, 0x25, 0x26, 0x23, 0x21, 0xb6, 0x02, 0x40, 0x01, 0x1b, 0x01, 0x45,
- 0xaf, 0xa2, 0xfe, 0xf1, 0xfe, 0x7f, 0x01, 0x60, 0x01, 0x2f, 0x65, 0x2f,
- 0xff, 0x00, 0x55, 0x6e, 0xfe, 0xa0, 0x05, 0xd5, 0xfe, 0x72, 0xfe, 0xa5,
- 0xfe, 0x95, 0xc9, 0xb8, 0xa8, 0x01, 0x10, 0x7d, 0xb4, 0x01, 0xaf, 0x70,
- 0x25, 0x00, 0x00, 0x01, 0x00, 0xb8, 0x00, 0x00, 0x04, 0xe7, 0x05, 0xd5,
- 0x00, 0x0b, 0x00, 0x00, 0x01, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15,
- 0x21, 0x11, 0x21, 0x15, 0x01, 0x77, 0x03, 0x70, 0xfb, 0xd1, 0x04, 0x0b,
- 0xfc, 0xb4, 0x03, 0x2d, 0x02, 0xa8, 0xfe, 0x00, 0xa8, 0x05, 0xd5, 0xa8,
- 0xfe, 0x23, 0xa8, 0x00, 0x00, 0x01, 0x00, 0xb8, 0x00, 0x00, 0x04, 0xa2,
- 0x05, 0xd5, 0x00, 0x09, 0x00, 0x00, 0x01, 0x11, 0x23, 0x11, 0x21, 0x15,
- 0x21, 0x11, 0x21, 0x15, 0x01, 0x77, 0xbf, 0x03, 0xea, 0xfc, 0xd5, 0x02,
- 0xc8, 0x02, 0xa8, 0xfd, 0x58, 0x05, 0xd5, 0xa8, 0xfe, 0x23, 0xa8, 0x00,
- 0x00, 0x01, 0x00, 0x5a, 0xff, 0xd1, 0x05, 0xac, 0x05, 0xee, 0x00, 0x31,
- 0x00, 0x00, 0x01, 0x14, 0x17, 0x16, 0x05, 0x32, 0x33, 0x32, 0x37, 0x36,
- 0x37, 0x36, 0x3d, 0x01, 0x21, 0x35, 0x21, 0x11, 0x23, 0x27, 0x06, 0x07,
- 0x06, 0x23, 0x20, 0x27, 0x26, 0x03, 0x26, 0x35, 0x34, 0x37, 0x12, 0x25,
- 0x36, 0x33, 0x20, 0x17, 0x16, 0x17, 0x23, 0x26, 0x27, 0x26, 0x23, 0x22,
- 0x07, 0x06, 0x03, 0x14, 0x01, 0x19, 0x58, 0x88, 0x01, 0x28, 0x07, 0x07,
- 0xc6, 0x84, 0x81, 0x09, 0x01, 0xfe, 0x39, 0x02, 0x6f, 0x79, 0x2f, 0xbe,
- 0xfb, 0x22, 0x23, 0xfe, 0xf7, 0xb7, 0xb4, 0x2c, 0x0c, 0x61, 0x8d, 0x01,
- 0x30, 0x52, 0x5d, 0x01, 0x35, 0xaa, 0x72, 0x20, 0xc3, 0x24, 0x95, 0x6a,
- 0x8d, 0xe5, 0x8f, 0x93, 0x05, 0x02, 0xe5, 0xd1, 0xa0, 0xf5, 0x06, 0x7b,
- 0x79, 0xbc, 0x0e, 0x0d, 0x29, 0xa7, 0xfc, 0xe4, 0xc6, 0xd3, 0x17, 0x03,
- 0xab, 0xa7, 0x01, 0x17, 0x4e, 0x53, 0xea, 0xc0, 0x01, 0x19, 0x3f, 0x11,
- 0xb2, 0x76, 0xb6, 0xaa, 0x52, 0x3a, 0x9d, 0xa2, 0xfe, 0xef, 0x08, 0x00,
- 0x00, 0x01, 0x00, 0xaa, 0x00, 0x00, 0x05, 0x27, 0x05, 0xd5, 0x00, 0x0b,
- 0x00, 0x00, 0x01, 0x21, 0x11, 0x23, 0x11, 0x33, 0x11, 0x21, 0x11, 0x33,
- 0x11, 0x23, 0x04, 0x68, 0xfd, 0x00, 0xbe, 0xbe, 0x03, 0x00, 0xbf, 0xbf,
- 0x02, 0xa8, 0xfd, 0x58, 0x05, 0xd5, 0xfd, 0x7b, 0x02, 0x85, 0xfa, 0x2b,
- 0x00, 0x01, 0x00, 0xcd, 0x00, 0x00, 0x01, 0x8d, 0x05, 0xd5, 0x00, 0x03,
- 0x00, 0x00, 0x01, 0x11, 0x23, 0x11, 0x01, 0x8d, 0xc0, 0x05, 0xd5, 0xfa,
- 0x2b, 0x05, 0xd5, 0x00, 0x00, 0x01, 0x00, 0x23, 0xff, 0xd1, 0x03, 0x68,
- 0x05, 0xd5, 0x00, 0x15, 0x00, 0x00, 0x25, 0x32, 0x37, 0x36, 0x35, 0x11,
- 0x33, 0x11, 0x14, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x3d, 0x01, 0x33,
- 0x15, 0x14, 0x17, 0x16, 0x01, 0xc5, 0xa7, 0x2c, 0x12, 0xbe, 0x88, 0x6f,
- 0xae, 0xd6, 0x71, 0x59, 0xc2, 0x80, 0x2a, 0x71, 0xa0, 0x42, 0x67, 0x04,
- 0x1b, 0xfb, 0xa0, 0xd6, 0x72, 0x5c, 0x83, 0x67, 0xa1, 0x83, 0x60, 0xc6,
- 0x36, 0x12, 0x00, 0x01, 0x00, 0xa2, 0x00, 0x00, 0x05, 0x44, 0x05, 0xd5,
- 0x00, 0x0b, 0x00, 0x00, 0x01, 0x11, 0x23, 0x11, 0x33, 0x11, 0x01, 0x33,
- 0x09, 0x01, 0x23, 0x01, 0x01, 0x60, 0xbe, 0xbe, 0x02, 0xe8, 0xf5, 0xfd,
- 0xa0, 0x02, 0x67, 0xe2, 0xfd, 0xf2, 0x02, 0x0a, 0xfd, 0xf6, 0x05, 0xd5,
- 0xfd, 0x0c, 0x02, 0xf4, 0xfd, 0xa0, 0xfc, 0x8b, 0x02, 0xfe, 0x00, 0x01,
- 0x00, 0xa4, 0x00, 0x00, 0x04, 0x44, 0x05, 0xd5, 0x00, 0x05, 0x00, 0x00,
- 0x01, 0x11, 0x21, 0x15, 0x21, 0x11, 0x01, 0x62, 0x02, 0xe2, 0xfc, 0x60,
- 0x05, 0xd5, 0xfa, 0xd3, 0xa8, 0x05, 0xd5, 0x00, 0x00, 0x01, 0x00, 0x9a,
- 0x00, 0x00, 0x06, 0x17, 0x05, 0xd5, 0x00, 0x0c, 0x00, 0x00, 0x21, 0x23,
- 0x01, 0x11, 0x23, 0x11, 0x21, 0x09, 0x01, 0x21, 0x11, 0x23, 0x11, 0x03,
- 0xbe, 0xc8, 0xfe, 0x58, 0xb4, 0x01, 0x08, 0x01, 0xba, 0x01, 0xb2, 0x01,
- 0x09, 0xb5, 0x04, 0xe3, 0xfb, 0x1d, 0x05, 0xd5, 0xfa, 0xec, 0x05, 0x14,
- 0xfa, 0x2b, 0x04, 0xe3, 0x00, 0x01, 0x00, 0x9c, 0x00, 0x00, 0x05, 0x2b,
- 0x05, 0xd5, 0x00, 0x09, 0x00, 0x00, 0x01, 0x11, 0x23, 0x01, 0x11, 0x23,
- 0x11, 0x33, 0x01, 0x11, 0x05, 0x2b, 0xd7, 0xfc, 0xfc, 0xb4, 0xce, 0x03,
- 0x0d, 0x05, 0xd5, 0xfa, 0x2b, 0x04, 0xba, 0xfb, 0x46, 0x05, 0xd5, 0xfb,
- 0x3b, 0x04, 0xc5, 0x00, 0x00, 0x02, 0x00, 0x4e, 0xff, 0xd1, 0x05, 0xf0,
- 0x05, 0xee, 0x00, 0x16, 0x00, 0x2c, 0x00, 0x00, 0x01, 0x10, 0x00, 0x07,
- 0x06, 0x23, 0x20, 0x27, 0x26, 0x03, 0x26, 0x35, 0x10, 0x37, 0x36, 0x25,
- 0x36, 0x33, 0x20, 0x17, 0x16, 0x13, 0x16, 0x01, 0x22, 0x07, 0x06, 0x03,
- 0x06, 0x15, 0x10, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37,
- 0x36, 0x35, 0x10, 0x27, 0x26, 0x05, 0xf0, 0xfe, 0xd4, 0xfc, 0x51, 0x58,
- 0xfe, 0xe0, 0xc1, 0xbd, 0x29, 0x0a, 0xa8, 0x9d, 0x01, 0x03, 0x41, 0x46,
- 0x01, 0x2d, 0xc2, 0xbf, 0x20, 0x05, 0xfd, 0x2d, 0xe2, 0x90, 0x94, 0x0a,
- 0x01, 0x8f, 0x88, 0xdd, 0x0f, 0x10, 0xde, 0x91, 0x93, 0x0f, 0x01, 0x94,
- 0x96, 0x02, 0xd3, 0xfe, 0xe0, 0xfe, 0x66, 0x36, 0x12, 0xb0, 0xac, 0x01,
- 0x20, 0x47, 0x4b, 0x01, 0x3f, 0xd3, 0xc6, 0x2c, 0x0b, 0xb9, 0xb8, 0xfe,
- 0xc7, 0x37, 0x02, 0x39, 0x9a, 0x9f, 0xfe, 0xf7, 0x12, 0x13, 0xfe, 0xf0,
- 0xa9, 0xa1, 0x0b, 0x01, 0x97, 0x98, 0xfc, 0x19, 0x1a, 0x01, 0x1e, 0xab,
- 0xa3, 0x00, 0x00, 0x02, 0x00, 0xba, 0x00, 0x00, 0x04, 0xf0, 0x05, 0xd5,
- 0x00, 0x0c, 0x00, 0x17, 0x00, 0x00, 0x01, 0x14, 0x07, 0x06, 0x23, 0x21,
- 0x11, 0x23, 0x11, 0x21, 0x20, 0x17, 0x16, 0x01, 0x21, 0x32, 0x37, 0x36,
- 0x35, 0x34, 0x27, 0x26, 0x23, 0x21, 0x04, 0xf0, 0x7e, 0x72, 0xb2, 0xfe,
- 0x2b, 0xbf, 0x02, 0x69, 0x01, 0x17, 0x73, 0x43, 0xfc, 0x89, 0x01, 0x8d,
- 0xb1, 0x4a, 0x28, 0x77, 0x46, 0x66, 0xfe, 0x73, 0x04, 0x1f, 0xc7, 0x75,
- 0x6a, 0xfd, 0x87, 0x05, 0xd5, 0xb1, 0x69, 0xfe, 0x66, 0x71, 0x3e, 0x57,
- 0x9b, 0x43, 0x28, 0x00, 0x00, 0x02, 0x00, 0x4e, 0xff, 0x87, 0x05, 0xf0,
- 0x05, 0xee, 0x00, 0x18, 0x00, 0x33, 0x00, 0x00, 0x05, 0x07, 0x27, 0x06,
- 0x23, 0x20, 0x27, 0x26, 0x03, 0x26, 0x35, 0x10, 0x37, 0x36, 0x25, 0x36,
- 0x33, 0x20, 0x17, 0x16, 0x13, 0x16, 0x15, 0x10, 0x07, 0x01, 0x17, 0x36,
- 0x11, 0x10, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x03, 0x06,
- 0x15, 0x10, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x27,
- 0x05, 0xdd, 0x60, 0xd7, 0xb1, 0xd6, 0xfe, 0xe0, 0xc1, 0xbd, 0x29, 0x0a,
- 0xa8, 0x9e, 0x01, 0x04, 0x41, 0x46, 0x01, 0x1f, 0xc2, 0xbb, 0x2a, 0x0b,
- 0xd3, 0xfe, 0xbc, 0xb6, 0xa2, 0x8e, 0x87, 0xdc, 0x10, 0x11, 0xe4, 0x90,
- 0x94, 0x0a, 0x01, 0x8f, 0x89, 0xdf, 0x0d, 0x0d, 0x75, 0x6f, 0x08, 0x09,
- 0x97, 0x02, 0x77, 0xb2, 0x68, 0xb0, 0xac, 0x01, 0x20, 0x47, 0x4b, 0x01,
- 0x3f, 0xd3, 0xc6, 0x2c, 0x0b, 0xaf, 0xaa, 0xfe, 0xe3, 0x48, 0x4d, 0xfe,
- 0xa1, 0xe8, 0x01, 0x08, 0x96, 0xb6, 0x01, 0x1d, 0x01, 0x0f, 0xa8, 0xa1,
- 0x0c, 0x01, 0x9b, 0x9f, 0xfe, 0xf6, 0x11, 0x12, 0xfe, 0xee, 0xa9, 0xa1,
- 0x09, 0x01, 0x31, 0x04, 0x04, 0x7f, 0x00, 0x02, 0x00, 0xbe, 0x00, 0x00,
- 0x05, 0x6f, 0x05, 0xd5, 0x00, 0x1d, 0x00, 0x28, 0x00, 0x00, 0x01, 0x16,
- 0x17, 0x16, 0x07, 0x06, 0x17, 0x16, 0x17, 0x15, 0x23, 0x26, 0x3d, 0x01,
- 0x34, 0x27, 0x26, 0x23, 0x21, 0x11, 0x23, 0x11, 0x21, 0x20, 0x17, 0x16,
- 0x15, 0x14, 0x07, 0x06, 0x03, 0x34, 0x27, 0x26, 0x23, 0x21, 0x11, 0x21,
- 0x32, 0x37, 0x36, 0x04, 0x4a, 0x9d, 0x23, 0x0e, 0x02, 0x02, 0x14, 0x15,
- 0x32, 0xe8, 0x29, 0x7b, 0x32, 0x49, 0xfe, 0x15, 0xbf, 0x02, 0xb1, 0x01,
- 0x28, 0x6a, 0x34, 0x67, 0x32, 0x2d, 0xa6, 0x35, 0x4a, 0xfe, 0x33, 0x01,
- 0xcd, 0xdb, 0x36, 0x14, 0x02, 0xe1, 0x44, 0x91, 0x3d, 0x89, 0x81, 0x39,
- 0x3a, 0x23, 0x2f, 0x60, 0x94, 0x85, 0xc3, 0x32, 0x15, 0xfd, 0x7d, 0x05,
- 0xd5, 0xb6, 0x5a, 0x7f, 0xab, 0x62, 0x30, 0x01, 0x22, 0xc9, 0x2b, 0x0e,
- 0xfd, 0xfe, 0x86, 0x32, 0x00, 0x01, 0x00, 0x62, 0xff, 0xd1, 0x04, 0xf8,
- 0x05, 0xee, 0x00, 0x32, 0x00, 0x00, 0x25, 0x20, 0x37, 0x36, 0x35, 0x34,
- 0x27, 0x26, 0x27, 0x25, 0x24, 0x11, 0x34, 0x37, 0x36, 0x33, 0x20, 0x17,
- 0x16, 0x17, 0x23, 0x26, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x15, 0x14,
- 0x17, 0x16, 0x17, 0x05, 0x16, 0x17, 0x16, 0x15, 0x14, 0x07, 0x06, 0x21,
- 0x20, 0x27, 0x26, 0x27, 0x33, 0x15, 0x14, 0x17, 0x16, 0x02, 0xbc, 0x01,
- 0x22, 0x47, 0x14, 0xa5, 0x2f, 0x3e, 0xfe, 0x8d, 0xfe, 0xdb, 0x9e, 0x8d,
- 0xe8, 0x01, 0x31, 0x8e, 0x63, 0x01, 0xb5, 0x02, 0xa5, 0x54, 0x79, 0xb2,
- 0x5c, 0x40, 0x4b, 0x37, 0x74, 0x01, 0x76, 0xd2, 0x4a, 0x22, 0x62, 0x97,
- 0xfe, 0xb1, 0xfe, 0xe4, 0x9c, 0x93, 0x03, 0xb5, 0x74, 0x6c, 0x79, 0xa8,
- 0x2f, 0x37, 0x87, 0x47, 0x14, 0x10, 0x62, 0x4c, 0x01, 0x10, 0xd7, 0x76,
- 0x6a, 0xa7, 0x74, 0xb4, 0xc1, 0x49, 0x25, 0x5e, 0x41, 0x5d, 0x62, 0x35,
- 0x27, 0x1f, 0x65, 0x39, 0x9d, 0x49, 0x57, 0x9f, 0x75, 0xb5, 0x8d, 0x86,
- 0xf7, 0x0a, 0xa7, 0x5c, 0x55, 0x00, 0x00, 0x01, 0x00, 0x2b, 0x00, 0x00,
- 0x04, 0xbe, 0x05, 0xd5, 0x00, 0x07, 0x00, 0x00, 0x01, 0x11, 0x23, 0x11,
- 0x21, 0x35, 0x21, 0x15, 0x02, 0xd5, 0xbe, 0xfe, 0x14, 0x04, 0x93, 0x05,
- 0x2d, 0xfa, 0xd3, 0x05, 0x2d, 0xa8, 0xa8, 0x00, 0x00, 0x01, 0x00, 0xae,
- 0xff, 0xd1, 0x05, 0x29, 0x05, 0xd5, 0x00, 0x15, 0x00, 0x00, 0x01, 0x33,
- 0x11, 0x14, 0x07, 0x06, 0x21, 0x20, 0x27, 0x26, 0x35, 0x11, 0x33, 0x11,
- 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x04, 0x6a, 0xbf, 0x9d,
- 0x9d, 0xfe, 0xfa, 0xfe, 0xe0, 0x9a, 0x81, 0xbf, 0xae, 0x56, 0x78, 0xd9,
- 0x66, 0x42, 0x05, 0xd5, 0xfb, 0xe7, 0xe1, 0x86, 0x84, 0x9a, 0x81, 0xd0,
- 0x04, 0x19, 0xfb, 0xe7, 0xd0, 0x4d, 0x26, 0x7b, 0x50, 0x78, 0x00, 0x01,
- 0x00, 0x3d, 0x00, 0x00, 0x05, 0x29, 0x05, 0xd5, 0x00, 0x06, 0x00, 0x00,
- 0x21, 0x23, 0x01, 0x33, 0x09, 0x01, 0x33, 0x03, 0x23, 0xcd, 0xfd, 0xe7,
- 0xcd, 0x01, 0xb7, 0x01, 0x9d, 0xcb, 0x05, 0xd5, 0xfb, 0x10, 0x04, 0xf0,
- 0x00, 0x01, 0x00, 0x2d, 0x00, 0x00, 0x07, 0x6f, 0x05, 0xd5, 0x00, 0x0c,
- 0x00, 0x00, 0x21, 0x23, 0x09, 0x01, 0x23, 0x01, 0x33, 0x09, 0x01, 0x33,
- 0x09, 0x01, 0x33, 0x05, 0xf4, 0xd1, 0xfe, 0xa8, 0xfe, 0xb2, 0xd1, 0xfe,
- 0x81, 0xd5, 0x01, 0x19, 0x01, 0x4b, 0xcd, 0x01, 0x54, 0x01, 0x13, 0xd5,
- 0x04, 0xcb, 0xfb, 0x35, 0x05, 0xd5, 0xfb, 0x44, 0x04, 0xbc, 0xfb, 0x44,
- 0x04, 0xbc, 0x00, 0x01, 0x00, 0x2d, 0x00, 0x00, 0x05, 0x31, 0x05, 0xd5,
- 0x00, 0x0b, 0x00, 0x00, 0x09, 0x01, 0x23, 0x09, 0x01, 0x23, 0x09, 0x01,
- 0x33, 0x09, 0x01, 0x33, 0x03, 0x21, 0x02, 0x10, 0xeb, 0xfe, 0x68, 0xfe,
- 0x66, 0xe7, 0x02, 0x10, 0xfe, 0x11, 0xe7, 0x01, 0x7f, 0x01, 0x81, 0xe4,
- 0x02, 0xfe, 0xfd, 0x02, 0x02, 0x6f, 0xfd, 0x91, 0x02, 0xfe, 0x02, 0xd7,
- 0xfd, 0xb6, 0x02, 0x4a, 0x00, 0x01, 0x00, 0x1b, 0x00, 0x00, 0x05, 0x4a,
- 0x05, 0xd5, 0x00, 0x08, 0x00, 0x00, 0x01, 0x11, 0x23, 0x11, 0x01, 0x33,
- 0x09, 0x01, 0x33, 0x03, 0x19, 0xbf, 0xfd, 0xc1, 0xeb, 0x01, 0xb6, 0x01,
- 0xaa, 0xe4, 0x02, 0x4a, 0xfd, 0xb6, 0x02, 0x4a, 0x03, 0x8b, 0xfd, 0x29,
- 0x02, 0xd7, 0x00, 0x01, 0x00, 0x39, 0x00, 0x00, 0x04, 0xaa, 0x05, 0xd5,
- 0x00, 0x09, 0x00, 0x00, 0x01, 0x15, 0x01, 0x21, 0x15, 0x21, 0x35, 0x01,
- 0x21, 0x35, 0x04, 0xa6, 0xfc, 0x83, 0x03, 0x81, 0xfb, 0x8f, 0x03, 0x81,
- 0xfc, 0xb9, 0x05, 0xd5, 0xac, 0xfb, 0x7f, 0xa8, 0xa8, 0x04, 0x85, 0xa8,
- 0x00, 0x01, 0x00, 0x83, 0xfe, 0x4e, 0x02, 0x00, 0x05, 0xd5, 0x00, 0x07,
- 0x00, 0x00, 0x01, 0x15, 0x23, 0x11, 0x33, 0x15, 0x21, 0x11, 0x02, 0x00,
- 0xd3, 0xd3, 0xfe, 0x83, 0x05, 0xd5, 0x93, 0xf9, 0x9f, 0x93, 0x07, 0x87,
- 0x00, 0x01, 0xff, 0xf0, 0xff, 0xd7, 0x02, 0x46, 0x05, 0xd5, 0x00, 0x03,
- 0x00, 0x00, 0x13, 0x01, 0x23, 0x01, 0x60, 0x01, 0xe6, 0x71, 0xfe, 0x1b,
- 0x05, 0xd5, 0xfa, 0x02, 0x05, 0xfe, 0x00, 0x01, 0x00, 0x2f, 0xfe, 0x4e,
- 0x01, 0xac, 0x05, 0xd5, 0x00, 0x07, 0x00, 0x00, 0x13, 0x35, 0x33, 0x11,
- 0x23, 0x35, 0x21, 0x11, 0x2f, 0xd3, 0xd3, 0x01, 0x7d, 0xfe, 0x4e, 0x93,
- 0x06, 0x61, 0x93, 0xf8, 0x79, 0x00, 0x00, 0x01, 0x00, 0x5a, 0x02, 0xa2,
- 0x03, 0x66, 0x05, 0xac, 0x00, 0x06, 0x00, 0x00, 0x01, 0x33, 0x01, 0x23,
- 0x0b, 0x01, 0x23, 0x01, 0x93, 0x96, 0x01, 0x3d, 0x8d, 0xfa, 0xf8, 0x8d,
- 0x05, 0xac, 0xfc, 0xf6, 0x02, 0x66, 0xfd, 0x9a, 0x00, 0x01, 0xff, 0xd3,
- 0xfe, 0x98, 0x04, 0xa0, 0xfe, 0xfe, 0x00, 0x03, 0x00, 0x00, 0x01, 0x15,
- 0x21, 0x35, 0x04, 0xa0, 0xfb, 0x33, 0xfe, 0xfe, 0x66, 0x66, 0x00, 0x01,
- 0x00, 0x2d, 0x04, 0xbc, 0x01, 0xd9, 0x05, 0xec, 0x00, 0x03, 0x00, 0x00,
- 0x01, 0x13, 0x23, 0x01, 0x01, 0x14, 0xc5, 0x7b, 0xfe, 0xcf, 0x05, 0xec,
- 0xfe, 0xd0, 0x01, 0x30, 0x00, 0x02, 0x00, 0x56, 0xff, 0xd1, 0x04, 0x48,
- 0x04, 0x50, 0x00, 0x31, 0x00, 0x40, 0x00, 0x00, 0x13, 0x12, 0x25, 0x36,
- 0x33, 0x20, 0x17, 0x16, 0x15, 0x11, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37,
- 0x15, 0x06, 0x23, 0x22, 0x27, 0x26, 0x27, 0x06, 0x07, 0x06, 0x23, 0x22,
- 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36, 0x37, 0x36,
- 0x3d, 0x01, 0x34, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x07, 0x13, 0x32,
- 0x37, 0x36, 0x3d, 0x01, 0x06, 0x07, 0x06, 0x07, 0x06, 0x15, 0x14, 0x17,
- 0x16, 0x85, 0x0a, 0x01, 0x43, 0x2e, 0x33, 0x01, 0x31, 0x4c, 0x17, 0x46,
- 0x0a, 0x0c, 0x12, 0x13, 0x48, 0x2d, 0x7f, 0x23, 0x0a, 0x04, 0x90, 0x94,
- 0x23, 0x26, 0xc0, 0x5e, 0x42, 0x77, 0x54, 0xc6, 0x25, 0x5e, 0x84, 0x20,
- 0x0f, 0x82, 0x30, 0x3e, 0xb7, 0x31, 0x0f, 0x05, 0xaa, 0x9b, 0x61, 0x46,
- 0x38, 0x98, 0x9c, 0x3c, 0x6d, 0x66, 0x2e, 0x02, 0xf4, 0x01, 0x30, 0x27,
- 0x05, 0xae, 0x34, 0x43, 0xfd, 0x89, 0x48, 0x0a, 0x02, 0x04, 0x81, 0x12,
- 0x5e, 0x1c, 0x24, 0x84, 0x15, 0x05, 0x74, 0x51, 0x78, 0xb0, 0x4c, 0x36,
- 0x1d, 0x06, 0x0c, 0x10, 0x2d, 0x16, 0x23, 0x2d, 0x72, 0x22, 0x0c, 0x70,
- 0x21, 0x2d, 0xfd, 0x72, 0x5d, 0x43, 0x4c, 0xc0, 0x19, 0x17, 0x17, 0x1b,
- 0x31, 0x6d, 0x70, 0x29, 0x13, 0x00, 0x00, 0x02, 0x00, 0x6f, 0xff, 0xd1,
- 0x04, 0x2f, 0x05, 0xd5, 0x00, 0x14, 0x00, 0x24, 0x00, 0x00, 0x13, 0x33,
- 0x11, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x10, 0x07, 0x06,
- 0x23, 0x22, 0x27, 0x26, 0x27, 0x15, 0x23, 0x01, 0x22, 0x07, 0x06, 0x15,
- 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x6f,
- 0xaa, 0x68, 0xb6, 0x16, 0x17, 0xdd, 0x7c, 0x72, 0x8a, 0x7e, 0xcb, 0xd5,
- 0x77, 0x04, 0x04, 0x99, 0x01, 0xd5, 0x91, 0x53, 0x47, 0x6b, 0x4d, 0x73,
- 0x90, 0x57, 0x52, 0x6e, 0x51, 0x05, 0xd5, 0xfd, 0xcb, 0x9f, 0x0f, 0x02,
- 0xa3, 0x96, 0xfa, 0xfe, 0xe8, 0xa1, 0x93, 0xac, 0x06, 0x06, 0x89, 0x03,
- 0xb0, 0x81, 0x6f, 0xb0, 0xdb, 0x72, 0x52, 0x78, 0x71, 0xb0, 0xdd, 0x73,
- 0x56, 0x00, 0x00, 0x01, 0x00, 0x3f, 0xff, 0xd1, 0x03, 0xd1, 0x04, 0x50,
- 0x00, 0x1f, 0x00, 0x00, 0x01, 0x23, 0x26, 0x27, 0x26, 0x23, 0x22, 0x07,
- 0x06, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x13, 0x33, 0x06, 0x07, 0x06,
- 0x23, 0x22, 0x27, 0x26, 0x11, 0x10, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16,
- 0x03, 0xc5, 0xac, 0x18, 0x83, 0x2c, 0x37, 0xa5, 0x4d, 0x37, 0x7a, 0x49,
- 0x6a, 0xdb, 0x2b, 0xac, 0x13, 0xa3, 0x69, 0x97, 0xde, 0x81, 0x7d, 0x8b,
- 0x82, 0xd1, 0xf3, 0x6d, 0x3d, 0x02, 0xc9, 0xa9, 0x30, 0x10, 0x99, 0x6c,
- 0xa7, 0xf0, 0x69, 0x3e, 0x01, 0x02, 0xf0, 0x6b, 0x45, 0x9d, 0x99, 0x00,
- 0xff, 0x01, 0x14, 0xa1, 0x95, 0xa5, 0x5c, 0x00, 0x00, 0x02, 0x00, 0x35,
- 0xff, 0xd1, 0x03, 0xf6, 0x05, 0xd5, 0x00, 0x14, 0x00, 0x24, 0x00, 0x00,
- 0x01, 0x11, 0x23, 0x35, 0x06, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x11,
- 0x10, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x11, 0x01, 0x22, 0x07,
- 0x06, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27,
- 0x26, 0x03, 0xf6, 0x98, 0x62, 0x85, 0x32, 0x3d, 0xe2, 0x7e, 0x73, 0x87,
- 0x7d, 0xc9, 0xd4, 0x6e, 0x04, 0x04, 0xfe, 0xd3, 0x93, 0x57, 0x4e, 0x6b,
- 0x53, 0x7c, 0x8f, 0x53, 0x49, 0x6e, 0x4d, 0x05, 0xd5, 0xfa, 0x2b, 0x8d,
- 0x8e, 0x21, 0x0d, 0xaa, 0x9b, 0x01, 0x05, 0x01, 0x0a, 0x9c, 0x8f, 0x9a,
- 0x06, 0x06, 0x02, 0x2b, 0xfd, 0xdb, 0x7d, 0x71, 0xb2, 0xd2, 0x73, 0x5a,
- 0x7d, 0x6f, 0xaf, 0xe2, 0x72, 0x50, 0x00, 0x02, 0x00, 0x52, 0xff, 0xd1,
- 0x04, 0x1b, 0x04, 0x50, 0x00, 0x1d, 0x00, 0x28, 0x00, 0x00, 0x01, 0x21,
- 0x16, 0x17, 0x16, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x33, 0x06,
- 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x35, 0x10, 0x37, 0x36, 0x33, 0x32,
- 0x17, 0x16, 0x17, 0x16, 0x05, 0x21, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23,
- 0x22, 0x07, 0x06, 0x04, 0x1b, 0xfc, 0xe9, 0x02, 0x28, 0x07, 0x08, 0x4f,
- 0x90, 0x11, 0x12, 0xd2, 0x47, 0xac, 0x27, 0xa3, 0x6d, 0x94, 0xec, 0x83,
- 0x78, 0x8d, 0x85, 0xd9, 0xc5, 0x83, 0x46, 0x25, 0x2b, 0xfc, 0xed, 0x02,
- 0x5a, 0x02, 0x5a, 0x55, 0x7a, 0x95, 0x56, 0x3e, 0x01, 0xdf, 0x84, 0x48,
- 0x0d, 0x0c, 0x7b, 0x0e, 0x02, 0xd7, 0xd3, 0x61, 0x41, 0xa6, 0x97, 0xfc,
- 0x01, 0x11, 0x9f, 0x96, 0x7c, 0x42, 0x5d, 0x73, 0x58, 0x05, 0x08, 0x88,
- 0x5c, 0x57, 0x74, 0x55, 0x00, 0x01, 0x00, 0x25, 0x00, 0x00, 0x02, 0x10,
- 0x05, 0xdb, 0x00, 0x15, 0x00, 0x00, 0x01, 0x15, 0x23, 0x11, 0x23, 0x11,
- 0x23, 0x35, 0x33, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x15, 0x26,
- 0x23, 0x22, 0x1d, 0x01, 0x02, 0x10, 0xb2, 0xaa, 0x8f, 0x8f, 0x72, 0x3a,
- 0x50, 0x2f, 0x31, 0x27, 0x14, 0x77, 0x04, 0x31, 0x8b, 0xfc, 0x5a, 0x03,
- 0xa6, 0x8b, 0xb6, 0x9a, 0x3c, 0x1e, 0x0a, 0x8d, 0x02, 0x6d, 0xa8, 0x00,
- 0x00, 0x02, 0x00, 0x3b, 0xfe, 0x42, 0x03, 0xe9, 0x04, 0x50, 0x00, 0x2a,
- 0x00, 0x3a, 0x00, 0x00, 0x05, 0x22, 0x27, 0x26, 0x27, 0x26, 0x35, 0x10,
- 0x37, 0x36, 0x37, 0x32, 0x33, 0x32, 0x17, 0x16, 0x17, 0x35, 0x33, 0x11,
- 0x10, 0x07, 0x06, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x27, 0x33, 0x16,
- 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x3d, 0x01, 0x06, 0x07, 0x06, 0x03,
- 0x22, 0x07, 0x06, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35,
- 0x10, 0x27, 0x26, 0x01, 0xf6, 0xac, 0x79, 0x89, 0x0c, 0x01, 0x80, 0x78,
- 0xbf, 0x09, 0x09, 0xc4, 0x7e, 0x03, 0x03, 0x9d, 0x45, 0x5a, 0xf0, 0x26,
- 0x2a, 0xf3, 0x70, 0x3f, 0x0a, 0xae, 0x18, 0xa2, 0x22, 0x28, 0xbe, 0x41,
- 0x2c, 0x64, 0x73, 0x32, 0x1b, 0x99, 0x50, 0x40, 0x78, 0x49, 0x6a, 0x9b,
- 0x4d, 0x3a, 0x80, 0x44, 0x2f, 0x81, 0x91, 0xf8, 0x15, 0x16, 0x01, 0x07,
- 0xa3, 0x98, 0x08, 0xb1, 0x04, 0x05, 0x9b, 0xfc, 0x7f, 0xfe, 0xe3, 0x87,
- 0xb0, 0x16, 0x04, 0x89, 0x4c, 0x6e, 0x92, 0x1c, 0x06, 0x82, 0x58, 0xaf,
- 0x37, 0x8d, 0x24, 0x0f, 0x03, 0xe1, 0x89, 0x6d, 0xac, 0xf4, 0x6c, 0x41,
- 0x8d, 0x69, 0xa5, 0x01, 0x09, 0x68, 0x37, 0x00, 0x00, 0x01, 0x00, 0x8f,
- 0x00, 0x00, 0x03, 0xe3, 0x05, 0xd5, 0x00, 0x17, 0x00, 0x00, 0x01, 0x34,
- 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0x11,
- 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x11, 0x23, 0x03, 0x39,
- 0x79, 0x2f, 0x35, 0x91, 0x50, 0x42, 0xaa, 0xaa, 0x5e, 0x67, 0x3e, 0x55,
- 0xbe, 0x59, 0x3b, 0xaa, 0x02, 0xe7, 0x90, 0x30, 0x13, 0x75, 0x61, 0x94,
- 0xfd, 0xb0, 0x05, 0xd5, 0xfd, 0xc9, 0x7a, 0x23, 0x15, 0x70, 0x4a, 0x6b,
- 0xfc, 0xd5, 0x00, 0x02, 0x00, 0x87, 0x00, 0x00, 0x01, 0x33, 0x05, 0xd5,
- 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x01, 0x15, 0x23, 0x35, 0x13, 0x11,
- 0x23, 0x11, 0x01, 0x33, 0xac, 0xac, 0xa9, 0x05, 0xd5, 0xd7, 0xd7, 0xfe,
- 0x5c, 0xfb, 0xcf, 0x04, 0x31, 0x00, 0x00, 0x02, 0xff, 0xdb, 0xfe, 0x42,
- 0x01, 0x39, 0x05, 0xd5, 0x00, 0x03, 0x00, 0x13, 0x00, 0x00, 0x01, 0x15,
- 0x23, 0x35, 0x11, 0x33, 0x11, 0x14, 0x07, 0x06, 0x23, 0x22, 0x27, 0x35,
- 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x01, 0x39, 0xaa, 0xaa, 0xce, 0x28,
- 0x2f, 0x1a, 0x1f, 0x23, 0x06, 0x5d, 0x1c, 0x12, 0x05, 0xd5, 0xd7, 0xd7,
- 0xfe, 0x5c, 0xfa, 0xf0, 0xb9, 0x20, 0x06, 0x06, 0x91, 0x02, 0x2e, 0x1f,
- 0x40, 0x00, 0x00, 0x01, 0x00, 0x77, 0x00, 0x00, 0x04, 0x04, 0x05, 0xd5,
- 0x00, 0x0b, 0x00, 0x00, 0x01, 0x11, 0x01, 0x33, 0x09, 0x01, 0x23, 0x01,
- 0x07, 0x11, 0x23, 0x11, 0x01, 0x21, 0x01, 0xc6, 0xdc, 0xfe, 0x8b, 0x01,
- 0xb6, 0xd3, 0xfe, 0x96, 0xa6, 0xaa, 0x05, 0xd5, 0xfc, 0x95, 0x01, 0xc7,
- 0xfe, 0x8d, 0xfd, 0x42, 0x02, 0x46, 0xa4, 0xfe, 0x5e, 0x05, 0xd5, 0x00,
- 0x00, 0x01, 0x00, 0x8b, 0x00, 0x00, 0x01, 0x37, 0x05, 0xd5, 0x00, 0x03,
- 0x00, 0x00, 0x01, 0x11, 0x23, 0x11, 0x01, 0x37, 0xac, 0x05, 0xd5, 0xfa,
- 0x2b, 0x05, 0xd5, 0x00, 0x00, 0x01, 0x00, 0x8f, 0x00, 0x00, 0x06, 0x19,
- 0x04, 0x50, 0x00, 0x2a, 0x00, 0x00, 0x13, 0x33, 0x15, 0x36, 0x37, 0x36,
- 0x33, 0x32, 0x17, 0x16, 0x17, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16,
- 0x15, 0x11, 0x23, 0x11, 0x34, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x15,
- 0x11, 0x23, 0x11, 0x34, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x15, 0x11,
- 0x23, 0x8f, 0x9e, 0x5d, 0x72, 0x36, 0x45, 0x9d, 0x54, 0x1a, 0x16, 0x5e,
- 0x62, 0x3a, 0x4f, 0xd4, 0x46, 0x1e, 0xac, 0x62, 0x2b, 0x3a, 0x6c, 0x4a,
- 0x46, 0xac, 0x71, 0x25, 0x31, 0x6c, 0x4a, 0x46, 0xac, 0x04, 0x31, 0x97,
- 0x83, 0x22, 0x11, 0x5e, 0x1e, 0x28, 0x71, 0x20, 0x13, 0x95, 0x40, 0x56,
- 0xfc, 0xdb, 0x02, 0xe3, 0x8e, 0x32, 0x17, 0x56, 0x51, 0x71, 0xfd, 0x5e,
- 0x02, 0xe3, 0x9c, 0x2c, 0x0f, 0x56, 0x51, 0x71, 0xfd, 0x5e, 0x00, 0x01,
- 0x00, 0x8f, 0x00, 0x00, 0x03, 0xe5, 0x04, 0x50, 0x00, 0x17, 0x00, 0x00,
- 0x13, 0x33, 0x15, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x11,
- 0x23, 0x11, 0x34, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x15, 0x11, 0x23,
- 0x8f, 0x9e, 0x5d, 0x7a, 0x3d, 0x50, 0xb6, 0x5d, 0x41, 0xaa, 0x5c, 0x35,
- 0x4c, 0x91, 0x50, 0x42, 0xac, 0x04, 0x31, 0xb4, 0x94, 0x2a, 0x15, 0x6b,
- 0x4b, 0x6f, 0xfc, 0xd5, 0x02, 0xe7, 0x7a, 0x38, 0x21, 0x75, 0x61, 0x94,
- 0xfd, 0xb0, 0x00, 0x02, 0x00, 0x4a, 0xff, 0xd1, 0x04, 0x14, 0x04, 0x50,
- 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x00, 0x01, 0x20, 0x17, 0x16, 0x15, 0x10,
- 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x35, 0x10, 0x37, 0x36, 0x17, 0x22,
- 0x07, 0x06, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34,
- 0x27, 0x26, 0x02, 0x2d, 0x01, 0x08, 0x7f, 0x60, 0x9a, 0x7f, 0xcc, 0xf9,
- 0x81, 0x6b, 0xa0, 0x7c, 0xc9, 0x9f, 0x53, 0x41, 0x77, 0x4c, 0x70, 0x9d,
- 0x53, 0x43, 0x7e, 0x4a, 0x04, 0x50, 0xc3, 0x95, 0xf0, 0xfe, 0xde, 0x98,
- 0x7d, 0xb4, 0x95, 0xf6, 0x01, 0x2f, 0x99, 0x78, 0x9e, 0x8a, 0x6d, 0xab,
- 0xee, 0x6d, 0x46, 0x86, 0x6c, 0xa9, 0xfd, 0x6c, 0x3f, 0x00, 0x00, 0x02,
- 0x00, 0x6f, 0xfe, 0x42, 0x04, 0x2f, 0x04, 0x50, 0x00, 0x11, 0x00, 0x21,
- 0x00, 0x00, 0x13, 0x11, 0x33, 0x15, 0x36, 0x20, 0x17, 0x16, 0x11, 0x10,
- 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x27, 0x11, 0x01, 0x22, 0x07, 0x06,
- 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26,
- 0x6f, 0x9d, 0x7a, 0x01, 0xb8, 0x7d, 0x74, 0x88, 0x7c, 0xc7, 0xa9, 0x72,
- 0x17, 0x17, 0x01, 0x2b, 0x91, 0x53, 0x47, 0x6b, 0x4d, 0x73, 0x91, 0x57,
- 0x4f, 0x6d, 0x51, 0xfe, 0x42, 0x05, 0xef, 0xa2, 0xc1, 0xa7, 0x9d, 0xfe,
- 0xfa, 0xfe, 0xf5, 0x9c, 0x8e, 0x6d, 0x17, 0x1c, 0xfd, 0xd1, 0x05, 0x6e,
- 0x81, 0x6f, 0xb0, 0xdb, 0x72, 0x52, 0x7a, 0x70, 0xaf, 0xdc, 0x73, 0x57,
- 0x00, 0x02, 0x00, 0x35, 0xfe, 0x42, 0x03, 0xf6, 0x04, 0x50, 0x00, 0x14,
- 0x00, 0x24, 0x00, 0x00, 0x01, 0x23, 0x11, 0x06, 0x07, 0x06, 0x23, 0x22,
- 0x27, 0x26, 0x35, 0x10, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x35,
- 0x33, 0x05, 0x22, 0x07, 0x06, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37,
- 0x36, 0x35, 0x34, 0x27, 0x26, 0x03, 0xf6, 0xaa, 0x60, 0x9d, 0x25, 0x2a,
- 0xdd, 0x7c, 0x72, 0x89, 0x7f, 0xcb, 0xc3, 0x7a, 0x0d, 0x0c, 0x98, 0xfe,
- 0x2b, 0x94, 0x57, 0x4f, 0x6b, 0x53, 0x7c, 0x8f, 0x53, 0x49, 0x6d, 0x4d,
- 0xfe, 0x42, 0x02, 0x39, 0x8d, 0x17, 0x06, 0xa3, 0x96, 0xfa, 0x01, 0x15,
- 0xa2, 0x95, 0x8e, 0x0f, 0x11, 0x8f, 0x81, 0x7d, 0x71, 0xb2, 0xd2, 0x73,
- 0x5a, 0x7d, 0x6e, 0xae, 0xe3, 0x73, 0x50, 0x00, 0x00, 0x01, 0x00, 0x8d,
- 0x00, 0x00, 0x02, 0x91, 0x04, 0x50, 0x00, 0x0f, 0x00, 0x00, 0x01, 0x06,
- 0x07, 0x06, 0x15, 0x11, 0x23, 0x11, 0x33, 0x15, 0x36, 0x37, 0x36, 0x33,
- 0x32, 0x17, 0x02, 0x91, 0xb0, 0x4e, 0x5a, 0xac, 0x9e, 0x64, 0x5f, 0x2d,
- 0x35, 0x17, 0x2a, 0x03, 0x9c, 0x03, 0x49, 0x55, 0xce, 0xfd, 0xd3, 0x04,
- 0x31, 0xc2, 0xa2, 0x2b, 0x14, 0x06, 0x00, 0x01, 0x00, 0x46, 0xff, 0xd1,
- 0x03, 0xac, 0x04, 0x50, 0x00, 0x32, 0x00, 0x00, 0x13, 0x1e, 0x01, 0x33,
- 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x2f, 0x01, 0x26, 0x27, 0x26,
- 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x23, 0x26, 0x27,
- 0x26, 0x23, 0x22, 0x07, 0x06, 0x15, 0x14, 0x17, 0x16, 0x1f, 0x01, 0x16,
- 0x17, 0x16, 0x15, 0x14, 0x07, 0x06, 0x23, 0x20, 0x27, 0x26, 0x27, 0xfa,
- 0x0f, 0x7e, 0x79, 0x93, 0x42, 0x25, 0x4f, 0x22, 0x35, 0xa0, 0xd4, 0x48,
- 0x38, 0x80, 0x6f, 0xad, 0xfc, 0x5c, 0x2c, 0x01, 0xb4, 0x05, 0xa3, 0x16,
- 0x19, 0x8f, 0x3a, 0x1b, 0x65, 0x28, 0x3a, 0xa4, 0xd1, 0x3e, 0x20, 0x88,
- 0x76, 0xbc, 0xfe, 0xa4, 0x41, 0x0d, 0x02, 0x01, 0x3f, 0x72, 0x5e, 0x4a,
- 0x28, 0x36, 0x50, 0x27, 0x11, 0x0d, 0x27, 0x33, 0x52, 0x41, 0x6f, 0xa1,
- 0x5a, 0x4d, 0x9a, 0x49, 0x67, 0x96, 0x13, 0x03, 0x4d, 0x25, 0x30, 0x50,
- 0x2b, 0x10, 0x0e, 0x27, 0x32, 0x6d, 0x3a, 0x52, 0xa6, 0x5d, 0x51, 0xfc,
- 0x34, 0x3e, 0x00, 0x01, 0x00, 0x1d, 0xff, 0xd1, 0x02, 0x08, 0x05, 0x58,
- 0x00, 0x17, 0x00, 0x00, 0x01, 0x15, 0x23, 0x11, 0x14, 0x17, 0x16, 0x33,
- 0x32, 0x37, 0x15, 0x06, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x23, 0x35,
- 0x33, 0x11, 0x33, 0x11, 0x02, 0x08, 0xb0, 0x1f, 0x14, 0x2b, 0x36, 0x1c,
- 0x50, 0x3b, 0x9e, 0x26, 0x0b, 0x91, 0x91, 0xaa, 0x04, 0x31, 0x8b, 0xfd,
- 0x21, 0x45, 0x11, 0x0b, 0x09, 0x90, 0x0e, 0x69, 0x1d, 0x24, 0x03, 0x2b,
- 0x8b, 0x01, 0x27, 0xfe, 0xd9, 0x00, 0x00, 0x01, 0x00, 0x85, 0xff, 0xd1,
- 0x03, 0xdb, 0x04, 0x31, 0x00, 0x17, 0x00, 0x00, 0x21, 0x23, 0x35, 0x06,
- 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x35, 0x11, 0x33, 0x11, 0x14, 0x17,
- 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x03, 0xdb, 0x99, 0x60,
- 0x71, 0x41, 0x55, 0xb9, 0x5c, 0x41, 0xaa, 0x5c, 0x35, 0x4c, 0x93, 0x50,
- 0x42, 0xaa, 0x96, 0x87, 0x28, 0x16, 0x6c, 0x4b, 0x6e, 0x03, 0x3b, 0xfd,
- 0x08, 0x7a, 0x38, 0x21, 0x76, 0x61, 0x94, 0x02, 0x60, 0x00, 0x00, 0x01,
- 0x00, 0x14, 0x00, 0x00, 0x03, 0xe3, 0x04, 0x31, 0x00, 0x06, 0x00, 0x00,
- 0x21, 0x23, 0x01, 0x33, 0x09, 0x01, 0x33, 0x02, 0x48, 0xbb, 0xfe, 0x87,
- 0xc1, 0x01, 0x1f, 0x01, 0x2f, 0xc0, 0x04, 0x31, 0xfc, 0x9a, 0x03, 0x66,
- 0x00, 0x01, 0x00, 0x0c, 0x00, 0x00, 0x05, 0xaa, 0x04, 0x31, 0x00, 0x0c,
- 0x00, 0x00, 0x21, 0x23, 0x0b, 0x01, 0x23, 0x01, 0x33, 0x1b, 0x01, 0x33,
- 0x1b, 0x01, 0x33, 0x04, 0x6f, 0xc3, 0xd9, 0xcf, 0xc0, 0xfe, 0xc8, 0xbd,
- 0xdb, 0xcd, 0xd1, 0xd2, 0xd5, 0xc1, 0x03, 0x4a, 0xfc, 0xb6, 0x04, 0x31,
- 0xfc, 0xbd, 0x03, 0x43, 0xfc, 0xbd, 0x03, 0x43, 0x00, 0x01, 0x00, 0x23,
- 0x00, 0x00, 0x03, 0xc9, 0x04, 0x31, 0x00, 0x0b, 0x00, 0x00, 0x09, 0x01,
- 0x23, 0x09, 0x01, 0x23, 0x09, 0x01, 0x33, 0x09, 0x01, 0x33, 0x02, 0x56,
- 0x01, 0x73, 0xc7, 0xfe, 0xf4, 0xfe, 0xef, 0xc2, 0x01, 0x7b, 0xfe, 0x99,
- 0xc3, 0x01, 0x02, 0x01, 0x02, 0xc0, 0x02, 0x2b, 0xfd, 0xd5, 0x01, 0x9c,
- 0xfe, 0x64, 0x02, 0x23, 0x02, 0x0e, 0xfe, 0x7b, 0x01, 0x85, 0x00, 0x01,
- 0x00, 0x29, 0xfe, 0x42, 0x03, 0xd3, 0x04, 0x31, 0x00, 0x11, 0x00, 0x00,
- 0x01, 0x33, 0x01, 0x06, 0x23, 0x22, 0x27, 0x35, 0x16, 0x33, 0x32, 0x37,
- 0x36, 0x3f, 0x01, 0x01, 0x33, 0x01, 0x03, 0x1b, 0xb8, 0xfe, 0x23, 0x54,
- 0xc1, 0x41, 0x31, 0x3b, 0x1f, 0x4c, 0x24, 0x0d, 0x0c, 0x41, 0xfe, 0x96,
- 0xb6, 0x01, 0x13, 0x04, 0x31, 0xfa, 0xee, 0xdd, 0x1a, 0x9a, 0x0d, 0x36,
- 0x15, 0x1e, 0xaa, 0x04, 0x35, 0xfc, 0xbd, 0x00, 0x00, 0x01, 0x00, 0x3f,
- 0x00, 0x00, 0x03, 0xa8, 0x04, 0x31, 0x00, 0x09, 0x00, 0x00, 0x01, 0x15,
- 0x01, 0x21, 0x15, 0x21, 0x35, 0x01, 0x21, 0x35, 0x03, 0x8b, 0xfd, 0x83,
- 0x02, 0x9a, 0xfc, 0x97, 0x02, 0x82, 0xfd, 0xa9, 0x04, 0x31, 0x97, 0xfc,
- 0xfc, 0x96, 0x9a, 0x03, 0x02, 0x95, 0x00, 0x01, 0x00, 0x58, 0xfe, 0x4e,
- 0x02, 0x35, 0x05, 0xd5, 0x00, 0x2a, 0x00, 0x00, 0x01, 0x15, 0x23, 0x22,
- 0x07, 0x06, 0x15, 0x11, 0x14, 0x07, 0x06, 0x07, 0x16, 0x17, 0x16, 0x15,
- 0x11, 0x14, 0x17, 0x16, 0x3b, 0x01, 0x15, 0x23, 0x22, 0x27, 0x26, 0x35,
- 0x11, 0x34, 0x27, 0x26, 0x27, 0x35, 0x36, 0x37, 0x36, 0x35, 0x11, 0x34,
- 0x37, 0x36, 0x33, 0x02, 0x35, 0x1e, 0x55, 0x19, 0x13, 0x3d, 0x25, 0x46,
- 0x8b, 0x18, 0x05, 0x25, 0x1b, 0x41, 0x1e, 0x5e, 0x8e, 0x36, 0x1b, 0x32,
- 0x23, 0x4b, 0x5e, 0x22, 0x20, 0x6f, 0x30, 0x40, 0x05, 0xd5, 0x85, 0x26,
- 0x1e, 0x45, 0xfe, 0x8d, 0xae, 0x4a, 0x2e, 0x1c, 0x41, 0xad, 0x27, 0x2e,
- 0xfe, 0x8d, 0x5b, 0x1a, 0x14, 0x85, 0x7a, 0x3d, 0x55, 0x01, 0x56, 0xa6,
- 0x3c, 0x2a, 0x0f, 0x8d, 0x13, 0x41, 0x3d, 0x8a, 0x01, 0x56, 0xb3, 0x3e,
- 0x1b, 0x00, 0x00, 0x01, 0x00, 0xcd, 0xfe, 0x4e, 0x01, 0x48, 0x05, 0xd5,
- 0x00, 0x03, 0x00, 0x00, 0x13, 0x33, 0x11, 0x23, 0xcd, 0x7b, 0x7b, 0x05,
- 0xd5, 0xf8, 0x79, 0x00, 0x00, 0x01, 0x00, 0x3b, 0xfe, 0x4e, 0x02, 0x19,
- 0x05, 0xd5, 0x00, 0x2a, 0x00, 0x00, 0x13, 0x35, 0x33, 0x32, 0x37, 0x36,
- 0x35, 0x11, 0x34, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x35, 0x11, 0x34,
- 0x27, 0x26, 0x2b, 0x01, 0x35, 0x33, 0x32, 0x17, 0x16, 0x15, 0x11, 0x14,
- 0x17, 0x16, 0x17, 0x15, 0x06, 0x07, 0x06, 0x15, 0x11, 0x14, 0x07, 0x06,
- 0x23, 0x3b, 0x21, 0x56, 0x1a, 0x13, 0x79, 0x15, 0x1a, 0x8f, 0x15, 0x04,
- 0x25, 0x1c, 0x42, 0x21, 0x61, 0x92, 0x35, 0x1a, 0x33, 0x22, 0x47, 0x5d,
- 0x21, 0x1e, 0x71, 0x30, 0x40, 0xfe, 0x4e, 0x85, 0x26, 0x1d, 0x46, 0x01,
- 0x73, 0xd4, 0x53, 0x0f, 0x0b, 0x43, 0xb7, 0x22, 0x28, 0x01, 0x73, 0x5b,
- 0x1a, 0x14, 0x85, 0x7d, 0x3c, 0x53, 0xfe, 0xaa, 0xa7, 0x3c, 0x29, 0x0f,
- 0x8d, 0x14, 0x44, 0x3e, 0x85, 0xfe, 0xaa, 0xb4, 0x3e, 0x1a, 0x00, 0x01,
- 0x00, 0x9a, 0x02, 0x25, 0x04, 0x10, 0x03, 0x81, 0x00, 0x1f, 0x00, 0x00,
- 0x01, 0x22, 0x07, 0x06, 0x15, 0x23, 0x36, 0x37, 0x36, 0x33, 0x32, 0x1f,
- 0x01, 0x16, 0x33, 0x32, 0x37, 0x36, 0x3d, 0x01, 0x33, 0x15, 0x14, 0x07,
- 0x06, 0x23, 0x22, 0x2f, 0x01, 0x26, 0x27, 0x26, 0x01, 0x73, 0x5e, 0x0e,
- 0x01, 0x6c, 0x0c, 0x87, 0x22, 0x28, 0x39, 0x35, 0xf0, 0x39, 0x2d, 0x51,
- 0x12, 0x06, 0x6c, 0x59, 0x35, 0x49, 0x4f, 0x57, 0xc8, 0x28, 0x28, 0x05,
- 0x02, 0xf8, 0x95, 0x05, 0x06, 0xea, 0x32, 0x0d, 0x21, 0x8d, 0x23, 0x4d,
- 0x1b, 0x27, 0x0b, 0x21, 0x96, 0x45, 0x29, 0x35, 0x81, 0x17, 0x05, 0x01,
- 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x06,
- 0x00, 0x04, 0x00, 0x00, 0xff, 0xff, 0x00, 0xfa, 0xfe, 0x5c, 0x01, 0xa6,
- 0x04, 0x31, 0x10, 0x0f, 0x00, 0x05, 0x02, 0xa4, 0x04, 0x31, 0xc0, 0x00,
- 0x00, 0x02, 0x00, 0x6a, 0xff, 0x0a, 0x04, 0x14, 0x05, 0x06, 0x00, 0x1e,
- 0x00, 0x27, 0x00, 0x00, 0x01, 0x11, 0x36, 0x37, 0x33, 0x06, 0x07, 0x06,
- 0x07, 0x15, 0x23, 0x35, 0x26, 0x27, 0x26, 0x35, 0x10, 0x37, 0x36, 0x37,
- 0x35, 0x33, 0x15, 0x16, 0x17, 0x16, 0x17, 0x23, 0x26, 0x27, 0x26, 0x03,
- 0x11, 0x06, 0x03, 0x06, 0x15, 0x14, 0x17, 0x16, 0x02, 0x7f, 0xc6, 0x23,
- 0xac, 0x0c, 0x8f, 0x65, 0x95, 0x56, 0xe0, 0x78, 0x67, 0x96, 0x73, 0xb6,
- 0x56, 0xef, 0x62, 0x32, 0x06, 0xac, 0x0f, 0x6b, 0x2c, 0x8d, 0xe7, 0x20,
- 0x05, 0x80, 0x3b, 0x03, 0xb2, 0xfc, 0xbb, 0x15, 0xef, 0xd8, 0x71, 0x50,
- 0x07, 0xc7, 0xc9, 0x14, 0xac, 0x93, 0xe0, 0x01, 0x1a, 0xa0, 0x7b, 0x13,
- 0xb8, 0xb6, 0x11, 0xa9, 0x56, 0x77, 0x93, 0x3a, 0x18, 0xfc, 0xc3, 0x03,
- 0x3f, 0x2b, 0xfe, 0xdf, 0x2c, 0x32, 0xef, 0x69, 0x31, 0x00, 0x00, 0x01,
- 0x00, 0x35, 0xff, 0xd1, 0x04, 0x48, 0x05, 0xd5, 0x00, 0x41, 0x00, 0x00,
- 0x01, 0x14, 0x1f, 0x01, 0x16, 0x17, 0x21, 0x15, 0x21, 0x16, 0x15, 0x14,
- 0x07, 0x06, 0x07, 0x36, 0x33, 0x32, 0x17, 0x16, 0x33, 0x32, 0x37, 0x17,
- 0x06, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26, 0x23, 0x22, 0x07,
- 0x27, 0x36, 0x37, 0x36, 0x35, 0x34, 0x27, 0x23, 0x35, 0x33, 0x26, 0x27,
- 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17,
- 0x23, 0x02, 0x21, 0x22, 0x07, 0x06, 0x01, 0x2d, 0x34, 0x3e, 0x04, 0x03,
- 0x01, 0x48, 0xfe, 0xe9, 0x1f, 0x4f, 0x35, 0x6e, 0x79, 0x81, 0x45, 0x72,
- 0x60, 0x33, 0x4f, 0x5b, 0x56, 0x67, 0x7b, 0x15, 0x16, 0x58, 0x82, 0x75,
- 0x36, 0x17, 0x16, 0x6d, 0x72, 0x62, 0xb3, 0x31, 0x1c, 0x31, 0xe2, 0xa6,
- 0x54, 0x0f, 0x09, 0x7a, 0x7a, 0xba, 0x1c, 0x1d, 0xf8, 0x74, 0x54, 0x03,
- 0xb5, 0x09, 0xfe, 0xf3, 0x9a, 0x50, 0x37, 0x04, 0x2f, 0x56, 0x5d, 0x6d,
- 0x06, 0x07, 0x71, 0x57, 0x3a, 0x5f, 0x6c, 0x49, 0x6f, 0x50, 0x23, 0x1d,
- 0x3e, 0x87, 0x65, 0x0c, 0x02, 0x2c, 0x29, 0x06, 0x03, 0x4c, 0x87, 0x9a,
- 0x6e, 0x3d, 0x43, 0x4c, 0x53, 0x71, 0x8b, 0x3a, 0x24, 0x34, 0xac, 0x7b,
- 0x7a, 0x12, 0x03, 0xa1, 0x76, 0xc4, 0x01, 0x3b, 0x61, 0x43, 0x00, 0x02,
- 0x00, 0x89, 0x01, 0x10, 0x03, 0xe9, 0x04, 0x68, 0x00, 0x1f, 0x00, 0x2f,
- 0x00, 0x00, 0x01, 0x07, 0x27, 0x06, 0x23, 0x22, 0x27, 0x07, 0x27, 0x37,
- 0x26, 0x27, 0x34, 0x35, 0x34, 0x37, 0x36, 0x37, 0x27, 0x37, 0x17, 0x36,
- 0x33, 0x32, 0x17, 0x37, 0x17, 0x07, 0x16, 0x17, 0x14, 0x07, 0x01, 0x22,
- 0x07, 0x06, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34,
- 0x27, 0x26, 0x03, 0xe1, 0x77, 0x6c, 0x52, 0x7b, 0x6e, 0x52, 0x69, 0x72,
- 0x62, 0x3c, 0x06, 0x3f, 0x01, 0x02, 0x6f, 0x73, 0x71, 0x59, 0x6d, 0x77,
- 0x52, 0x79, 0x74, 0x70, 0x32, 0x03, 0x3b, 0xfe, 0xbe, 0x62, 0x41, 0x36,
- 0x4a, 0x3e, 0x53, 0x5e, 0x42, 0x39, 0x4b, 0x3d, 0x01, 0x85, 0x6e, 0x6c,
- 0x3d, 0x33, 0x69, 0x75, 0x64, 0x52, 0x6e, 0x09, 0x08, 0x71, 0x5b, 0x03,
- 0x02, 0x71, 0x6c, 0x70, 0x35, 0x39, 0x6c, 0x77, 0x70, 0x57, 0x68, 0x67,
- 0x5f, 0x01, 0x9b, 0x49, 0x3d, 0x51, 0x5f, 0x40, 0x36, 0x47, 0x3d, 0x4f,
- 0x64, 0x41, 0x34, 0x00, 0x00, 0x01, 0x00, 0x17, 0x00, 0x00, 0x04, 0x5c,
- 0x05, 0xac, 0x00, 0x16, 0x00, 0x00, 0x01, 0x15, 0x21, 0x15, 0x21, 0x15,
- 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x35, 0x21, 0x35, 0x21, 0x01,
- 0x33, 0x09, 0x01, 0x33, 0x01, 0x03, 0xf6, 0xfe, 0xa4, 0x01, 0x5c, 0xfe,
- 0xa4, 0xb5, 0xfe, 0xa0, 0x01, 0x60, 0xfe, 0xa0, 0x01, 0x35, 0xfe, 0x5d,
- 0xae, 0x01, 0x7a, 0x01, 0x6f, 0xae, 0xfe, 0x65, 0x02, 0xd5, 0x68, 0x9e,
- 0x69, 0xfe, 0x9a, 0x01, 0x66, 0x69, 0x9e, 0x68, 0x02, 0xd7, 0xfd, 0x6d,
- 0x02, 0x93, 0xfd, 0x29, 0x00, 0x02, 0x00, 0xcd, 0xfe, 0x4e, 0x01, 0x48,
- 0x05, 0xd5, 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x13, 0x33, 0x11, 0x23,
- 0x11, 0x33, 0x11, 0x23, 0xcd, 0x7b, 0x7b, 0x7b, 0x7b, 0x05, 0xd5, 0xfc,
- 0xcb, 0xfe, 0xe3, 0xfc, 0xcb, 0x00, 0x00, 0x02, 0x00, 0x58, 0xfe, 0x4c,
- 0x04, 0x0c, 0x05, 0xd5, 0x00, 0x45, 0x00, 0x55, 0x00, 0x00, 0x05, 0x14,
- 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x25,
- 0x26, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x26, 0x27, 0x26, 0x35,
- 0x34, 0x37, 0x36, 0x37, 0x32, 0x33, 0x32, 0x17, 0x16, 0x1d, 0x01, 0x23,
- 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x15, 0x14, 0x17, 0x16,
- 0x17, 0x05, 0x16, 0x17, 0x16, 0x15, 0x14, 0x07, 0x16, 0x17, 0x16, 0x15,
- 0x14, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x35, 0x13, 0x05, 0x36, 0x37,
- 0x36, 0x35, 0x34, 0x27, 0x25, 0x06, 0x07, 0x06, 0x15, 0x14, 0x17, 0x16,
- 0x01, 0x4c, 0x92, 0x1d, 0x22, 0x6d, 0x36, 0x21, 0x54, 0x0d, 0x0f, 0xfe,
- 0xa3, 0x91, 0x20, 0x0b, 0x71, 0x2a, 0x3c, 0x4d, 0x0a, 0x03, 0x68, 0x6b,
- 0x9d, 0x06, 0x05, 0xac, 0x63, 0x57, 0xac, 0x54, 0x30, 0x42, 0x60, 0x34,
- 0x23, 0x3b, 0x17, 0x23, 0x01, 0x2b, 0x90, 0x2e, 0x21, 0xdf, 0x56, 0x11,
- 0x06, 0x6c, 0x6d, 0xa6, 0xc0, 0x64, 0x59, 0xe3, 0x01, 0x54, 0x7b, 0x16,
- 0x04, 0x95, 0xfe, 0xb6, 0x6b, 0x1a, 0x0c, 0x27, 0x1c, 0x1d, 0xcc, 0x26,
- 0x08, 0x49, 0x2c, 0x3c, 0x5b, 0x44, 0x0a, 0x0b, 0xef, 0x65, 0x7d, 0x2c,
- 0x34, 0x93, 0x5e, 0x22, 0x20, 0x5a, 0x4f, 0x13, 0x15, 0x89, 0x61, 0x64,
- 0x04, 0x71, 0x63, 0x97, 0x39, 0x35, 0x7a, 0x37, 0x20, 0x44, 0x2d, 0x3d,
- 0x3e, 0x34, 0x14, 0x17, 0xc1, 0x5c, 0x5c, 0x41, 0x5d, 0xec, 0x53, 0x62,
- 0x4e, 0x1e, 0x24, 0x92, 0x62, 0x64, 0x75, 0x68, 0xba, 0x01, 0xf2, 0xfc,
- 0x41, 0x69, 0x13, 0x14, 0x7e, 0x67, 0xe0, 0x47, 0x42, 0x20, 0x26, 0x48,
- 0x2f, 0x22, 0x00, 0x02, 0x00, 0x3d, 0x04, 0xe5, 0x02, 0x5e, 0x05, 0xb8,
- 0x00, 0x03, 0x00, 0x07, 0x00, 0x00, 0x01, 0x15, 0x23, 0x35, 0x21, 0x15,
- 0x23, 0x35, 0x01, 0x12, 0xd5, 0x02, 0x21, 0xd5, 0x05, 0xb8, 0xd3, 0xd3,
- 0xd3, 0xd3, 0x00, 0x03, 0xff, 0xe5, 0xff, 0xd3, 0x06, 0x02, 0x05, 0xf0,
- 0x00, 0x21, 0x00, 0x39, 0x00, 0x51, 0x00, 0x00, 0x01, 0x06, 0x07, 0x06,
- 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16,
- 0x17, 0x23, 0x26, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x15, 0x14, 0x17,
- 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x03, 0x20, 0x17, 0x16, 0x17, 0x16,
- 0x15, 0x10, 0x07, 0x06, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x27, 0x26,
- 0x35, 0x10, 0x37, 0x36, 0x37, 0x36, 0x17, 0x22, 0x07, 0x06, 0x07, 0x06,
- 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x37, 0x36,
- 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x04, 0x6a, 0x1c, 0x28, 0x5e, 0xc8,
- 0xaf, 0x6f, 0x6f, 0x79, 0x6e, 0xac, 0xd7, 0x56, 0x18, 0x0f, 0x91, 0x24,
- 0x4d, 0x24, 0x34, 0x84, 0x46, 0x36, 0x51, 0x46, 0x69, 0x96, 0x35, 0x08,
- 0x06, 0xe5, 0x01, 0x04, 0xd0, 0xbf, 0x4f, 0x2c, 0x9f, 0x92, 0xe8, 0x7b,
- 0x85, 0xf8, 0xcd, 0xbc, 0x52, 0x31, 0x9c, 0x8e, 0xe0, 0x7e, 0x87, 0xde,
- 0xaf, 0xa4, 0x39, 0x19, 0x88, 0x7e, 0xc0, 0x58, 0x5d, 0xe7, 0xb1, 0xa6,
- 0x37, 0x16, 0x8b, 0x80, 0xc5, 0x58, 0x02, 0x7f, 0x8a, 0x49, 0xaa, 0x83,
- 0x84, 0xd2, 0xe2, 0x86, 0x79, 0xc4, 0x35, 0x44, 0x89, 0x24, 0x11, 0x78,
- 0x5c, 0x8c, 0xa2, 0x64, 0x56, 0xbc, 0x1f, 0x23, 0x03, 0x71, 0x9c, 0x8e,
- 0xdf, 0x7e, 0x86, 0xfe, 0xf6, 0xd1, 0xc0, 0x4c, 0x29, 0x99, 0x8c, 0xdb,
- 0x83, 0x8b, 0x01, 0x04, 0xd0, 0xbf, 0x4f, 0x2d, 0x7f, 0x8d, 0x83, 0xcb,
- 0x58, 0x5d, 0xdf, 0xb3, 0xa5, 0x3c, 0x1c, 0x8f, 0x86, 0xcf, 0x54, 0x59,
- 0xe2, 0xb2, 0xa6, 0x3a, 0x1a, 0x00, 0x00, 0x03, 0x00, 0x4c, 0x02, 0x6d,
- 0x02, 0xaa, 0x05, 0xf0, 0x00, 0x03, 0x00, 0x2d, 0x00, 0x3c, 0x00, 0x00,
- 0x01, 0x15, 0x21, 0x35, 0x25, 0x15, 0x06, 0x23, 0x22, 0x27, 0x26, 0x27,
- 0x06, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x37,
- 0x36, 0x3d, 0x01, 0x34, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x07, 0x23,
- 0x36, 0x37, 0x36, 0x33, 0x32, 0x15, 0x11, 0x14, 0x33, 0x32, 0x27, 0x06,
- 0x07, 0x06, 0x07, 0x06, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36,
- 0x35, 0x02, 0x8f, 0xfd, 0xc9, 0x02, 0x52, 0x20, 0x22, 0x50, 0x17, 0x06,
- 0x03, 0x65, 0x72, 0x81, 0x37, 0x1d, 0x4b, 0x4a, 0xac, 0x4f, 0x10, 0x06,
- 0x54, 0x18, 0x1e, 0x53, 0x1d, 0x12, 0x09, 0x79, 0x05, 0xab, 0x29, 0x30,
- 0xf9, 0x30, 0x09, 0xad, 0x25, 0x6a, 0x63, 0x20, 0x1d, 0x4e, 0x11, 0x15,
- 0x5b, 0x39, 0x27, 0x02, 0xd5, 0x68, 0x68, 0xc3, 0x5b, 0x0c, 0x38, 0x0e,
- 0x12, 0x58, 0x57, 0x2f, 0x3f, 0x6b, 0x30, 0x2f, 0x0d, 0x06, 0x1d, 0x0c,
- 0x14, 0x1b, 0x44, 0x11, 0x05, 0x27, 0x19, 0x33, 0xb2, 0x24, 0x08, 0xc1,
- 0xfe, 0x92, 0x30, 0xfa, 0x10, 0x0f, 0x0e, 0x1b, 0x1a, 0x2d, 0x4c, 0x10,
- 0x04, 0x36, 0x25, 0x2c, 0x00, 0x02, 0x00, 0xc9, 0x00, 0xd9, 0x03, 0xa4,
- 0x03, 0x81, 0x00, 0x06, 0x00, 0x0d, 0x00, 0x00, 0x13, 0x35, 0x25, 0x15,
- 0x07, 0x17, 0x15, 0x37, 0x35, 0x25, 0x15, 0x07, 0x17, 0x15, 0xc9, 0x01,
- 0x37, 0xd9, 0xd9, 0x6d, 0x01, 0x37, 0xd9, 0xd9, 0x01, 0xd1, 0xb6, 0xfa,
- 0xaa, 0xaa, 0xaa, 0xaa, 0xf8, 0xb6, 0xfa, 0xaa, 0xaa, 0xaa, 0xaa, 0x00,
- 0x00, 0x01, 0x00, 0x52, 0x00, 0xb0, 0x04, 0x5a, 0x03, 0x00, 0x00, 0x05,
- 0x00, 0x00, 0x13, 0x21, 0x11, 0x23, 0x11, 0x21, 0x52, 0x04, 0x08, 0x8f,
- 0xfc, 0x87, 0x03, 0x00, 0xfd, 0xb0, 0x01, 0xc1, 0x00, 0x01, 0x00, 0x5e,
- 0x01, 0xec, 0x02, 0x46, 0x02, 0x7f, 0x00, 0x03, 0x00, 0x00, 0x01, 0x15,
- 0x21, 0x35, 0x02, 0x46, 0xfe, 0x18, 0x02, 0x7f, 0x93, 0x93, 0x00, 0x04,
- 0xff, 0xe5, 0xff, 0xd3, 0x06, 0x02, 0x05, 0xf0, 0x00, 0x1a, 0x00, 0x25,
- 0x00, 0x3d, 0x00, 0x55, 0x00, 0x00, 0x01, 0x16, 0x1f, 0x01, 0x16, 0x17,
- 0x15, 0x23, 0x26, 0x3f, 0x01, 0x34, 0x27, 0x26, 0x23, 0x21, 0x11, 0x23,
- 0x11, 0x21, 0x20, 0x17, 0x16, 0x15, 0x14, 0x07, 0x06, 0x25, 0x21, 0x32,
- 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x21, 0x13, 0x20, 0x17, 0x16,
- 0x17, 0x16, 0x15, 0x10, 0x07, 0x06, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26,
- 0x27, 0x26, 0x35, 0x10, 0x37, 0x36, 0x37, 0x36, 0x17, 0x22, 0x07, 0x06,
- 0x07, 0x06, 0x15, 0x14, 0x17, 0x16, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36,
- 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x03, 0xf6, 0x55, 0x07,
- 0x01, 0x05, 0x29, 0xa2, 0x22, 0x04, 0x02, 0x45, 0x1a, 0x25, 0xfe, 0xee,
- 0x8f, 0x01, 0xa6, 0x01, 0x07, 0x17, 0x02, 0x2b, 0x17, 0xfe, 0x0b, 0x01,
- 0x08, 0x7f, 0x16, 0x05, 0x4d, 0x1f, 0x2e, 0xfe, 0xf8, 0xc7, 0x01, 0x04,
- 0xd0, 0xbf, 0x4f, 0x2c, 0x9f, 0x92, 0xe8, 0x7b, 0x85, 0xf8, 0xcd, 0xbc,
- 0x52, 0x31, 0x9c, 0x8e, 0xe0, 0x7e, 0x87, 0xde, 0xaf, 0xa4, 0x39, 0x19,
- 0x88, 0x7e, 0xc0, 0x58, 0x5d, 0xe7, 0xb1, 0xa6, 0x37, 0x16, 0x8b, 0x80,
- 0xc5, 0x58, 0x02, 0xe1, 0x37, 0x6c, 0x8d, 0x41, 0x1e, 0x33, 0x51, 0x4c,
- 0x52, 0x6b, 0x18, 0x09, 0xfe, 0x85, 0x03, 0x8f, 0xd5, 0x15, 0x18, 0x5a,
- 0x35, 0x1c, 0x1a, 0x59, 0x15, 0x1b, 0x66, 0x19, 0x0a, 0x01, 0xc3, 0x9c,
- 0x8e, 0xdf, 0x7e, 0x86, 0xfe, 0xf6, 0xd1, 0xc0, 0x4c, 0x29, 0x99, 0x8c,
- 0xdb, 0x83, 0x8b, 0x01, 0x04, 0xd0, 0xbf, 0x4f, 0x2d, 0x7f, 0x8d, 0x83,
- 0xcb, 0x58, 0x5d, 0xdf, 0xb3, 0xa5, 0x3c, 0x1c, 0x8f, 0x86, 0xcf, 0x54,
- 0x59, 0xe2, 0xb2, 0xa6, 0x3a, 0x1a, 0x00, 0x01, 0x00, 0x39, 0x05, 0x0c,
- 0x02, 0x6a, 0x05, 0x9c, 0x00, 0x03, 0x00, 0x00, 0x01, 0x15, 0x21, 0x35,
- 0x02, 0x6a, 0xfd, 0xcf, 0x05, 0x9c, 0x90, 0x90, 0x00, 0x02, 0x01, 0x35,
- 0x03, 0x10, 0x03, 0xa2, 0x05, 0x7d, 0x00, 0x0e, 0x00, 0x1e, 0x00, 0x00,
- 0x01, 0x32, 0x17, 0x16, 0x15, 0x14, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26,
- 0x27, 0x34, 0x36, 0x17, 0x22, 0x07, 0x06, 0x15, 0x14, 0x17, 0x16, 0x33,
- 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x02, 0x6d, 0x80, 0x5b, 0x5a,
- 0x5e, 0x5b, 0x81, 0x7c, 0x5a, 0x5b, 0x02, 0xb7, 0x81, 0x59, 0x3c, 0x2e,
- 0x44, 0x36, 0x44, 0x5f, 0x3a, 0x2c, 0x45, 0x35, 0x05, 0x7d, 0x5b, 0x5b,
- 0x7f, 0x84, 0x5b, 0x59, 0x5a, 0x60, 0x7e, 0x80, 0xb5, 0x75, 0x45, 0x36,
- 0x45, 0x59, 0x3c, 0x2e, 0x47, 0x35, 0x47, 0x5a, 0x39, 0x2d, 0x00, 0x02,
- 0x00, 0x66, 0xff, 0xe9, 0x04, 0x46, 0x04, 0xfc, 0x00, 0x0b, 0x00, 0x0f,
- 0x00, 0x00, 0x01, 0x15, 0x21, 0x11, 0x23, 0x11, 0x21, 0x35, 0x21, 0x11,
- 0x33, 0x11, 0x01, 0x15, 0x21, 0x35, 0x04, 0x46, 0xfe, 0x58, 0x90, 0xfe,
- 0x58, 0x01, 0xa8, 0x90, 0x01, 0xa8, 0xfc, 0x20, 0x03, 0x54, 0x8f, 0xfe,
- 0x58, 0x01, 0xa8, 0x8f, 0x01, 0xa8, 0xfe, 0x58, 0xfd, 0x25, 0x90, 0x90,
- 0x00, 0x01, 0x00, 0x27, 0x02, 0x46, 0x02, 0x9c, 0x05, 0xac, 0x00, 0x25,
- 0x00, 0x00, 0x01, 0x22, 0x07, 0x06, 0x07, 0x23, 0x36, 0x37, 0x36, 0x33,
- 0x32, 0x17, 0x16, 0x15, 0x14, 0x07, 0x06, 0x0f, 0x01, 0x06, 0x07, 0x06,
- 0x07, 0x21, 0x15, 0x21, 0x36, 0x37, 0x36, 0x37, 0x36, 0x3f, 0x01, 0x36,
- 0x35, 0x34, 0x27, 0x26, 0x01, 0x6d, 0x8b, 0x1e, 0x07, 0x03, 0x7f, 0x08,
- 0xc6, 0x2e, 0x3a, 0x96, 0x55, 0x40, 0xaa, 0x0d, 0x0e, 0x81, 0x59, 0x21,
- 0x10, 0x0b, 0x01, 0xd5, 0xfd, 0x91, 0x08, 0x35, 0x34, 0x8f, 0x02, 0x02,
- 0x77, 0x79, 0x43, 0x2f, 0x05, 0x3f, 0x85, 0x1c, 0x29, 0xfe, 0x2e, 0x0b,
- 0x5b, 0x44, 0x63, 0x9b, 0x5f, 0x07, 0x07, 0x42, 0x2f, 0x36, 0x1a, 0x25,
- 0x76, 0x96, 0x4e, 0x4c, 0x4d, 0x01, 0x01, 0x3f, 0x41, 0x61, 0x4e, 0x2d,
- 0x1e, 0x00, 0x00, 0x01, 0x00, 0x21, 0x02, 0x29, 0x02, 0x93, 0x05, 0xac,
- 0x00, 0x30, 0x00, 0x00, 0x01, 0x22, 0x07, 0x06, 0x15, 0x23, 0x12, 0x37,
- 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x07, 0x16, 0x15, 0x14, 0x07,
- 0x06, 0x23, 0x22, 0x27, 0x26, 0x35, 0x33, 0x16, 0x17, 0x16, 0x33, 0x32,
- 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x23, 0x35, 0x32, 0x37,
- 0x36, 0x35, 0x34, 0x27, 0x26, 0x01, 0x5a, 0x7e, 0x1d, 0x0b, 0x81, 0x06,
- 0xf4, 0x16, 0x17, 0xa7, 0x4a, 0x2c, 0x75, 0x91, 0x6d, 0x53, 0x7d, 0xc8,
- 0x49, 0x24, 0x7f, 0x07, 0x61, 0x22, 0x30, 0x7d, 0x2a, 0x11, 0x3f, 0x18,
- 0x1f, 0x1f, 0x69, 0x99, 0x2b, 0x1e, 0x4d, 0x22, 0x05, 0x3f, 0x5d, 0x23,
- 0x36, 0x01, 0x0b, 0x16, 0x02, 0x65, 0x3c, 0x55, 0x78, 0x36, 0x31, 0x9c,
- 0x8d, 0x4b, 0x3a, 0x87, 0x41, 0x5b, 0x8b, 0x20, 0x0b, 0x56, 0x22, 0x2d,
- 0x51, 0x29, 0x10, 0x06, 0x04, 0x68, 0x26, 0x1b, 0x3c, 0x5a, 0x22, 0x0f,
- 0x00, 0x01, 0x00, 0xbc, 0x04, 0xbc, 0x02, 0x68, 0x05, 0xec, 0x00, 0x03,
- 0x00, 0x00, 0x01, 0x33, 0x01, 0x23, 0x01, 0x81, 0xe7, 0xfe, 0xcf, 0x7b,
- 0x05, 0xec, 0xfe, 0xd0, 0x00, 0x01, 0x00, 0x85, 0xfe, 0x3d, 0x04, 0x5a,
- 0x04, 0x31, 0x00, 0x20, 0x00, 0x00, 0x25, 0x15, 0x06, 0x23, 0x22, 0x27,
- 0x26, 0x27, 0x06, 0x23, 0x22, 0x27, 0x11, 0x23, 0x11, 0x33, 0x11, 0x14,
- 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x11, 0x33, 0x11, 0x14, 0x17,
- 0x16, 0x33, 0x32, 0x04, 0x5a, 0x44, 0x31, 0x8f, 0x1a, 0x06, 0x01, 0x78,
- 0xd6, 0x6f, 0x49, 0xaa, 0xaa, 0x5a, 0x36, 0x4b, 0x93, 0x50, 0x42, 0xaa,
- 0x4f, 0x06, 0x07, 0x11, 0x64, 0x81, 0x12, 0x74, 0x18, 0x1e, 0xaa, 0x35,
- 0xfe, 0x37, 0x05, 0xf4, 0xfd, 0x08, 0x79, 0x39, 0x21, 0x76, 0x61, 0x94,
- 0x02, 0x60, 0xfc, 0x83, 0x4d, 0x06, 0x01, 0x00, 0x00, 0x01, 0x00, 0x62,
- 0xfe, 0x96, 0x04, 0x2d, 0x05, 0xd5, 0x00, 0x13, 0x00, 0x00, 0x01, 0x26,
- 0x27, 0x26, 0x35, 0x34, 0x37, 0x36, 0x37, 0x36, 0x33, 0x21, 0x15, 0x23,
- 0x11, 0x23, 0x11, 0x23, 0x11, 0x23, 0x02, 0x0a, 0xd1, 0x75, 0x62, 0x75,
- 0x6f, 0xa8, 0x1f, 0x20, 0x02, 0x00, 0x75, 0x83, 0xa8, 0x83, 0x02, 0x12,
- 0x0b, 0x98, 0x7f, 0xb5, 0xc1, 0x8b, 0x84, 0x18, 0x04, 0x83, 0xf9, 0x44,
- 0x06, 0xbc, 0xf9, 0x44, 0x00, 0x01, 0x00, 0xb2, 0x02, 0x6a, 0x01, 0xb0,
- 0x03, 0x6a, 0x00, 0x03, 0x00, 0x00, 0x01, 0x11, 0x23, 0x11, 0x01, 0xb0,
- 0xfe, 0x03, 0x6a, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x50,
- 0xfe, 0x4a, 0x02, 0x4c, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x13, 0x17,
- 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x07,
- 0x27, 0x37, 0x33, 0x07, 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x07,
- 0x06, 0x23, 0x22, 0x27, 0x26, 0x27, 0x7b, 0x6e, 0x2e, 0x2d, 0x43, 0x1e,
- 0x0d, 0x3c, 0x0f, 0x13, 0x1f, 0x21, 0x18, 0x56, 0x4e, 0x2f, 0x1a, 0x1f,
- 0x7a, 0x1f, 0x09, 0x67, 0x3d, 0x58, 0x50, 0x58, 0x22, 0x36, 0xfe, 0xe1,
- 0x32, 0x11, 0x2e, 0x15, 0x19, 0x3a, 0x0e, 0x04, 0x11, 0x0f, 0xbc, 0x73,
- 0x04, 0x54, 0x18, 0x1d, 0x6f, 0x31, 0x1e, 0x21, 0x0d, 0x17, 0x00, 0x01,
- 0x00, 0x7d, 0x02, 0x46, 0x01, 0xc7, 0x05, 0xac, 0x00, 0x0b, 0x00, 0x00,
- 0x01, 0x23, 0x35, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x37, 0x33, 0x11, 0x23,
- 0x01, 0x48, 0xcb, 0x1f, 0x6c, 0x4a, 0x18, 0x03, 0x02, 0x58, 0x7f, 0x04,
- 0xa4, 0x5e, 0x02, 0x0a, 0x38, 0x56, 0x07, 0x09, 0xfc, 0x9a, 0x00, 0x03,
- 0x00, 0x52, 0x02, 0x6d, 0x02, 0x98, 0x05, 0xf0, 0x00, 0x03, 0x00, 0x13,
- 0x00, 0x23, 0x00, 0x00, 0x01, 0x15, 0x21, 0x35, 0x01, 0x32, 0x17, 0x16,
- 0x15, 0x14, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36,
- 0x17, 0x22, 0x07, 0x06, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36,
- 0x35, 0x34, 0x27, 0x26, 0x02, 0x83, 0xfd, 0xe5, 0x01, 0x0d, 0xbb, 0x45,
- 0x23, 0x79, 0x46, 0x64, 0xb1, 0x49, 0x29, 0x82, 0x43, 0x5e, 0x68, 0x2c,
- 0x18, 0x56, 0x25, 0x31, 0x65, 0x2d, 0x1a, 0x5b, 0x23, 0x02, 0xd5, 0x68,
- 0x68, 0x03, 0x1b, 0xa1, 0x51, 0x73, 0xcf, 0x58, 0x33, 0x92, 0x54, 0x7a,
- 0xde, 0x55, 0x2c, 0x6b, 0x68, 0x3a, 0x52, 0xa2, 0x3a, 0x19, 0x64, 0x3a,
- 0x53, 0xaa, 0x38, 0x16, 0x00, 0x02, 0x00, 0xc9, 0x00, 0xd9, 0x03, 0x9c,
- 0x03, 0x81, 0x00, 0x06, 0x00, 0x0d, 0x00, 0x00, 0x01, 0x15, 0x05, 0x35,
- 0x37, 0x27, 0x35, 0x05, 0x15, 0x05, 0x35, 0x37, 0x27, 0x35, 0x02, 0x04,
- 0xfe, 0xc5, 0xdd, 0xdd, 0x02, 0xd3, 0xfe, 0xc4, 0xdd, 0xdd, 0x02, 0x89,
- 0xb6, 0xfa, 0xaa, 0xaa, 0xaa, 0xaa, 0xf8, 0xb6, 0xfa, 0xaa, 0xaa, 0xaa,
- 0xaa, 0x00, 0x00, 0x04, 0x00, 0x7d, 0xff, 0xd7, 0x06, 0xcb, 0x05, 0xac,
- 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x1a, 0x00, 0x1d, 0x00, 0x00, 0x01, 0x23,
- 0x35, 0x37, 0x3e, 0x01, 0x37, 0x36, 0x37, 0x33, 0x11, 0x23, 0x01, 0x33,
- 0x01, 0x23, 0x25, 0x21, 0x35, 0x01, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15,
- 0x23, 0x19, 0x01, 0x01, 0x01, 0x48, 0xcb, 0x1f, 0x6c, 0x4a, 0x18, 0x03,
- 0x02, 0x58, 0x7f, 0x03, 0xdd, 0x77, 0xfc, 0x62, 0x77, 0x04, 0x3c, 0xfe,
- 0x7f, 0x01, 0xa1, 0x5f, 0x89, 0x89, 0x7f, 0xfe, 0xf7, 0x04, 0xa4, 0x5e,
- 0x02, 0x0a, 0x38, 0x56, 0x07, 0x09, 0xfc, 0x9a, 0x03, 0x66, 0xfa, 0x2b,
- 0xf6, 0x79, 0x02, 0x20, 0xfd, 0xd3, 0x6c, 0xcd, 0x01, 0x39, 0x01, 0x5d,
- 0xfe, 0xa3, 0x00, 0x03, 0x00, 0x7d, 0xff, 0xd7, 0x06, 0xc1, 0x05, 0xac,
- 0x00, 0x0b, 0x00, 0x0f, 0x00, 0x35, 0x00, 0x00, 0x01, 0x23, 0x35, 0x37,
- 0x3e, 0x01, 0x37, 0x36, 0x37, 0x33, 0x11, 0x23, 0x01, 0x33, 0x01, 0x23,
- 0x01, 0x22, 0x07, 0x06, 0x07, 0x23, 0x12, 0x37, 0x36, 0x33, 0x32, 0x17,
- 0x16, 0x15, 0x14, 0x07, 0x06, 0x0f, 0x01, 0x06, 0x07, 0x06, 0x07, 0x21,
- 0x15, 0x21, 0x36, 0x37, 0x36, 0x37, 0x36, 0x3f, 0x01, 0x36, 0x35, 0x34,
- 0x27, 0x26, 0x01, 0x48, 0xcb, 0x1f, 0x6c, 0x4a, 0x18, 0x03, 0x02, 0x58,
- 0x7f, 0x03, 0xac, 0x76, 0xfc, 0x63, 0x77, 0x04, 0x3b, 0x8f, 0x1c, 0x05,
- 0x02, 0x7f, 0x07, 0xd3, 0x2a, 0x32, 0x96, 0x55, 0x40, 0xaa, 0x0d, 0x0e,
- 0x81, 0x59, 0x21, 0x10, 0x0c, 0x01, 0xd5, 0xfd, 0x92, 0x08, 0x35, 0x34,
- 0x8d, 0x03, 0x03, 0x77, 0x78, 0x43, 0x2e, 0x04, 0xa4, 0x5e, 0x02, 0x0a,
- 0x38, 0x56, 0x07, 0x09, 0xfc, 0x9a, 0x03, 0x66, 0xfa, 0x2b, 0x03, 0x23,
- 0x8e, 0x1a, 0x23, 0x01, 0x06, 0x29, 0x08, 0x5b, 0x44, 0x63, 0x9a, 0x60,
- 0x07, 0x07, 0x41, 0x2f, 0x36, 0x1a, 0x25, 0x77, 0x97, 0x4d, 0x4d, 0x4b,
- 0x01, 0x02, 0x3f, 0x40, 0x62, 0x4e, 0x2d, 0x1f, 0x00, 0x04, 0x00, 0x21,
- 0xff, 0xd7, 0x06, 0xcb, 0x05, 0xac, 0x00, 0x30, 0x00, 0x34, 0x00, 0x3f,
- 0x00, 0x42, 0x00, 0x00, 0x01, 0x22, 0x07, 0x06, 0x15, 0x23, 0x12, 0x37,
- 0x36, 0x33, 0x32, 0x17, 0x16, 0x15, 0x14, 0x07, 0x16, 0x15, 0x14, 0x07,
- 0x06, 0x23, 0x22, 0x27, 0x26, 0x35, 0x33, 0x16, 0x17, 0x16, 0x33, 0x32,
- 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x27, 0x26, 0x23, 0x35, 0x32, 0x37,
- 0x36, 0x35, 0x34, 0x27, 0x26, 0x25, 0x33, 0x01, 0x23, 0x25, 0x21, 0x35,
- 0x01, 0x33, 0x11, 0x33, 0x15, 0x23, 0x15, 0x23, 0x19, 0x01, 0x01, 0x01,
- 0x5a, 0x7e, 0x1d, 0x0b, 0x81, 0x06, 0xf4, 0x16, 0x17, 0xa7, 0x4a, 0x2c,
- 0x75, 0x91, 0x6d, 0x53, 0x7d, 0xc8, 0x49, 0x24, 0x7f, 0x07, 0x61, 0x22,
- 0x30, 0x7d, 0x2a, 0x11, 0x3f, 0x18, 0x1f, 0x1f, 0x69, 0x99, 0x2b, 0x1e,
- 0x4d, 0x22, 0x03, 0xb2, 0x77, 0xfc, 0x62, 0x76, 0x04, 0x27, 0xfe, 0x7f,
- 0x01, 0xa1, 0x5f, 0x89, 0x89, 0x7f, 0xfe, 0xf7, 0x05, 0x3f, 0x5d, 0x23,
- 0x36, 0x01, 0x0b, 0x16, 0x02, 0x65, 0x3c, 0x55, 0x78, 0x36, 0x31, 0x9c,
- 0x8d, 0x4b, 0x3a, 0x87, 0x41, 0x5b, 0x8b, 0x20, 0x0b, 0x56, 0x22, 0x2d,
- 0x51, 0x29, 0x10, 0x06, 0x04, 0x68, 0x26, 0x1b, 0x3c, 0x5a, 0x22, 0x0f,
- 0x6d, 0xfa, 0x2b, 0xf6, 0x79, 0x02, 0x20, 0xfd, 0xd3, 0x6c, 0xcd, 0x01,
- 0x39, 0x01, 0x5d, 0xfe, 0xa3, 0x00, 0xff, 0xff, 0x00, 0xc5, 0xfe, 0x43,
- 0x04, 0x39, 0x04, 0x31, 0x10, 0x0f, 0x00, 0x23, 0x04, 0xd7, 0x04, 0x31,
- 0xc0, 0x00, 0xff, 0xff, 0x00, 0x23, 0x00, 0x00, 0x05, 0x39, 0x05, 0xd5,
- 0x10, 0x27, 0x00, 0xc6, 0x01, 0x58, 0x01, 0x98, 0x10, 0x06, 0x00, 0x25,
- 0x00, 0x00, 0xff, 0xff, 0x00, 0x23, 0x00, 0x00, 0x05, 0x39, 0x05, 0xd5,
- 0x10, 0x27, 0x00, 0xc5, 0x01, 0x75, 0x01, 0x98, 0x10, 0x06, 0x00, 0x25,
- 0x00, 0x00, 0xff, 0xff, 0x00, 0x23, 0x00, 0x00, 0x05, 0x39, 0x05, 0xd5,
- 0x10, 0x27, 0x00, 0xc4, 0x01, 0x60, 0x01, 0x98, 0x10, 0x06, 0x00, 0x25,
- 0x00, 0x00, 0xff, 0xff, 0x00, 0x23, 0x00, 0x00, 0x05, 0x39, 0x05, 0xd5,
- 0x10, 0x27, 0x00, 0xc8, 0x01, 0x66, 0x01, 0x81, 0x10, 0x06, 0x00, 0x25,
- 0x00, 0x00, 0xff, 0xff, 0x00, 0x23, 0x00, 0x00, 0x05, 0x39, 0x07, 0x3b,
- 0x10, 0x27, 0x00, 0x6b, 0x01, 0x64, 0x01, 0x83, 0x10, 0x06, 0x00, 0x25,
- 0x00, 0x00, 0xff, 0xff, 0x00, 0x23, 0x00, 0x00, 0x05, 0x39, 0x05, 0xd5,
- 0x10, 0x27, 0x00, 0xc7, 0x01, 0x58, 0x01, 0x98, 0x10, 0x06, 0x00, 0x25,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x17, 0x00, 0x00, 0x07, 0x9a, 0x05, 0xd5,
- 0x00, 0x0f, 0x00, 0x13, 0x00, 0x00, 0x01, 0x21, 0x03, 0x23, 0x01, 0x21,
- 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x11, 0x21, 0x15, 0x21, 0x19, 0x01,
- 0x23, 0x01, 0x03, 0xbe, 0xfd, 0xda, 0xaf, 0xd2, 0x02, 0x64, 0x04, 0xfa,
- 0xfd, 0x08, 0x02, 0xd1, 0xfd, 0x2f, 0x03, 0x1d, 0xfc, 0x24, 0xcc, 0xfe,
- 0xe5, 0x01, 0xb6, 0xfe, 0x4a, 0x05, 0xd5, 0xa8, 0xfe, 0x23, 0xa8, 0xfe,
- 0x00, 0xa8, 0x02, 0x5e, 0x02, 0xcf, 0xfd, 0x31, 0x00, 0x01, 0x00, 0x62,
- 0xfe, 0x4a, 0x05, 0x6a, 0x05, 0xee, 0x00, 0x46, 0x00, 0x00, 0x25, 0x32,
- 0x37, 0x36, 0x37, 0x33, 0x02, 0x05, 0x06, 0x23, 0x07, 0x36, 0x33, 0x32,
- 0x17, 0x16, 0x15, 0x14, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x27, 0x37,
- 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22,
- 0x07, 0x27, 0x37, 0x26, 0x27, 0x26, 0x27, 0x26, 0x27, 0x26, 0x35, 0x34,
- 0x37, 0x12, 0x25, 0x36, 0x33, 0x20, 0x13, 0x16, 0x17, 0x23, 0x26, 0x27,
- 0x26, 0x23, 0x22, 0x07, 0x06, 0x11, 0x10, 0x17, 0x16, 0x03, 0x06, 0xdf,
- 0x66, 0x3f, 0x1c, 0xc4, 0x3f, 0xfe, 0x31, 0x29, 0x2b, 0x1a, 0x1a, 0x1f,
- 0x7a, 0x1f, 0x09, 0x65, 0x3e, 0x59, 0x53, 0x5d, 0x21, 0x2f, 0x2b, 0x68,
- 0x32, 0x2f, 0x43, 0x1e, 0x0d, 0x3c, 0x0f, 0x13, 0x1f, 0x21, 0x16, 0x3f,
- 0x9a, 0x4f, 0x21, 0x27, 0xb7, 0x49, 0x27, 0x65, 0x92, 0x01, 0x3a, 0x3a,
- 0x3f, 0x01, 0xa2, 0x7c, 0x15, 0x0d, 0xc3, 0x2d, 0xa3, 0x50, 0x71, 0xe0,
- 0x7e, 0x79, 0x91, 0x82, 0x77, 0x9d, 0x61, 0xac, 0xfd, 0xe0, 0x2c, 0x04,
- 0x44, 0x04, 0x54, 0x18, 0x1d, 0x6d, 0x32, 0x1f, 0x24, 0x0c, 0x15, 0x52,
- 0x30, 0x13, 0x2e, 0x15, 0x19, 0x3a, 0x0e, 0x04, 0x11, 0x0f, 0x8d, 0x16,
- 0x28, 0x11, 0x1b, 0x84, 0xfc, 0x86, 0x98, 0xfc, 0xc5, 0x01, 0x1d, 0x2e,
- 0x09, 0xfe, 0x9b, 0x3c, 0x47, 0xdd, 0x42, 0x21, 0xae, 0xa5, 0xfe, 0xe8,
- 0xfe, 0xd6, 0xa6, 0x94, 0xff, 0xff, 0x00, 0xb8, 0x00, 0x00, 0x04, 0xe7,
- 0x05, 0xd5, 0x10, 0x27, 0x00, 0xc6, 0x01, 0x7b, 0x01, 0x98, 0x10, 0x06,
- 0x00, 0x29, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb8, 0x00, 0x00, 0x04, 0xe7,
- 0x05, 0xd5, 0x10, 0x27, 0x00, 0xc5, 0x01, 0x6d, 0x01, 0x98, 0x10, 0x06,
- 0x00, 0x29, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb8, 0x00, 0x00, 0x04, 0xe7,
- 0x05, 0xd5, 0x10, 0x27, 0x00, 0xc4, 0x01, 0x73, 0x01, 0x96, 0x10, 0x06,
- 0x00, 0x29, 0x00, 0x00, 0xff, 0xff, 0x00, 0xb8, 0x00, 0x00, 0x04, 0xe7,
- 0x07, 0x3b, 0x10, 0x27, 0x00, 0x6b, 0x01, 0x71, 0x01, 0x83, 0x10, 0x06,
- 0x00, 0x29, 0x00, 0x00, 0xff, 0xff, 0x00, 0xcd, 0x00, 0x00, 0x01, 0x8d,
- 0x05, 0xd5, 0x10, 0x27, 0x00, 0xc6, 0xff, 0xd3, 0x01, 0x98, 0x10, 0x06,
- 0x00, 0x2d, 0x00, 0x00, 0xff, 0xff, 0x00, 0xcd, 0x00, 0x00, 0x01, 0x8d,
- 0x05, 0xd5, 0x10, 0x27, 0x00, 0xc5, 0xff, 0xd5, 0x01, 0x98, 0x10, 0x06,
- 0x00, 0x2d, 0x00, 0x00, 0xff, 0xff, 0x00, 0xcd, 0x00, 0x00, 0x01, 0x8d,
- 0x05, 0xd5, 0x10, 0x27, 0x00, 0xc4, 0xff, 0xd5, 0x01, 0x98, 0x10, 0x06,
- 0x00, 0x2d, 0x00, 0x00, 0xff, 0xff, 0x00, 0x1c, 0x00, 0x00, 0x02, 0x3d,
- 0x07, 0x3b, 0x10, 0x27, 0x00, 0x6b, 0xff, 0xdf, 0x01, 0x83, 0x10, 0x06,
- 0x00, 0x2d, 0x00, 0x00, 0x00, 0x02, 0x00, 0x29, 0x00, 0x00, 0x05, 0x56,
- 0x05, 0xd5, 0x00, 0x0e, 0x00, 0x1d, 0x00, 0x00, 0x13, 0x23, 0x35, 0x33,
- 0x11, 0x21, 0x20, 0x17, 0x16, 0x11, 0x10, 0x07, 0x06, 0x29, 0x01, 0x13,
- 0x11, 0x21, 0x20, 0x13, 0x36, 0x35, 0x10, 0x27, 0x26, 0x23, 0x21, 0x11,
- 0x21, 0x15, 0xb6, 0x8d, 0x8d, 0x02, 0x42, 0x01, 0x19, 0xa2, 0xa3, 0xb0,
- 0xa1, 0xfe, 0xf3, 0xfd, 0xbe, 0xbf, 0x01, 0x62, 0x01, 0x37, 0x61, 0x29,
- 0xf2, 0x58, 0x77, 0xfe, 0x9e, 0x01, 0x5e, 0x02, 0xb6, 0x89, 0x02, 0x96,
- 0xc6, 0xc7, 0xfe, 0xa4, 0xfe, 0x93, 0xc9, 0xb6, 0x02, 0xb6, 0xfd, 0xf2,
- 0x01, 0x20, 0x7a, 0xaa, 0x01, 0xa0, 0x76, 0x2b, 0xfe, 0x12, 0x89, 0x00,
- 0xff, 0xff, 0x00, 0x9c, 0x00, 0x00, 0x05, 0x2b, 0x05, 0xd5, 0x10, 0x27,
- 0x00, 0xc8, 0x01, 0x98, 0x01, 0x81, 0x10, 0x06, 0x00, 0x32, 0x00, 0x00,
- 0xff, 0xff, 0x00, 0x4e, 0xff, 0xd1, 0x05, 0xf0, 0x05, 0xee, 0x10, 0x27,
- 0x00, 0xc6, 0x01, 0xcb, 0x01, 0x98, 0x10, 0x06, 0x00, 0x33, 0x00, 0x00,
- 0xff, 0xff, 0x00, 0x4e, 0xff, 0xd1, 0x05, 0xf0, 0x05, 0xee, 0x10, 0x27,
- 0x00, 0xc5, 0x01, 0xd5, 0x01, 0x98, 0x10, 0x06, 0x00, 0x33, 0x00, 0x00,
- 0xff, 0xff, 0x00, 0x4e, 0xff, 0xd1, 0x05, 0xf0, 0x05, 0xee, 0x10, 0x27,
- 0x00, 0xc4, 0x01, 0xd1, 0x01, 0x98, 0x10, 0x06, 0x00, 0x33, 0x00, 0x00,
- 0xff, 0xff, 0x00, 0x4e, 0xff, 0xd1, 0x05, 0xf0, 0x05, 0xee, 0x10, 0x27,
- 0x00, 0xc8, 0x01, 0xd1, 0x01, 0x81, 0x10, 0x06, 0x00, 0x33, 0x00, 0x00,
- 0xff, 0xff, 0x00, 0x4e, 0xff, 0xd1, 0x05, 0xf0, 0x07, 0x3b, 0x10, 0x27,
- 0x00, 0x6b, 0x01, 0xcf, 0x01, 0x83, 0x10, 0x06, 0x00, 0x33, 0x00, 0x00,
- 0x00, 0x01, 0x00, 0xc3, 0x00, 0x46, 0x03, 0xe7, 0x03, 0x6a, 0x00, 0x0b,
- 0x00, 0x00, 0x01, 0x17, 0x09, 0x01, 0x07, 0x09, 0x01, 0x27, 0x09, 0x01,
- 0x37, 0x01, 0x03, 0x81, 0x64, 0xfe, 0xd5, 0x01, 0x2d, 0x66, 0xfe, 0xd3,
- 0xfe, 0xd5, 0x66, 0x01, 0x2d, 0xfe, 0xd5, 0x64, 0x01, 0x2b, 0x03, 0x6a,
- 0x66, 0xfe, 0xd5, 0xfe, 0xd3, 0x66, 0x01, 0x2d, 0xfe, 0xd5, 0x64, 0x01,
- 0x2d, 0x01, 0x2b, 0x64, 0xfe, 0xd7, 0x00, 0x03, 0x00, 0x3d, 0xff, 0xd1,
- 0x05, 0xf4, 0x06, 0x0a, 0x00, 0x1b, 0x00, 0x26, 0x00, 0x31, 0x00, 0x00,
- 0x3f, 0x01, 0x26, 0x11, 0x10, 0x37, 0x36, 0x25, 0x36, 0x33, 0x20, 0x17,
- 0x37, 0x17, 0x07, 0x16, 0x13, 0x16, 0x15, 0x10, 0x07, 0x06, 0x05, 0x06,
- 0x23, 0x20, 0x27, 0x07, 0x13, 0x01, 0x26, 0x23, 0x22, 0x07, 0x06, 0x03,
- 0x06, 0x15, 0x14, 0x09, 0x01, 0x16, 0x33, 0x32, 0x37, 0x36, 0x13, 0x36,
- 0x35, 0x34, 0x3d, 0xa6, 0x9b, 0xa8, 0x9e, 0x01, 0x05, 0x41, 0x45, 0x01,
- 0x17, 0xc0, 0xb2, 0x52, 0xb7, 0x92, 0x16, 0x04, 0xa8, 0x9e, 0xfe, 0xfb,
- 0x40, 0x45, 0xfe, 0xd9, 0xc7, 0x9e, 0xd7, 0x03, 0x13, 0x97, 0xc7, 0xe4,
- 0x90, 0x94, 0x0a, 0x01, 0x03, 0xb8, 0xfc, 0xe8, 0x97, 0xdc, 0xe2, 0x91,
- 0x93, 0x0b, 0x01, 0x27, 0xb6, 0xdb, 0x01, 0x29, 0x01, 0x3e, 0xd2, 0xc7,
- 0x2b, 0x0b, 0xa6, 0xc2, 0x49, 0xc7, 0xb7, 0xfe, 0xf1, 0x2b, 0x2c, 0xfe,
- 0xc2, 0xd2, 0xc6, 0x2b, 0x0b, 0xb8, 0xac, 0x01, 0x8b, 0x03, 0x5b, 0x83,
- 0x9b, 0x9e, 0xfe, 0xf8, 0x12, 0x12, 0xd4, 0x02, 0x62, 0xfc, 0xa1, 0x97,
- 0x9a, 0x9e, 0x01, 0x06, 0x13, 0x13, 0xea, 0x00, 0xff, 0xff, 0x00, 0xae,
- 0xff, 0xd1, 0x05, 0x29, 0x05, 0xd5, 0x10, 0x27, 0x00, 0xc6, 0x01, 0x98,
- 0x01, 0x98, 0x10, 0x06, 0x00, 0x39, 0x00, 0x00, 0xff, 0xff, 0x00, 0xae,
- 0xff, 0xd1, 0x05, 0x29, 0x05, 0xd5, 0x10, 0x27, 0x00, 0xc5, 0x01, 0x98,
- 0x01, 0x98, 0x10, 0x06, 0x00, 0x39, 0x00, 0x00, 0xff, 0xff, 0x00, 0xae,
- 0xff, 0xd1, 0x05, 0x29, 0x05, 0xd5, 0x10, 0x27, 0x00, 0xc4, 0x01, 0x9e,
- 0x01, 0x96, 0x10, 0x06, 0x00, 0x39, 0x00, 0x00, 0xff, 0xff, 0x00, 0xae,
- 0xff, 0xd1, 0x05, 0x29, 0x07, 0x3b, 0x10, 0x27, 0x00, 0x6b, 0x01, 0x9e,
- 0x01, 0x83, 0x10, 0x06, 0x00, 0x39, 0x00, 0x00, 0xff, 0xff, 0x00, 0x1b,
- 0x00, 0x00, 0x05, 0x4a, 0x05, 0xd5, 0x10, 0x27, 0x00, 0xc5, 0x01, 0x6a,
- 0x01, 0x98, 0x10, 0x06, 0x00, 0x3d, 0x00, 0x00, 0x00, 0x02, 0x00, 0xba,
- 0x00, 0x00, 0x04, 0xee, 0x05, 0xd5, 0x00, 0x0e, 0x00, 0x19, 0x00, 0x00,
- 0x01, 0x11, 0x23, 0x11, 0x33, 0x15, 0x21, 0x32, 0x17, 0x16, 0x15, 0x14,
- 0x07, 0x06, 0x23, 0x25, 0x21, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26,
- 0x23, 0x21, 0x01, 0x79, 0xbf, 0xbf, 0x01, 0xaa, 0xf0, 0x7b, 0x60, 0x77,
- 0x74, 0xb5, 0xfe, 0x2b, 0x01, 0x8d, 0xae, 0x47, 0x26, 0x77, 0x43, 0x61,
- 0xfe, 0x73, 0x01, 0x83, 0xfe, 0x7d, 0x05, 0xd5, 0xf6, 0x90, 0x71, 0xb1,
- 0xbd, 0x78, 0x75, 0xa8, 0x72, 0x3e, 0x56, 0x9e, 0x43, 0x25, 0x00, 0x01,
- 0x00, 0x89, 0xff, 0xe1, 0x04, 0x91, 0x05, 0xd3, 0x00, 0x31, 0x00, 0x00,
- 0x01, 0x20, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06,
- 0x15, 0x11, 0x23, 0x11, 0x34, 0x37, 0x36, 0x33, 0x20, 0x17, 0x16, 0x15,
- 0x14, 0x07, 0x06, 0x07, 0x16, 0x17, 0x16, 0x15, 0x10, 0x07, 0x06, 0x23,
- 0x22, 0x27, 0x35, 0x16, 0x33, 0x20, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26,
- 0x2b, 0x01, 0x02, 0x5a, 0x01, 0x0e, 0x29, 0x07, 0x71, 0x4e, 0x79, 0xd1,
- 0x39, 0x19, 0xb4, 0x8b, 0x7d, 0xd1, 0x01, 0x00, 0x85, 0x65, 0x97, 0x03,
- 0x0e, 0x71, 0x46, 0x36, 0xdf, 0x79, 0xac, 0x31, 0x3b, 0x2d, 0x2d, 0x01,
- 0x23, 0x30, 0x09, 0xec, 0x32, 0x3e, 0x21, 0x03, 0x6a, 0xac, 0x1c, 0x20,
- 0x7e, 0x3d, 0x2a, 0x87, 0x3c, 0x60, 0xfb, 0xec, 0x04, 0x42, 0xc2, 0x6d,
- 0x62, 0x7e, 0x60, 0x93, 0xbe, 0x66, 0x02, 0x09, 0x1f, 0x7a, 0x5e, 0x5d,
- 0xfe, 0xbf, 0x7b, 0x42, 0x0f, 0x99, 0x06, 0xda, 0x29, 0x30, 0xef, 0x27,
- 0x09, 0x00, 0xff, 0xff, 0x00, 0x56, 0xff, 0xd1, 0x04, 0x48, 0x04, 0x50,
- 0x10, 0x27, 0x00, 0xc6, 0x00, 0xec, 0x00, 0x00, 0x10, 0x06, 0x00, 0x45,
- 0x00, 0x00, 0xff, 0xff, 0x00, 0x56, 0xff, 0xd1, 0x04, 0x48, 0x04, 0x50,
- 0x10, 0x27, 0x00, 0xc5, 0x00, 0xec, 0xff, 0xfe, 0x10, 0x06, 0x00, 0x45,
- 0x00, 0x00, 0xff, 0xff, 0x00, 0x56, 0xff, 0xd1, 0x04, 0x48, 0x04, 0x50,
- 0x10, 0x27, 0x00, 0xc4, 0x00, 0xe5, 0x00, 0x00, 0x10, 0x06, 0x00, 0x45,
- 0x00, 0x00, 0xff, 0xff, 0x00, 0x56, 0xff, 0xd1, 0x04, 0x48, 0x04, 0x50,
- 0x10, 0x27, 0x00, 0xc8, 0x00, 0xe7, 0xff, 0xe3, 0x10, 0x06, 0x00, 0x45,
- 0x00, 0x00, 0xff, 0xff, 0x00, 0x56, 0xff, 0xd1, 0x04, 0x48, 0x05, 0x9d,
- 0x10, 0x27, 0x00, 0x6b, 0x00, 0xe5, 0xff, 0xe5, 0x10, 0x06, 0x00, 0x45,
- 0x00, 0x00, 0xff, 0xff, 0x00, 0x56, 0xff, 0xd1, 0x04, 0x48, 0x04, 0x50,
- 0x10, 0x27, 0x00, 0xc7, 0x00, 0xdd, 0x00, 0x00, 0x10, 0x06, 0x00, 0x45,
- 0x00, 0x00, 0x00, 0x03, 0x00, 0x46, 0xff, 0xd1, 0x06, 0xc3, 0x04, 0x50,
- 0x00, 0x3c, 0x00, 0x4d, 0x00, 0x56, 0x00, 0x00, 0x01, 0x16, 0x17, 0x16,
- 0x33, 0x32, 0x37, 0x33, 0x06, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x2f,
- 0x01, 0x06, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x35, 0x34, 0x37, 0x36,
- 0x25, 0x36, 0x33, 0x36, 0x37, 0x36, 0x3d, 0x01, 0x34, 0x27, 0x26, 0x23,
- 0x22, 0x07, 0x06, 0x07, 0x23, 0x12, 0x25, 0x36, 0x33, 0x20, 0x17, 0x36,
- 0x37, 0x36, 0x33, 0x32, 0x17, 0x16, 0x17, 0x16, 0x15, 0x01, 0x32, 0x37,
- 0x36, 0x37, 0x36, 0x3d, 0x01, 0x06, 0x07, 0x06, 0x07, 0x06, 0x15, 0x14,
- 0x17, 0x16, 0x01, 0x21, 0x34, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x03,
- 0xac, 0x05, 0xa7, 0x41, 0x4e, 0xd1, 0x4a, 0xac, 0x26, 0x9f, 0x6e, 0x96,
- 0xb7, 0x77, 0x24, 0x1a, 0x21, 0xa2, 0x97, 0x3d, 0x44, 0xb3, 0x5e, 0x47,
- 0x98, 0x70, 0x01, 0x02, 0x05, 0x05, 0x7e, 0x20, 0x14, 0xa4, 0x23, 0x2a,
- 0xb7, 0x31, 0x0d, 0x05, 0xac, 0x0a, 0x01, 0x20, 0x3a, 0x46, 0x01, 0x07,
- 0x5f, 0x51, 0x96, 0x3c, 0x3f, 0xc0, 0x83, 0x48, 0x26, 0x2b, 0xfb, 0x02,
- 0x9e, 0x6a, 0x36, 0x08, 0x01, 0x43, 0x9f, 0x94, 0x37, 0x67, 0x5b, 0x30,
- 0x02, 0x2d, 0x02, 0x5a, 0x63, 0x4f, 0x75, 0x93, 0x56, 0x41, 0x01, 0xdf,
- 0xfe, 0x52, 0x20, 0xd7, 0xcf, 0x62, 0x44, 0x65, 0x1f, 0x26, 0x37, 0xa8,
- 0x29, 0x10, 0x6e, 0x53, 0x7c, 0xbc, 0x50, 0x3b, 0x17, 0x01, 0x0b, 0x27,
- 0x18, 0x2e, 0x2d, 0x82, 0x19, 0x05, 0x73, 0x20, 0x2b, 0x01, 0x1e, 0x34,
- 0x0a, 0xa8, 0x72, 0x27, 0x0f, 0x79, 0x44, 0x5e, 0x73, 0xe3, 0xfe, 0x87,
- 0x6f, 0x38, 0x2d, 0x05, 0x03, 0xce, 0x1d, 0x17, 0x16, 0x18, 0x2e, 0x6e,
- 0x69, 0x2c, 0x17, 0x02, 0x04, 0xa2, 0x5c, 0x4a, 0x72, 0x55, 0x00, 0x01,
- 0x00, 0x3f, 0xfe, 0x4a, 0x03, 0xd1, 0x04, 0x50, 0x00, 0x3e, 0x00, 0x00,
- 0x05, 0x24, 0x03, 0x26, 0x35, 0x10, 0x37, 0x36, 0x33, 0x32, 0x17, 0x16,
- 0x17, 0x23, 0x26, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x15, 0x14, 0x17,
- 0x16, 0x33, 0x32, 0x13, 0x33, 0x06, 0x07, 0x06, 0x23, 0x07, 0x36, 0x33,
- 0x32, 0x17, 0x16, 0x15, 0x14, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x27,
- 0x37, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35, 0x34, 0x27, 0x26, 0x23,
- 0x22, 0x07, 0x27, 0x01, 0xcd, 0xfe, 0xf2, 0x59, 0x27, 0x8b, 0x82, 0xd1,
- 0xf3, 0x6d, 0x3d, 0x0b, 0xac, 0x18, 0x83, 0x2c, 0x37, 0xa5, 0x4e, 0x36,
- 0x7a, 0x49, 0x6a, 0xda, 0x2c, 0xac, 0x0c, 0x8b, 0x72, 0xab, 0x1b, 0x1d,
- 0x1c, 0x77, 0x21, 0x0a, 0x67, 0x3d, 0x58, 0x4f, 0x53, 0x24, 0x3a, 0x2b,
- 0x69, 0x31, 0x2f, 0x42, 0x1f, 0x0e, 0x3d, 0x0f, 0x13, 0x20, 0x1f, 0x19,
- 0x2b, 0x32, 0x01, 0x05, 0x70, 0x8a, 0x01, 0x14, 0xa1, 0x95, 0xa5, 0x5c,
- 0x86, 0xa9, 0x30, 0x10, 0x9b, 0x6c, 0xa7, 0xf0, 0x69, 0x3e, 0x01, 0x04,
- 0xd3, 0x71, 0x5c, 0x44, 0x04, 0x51, 0x19, 0x1f, 0x6f, 0x31, 0x1e, 0x1e,
- 0x0c, 0x19, 0x54, 0x30, 0x13, 0x2e, 0x15, 0x19, 0x3a, 0x0e, 0x04, 0x11,
- 0x0f, 0x00, 0xff, 0xff, 0x00, 0x52, 0xff, 0xd1, 0x04, 0x1b, 0x04, 0x50,
- 0x10, 0x27, 0x00, 0xc6, 0x00, 0xf2, 0x00, 0x00, 0x10, 0x06, 0x00, 0x49,
- 0x00, 0x00, 0xff, 0xff, 0x00, 0x52, 0xff, 0xd1, 0x04, 0x1b, 0x04, 0x50,
- 0x10, 0x27, 0x00, 0xc5, 0x00, 0xf6, 0xff, 0xfe, 0x10, 0x06, 0x00, 0x49,
- 0x00, 0x00, 0xff, 0xff, 0x00, 0x52, 0xff, 0xd1, 0x04, 0x1b, 0x04, 0x50,
- 0x10, 0x27, 0x00, 0xc4, 0x00, 0xfc, 0x00, 0x02, 0x10, 0x06, 0x00, 0x49,
- 0x00, 0x00, 0xff, 0xff, 0x00, 0x52, 0xff, 0xd1, 0x04, 0x1b, 0x05, 0x9d,
- 0x10, 0x27, 0x00, 0x6b, 0x00, 0xf0, 0xff, 0xe5, 0x10, 0x06, 0x00, 0x49,
- 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x10, 0x26, 0x00, 0xc6, 0xcb, 0xfc, 0x10, 0x06, 0x00, 0xc3, 0x00, 0x00,
- 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x26,
- 0x00, 0xc5, 0xc9, 0xfe, 0x10, 0x06, 0x00, 0xc3, 0x00, 0x00, 0xff, 0xff,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x26, 0x00, 0xc4,
- 0xc9, 0x00, 0x10, 0x06, 0x00, 0xc3, 0x00, 0x00, 0xff, 0xff, 0x00, 0x06,
- 0x04, 0xca, 0x02, 0x27, 0x05, 0x9d, 0x10, 0x26, 0x00, 0x6b, 0xc9, 0xe5,
- 0x10, 0x06, 0x00, 0xc3, 0x00, 0x00, 0x00, 0x02, 0x00, 0x4a, 0xff, 0xd1,
- 0x04, 0x14, 0x05, 0xf2, 0x00, 0x24, 0x00, 0x34, 0x00, 0x00, 0x13, 0x10,
- 0x37, 0x36, 0x33, 0x32, 0x17, 0x26, 0x27, 0x26, 0x27, 0x07, 0x27, 0x37,
- 0x26, 0x27, 0x26, 0x27, 0x37, 0x16, 0x17, 0x16, 0x17, 0x37, 0x17, 0x07,
- 0x16, 0x17, 0x16, 0x11, 0x10, 0x07, 0x06, 0x23, 0x20, 0x27, 0x26, 0x01,
- 0x22, 0x07, 0x06, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35,
- 0x34, 0x27, 0x26, 0x4a, 0xc7, 0x6d, 0x8a, 0x33, 0x4e, 0x48, 0x64, 0x0b,
- 0x11, 0xc7, 0x4a, 0xae, 0x38, 0x64, 0x05, 0x07, 0x5a, 0x45, 0x5f, 0x19,
- 0x27, 0xc6, 0x52, 0xb8, 0x99, 0x57, 0xd0, 0xb7, 0x77, 0xb7, 0xfe, 0xf3,
- 0x7d, 0x5b, 0x01, 0xe5, 0x9f, 0x53, 0x41, 0x75, 0x4c, 0x72, 0x9d, 0x53,
- 0x43, 0x7e, 0x4a, 0x02, 0x10, 0x01, 0x5d, 0x90, 0x4f, 0x1b, 0x4a, 0x54,
- 0x09, 0x0f, 0x5c, 0x50, 0x52, 0x2b, 0x39, 0x03, 0x04, 0x5a, 0x1d, 0x3b,
- 0x10, 0x19, 0x5c, 0x4c, 0x54, 0x75, 0x6a, 0xfb, 0xfe, 0xbf, 0xfe, 0xb1,
- 0x92, 0x60, 0xc7, 0x91, 0x02, 0x89, 0x8a, 0x6d, 0xab, 0xea, 0x6e, 0x49,
- 0x86, 0x6c, 0xa9, 0xfd, 0x6c, 0x3f, 0xff, 0xff, 0x00, 0x8f, 0x00, 0x00,
- 0x03, 0xe5, 0x04, 0x50, 0x10, 0x27, 0x00, 0xc8, 0x00, 0xee, 0xff, 0xe3,
- 0x10, 0x06, 0x00, 0x52, 0x00, 0x00, 0xff, 0xff, 0x00, 0x4a, 0xff, 0xd1,
- 0x04, 0x14, 0x04, 0x50, 0x10, 0x27, 0x00, 0xc6, 0x00, 0xdf, 0x00, 0x02,
- 0x10, 0x06, 0x00, 0x53, 0x00, 0x00, 0xff, 0xff, 0x00, 0x4a, 0xff, 0xd1,
- 0x04, 0x14, 0x04, 0x50, 0x10, 0x27, 0x00, 0xc5, 0x00, 0xe1, 0x00, 0x00,
- 0x10, 0x06, 0x00, 0x53, 0x00, 0x00, 0xff, 0xff, 0x00, 0x4a, 0xff, 0xd1,
- 0x04, 0x14, 0x04, 0x50, 0x10, 0x27, 0x00, 0xc4, 0x00, 0xe1, 0x00, 0x02,
- 0x10, 0x06, 0x00, 0x53, 0x00, 0x00, 0xff, 0xff, 0x00, 0x4a, 0xff, 0xd1,
- 0x04, 0x14, 0x04, 0x50, 0x10, 0x27, 0x00, 0xc8, 0x00, 0xe1, 0xff, 0xe3,
- 0x10, 0x06, 0x00, 0x53, 0x00, 0x00, 0xff, 0xff, 0x00, 0x4a, 0xff, 0xd1,
- 0x04, 0x14, 0x05, 0x9d, 0x10, 0x27, 0x00, 0x6b, 0x00, 0xdf, 0xff, 0xe5,
- 0x10, 0x06, 0x00, 0x53, 0x00, 0x00, 0x00, 0x03, 0x00, 0x66, 0x00, 0x00,
- 0x04, 0x46, 0x03, 0xc7, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0b, 0x00, 0x00,
- 0x01, 0x15, 0x21, 0x35, 0x01, 0x15, 0x23, 0x35, 0x13, 0x15, 0x23, 0x35,
- 0x04, 0x46, 0xfc, 0x20, 0x02, 0x5b, 0xd5, 0xd5, 0xd5, 0x02, 0x2b, 0x8f,
- 0x8f, 0xfe, 0xaa, 0xd5, 0xd5, 0x02, 0xf2, 0xd5, 0xd5, 0x00, 0x00, 0x03,
- 0x00, 0x25, 0xff, 0xc3, 0x04, 0x3b, 0x04, 0x50, 0x00, 0x17, 0x00, 0x20,
- 0x00, 0x2b, 0x00, 0x00, 0x01, 0x07, 0x16, 0x15, 0x10, 0x07, 0x06, 0x23,
- 0x22, 0x27, 0x07, 0x27, 0x37, 0x26, 0x35, 0x10, 0x37, 0x36, 0x33, 0x32,
- 0x17, 0x16, 0x17, 0x37, 0x03, 0x01, 0x16, 0x33, 0x32, 0x37, 0x36, 0x35,
- 0x34, 0x09, 0x01, 0x26, 0x27, 0x26, 0x23, 0x22, 0x07, 0x06, 0x15, 0x14,
- 0x04, 0x3b, 0x81, 0x5a, 0xa1, 0x7c, 0xc6, 0xd2, 0x7c, 0x7d, 0x41, 0x87,
- 0x62, 0xa1, 0x7d, 0xc7, 0xc6, 0x81, 0x07, 0x06, 0x77, 0xbd, 0xfe, 0x19,
- 0x58, 0x81, 0xa3, 0x52, 0x3e, 0xfd, 0xc5, 0x01, 0xe9, 0x49, 0x79, 0x0f,
- 0x10, 0x9f, 0x53, 0x41, 0x04, 0x17, 0x92, 0x94, 0xe1, 0xfe, 0xce, 0x98,
- 0x75, 0x7f, 0x8d, 0x39, 0x97, 0x92, 0xeb, 0x01, 0x31, 0x98, 0x77, 0x78,
- 0x07, 0x06, 0x85, 0xfe, 0xa8, 0xfd, 0xd9, 0x62, 0x8e, 0x6b, 0xa8, 0x89,
- 0xfe, 0x88, 0x02, 0x27, 0x5c, 0x0c, 0x02, 0x8a, 0x6d, 0xab, 0x8c, 0x00,
- 0xff, 0xff, 0x00, 0x85, 0xff, 0xd1, 0x03, 0xdb, 0x04, 0x31, 0x10, 0x27,
- 0x00, 0xc6, 0x00, 0xdd, 0xff, 0xfe, 0x10, 0x06, 0x00, 0x59, 0x00, 0x00,
- 0xff, 0xff, 0x00, 0x85, 0xff, 0xd1, 0x03, 0xdb, 0x04, 0x31, 0x10, 0x27,
- 0x00, 0xc5, 0x00, 0xdd, 0x00, 0x00, 0x10, 0x06, 0x00, 0x59, 0x00, 0x00,
- 0xff, 0xff, 0x00, 0x85, 0xff, 0xd1, 0x03, 0xdb, 0x04, 0x31, 0x10, 0x27,
- 0x00, 0xc4, 0x00, 0xe3, 0x00, 0x02, 0x10, 0x06, 0x00, 0x59, 0x00, 0x00,
- 0xff, 0xff, 0x00, 0x85, 0xff, 0xd1, 0x03, 0xdb, 0x05, 0x9d, 0x10, 0x27,
- 0x00, 0x6b, 0x00, 0xe1, 0xff, 0xe5, 0x10, 0x06, 0x00, 0x59, 0x00, 0x00,
- 0xff, 0xff, 0x00, 0x29, 0xfe, 0x42, 0x03, 0xd3, 0x04, 0x31, 0x10, 0x27,
- 0x00, 0xc5, 0x00, 0xa6, 0xff, 0xfe, 0x10, 0x06, 0x00, 0x5d, 0x00, 0x00,
- 0x00, 0x02, 0x00, 0x6f, 0xfe, 0x42, 0x04, 0x2d, 0x05, 0xb6, 0x00, 0x14,
- 0x00, 0x24, 0x00, 0x00, 0x13, 0x11, 0x33, 0x11, 0x36, 0x37, 0x36, 0x33,
- 0x32, 0x17, 0x16, 0x11, 0x10, 0x07, 0x06, 0x23, 0x22, 0x27, 0x26, 0x27,
- 0x11, 0x01, 0x22, 0x07, 0x06, 0x15, 0x14, 0x17, 0x16, 0x33, 0x32, 0x37,
- 0x36, 0x35, 0x34, 0x27, 0x26, 0x6f, 0xaa, 0x59, 0x9f, 0x27, 0x2a, 0xd0,
- 0x7c, 0x7f, 0x88, 0x7c, 0xc7, 0xa9, 0x72, 0x17, 0x17, 0x01, 0x2b, 0x91,
- 0x53, 0x47, 0x6b, 0x4d, 0x73, 0x91, 0x57, 0x4f, 0x6d, 0x51, 0xfe, 0x42,
- 0x07, 0x74, 0xfd, 0xf6, 0x7f, 0x1e, 0x07, 0x9d, 0xa0, 0xfe, 0xf3, 0xfe,
- 0xf5, 0x9c, 0x8e, 0x6d, 0x17, 0x1c, 0xfd, 0xd1, 0x05, 0x6e, 0x81, 0x6f,
- 0xb0, 0xdb, 0x72, 0x52, 0x7a, 0x70, 0xaf, 0xdc, 0x73, 0x57, 0xff, 0xff,
- 0x00, 0x29, 0xfe, 0x42, 0x03, 0xd3, 0x05, 0x9d, 0x10, 0x27, 0x00, 0x6b,
- 0x00, 0xb0, 0xff, 0xe5, 0x10, 0x06, 0x00, 0x5d, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x01, 0x9e, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0x9c, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x0c, 0x00, 0xb7, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x4a, 0x00, 0xcc, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x12, 0x01, 0x3e, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x34, 0x01, 0x5c, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x10, 0x01, 0xad, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x8c, 0x01, 0xc8, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x48, 0x02, 0x9d, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x58, 0x03, 0x0c, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x68, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 0x00, 0xae, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x06, 0x00, 0xc5, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x25, 0x01, 0x18, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x09, 0x01, 0x52, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x1a, 0x01, 0x92, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x08, 0x01, 0xbf, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x46, 0x02, 0x56, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x24, 0x02, 0xe7, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x2c, 0x03, 0x66, 0x00, 0x03,
- 0x00, 0x01, 0x04, 0x09, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 0x00, 0x03,
- 0x00, 0x01, 0x04, 0x09, 0x00, 0x01, 0x00, 0x10, 0x00, 0x9c, 0x00, 0x03,
- 0x00, 0x01, 0x04, 0x09, 0x00, 0x02, 0x00, 0x0c, 0x00, 0xb7, 0x00, 0x03,
- 0x00, 0x01, 0x04, 0x09, 0x00, 0x03, 0x00, 0x4a, 0x00, 0xcc, 0x00, 0x03,
- 0x00, 0x01, 0x04, 0x09, 0x00, 0x04, 0x00, 0x12, 0x01, 0x3e, 0x00, 0x03,
- 0x00, 0x01, 0x04, 0x09, 0x00, 0x05, 0x00, 0x34, 0x01, 0x5c, 0x00, 0x03,
- 0x00, 0x01, 0x04, 0x09, 0x00, 0x06, 0x00, 0x10, 0x01, 0xad, 0x00, 0x03,
- 0x00, 0x01, 0x04, 0x09, 0x00, 0x0d, 0x00, 0x8c, 0x01, 0xc8, 0x00, 0x03,
- 0x00, 0x01, 0x04, 0x09, 0x00, 0x0e, 0x00, 0x48, 0x02, 0x9d, 0x00, 0x03,
- 0x00, 0x01, 0x04, 0x09, 0x00, 0x13, 0x00, 0x58, 0x03, 0x0c, 0x00, 0x03,
- 0x00, 0x01, 0x04, 0x24, 0x00, 0x02, 0x00, 0x0e, 0x03, 0x93, 0x00, 0x03,
- 0x00, 0x01, 0x04, 0x24, 0x00, 0x0d, 0x00, 0x86, 0x03, 0xa3, 0x00, 0x03,
- 0x00, 0x01, 0x04, 0x24, 0x00, 0x0e, 0x00, 0x48, 0x04, 0x2b, 0x00, 0x03,
- 0x00, 0x01, 0x04, 0x24, 0x00, 0x13, 0x00, 0x54, 0x04, 0x75, 0x00, 0x43,
- 0x00, 0x6f, 0x00, 0x70, 0x00, 0x79, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x66,
- 0x00, 0x74, 0x00, 0x20, 0x00, 0x32, 0x00, 0x30, 0x00, 0x30, 0x00, 0x32,
- 0x00, 0x2c, 0x00, 0x20, 0x00, 0x32, 0x00, 0x30, 0x00, 0x30, 0x00, 0x33,
- 0x00, 0x2c, 0x00, 0x20, 0x00, 0x32, 0x00, 0x30, 0x00, 0x30, 0x00, 0x35,
- 0x00, 0x20, 0x00, 0x46, 0x00, 0x72, 0x00, 0x65, 0x00, 0x65, 0x00, 0x20,
- 0x00, 0x53, 0x00, 0x6f, 0x00, 0x66, 0x00, 0x74, 0x00, 0x77, 0x00, 0x61,
- 0x00, 0x72, 0x00, 0x65, 0x00, 0x20, 0x00, 0x46, 0x00, 0x6f, 0x00, 0x75,
- 0x00, 0x6e, 0x00, 0x64, 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6f,
- 0x00, 0x6e, 0x00, 0x2e, 0x00, 0x00, 0x43, 0x6f, 0x70, 0x79, 0x6c, 0x65,
- 0x66, 0x74, 0x20, 0x32, 0x30, 0x30, 0x32, 0x2c, 0x20, 0x32, 0x30, 0x30,
- 0x33, 0x2c, 0x20, 0x32, 0x30, 0x30, 0x35, 0x20, 0x46, 0x72, 0x65, 0x65,
- 0x20, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x20, 0x46, 0x6f,
- 0x75, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x00, 0x00, 0x46,
- 0x00, 0x72, 0x00, 0x65, 0x00, 0x65, 0x00, 0x53, 0x00, 0x61, 0x00, 0x6e,
- 0x00, 0x73, 0x00, 0x00, 0x46, 0x72, 0x65, 0x65, 0x53, 0x61, 0x6e, 0x73,
- 0x00, 0x00, 0x4d, 0x00, 0x65, 0x00, 0x64, 0x00, 0x69, 0x00, 0x75, 0x00,
- 0x6d, 0x00, 0x00, 0x4d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x00, 0x00, 0x46,
- 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x46, 0x00, 0x6f, 0x00, 0x72,
- 0x00, 0x67, 0x00, 0x65, 0x00, 0x20, 0x00, 0x31, 0x00, 0x2e, 0x00, 0x30,
- 0x00, 0x20, 0x00, 0x3a, 0x00, 0x20, 0x00, 0x46, 0x00, 0x72, 0x00, 0x65,
- 0x00, 0x65, 0x00, 0x20, 0x00, 0x53, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x73,
- 0x00, 0x20, 0x00, 0x3a, 0x00, 0x20, 0x00, 0x32, 0x00, 0x36, 0x00, 0x2d,
- 0x00, 0x31, 0x00, 0x2d, 0x00, 0x32, 0x00, 0x30, 0x00, 0x30, 0x00, 0x36,
- 0x00, 0x00, 0x46, 0x6f, 0x6e, 0x74, 0x46, 0x6f, 0x72, 0x67, 0x65, 0x20,
- 0x31, 0x2e, 0x30, 0x20, 0x3a, 0x20, 0x46, 0x72, 0x65, 0x65, 0x20, 0x53,
- 0x61, 0x6e, 0x73, 0x20, 0x3a, 0x20, 0x32, 0x36, 0x2d, 0x31, 0x2d, 0x32,
- 0x30, 0x30, 0x36, 0x00, 0x00, 0x46, 0x00, 0x72, 0x00, 0x65, 0x00, 0x65,
- 0x00, 0x20, 0x00, 0x53, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x73, 0x00, 0x00,
- 0x46, 0x72, 0x65, 0x65, 0x20, 0x53, 0x61, 0x6e, 0x73, 0x00, 0x00, 0x56,
- 0x00, 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e,
- 0x00, 0x20, 0x00, 0x24, 0x00, 0x52, 0x00, 0x65, 0x00, 0x76, 0x00, 0x69,
- 0x00, 0x73, 0x00, 0x69, 0x00, 0x6f, 0x00, 0x6e, 0x00, 0x3a, 0x00, 0x20,
- 0x00, 0x31, 0x00, 0x2e, 0x00, 0x37, 0x00, 0x36, 0x00, 0x20, 0x00, 0x24,
- 0x00, 0x20, 0x00, 0x00, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20,
- 0x24, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x31,
- 0x2e, 0x37, 0x36, 0x20, 0x24, 0x20, 0x00, 0x00, 0x46, 0x00, 0x72, 0x00,
- 0x65, 0x00, 0x65, 0x00, 0x53, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x73, 0x00,
- 0x00, 0x46, 0x72, 0x65, 0x65, 0x53, 0x61, 0x6e, 0x73, 0x00, 0x00, 0x54,
- 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x75, 0x00, 0x73, 0x00, 0x65,
- 0x00, 0x20, 0x00, 0x6f, 0x00, 0x66, 0x00, 0x20, 0x00, 0x74, 0x00, 0x68,
- 0x00, 0x69, 0x00, 0x73, 0x00, 0x20, 0x00, 0x66, 0x00, 0x6f, 0x00, 0x6e,
- 0x00, 0x74, 0x00, 0x20, 0x00, 0x69, 0x00, 0x73, 0x00, 0x20, 0x00, 0x67,
- 0x00, 0x72, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x74, 0x00, 0x65, 0x00, 0x64,
- 0x00, 0x20, 0x00, 0x73, 0x00, 0x75, 0x00, 0x62, 0x00, 0x6a, 0x00, 0x65,
- 0x00, 0x63, 0x00, 0x74, 0x00, 0x20, 0x00, 0x74, 0x00, 0x6f, 0x00, 0x20,
- 0x00, 0x47, 0x00, 0x4e, 0x00, 0x55, 0x00, 0x20, 0x00, 0x47, 0x00, 0x65,
- 0x00, 0x6e, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, 0x6c, 0x00, 0x20,
- 0x00, 0x50, 0x00, 0x75, 0x00, 0x62, 0x00, 0x6c, 0x00, 0x69, 0x00, 0x63,
- 0x00, 0x20, 0x00, 0x4c, 0x00, 0x69, 0x00, 0x63, 0x00, 0x65, 0x00, 0x6e,
- 0x00, 0x73, 0x00, 0x65, 0x00, 0x2e, 0x00, 0x00, 0x54, 0x68, 0x65, 0x20,
- 0x75, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20,
- 0x66, 0x6f, 0x6e, 0x74, 0x20, 0x69, 0x73, 0x20, 0x67, 0x72, 0x61, 0x6e,
- 0x74, 0x65, 0x64, 0x20, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20,
- 0x74, 0x6f, 0x20, 0x47, 0x4e, 0x55, 0x20, 0x47, 0x65, 0x6e, 0x65, 0x72,
- 0x61, 0x6c, 0x20, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x20, 0x4c, 0x69,
- 0x63, 0x65, 0x6e, 0x73, 0x65, 0x2e, 0x00, 0x00, 0x68, 0x00, 0x74, 0x00,
- 0x74, 0x00, 0x70, 0x00, 0x3a, 0x00, 0x2f, 0x00, 0x2f, 0x00, 0x77, 0x00,
- 0x77, 0x00, 0x77, 0x00, 0x2e, 0x00, 0x67, 0x00, 0x6e, 0x00, 0x75, 0x00,
- 0x2e, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x67, 0x00, 0x2f, 0x00, 0x63, 0x00,
- 0x6f, 0x00, 0x70, 0x00, 0x79, 0x00, 0x6c, 0x00, 0x65, 0x00, 0x66, 0x00,
- 0x74, 0x00, 0x2f, 0x00, 0x67, 0x00, 0x70, 0x00, 0x6c, 0x00, 0x2e, 0x00,
- 0x68, 0x00, 0x74, 0x00, 0x6d, 0x00, 0x6c, 0x00, 0x00, 0x68, 0x74, 0x74,
- 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6e, 0x75, 0x2e,
- 0x6f, 0x72, 0x67, 0x2f, 0x63, 0x6f, 0x70, 0x79, 0x6c, 0x65, 0x66, 0x74,
- 0x2f, 0x67, 0x70, 0x6c, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x00, 0x00, 0x54,
- 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x71, 0x00, 0x75, 0x00, 0x69,
- 0x00, 0x63, 0x00, 0x6b, 0x00, 0x20, 0x00, 0x62, 0x00, 0x72, 0x00, 0x6f,
- 0x00, 0x77, 0x00, 0x6e, 0x00, 0x20, 0x00, 0x66, 0x00, 0x6f, 0x00, 0x78,
- 0x00, 0x20, 0x00, 0x6a, 0x00, 0x75, 0x00, 0x6d, 0x00, 0x70, 0x00, 0x73,
- 0x00, 0x20, 0x00, 0x6f, 0x00, 0x76, 0x00, 0x65, 0x00, 0x72, 0x00, 0x20,
- 0x00, 0x74, 0x00, 0x68, 0x00, 0x65, 0x00, 0x20, 0x00, 0x6c, 0x00, 0x61,
- 0x00, 0x7a, 0x00, 0x79, 0x00, 0x20, 0x00, 0x64, 0x00, 0x6f, 0x00, 0x67,
- 0x00, 0x2e, 0x00, 0x00, 0x54, 0x68, 0x65, 0x20, 0x71, 0x75, 0x69, 0x63,
- 0x6b, 0x20, 0x62, 0x72, 0x6f, 0x77, 0x6e, 0x20, 0x66, 0x6f, 0x78, 0x20,
- 0x6a, 0x75, 0x6d, 0x70, 0x73, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x74,
- 0x68, 0x65, 0x20, 0x6c, 0x61, 0x7a, 0x79, 0x20, 0x64, 0x6f, 0x67, 0x2e,
- 0x00, 0x00, 0x6e, 0x00, 0x61, 0x00, 0x76, 0x00, 0x61, 0x00, 0x64, 0x00,
- 0x6e, 0x00, 0x6f, 0x00, 0x00, 0x00, 0x44, 0x00, 0x6f, 0x00, 0x76, 0x00,
- 0x6f, 0x00, 0x6c, 0x00, 0x6a, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x61, 0x00,
- 0x20, 0x00, 0x6a, 0x00, 0x65, 0x00, 0x20, 0x00, 0x75, 0x00, 0x70, 0x00,
- 0x6f, 0x00, 0x72, 0x00, 0x61, 0x00, 0x62, 0x00, 0x61, 0x00, 0x20, 0x00,
- 0x76, 0x00, 0x20, 0x00, 0x73, 0x00, 0x6b, 0x00, 0x6c, 0x00, 0x61, 0x00,
- 0x64, 0x00, 0x75, 0x00, 0x20, 0x00, 0x7a, 0x00, 0x20, 0x00, 0x6c, 0x00,
- 0x69, 0x00, 0x63, 0x00, 0x65, 0x00, 0x6e, 0x00, 0x63, 0x00, 0x6f, 0x00,
- 0x20, 0x00, 0x47, 0x00, 0x4e, 0x00, 0x55, 0x00, 0x20, 0x00, 0x47, 0x00,
- 0x65, 0x00, 0x6e, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, 0x6c, 0x00,
- 0x20, 0x00, 0x50, 0x00, 0x75, 0x00, 0x62, 0x00, 0x6c, 0x00, 0x69, 0x00,
- 0x63, 0x00, 0x20, 0x00, 0x4c, 0x00, 0x69, 0x00, 0x63, 0x00, 0x65, 0x00,
- 0x6e, 0x00, 0x73, 0x00, 0x65, 0x00, 0x2e, 0x00, 0x00, 0x00, 0x68, 0x00,
- 0x74, 0x00, 0x74, 0x00, 0x70, 0x00, 0x3a, 0x00, 0x2f, 0x00, 0x2f, 0x00,
- 0x77, 0x00, 0x77, 0x00, 0x77, 0x00, 0x2e, 0x00, 0x67, 0x00, 0x6e, 0x00,
- 0x75, 0x00, 0x2e, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x67, 0x00, 0x2f, 0x00,
- 0x63, 0x00, 0x6f, 0x00, 0x70, 0x00, 0x79, 0x00, 0x6c, 0x00, 0x65, 0x00,
- 0x66, 0x00, 0x74, 0x00, 0x2f, 0x00, 0x67, 0x00, 0x70, 0x00, 0x6c, 0x00,
- 0x2e, 0x00, 0x68, 0x00, 0x74, 0x00, 0x6d, 0x00, 0x6c, 0x00, 0x00, 0x01,
- 0x60, 0x00, 0x65, 0x00, 0x72, 0x00, 0x69, 0x00, 0x66, 0x00, 0x20, 0x00,
- 0x62, 0x00, 0x6f, 0x00, 0x20, 0x00, 0x7a, 0x00, 0x61, 0x00, 0x20, 0x00,
- 0x76, 0x00, 0x61, 0x00, 0x6a, 0x00, 0x6f, 0x00, 0x20, 0x00, 0x73, 0x00,
- 0x70, 0x00, 0x65, 0x00, 0x74, 0x00, 0x20, 0x00, 0x6b, 0x00, 0x75, 0x00,
- 0x68, 0x00, 0x61, 0x00, 0x6c, 0x00, 0x20, 0x00, 0x64, 0x00, 0x6f, 0x00,
- 0x6d, 0x00, 0x61, 0x01, 0x0d, 0x00, 0x65, 0x00, 0x20, 0x01, 0x7e, 0x00,
- 0x67, 0x00, 0x61, 0x00, 0x6e, 0x00, 0x63, 0x00, 0x65, 0x00, 0x2e, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xfe, 0xcb, 0x00, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xc9, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x01, 0x02, 0x00, 0x03,
- 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x07, 0x00, 0x08, 0x00, 0x09,
- 0x00, 0x0a, 0x00, 0x0b, 0x00, 0x0c, 0x00, 0x0d, 0x00, 0x0e, 0x00, 0x0f,
- 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, 0x00, 0x13, 0x00, 0x14, 0x00, 0x15,
- 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0x1a, 0x00, 0x1b,
- 0x00, 0x1c, 0x00, 0x1d, 0x00, 0x1e, 0x00, 0x1f, 0x00, 0x20, 0x00, 0x21,
- 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27,
- 0x00, 0x28, 0x00, 0x29, 0x00, 0x2a, 0x00, 0x2b, 0x00, 0x2c, 0x00, 0x2d,
- 0x00, 0x2e, 0x00, 0x2f, 0x00, 0x30, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33,
- 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39,
- 0x00, 0x3a, 0x00, 0x3b, 0x00, 0x3c, 0x00, 0x3d, 0x00, 0x3e, 0x00, 0x3f,
- 0x00, 0x40, 0x00, 0x41, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, 0x00, 0x45,
- 0x00, 0x46, 0x00, 0x47, 0x00, 0x48, 0x00, 0x49, 0x00, 0x4a, 0x00, 0x4b,
- 0x00, 0x4c, 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x4f, 0x00, 0x50, 0x00, 0x51,
- 0x00, 0x52, 0x00, 0x53, 0x00, 0x54, 0x00, 0x55, 0x00, 0x56, 0x00, 0x57,
- 0x00, 0x58, 0x00, 0x59, 0x00, 0x5a, 0x00, 0x5b, 0x00, 0x5c, 0x00, 0x5d,
- 0x00, 0x5e, 0x00, 0x5f, 0x00, 0x60, 0x00, 0x61, 0x00, 0xac, 0x00, 0xa3,
- 0x00, 0x84, 0x00, 0x85, 0x00, 0xbd, 0x00, 0x96, 0x00, 0xe8, 0x00, 0x86,
- 0x00, 0x8e, 0x00, 0x8b, 0x00, 0x9d, 0x00, 0xa9, 0x00, 0xa4, 0x01, 0x03,
- 0x00, 0x8a, 0x00, 0xda, 0x00, 0x83, 0x00, 0x93, 0x00, 0xf2, 0x00, 0xf3,
- 0x00, 0x8d, 0x00, 0x97, 0x00, 0x88, 0x00, 0xc3, 0x00, 0xde, 0x00, 0xf1,
- 0x00, 0x9e, 0x00, 0xaa, 0x00, 0xf5, 0x00, 0xf4, 0x00, 0xf6, 0x00, 0xa2,
- 0x00, 0xad, 0x00, 0xc9, 0x00, 0xc7, 0x00, 0xae, 0x00, 0x62, 0x00, 0x63,
- 0x00, 0x90, 0x00, 0x64, 0x00, 0xcb, 0x00, 0x65, 0x00, 0xc8, 0x00, 0xca,
- 0x00, 0xcf, 0x00, 0xcc, 0x00, 0xcd, 0x00, 0xce, 0x00, 0xe9, 0x00, 0x66,
- 0x00, 0xd3, 0x00, 0xd0, 0x00, 0xd1, 0x00, 0xaf, 0x00, 0x67, 0x00, 0xf0,
- 0x00, 0x91, 0x00, 0xd6, 0x00, 0xd4, 0x00, 0xd5, 0x00, 0x68, 0x00, 0xeb,
- 0x00, 0xed, 0x00, 0x89, 0x00, 0x6a, 0x00, 0x69, 0x00, 0x6b, 0x00, 0x6d,
- 0x00, 0x6c, 0x00, 0x6e, 0x00, 0xa0, 0x00, 0x6f, 0x00, 0x71, 0x00, 0x70,
- 0x00, 0x72, 0x00, 0x73, 0x00, 0x75, 0x00, 0x74, 0x00, 0x76, 0x00, 0x77,
- 0x00, 0xea, 0x00, 0x78, 0x00, 0x7a, 0x00, 0x79, 0x00, 0x7b, 0x00, 0x7d,
- 0x00, 0x7c, 0x00, 0xb8, 0x00, 0xa1, 0x00, 0x7f, 0x00, 0x7e, 0x00, 0x80,
- 0x00, 0x81, 0x00, 0xec, 0x00, 0xee, 0x00, 0xba, 0x00, 0xd7, 0x00, 0xd8,
- 0x01, 0x04, 0x01, 0x05, 0x00, 0xdd, 0x00, 0xd9, 0x06, 0x67, 0x6c, 0x79,
- 0x70, 0x68, 0x33, 0x0a, 0x73, 0x6f, 0x66, 0x74, 0x68, 0x79, 0x70, 0x68,
- 0x65, 0x6e, 0x07, 0x75, 0x6e, 0x69, 0x30, 0x32, 0x43, 0x41, 0x07, 0x75,
- 0x6e, 0x69, 0x30, 0x32, 0x43, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0xff, 0xff, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00,
- 0x00, 0x22, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00, 0x00, 0x6a,
- 0x00, 0x01, 0x00, 0x6b, 0x00, 0x6b, 0x00, 0x03, 0x00, 0x6c, 0x00, 0x02,
- 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x8e, 0x00, 0x9c, 0x00, 0x08,
- 0x44, 0x46, 0x4c, 0x54, 0x00, 0x32, 0x61, 0x72, 0x6d, 0x6e, 0x00, 0x3c,
- 0x62, 0x65, 0x6e, 0x67, 0x00, 0x46, 0x64, 0x65, 0x76, 0x61, 0x00, 0x50,
- 0x67, 0x75, 0x6a, 0x72, 0x00, 0x5a, 0x67, 0x75, 0x72, 0x75, 0x00, 0x64,
- 0x68, 0x65, 0x62, 0x72, 0x00, 0x6e, 0x6c, 0x61, 0x74, 0x6e, 0x00, 0x78,
- 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x04,
- 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
- 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
- 0xff, 0xff, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x04,
- 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
- 0x63, 0x63, 0x6d, 0x70, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x02, 0x00, 0x06, 0x00, 0x0e, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x46, 0x00, 0x02,
- 0x00, 0x12, 0x00, 0x1a, 0x00, 0x22, 0x00, 0x22, 0x00, 0x03, 0x00, 0x00,
- 0x00, 0x2c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x4d, 0x00, 0x4e,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
- 0x00, 0x4d, 0x00, 0x4e, 0x00, 0x01, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00,
- 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x01, 0x00, 0x06, 0x00, 0x76, 0x00, 0x01, 0x00, 0x01, 0x00, 0x4d,
- 0x00, 0x01, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x90, 0x00, 0xaa, 0x00, 0x08,
- 0x44, 0x46, 0x4c, 0x54, 0x00, 0x32, 0x61, 0x72, 0x6d, 0x6e, 0x00, 0x3e,
- 0x62, 0x65, 0x6e, 0x67, 0x00, 0x48, 0x64, 0x65, 0x76, 0x61, 0x00, 0x52,
- 0x67, 0x75, 0x6a, 0x72, 0x00, 0x5c, 0x67, 0x75, 0x72, 0x75, 0x00, 0x66,
- 0x68, 0x65, 0x62, 0x72, 0x00, 0x70, 0x6c, 0x61, 0x74, 0x6e, 0x00, 0x7a,
- 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x01,
- 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x04,
- 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
- 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
- 0xff, 0xff, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x01, 0x00, 0x00,
- 0x00, 0x02, 0x6b, 0x65, 0x72, 0x6e, 0x00, 0x0e, 0x6b, 0x65, 0x72, 0x6e,
- 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x02, 0x00, 0x06, 0x00, 0x0e, 0x00, 0x02, 0x00, 0x00,
- 0x00, 0x01, 0x00, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x8e,
- 0x00, 0x01, 0x00, 0x7a, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x12,
- 0x00, 0x20, 0x00, 0x46, 0x00, 0x54, 0x00, 0x03, 0xff, 0xff, 0xff, 0x33,
- 0xff, 0xff, 0xff, 0xac, 0xff, 0xff, 0xff, 0x9a, 0x00, 0x09, 0x00, 0x25,
- 0xff, 0xf2, 0x00, 0x38, 0xff, 0x5c, 0x00, 0x3a, 0xff, 0xa2, 0x00, 0x3b,
- 0xff, 0xd9, 0x00, 0x3d, 0xff, 0x44, 0x00, 0x84, 0xff, 0xf2, 0x00, 0x87,
- 0xff, 0xf2, 0x00, 0x88, 0xff, 0xf2, 0x00, 0x89, 0xff, 0xe9, 0x00, 0x03,
- 0xff, 0xff, 0xff, 0x31, 0xff, 0xff, 0xff, 0xac, 0xff, 0xff, 0xff, 0x98,
- 0x00, 0x09, 0x00, 0x25, 0xff, 0x9a, 0x00, 0x38, 0xfe, 0xfe, 0x00, 0x3a,
- 0xff, 0x42, 0x00, 0x3b, 0xff, 0x79, 0x00, 0x3d, 0xfe, 0xf0, 0x00, 0x84,
- 0xff, 0x9a, 0x00, 0x87, 0xff, 0x9a, 0x00, 0x88, 0xff, 0x9a, 0x00, 0x89,
- 0xff, 0x91, 0x00, 0x01, 0x00, 0x04, 0x00, 0x10, 0x00, 0x11, 0x00, 0x12,
- 0x00, 0x7e, 0x00, 0x01, 0x0e, 0x92, 0x00, 0x04, 0x00, 0x00, 0x00, 0x48,
- 0x00, 0x9a, 0x01, 0x34, 0x01, 0x7a, 0x01, 0xa4, 0x01, 0xda, 0x02, 0x50,
- 0x02, 0x82, 0x02, 0x94, 0x02, 0xe6, 0x03, 0x5c, 0x03, 0xae, 0x03, 0xd8,
- 0x04, 0x2e, 0x04, 0xa4, 0x04, 0xce, 0x05, 0x8c, 0x05, 0xc2, 0x06, 0x5c,
- 0x06, 0xee, 0x07, 0x18, 0x07, 0xaa, 0x07, 0xb4, 0x07, 0xca, 0x07, 0xd8,
- 0x07, 0xe2, 0x07, 0xfc, 0x08, 0x42, 0x08, 0x5c, 0x08, 0x66, 0x08, 0x70,
- 0x08, 0xae, 0x08, 0xb4, 0x08, 0xc6, 0x08, 0xe0, 0x08, 0xfe, 0x09, 0x08,
- 0x09, 0x12, 0x09, 0xc0, 0x09, 0xca, 0x0a, 0x08, 0x0a, 0x0e, 0x0a, 0x78,
- 0x0a, 0xde, 0x0a, 0xf8, 0x0b, 0x62, 0x0b, 0x90, 0x0c, 0x02, 0x0c, 0x30,
- 0x0c, 0x5e, 0x0c, 0xd0, 0x0d, 0x46, 0x0d, 0x4c, 0x0d, 0x5a, 0x0d, 0x70,
- 0x0d, 0x7e, 0x0d, 0x8c, 0x0d, 0xa6, 0x0d, 0xac, 0x0d, 0xb2, 0x0d, 0xd0,
- 0x0d, 0xd6, 0x0d, 0xf8, 0x0e, 0x06, 0x0e, 0x14, 0x0e, 0x22, 0x0e, 0x30,
- 0x0e, 0x3e, 0x0e, 0x4c, 0x0e, 0x5a, 0x0e, 0x68, 0x0e, 0x76, 0x0e, 0x7c,
- 0x00, 0x26, 0xff, 0xff, 0xff, 0xae, 0xff, 0xff, 0xff, 0x8d, 0xff, 0xff,
- 0xff, 0x7b, 0xff, 0xff, 0xff, 0xe9, 0xff, 0xff, 0xff, 0xb6, 0x00, 0x10,
- 0x00, 0x0a, 0x00, 0x11, 0xff, 0xfa, 0x00, 0x12, 0x00, 0x0a, 0x00, 0x27,
- 0xff, 0xb6, 0x00, 0x2b, 0xff, 0xb8, 0x00, 0x33, 0xff, 0xbc, 0x00, 0x35,
- 0xff, 0xbe, 0x00, 0x38, 0xff, 0x42, 0x00, 0x39, 0xff, 0xb4, 0x00, 0x3a,
- 0xff, 0x66, 0x00, 0x3b, 0xff, 0x98, 0x00, 0x3d, 0xff, 0x35, 0x00, 0x45,
- 0xff, 0xf8, 0x00, 0x46, 0x00, 0x08, 0x00, 0x47, 0xff, 0xe9, 0x00, 0x48,
- 0xff, 0xf0, 0x00, 0x49, 0xff, 0xdf, 0x00, 0x4b, 0xff, 0xec, 0x00, 0x53,
- 0xff, 0xe5, 0x00, 0x55, 0xff, 0xf0, 0x00, 0x58, 0xff, 0xdf, 0x00, 0x59,
- 0xff, 0xe7, 0x00, 0x5a, 0xff, 0xc1, 0x00, 0x5b, 0xff, 0xd5, 0x00, 0x5d,
- 0xff, 0xba, 0x00, 0x6e, 0xff, 0xa6, 0x00, 0x8a, 0xff, 0xb6, 0x00, 0x99,
- 0xff, 0xbc, 0x00, 0x9c, 0xff, 0xb4, 0x00, 0x9d, 0xff, 0xb4, 0x00, 0x9e,
- 0xff, 0xb4, 0x00, 0x9f, 0xff, 0xb4, 0x00, 0xaa, 0xff, 0xec, 0x00, 0x11,
- 0xff, 0xff, 0xff, 0xf6, 0x00, 0x25, 0xff, 0xd5, 0x00, 0x33, 0xff, 0xf2,
- 0x00, 0x3a, 0xff, 0xac, 0x00, 0x3b, 0xff, 0xcd, 0x00, 0x3d, 0xff, 0xa6,
- 0x00, 0x84, 0xff, 0xd5, 0x00, 0x85, 0xff, 0xd5, 0x00, 0x86, 0xff, 0xd5,
- 0x00, 0x87, 0xff, 0xd5, 0x00, 0x88, 0xff, 0xd5, 0x00, 0x89, 0xff, 0xd5,
- 0x00, 0x95, 0xff, 0xf2, 0x00, 0x96, 0xff, 0xf2, 0x00, 0x97, 0xff, 0xf2,
- 0x00, 0x99, 0xff, 0xf2, 0x00, 0x9b, 0xff, 0xfe, 0x00, 0x0a, 0x00, 0x25,
- 0xff, 0xbe, 0x00, 0x2c, 0xff, 0xe7, 0x00, 0x2f, 0xff, 0xec, 0x00, 0x33,
- 0xff, 0xf0, 0x00, 0x84, 0xff, 0xbe, 0x00, 0x87, 0xff, 0xbe, 0x00, 0x88,
- 0xff, 0xbe, 0x00, 0x89, 0xff, 0xbc, 0x00, 0x96, 0xff, 0xf0, 0x00, 0x99,
- 0xff, 0xf0, 0x00, 0x0d, 0x00, 0x25, 0xff, 0xaa, 0x00, 0x2e, 0xff, 0xf6,
- 0x00, 0x38, 0xff, 0xa4, 0x00, 0x3a, 0xff, 0x98, 0x00, 0x3b, 0xff, 0xc5,
- 0x00, 0x3c, 0xff, 0x93, 0x00, 0x3d, 0xff, 0x7f, 0x00, 0x83, 0xff, 0xaa,
- 0x00, 0x84, 0xff, 0xaa, 0x00, 0x85, 0xff, 0xaa, 0x00, 0x86, 0xff, 0xaa,
- 0x00, 0x87, 0xff, 0xaa, 0x00, 0x88, 0xff, 0xaa, 0x00, 0x1d, 0xff, 0xff,
- 0xff, 0xd1, 0x00, 0x10, 0xff, 0x23, 0x00, 0x11, 0xff, 0xe3, 0x00, 0x12,
- 0xff, 0x23, 0x00, 0x25, 0xff, 0x73, 0x00, 0x2e, 0xff, 0x98, 0x00, 0x33,
- 0xff, 0xd3, 0x00, 0x45, 0xff, 0xbc, 0x00, 0x49, 0xff, 0xcf, 0x00, 0x4d,
- 0xff, 0xec, 0x00, 0x4e, 0xff, 0xe7, 0x00, 0x53, 0xff, 0xd5, 0x00, 0x56,
- 0xff, 0xb8, 0x00, 0x59, 0xff, 0xbc, 0x00, 0x83, 0xff, 0x73, 0x00, 0x84,
- 0xff, 0x73, 0x00, 0x85, 0xff, 0x73, 0x00, 0x86, 0xff, 0x73, 0x00, 0x87,
- 0xff, 0x73, 0x00, 0x88, 0xff, 0x73, 0x00, 0x99, 0xff, 0xd3, 0x00, 0xa4,
- 0xff, 0xbc, 0x00, 0xa7, 0xff, 0xbc, 0x00, 0xa8, 0xff, 0xbc, 0x00, 0xa9,
- 0xff, 0xc5, 0x00, 0xac, 0xff, 0xcf, 0x00, 0xb6, 0xff, 0xd5, 0x00, 0xb9,
- 0xff, 0xd5, 0x00, 0xbb, 0xff, 0xd5, 0x00, 0x0c, 0x00, 0x25, 0xff, 0xf4,
- 0x00, 0x38, 0xff, 0xa6, 0x00, 0x3a, 0xff, 0x9a, 0x00, 0x3b, 0xff, 0xc7,
- 0x00, 0x3d, 0xff, 0x81, 0x00, 0x83, 0xff, 0xf4, 0x00, 0x84, 0xff, 0xf4,
- 0x00, 0x85, 0xff, 0xf4, 0x00, 0x86, 0xff, 0xf4, 0x00, 0x87, 0xff, 0xf4,
- 0x00, 0x88, 0xff, 0xf4, 0x00, 0x89, 0xff, 0xfa, 0x00, 0x04, 0x00, 0x25,
- 0xff, 0xbe, 0x00, 0x87, 0xff, 0xbe, 0x00, 0x88, 0xff, 0xbe, 0x00, 0x89,
- 0xff, 0xc1, 0x00, 0x14, 0xff, 0xff, 0xff, 0xa4, 0x00, 0x11, 0xff, 0xa0,
- 0x00, 0x27, 0xff, 0x98, 0x00, 0x2b, 0xff, 0x98, 0x00, 0x33, 0xff, 0x9e,
- 0x00, 0x37, 0xff, 0xb2, 0x00, 0x38, 0x00, 0x29, 0x00, 0x45, 0xff, 0xe9,
- 0x00, 0x49, 0xff, 0xbe, 0x00, 0x53, 0xff, 0xc5, 0x00, 0x59, 0xff, 0xd9,
- 0x00, 0x5d, 0xff, 0x81, 0x00, 0x96, 0xff, 0x9e, 0x00, 0x99, 0xff, 0x9e,
- 0x00, 0xa7, 0xff, 0xe9, 0x00, 0xa8, 0xff, 0xe9, 0x00, 0xa9, 0xff, 0xf2,
- 0x00, 0xb6, 0xff, 0xc5, 0x00, 0xb9, 0xff, 0xc5, 0x00, 0xbf, 0xff, 0xd9,
- 0x00, 0x1d, 0xff, 0xff, 0xfe, 0xdf, 0xff, 0xff, 0xfe, 0xcf, 0xff, 0xff,
- 0xff, 0xd9, 0xff, 0xff, 0xff, 0xac, 0x00, 0x11, 0xff, 0x00, 0x00, 0x25,
- 0x00, 0x23, 0x00, 0x27, 0xff, 0xac, 0x00, 0x2b, 0xff, 0xaa, 0x00, 0x33,
- 0xff, 0xac, 0x00, 0x37, 0xff, 0xd9, 0x00, 0x38, 0xff, 0x29, 0x00, 0x39,
- 0xff, 0xb8, 0x00, 0x3a, 0xff, 0x29, 0x00, 0x3b, 0xff, 0x75, 0x00, 0x3d,
- 0xff, 0x08, 0x00, 0x59, 0xff, 0xf2, 0x00, 0x5d, 0xff, 0x8d, 0x00, 0x84,
- 0x00, 0x23, 0x00, 0x87, 0x00, 0x23, 0x00, 0x88, 0x00, 0x23, 0x00, 0x89,
- 0x00, 0x29, 0x00, 0x8a, 0xff, 0xb4, 0x00, 0x95, 0xff, 0xac, 0x00, 0x96,
- 0xff, 0xac, 0x00, 0x97, 0xff, 0xac, 0x00, 0x98, 0xff, 0xac, 0x00, 0x99,
- 0xff, 0xac, 0x00, 0x9f, 0xff, 0xb8, 0x00, 0xbf, 0xff, 0xf2, 0x00, 0x14,
- 0xff, 0xff, 0xff, 0xfa, 0x00, 0x10, 0xff, 0xf2, 0x00, 0x12, 0xff, 0xf2,
- 0x00, 0x25, 0xff, 0xee, 0x00, 0x27, 0xff, 0xfa, 0x00, 0x2b, 0xff, 0xfc,
- 0x00, 0x45, 0xff, 0xf6, 0x00, 0x53, 0x00, 0x04, 0x00, 0x84, 0xff, 0xee,
- 0x00, 0x87, 0xff, 0xee, 0x00, 0x88, 0xff, 0xee, 0x00, 0x89, 0xff, 0xf4,
- 0x00, 0x8a, 0xff, 0xfa, 0x00, 0xa4, 0xff, 0xf6, 0x00, 0xa7, 0xff, 0xf6,
- 0x00, 0xa8, 0xff, 0xf6, 0x00, 0xa9, 0xff, 0xfc, 0x00, 0xb6, 0x00, 0x04,
- 0x00, 0xb9, 0x00, 0x04, 0x00, 0xbb, 0x00, 0x08, 0x00, 0x0a, 0x00, 0x25,
- 0xff, 0xb8, 0x00, 0x38, 0xff, 0xaa, 0x00, 0x3a, 0xff, 0xa4, 0x00, 0x3b,
- 0xff, 0xd1, 0x00, 0x3c, 0xff, 0xa2, 0x00, 0x3d, 0xff, 0x87, 0x00, 0x84,
- 0xff, 0xb8, 0x00, 0x87, 0xff, 0xb8, 0x00, 0x88, 0xff, 0xb8, 0x00, 0x89,
- 0xff, 0xb0, 0x00, 0x15, 0xff, 0xff, 0xff, 0xc7, 0x00, 0x10, 0xfe, 0xec,
- 0x00, 0x11, 0xff, 0xae, 0x00, 0x12, 0xfe, 0xec, 0x00, 0x25, 0xff, 0x60,
- 0x00, 0x2e, 0xff, 0x60, 0x00, 0x45, 0xff, 0xc7, 0x00, 0x49, 0xff, 0xc1,
- 0x00, 0x53, 0xff, 0xc9, 0x00, 0x84, 0xff, 0x60, 0x00, 0x87, 0xff, 0x60,
- 0x00, 0x88, 0xff, 0x60, 0x00, 0x89, 0xff, 0x50, 0x00, 0xa4, 0xff, 0xc7,
- 0x00, 0xa7, 0xff, 0xc7, 0x00, 0xa8, 0xff, 0xc7, 0x00, 0xa9, 0xff, 0xcf,
- 0x00, 0xac, 0xff, 0xc1, 0x00, 0xb6, 0xff, 0xc9, 0x00, 0xb9, 0xff, 0xc9,
- 0x00, 0xbb, 0xff, 0xc9, 0x00, 0x1d, 0xff, 0xff, 0xff, 0xe9, 0xff, 0xff,
- 0xff, 0xe9, 0x00, 0x11, 0xff, 0xfc, 0x00, 0x27, 0xff, 0xdf, 0x00, 0x2b,
- 0xff, 0xe1, 0x00, 0x33, 0xff, 0xe5, 0x00, 0x38, 0xff, 0xd1, 0x00, 0x39,
- 0xff, 0xdd, 0x00, 0x3a, 0xff, 0xb0, 0x00, 0x3b, 0xff, 0xc9, 0x00, 0x3d,
- 0xff, 0xa8, 0x00, 0x45, 0xff, 0xe1, 0x00, 0x49, 0xff, 0xe7, 0x00, 0x53,
- 0xff, 0xee, 0x00, 0x59, 0xff, 0xee, 0x00, 0x5d, 0xff, 0xf0, 0x00, 0x8a,
- 0xff, 0xdf, 0x00, 0x96, 0xff, 0xe5, 0x00, 0x99, 0xff, 0xe5, 0x00, 0x9f,
- 0xff, 0xdd, 0x00, 0xa4, 0xff, 0xe1, 0x00, 0xa7, 0xff, 0xe1, 0x00, 0xa8,
- 0xff, 0xe1, 0x00, 0xa9, 0xff, 0xe7, 0x00, 0xac, 0xff, 0xe7, 0x00, 0xb6,
- 0xff, 0xee, 0x00, 0xb9, 0xff, 0xee, 0x00, 0xbd, 0xff, 0xee, 0x00, 0xbf,
- 0xff, 0xee, 0x00, 0x0a, 0x00, 0x25, 0xff, 0xd3, 0x00, 0x38, 0xff, 0xc7,
- 0x00, 0x3a, 0xff, 0xaa, 0x00, 0x3b, 0xff, 0xc7, 0x00, 0x3d, 0xff, 0x9e,
- 0x00, 0x58, 0xff, 0xfa, 0x00, 0x84, 0xff, 0xd3, 0x00, 0x87, 0xff, 0xd3,
- 0x00, 0x88, 0xff, 0xd3, 0x00, 0x89, 0xff, 0xd3, 0x00, 0x2f, 0xff, 0xff,
- 0xff, 0x10, 0xff, 0xff, 0xff, 0x85, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff,
- 0xff, 0xb8, 0x00, 0x10, 0xff, 0x33, 0x00, 0x11, 0xff, 0x62, 0x00, 0x12,
- 0xff, 0x33, 0x00, 0x1e, 0xfe, 0xf0, 0x00, 0x1f, 0xfe, 0xf8, 0x00, 0x25,
- 0xff, 0x3d, 0x00, 0x27, 0xff, 0xa6, 0x00, 0x2b, 0xff, 0xa4, 0x00, 0x2e,
- 0xff, 0x33, 0x00, 0x33, 0xff, 0xaa, 0x00, 0x37, 0xff, 0xcf, 0x00, 0x3a,
- 0x00, 0x19, 0x00, 0x3b, 0x00, 0x21, 0x00, 0x3d, 0x00, 0x29, 0x00, 0x45,
- 0xff, 0x33, 0x00, 0x47, 0xff, 0x48, 0x00, 0x49, 0xff, 0x3d, 0x00, 0x4b,
- 0xff, 0x4a, 0x00, 0x4d, 0xff, 0xfa, 0x00, 0x4e, 0xff, 0xf6, 0x00, 0x53,
- 0xff, 0x44, 0x00, 0x56, 0xff, 0x44, 0x00, 0x57, 0xff, 0x44, 0x00, 0x59,
- 0xff, 0x46, 0x00, 0x5a, 0xff, 0x3d, 0x00, 0x5b, 0xff, 0x42, 0x00, 0x5d,
- 0xff, 0x33, 0x00, 0x6e, 0xff, 0x08, 0x00, 0x83, 0xff, 0x3d, 0x00, 0x84,
- 0xff, 0x3d, 0x00, 0x85, 0xff, 0x3d, 0x00, 0x86, 0xff, 0x3d, 0x00, 0x87,
- 0xff, 0x3d, 0x00, 0x88, 0xff, 0x3d, 0x00, 0x89, 0xff, 0x39, 0x00, 0x95,
- 0xff, 0xaa, 0x00, 0x96, 0xff, 0xaa, 0x00, 0x97, 0xff, 0xaa, 0x00, 0x98,
- 0xff, 0xaa, 0x00, 0x99, 0xff, 0xaa, 0x00, 0x9b, 0xff, 0xac, 0x00, 0xa9,
- 0xff, 0x39, 0x00, 0xbb, 0xff, 0x4e, 0x00, 0x0d, 0x00, 0x10, 0xff, 0xc9,
- 0x00, 0x12, 0xff, 0xcd, 0x00, 0x25, 0xff, 0xb6, 0x00, 0x51, 0xff, 0xf8,
- 0x00, 0x52, 0xff, 0xf8, 0x00, 0x54, 0x00, 0x06, 0x00, 0x56, 0xff, 0xf8,
- 0x00, 0x84, 0xff, 0xb6, 0x00, 0x85, 0xff, 0xb6, 0x00, 0x86, 0xff, 0xb6,
- 0x00, 0x87, 0xff, 0xb6, 0x00, 0x88, 0xff, 0xb6, 0x00, 0x89, 0xff, 0xb0,
- 0x00, 0x26, 0xff, 0xff, 0xff, 0x5c, 0xff, 0xff, 0xff, 0xb8, 0xff, 0xff,
- 0xff, 0xa8, 0x00, 0x10, 0xff, 0x4a, 0x00, 0x11, 0xff, 0xb2, 0x00, 0x12,
- 0xff, 0x4a, 0x00, 0x1e, 0xff, 0x79, 0x00, 0x1f, 0xff, 0x79, 0x00, 0x25,
- 0xff, 0x6f, 0x00, 0x27, 0xff, 0xa8, 0x00, 0x2b, 0xff, 0xaa, 0x00, 0x33,
- 0xff, 0xae, 0x00, 0x37, 0xff, 0xb8, 0x00, 0x38, 0x00, 0x1f, 0x00, 0x45,
- 0xff, 0x87, 0x00, 0x49, 0xff, 0x8b, 0x00, 0x4b, 0xff, 0x9a, 0x00, 0x4d,
- 0xff, 0xf6, 0x00, 0x53, 0xff, 0x91, 0x00, 0x56, 0xff, 0xaa, 0x00, 0x59,
- 0xff, 0xac, 0x00, 0x5d, 0xff, 0xd7, 0x00, 0x6e, 0xff, 0x56, 0x00, 0x83,
- 0xff, 0x6f, 0x00, 0x84, 0xff, 0x6f, 0x00, 0x85, 0xff, 0x6f, 0x00, 0x86,
- 0xff, 0x6f, 0x00, 0x87, 0xff, 0x6f, 0x00, 0x88, 0xff, 0x6f, 0x00, 0x89,
- 0xff, 0x60, 0x00, 0x95, 0xff, 0xae, 0x00, 0x96, 0xff, 0xae, 0x00, 0x97,
- 0xff, 0xae, 0x00, 0x98, 0xff, 0xae, 0x00, 0x99, 0xff, 0xae, 0x00, 0x9b,
- 0xff, 0xbc, 0x00, 0xa9, 0xff, 0x8f, 0x00, 0xbb, 0xff, 0x9a, 0x00, 0x24,
- 0xff, 0xff, 0xff, 0x91, 0x00, 0x10, 0xff, 0x8d, 0x00, 0x11, 0xff, 0xe5,
- 0x00, 0x12, 0xff, 0x8d, 0x00, 0x1e, 0xff, 0x96, 0x00, 0x1f, 0xff, 0x93,
- 0x00, 0x25, 0xff, 0x9a, 0x00, 0x27, 0xff, 0xd1, 0x00, 0x2b, 0xff, 0xd3,
- 0x00, 0x33, 0xff, 0xd7, 0x00, 0x37, 0xff, 0xcf, 0x00, 0x38, 0x00, 0x27,
- 0x00, 0x45, 0xff, 0xb2, 0x00, 0x49, 0xff, 0xbe, 0x00, 0x4b, 0xff, 0xcd,
- 0x00, 0x4d, 0xff, 0xfe, 0x00, 0x53, 0xff, 0xc5, 0x00, 0x56, 0xff, 0xc7,
- 0x00, 0x59, 0xff, 0xc7, 0x00, 0x5d, 0xff, 0xf4, 0x00, 0x6e, 0xff, 0x89,
- 0x00, 0x83, 0xff, 0x9a, 0x00, 0x84, 0xff, 0x9a, 0x00, 0x85, 0xff, 0x9a,
- 0x00, 0x86, 0xff, 0x9a, 0x00, 0x87, 0xff, 0x9a, 0x00, 0x88, 0xff, 0x9a,
- 0x00, 0x89, 0xff, 0x8d, 0x00, 0x95, 0xff, 0xd7, 0x00, 0x96, 0xff, 0xd7,
- 0x00, 0x97, 0xff, 0xd7, 0x00, 0x98, 0xff, 0xd7, 0x00, 0x99, 0xff, 0xd7,
- 0x00, 0x9b, 0xff, 0xe5, 0x00, 0xa9, 0xff, 0xba, 0x00, 0xbb, 0xff, 0xcd,
- 0x00, 0x0a, 0x00, 0x11, 0xff, 0x98, 0x00, 0x27, 0xff, 0x9e, 0x00, 0x33,
- 0xff, 0xa4, 0x00, 0x35, 0xff, 0xa6, 0x00, 0x45, 0xff, 0xe1, 0x00, 0x49,
- 0xff, 0xb6, 0x00, 0x53, 0xff, 0xbc, 0x00, 0x59, 0xff, 0xcf, 0x00, 0x5d,
- 0xff, 0x83, 0x00, 0x99, 0xff, 0xa4, 0x00, 0x24, 0xff, 0xff, 0xff, 0x0c,
- 0x00, 0x10, 0xff, 0x1d, 0x00, 0x11, 0xff, 0x54, 0x00, 0x12, 0xff, 0x1d,
- 0x00, 0x1e, 0xff, 0x4e, 0x00, 0x1f, 0xff, 0x4c, 0x00, 0x25, 0xff, 0x3b,
- 0x00, 0x27, 0xff, 0x89, 0x00, 0x2b, 0xff, 0x89, 0x00, 0x33, 0xff, 0x8d,
- 0x00, 0x37, 0xff, 0xac, 0x00, 0x38, 0x00, 0x2f, 0x00, 0x45, 0xff, 0x4c,
- 0x00, 0x49, 0xff, 0x4a, 0x00, 0x4b, 0xff, 0x56, 0x00, 0x4d, 0x00, 0x06,
- 0x00, 0x53, 0xff, 0x50, 0x00, 0x54, 0xff, 0x91, 0x00, 0x59, 0xff, 0x7f,
- 0x00, 0x5a, 0xff, 0xb6, 0x00, 0x6e, 0xff, 0x04, 0x00, 0x83, 0xff, 0x3b,
- 0x00, 0x84, 0xff, 0x3b, 0x00, 0x85, 0xff, 0x3b, 0x00, 0x86, 0xff, 0x3b,
- 0x00, 0x87, 0xff, 0x3b, 0x00, 0x88, 0xff, 0x3b, 0x00, 0x89, 0xff, 0x2d,
- 0x00, 0x95, 0xff, 0x8d, 0x00, 0x96, 0xff, 0x8d, 0x00, 0x97, 0xff, 0x8d,
- 0x00, 0x98, 0xff, 0x8d, 0x00, 0x99, 0xff, 0x8d, 0x00, 0x9b, 0xff, 0x91,
- 0x00, 0xa9, 0xff, 0x54, 0x00, 0xbb, 0xff, 0x58, 0x00, 0x02, 0x00, 0x5a,
- 0xff, 0xbc, 0x00, 0x5d, 0xff, 0xb2, 0x00, 0x05, 0xff, 0xff, 0xff, 0xd1,
- 0x00, 0x4e, 0xff, 0xf8, 0x00, 0x5a, 0xff, 0xd5, 0x00, 0x5b, 0xff, 0xe5,
- 0x00, 0x5d, 0xff, 0xcb, 0x00, 0x03, 0x00, 0x5a, 0xff, 0xe9, 0x00, 0x5b,
- 0xff, 0xfa, 0x00, 0x5d, 0xff, 0xe1, 0x00, 0x02, 0x00, 0x4c, 0x00, 0x02,
- 0x00, 0x4f, 0x00, 0x0e, 0x00, 0x06, 0xff, 0xff, 0xff, 0xdb, 0x00, 0x58,
- 0xff, 0xec, 0x00, 0x5a, 0xff, 0xe1, 0x00, 0x5b, 0xff, 0xee, 0x00, 0x5c,
- 0xff, 0xc9, 0x00, 0x5d, 0xff, 0xd9, 0x00, 0x11, 0xff, 0xff, 0xff, 0xe7,
- 0x00, 0x45, 0xff, 0xee, 0x00, 0x49, 0xff, 0xe1, 0x00, 0x4a, 0x00, 0x2d,
- 0x00, 0x4d, 0xff, 0xfc, 0x00, 0x4e, 0xff, 0xf8, 0x00, 0x50, 0xff, 0xfa,
- 0x00, 0x53, 0xff, 0xec, 0x00, 0x58, 0x00, 0x31, 0x00, 0xa4, 0xff, 0xee,
- 0x00, 0xa7, 0xff, 0xee, 0x00, 0xa8, 0xff, 0xee, 0x00, 0xa9, 0xff, 0xf6,
- 0x00, 0xac, 0xff, 0xe1, 0x00, 0xb6, 0xff, 0xec, 0x00, 0xb9, 0xff, 0xec,
- 0x00, 0xbb, 0xff, 0xee, 0x00, 0x06, 0x00, 0x45, 0xff, 0xf6, 0x00, 0xa7,
- 0xff, 0xf6, 0x00, 0xa8, 0xff, 0xf6, 0x00, 0xa9, 0xff, 0xfe, 0x00, 0xb6,
- 0x00, 0x06, 0x00, 0xb9, 0x00, 0x06, 0x00, 0x02, 0xff, 0xff, 0xff, 0xe1,
- 0x00, 0x5d, 0xff, 0xdb, 0x00, 0x02, 0x00, 0x38, 0xff, 0xf2, 0x00, 0x4e,
- 0xff, 0xfa, 0x00, 0x0f, 0x00, 0x11, 0xff, 0xac, 0x00, 0x45, 0xff, 0xfc,
- 0x00, 0x49, 0xff, 0xd5, 0x00, 0x4b, 0xff, 0xdf, 0x00, 0x53, 0xff, 0xd9,
- 0x00, 0x57, 0xff, 0xfa, 0x00, 0x59, 0xff, 0xe9, 0x00, 0xa4, 0xff, 0xfc,
- 0x00, 0xa7, 0xff, 0xfc, 0x00, 0xa8, 0xff, 0xfc, 0x00, 0xa9, 0x00, 0x04,
- 0x00, 0xac, 0xff, 0xd5, 0x00, 0xb6, 0xff, 0xd9, 0x00, 0xb9, 0xff, 0xd9,
- 0x00, 0xbf, 0xff, 0xf4, 0x00, 0x01, 0x00, 0x5d, 0xff, 0xf6, 0x00, 0x04,
- 0x00, 0x54, 0x00, 0x0a, 0x00, 0x5a, 0xff, 0xe5, 0x00, 0x5b, 0xff, 0xf2,
- 0x00, 0x5d, 0xff, 0xdb, 0x00, 0x06, 0xff, 0xff, 0xff, 0xe3, 0x00, 0x38,
- 0xff, 0x3b, 0x00, 0x54, 0x00, 0x0a, 0x00, 0x5a, 0xff, 0xe5, 0x00, 0x5b,
- 0xff, 0xf2, 0x00, 0x5d, 0xff, 0xdb, 0x00, 0x07, 0xff, 0xff, 0xff, 0xd5,
- 0x00, 0x38, 0xff, 0x35, 0x00, 0x58, 0xff, 0xec, 0x00, 0x5a, 0xff, 0xdb,
- 0x00, 0x5b, 0xff, 0xec, 0x00, 0x5c, 0xff, 0xc9, 0x00, 0x5d, 0xff, 0xd3,
- 0x00, 0x02, 0x00, 0x58, 0xff, 0xf8, 0x00, 0x5d, 0xff, 0xdf, 0x00, 0x02,
- 0x00, 0x47, 0x00, 0x10, 0x00, 0x59, 0x00, 0x08, 0x00, 0x2b, 0xff, 0xff,
- 0x00, 0x02, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xf4, 0x00, 0x10,
- 0xff, 0x73, 0x00, 0x11, 0xff, 0xa0, 0x00, 0x12, 0xff, 0x73, 0x00, 0x1e,
- 0xff, 0xd3, 0x00, 0x1f, 0xff, 0xd3, 0x00, 0x45, 0xff, 0xf6, 0x00, 0x47,
- 0xff, 0xf4, 0x00, 0x48, 0xff, 0xfe, 0x00, 0x49, 0xff, 0xe9, 0x00, 0x4a,
- 0x00, 0x35, 0x00, 0x4b, 0xff, 0xf8, 0x00, 0x4d, 0x00, 0x02, 0x00, 0x4f,
- 0x00, 0x0c, 0x00, 0x50, 0x00, 0x02, 0x00, 0x53, 0xff, 0xf4, 0x00, 0x54,
- 0x00, 0x10, 0x00, 0x55, 0xff, 0xfa, 0x00, 0x57, 0x00, 0x08, 0x00, 0x58,
- 0x00, 0x39, 0x00, 0x59, 0x00, 0x04, 0x00, 0x5a, 0x00, 0x3b, 0x00, 0x5b,
- 0x00, 0x3f, 0x00, 0x5c, 0x00, 0x29, 0x00, 0x5d, 0x00, 0x31, 0x00, 0x5e,
- 0x00, 0x12, 0x00, 0xa3, 0xff, 0xf6, 0x00, 0xa4, 0xff, 0xf6, 0x00, 0xa5,
- 0xff, 0xf6, 0x00, 0xa7, 0xff, 0xf6, 0x00, 0xa8, 0xff, 0xf6, 0x00, 0xa9,
- 0xff, 0xfe, 0x00, 0xaa, 0xff, 0xee, 0x00, 0xab, 0xff, 0xe9, 0x00, 0xac,
- 0xff, 0xe9, 0x00, 0xad, 0xff, 0xe9, 0x00, 0xb5, 0xff, 0xf4, 0x00, 0xb6,
- 0xff, 0xf4, 0x00, 0xb7, 0xff, 0xf4, 0x00, 0xb9, 0xff, 0xf4, 0x00, 0xbb,
- 0xff, 0xf4, 0x00, 0x02, 0xff, 0xff, 0xff, 0xd3, 0x00, 0x58, 0xff, 0xfa,
- 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x1e, 0xff, 0xc7, 0x00, 0x1f,
- 0xff, 0xc7, 0x00, 0x37, 0xff, 0xf0, 0x00, 0x45, 0xff, 0xfe, 0x00, 0x49,
- 0xff, 0xe3, 0x00, 0x4c, 0xff, 0xfa, 0x00, 0x53, 0xff, 0xe7, 0x00, 0xa4,
- 0xff, 0xfe, 0x00, 0xa7, 0xff, 0xfe, 0x00, 0xa8, 0xff, 0xfe, 0x00, 0xa9,
- 0x00, 0x04, 0x00, 0xac, 0xff, 0xe3, 0x00, 0xb6, 0xff, 0xe7, 0x00, 0xb9,
- 0xff, 0xe7, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x1a, 0xff, 0xff,
- 0xff, 0xdf, 0x00, 0x10, 0xff, 0x73, 0x00, 0x11, 0xff, 0xe7, 0x00, 0x12,
- 0xff, 0x73, 0x00, 0x1e, 0xff, 0xd1, 0x00, 0x1f, 0xff, 0xd1, 0x00, 0x45,
- 0xff, 0xdb, 0x00, 0x47, 0xff, 0xdf, 0x00, 0x49, 0xff, 0xd5, 0x00, 0x4b,
- 0xff, 0xe3, 0x00, 0x53, 0xff, 0xdd, 0x00, 0x57, 0xff, 0xee, 0x00, 0xa3,
- 0xff, 0xdb, 0x00, 0xa4, 0xff, 0xdb, 0x00, 0xa5, 0xff, 0xdb, 0x00, 0xa6,
- 0xff, 0xdb, 0x00, 0xa7, 0xff, 0xdb, 0x00, 0xa8, 0xff, 0xdb, 0x00, 0xa9,
- 0xff, 0xe3, 0x00, 0xab, 0xff, 0xd5, 0x00, 0xac, 0xff, 0xd5, 0x00, 0xad,
- 0xff, 0xd5, 0x00, 0xb5, 0xff, 0xdd, 0x00, 0xb6, 0xff, 0xdd, 0x00, 0xb9,
- 0xff, 0xdd, 0x00, 0xbb, 0xff, 0xdd, 0x00, 0x19, 0x00, 0x10, 0xff, 0x9a,
- 0x00, 0x11, 0xff, 0xfe, 0x00, 0x12, 0xff, 0x9a, 0x00, 0x1e, 0xff, 0xd1,
- 0x00, 0x1f, 0xff, 0xd1, 0x00, 0x45, 0xff, 0xe1, 0x00, 0x47, 0xff, 0xf2,
- 0x00, 0x49, 0xff, 0xe7, 0x00, 0x4b, 0xff, 0xf4, 0x00, 0x53, 0xff, 0xee,
- 0x00, 0x57, 0xff, 0xf6, 0x00, 0xa3, 0xff, 0xe1, 0x00, 0xa4, 0xff, 0xe1,
- 0x00, 0xa5, 0xff, 0xe1, 0x00, 0xa6, 0xff, 0xe1, 0x00, 0xa7, 0xff, 0xe1,
- 0x00, 0xa8, 0xff, 0xe1, 0x00, 0xa9, 0xff, 0xe9, 0x00, 0xab, 0xff, 0xe7,
- 0x00, 0xac, 0xff, 0xe7, 0x00, 0xad, 0xff, 0xe7, 0x00, 0xb5, 0xff, 0xee,
- 0x00, 0xb6, 0xff, 0xee, 0x00, 0xb9, 0xff, 0xee, 0x00, 0xbb, 0xff, 0xf4,
- 0x00, 0x06, 0x00, 0x45, 0xff, 0xdd, 0x00, 0x47, 0xff, 0xd1, 0x00, 0x49,
- 0xff, 0xc7, 0x00, 0x53, 0xff, 0xcd, 0x00, 0x55, 0xff, 0xd7, 0x00, 0xac,
- 0xff, 0xc7, 0x00, 0x1a, 0x00, 0x10, 0xff, 0x71, 0x00, 0x11, 0xff, 0xe3,
- 0x00, 0x12, 0xff, 0x71, 0x00, 0x1e, 0xff, 0xc9, 0x00, 0x1f, 0xff, 0xc9,
- 0x00, 0x45, 0xff, 0xd3, 0x00, 0x47, 0xff, 0xd9, 0x00, 0x49, 0xff, 0xcf,
- 0x00, 0x4b, 0xff, 0xdd, 0x00, 0x50, 0xff, 0xf8, 0x00, 0x53, 0xff, 0xd7,
- 0x00, 0x57, 0xff, 0xe7, 0x00, 0xa3, 0xff, 0xd3, 0x00, 0xa4, 0xff, 0xd3,
- 0x00, 0xa5, 0xff, 0xd3, 0x00, 0xa6, 0xff, 0xd3, 0x00, 0xa7, 0xff, 0xd3,
- 0x00, 0xa8, 0xff, 0xd3, 0x00, 0xa9, 0xff, 0xdb, 0x00, 0xab, 0xff, 0xcf,
- 0x00, 0xac, 0xff, 0xcf, 0x00, 0xad, 0xff, 0xcf, 0x00, 0xb5, 0xff, 0xd7,
- 0x00, 0xb6, 0xff, 0xd7, 0x00, 0xb9, 0xff, 0xd7, 0x00, 0xbb, 0xff, 0xd9,
- 0x00, 0x0b, 0x00, 0x10, 0x00, 0x0a, 0x00, 0x12, 0x00, 0x0a, 0x00, 0x27,
- 0xff, 0xb6, 0x00, 0x2b, 0xff, 0xb8, 0x00, 0x33, 0xff, 0xbc, 0x00, 0x35,
- 0xff, 0xbe, 0x00, 0x38, 0xff, 0x42, 0x00, 0x39, 0xff, 0xb4, 0x00, 0x3a,
- 0xff, 0x66, 0x00, 0x3b, 0xff, 0x98, 0x00, 0x3d, 0xff, 0x35, 0x00, 0x1c,
- 0xff, 0xff, 0xff, 0xae, 0xff, 0xff, 0xff, 0x7b, 0x00, 0x10, 0x00, 0x0a,
- 0x00, 0x11, 0xff, 0xfa, 0x00, 0x12, 0x00, 0x0a, 0x00, 0x27, 0xff, 0xb6,
- 0x00, 0x2b, 0xff, 0xb8, 0x00, 0x33, 0xff, 0xbc, 0x00, 0x35, 0xff, 0xbe,
- 0x00, 0x38, 0xff, 0x42, 0x00, 0x39, 0xff, 0xb4, 0x00, 0x3a, 0xff, 0x66,
- 0x00, 0x3b, 0xff, 0x98, 0x00, 0x3d, 0xff, 0x35, 0x00, 0x45, 0xff, 0xf8,
- 0x00, 0x46, 0x00, 0x08, 0x00, 0x47, 0xff, 0xe9, 0x00, 0x48, 0xff, 0xf0,
- 0x00, 0x49, 0xff, 0xdf, 0x00, 0x4b, 0xff, 0xec, 0x00, 0x53, 0xff, 0xe5,
- 0x00, 0x55, 0xff, 0xf0, 0x00, 0x58, 0xff, 0xdf, 0x00, 0x59, 0xff, 0xe7,
- 0x00, 0x5a, 0xff, 0xc1, 0x00, 0x5b, 0xff, 0xd5, 0x00, 0x5d, 0xff, 0xba,
- 0x00, 0x6e, 0xff, 0xa6, 0x00, 0x0b, 0x00, 0x10, 0x00, 0x0a, 0x00, 0x12,
- 0x00, 0x0a, 0x00, 0x27, 0xff, 0xb6, 0x00, 0x2b, 0xff, 0xb8, 0x00, 0x33,
- 0xff, 0xbc, 0x00, 0x35, 0xff, 0xbe, 0x00, 0x38, 0xff, 0x42, 0x00, 0x39,
- 0xff, 0xb4, 0x00, 0x3a, 0xff, 0x66, 0x00, 0x3b, 0xff, 0x98, 0x00, 0x3d,
- 0xff, 0x35, 0x00, 0x0b, 0x00, 0x10, 0x00, 0x0a, 0x00, 0x12, 0x00, 0x0a,
- 0x00, 0x27, 0xff, 0xb6, 0x00, 0x2b, 0xff, 0xb8, 0x00, 0x33, 0xff, 0xbc,
- 0x00, 0x35, 0xff, 0xbe, 0x00, 0x38, 0xff, 0x42, 0x00, 0x39, 0xff, 0xb4,
- 0x00, 0x3a, 0xff, 0x66, 0x00, 0x3b, 0xff, 0x98, 0x00, 0x3d, 0xff, 0x35,
- 0x00, 0x1c, 0xff, 0xff, 0xff, 0xae, 0xff, 0xff, 0xff, 0x8d, 0xff, 0xff,
- 0xff, 0x7b, 0x00, 0x10, 0x00, 0x0a, 0x00, 0x11, 0xff, 0xfa, 0x00, 0x12,
- 0x00, 0x0a, 0x00, 0x27, 0xff, 0xb6, 0x00, 0x2b, 0xff, 0xb8, 0x00, 0x33,
- 0xff, 0xbc, 0x00, 0x35, 0xff, 0xbe, 0x00, 0x38, 0xff, 0x42, 0x00, 0x39,
- 0xff, 0xb4, 0x00, 0x3a, 0xff, 0x66, 0x00, 0x3b, 0xff, 0x98, 0x00, 0x3d,
- 0xff, 0x35, 0x00, 0x45, 0xff, 0xf8, 0x00, 0x46, 0x00, 0x08, 0x00, 0x47,
- 0xff, 0xe9, 0x00, 0x48, 0xff, 0xf0, 0x00, 0x4b, 0xff, 0xec, 0x00, 0x53,
- 0xff, 0xe5, 0x00, 0x55, 0xff, 0xf0, 0x00, 0x58, 0xff, 0xdf, 0x00, 0x59,
- 0xff, 0xe7, 0x00, 0x5a, 0xff, 0xc1, 0x00, 0x5b, 0xff, 0xd5, 0x00, 0x5d,
- 0xff, 0xba, 0x00, 0x6e, 0xff, 0xa6, 0x00, 0x1d, 0xff, 0xff, 0xff, 0xae,
- 0xff, 0xff, 0xff, 0x8d, 0xff, 0xff, 0xff, 0x7b, 0x00, 0x10, 0x00, 0x0a,
- 0x00, 0x11, 0xff, 0xfa, 0x00, 0x12, 0x00, 0x0a, 0x00, 0x27, 0xff, 0xb6,
- 0x00, 0x2b, 0xff, 0xb8, 0x00, 0x33, 0xff, 0xbc, 0x00, 0x35, 0xff, 0xbe,
- 0x00, 0x38, 0xff, 0x42, 0x00, 0x39, 0xff, 0xb4, 0x00, 0x3a, 0xff, 0x66,
- 0x00, 0x3b, 0xff, 0x98, 0x00, 0x3d, 0xff, 0x35, 0x00, 0x45, 0xff, 0xf8,
- 0x00, 0x46, 0x00, 0x08, 0x00, 0x47, 0xff, 0xe9, 0x00, 0x48, 0xff, 0xf0,
- 0x00, 0x49, 0xff, 0xdf, 0x00, 0x4b, 0xff, 0xec, 0x00, 0x53, 0xff, 0xe5,
- 0x00, 0x55, 0xff, 0xf0, 0x00, 0x58, 0xff, 0xdf, 0x00, 0x59, 0xff, 0xe7,
- 0x00, 0x5a, 0xff, 0xc1, 0x00, 0x5b, 0xff, 0xd5, 0x00, 0x5d, 0xff, 0xba,
- 0x00, 0x6e, 0xff, 0xa6, 0x00, 0x01, 0x00, 0x25, 0xff, 0xc1, 0x00, 0x03,
- 0x00, 0x38, 0xff, 0xaa, 0x00, 0x3a, 0xff, 0xa4, 0x00, 0x3d, 0xff, 0x87,
- 0x00, 0x05, 0x00, 0x25, 0xff, 0xb8, 0x00, 0x38, 0xff, 0xaa, 0x00, 0x3a,
- 0xff, 0xa4, 0x00, 0x3b, 0xff, 0xd1, 0x00, 0x3d, 0xff, 0x87, 0x00, 0x03,
- 0x00, 0x38, 0xff, 0xaa, 0x00, 0x3a, 0xff, 0xa4, 0x00, 0x3d, 0xff, 0x87,
- 0x00, 0x03, 0x00, 0x38, 0xff, 0xaa, 0x00, 0x3a, 0xff, 0xa4, 0x00, 0x3d,
- 0xff, 0x87, 0x00, 0x06, 0x00, 0x25, 0xff, 0xb8, 0x00, 0x38, 0xff, 0xaa,
- 0x00, 0x3a, 0xff, 0xa4, 0x00, 0x3b, 0xff, 0xd1, 0x00, 0x3c, 0xff, 0xa2,
- 0x00, 0x3d, 0xff, 0x87, 0x00, 0x01, 0x00, 0x25, 0xff, 0xbc, 0x00, 0x01,
- 0x00, 0x25, 0xff, 0xb6, 0x00, 0x07, 0x00, 0x10, 0xff, 0xc9, 0x00, 0x12,
- 0xff, 0xcd, 0x00, 0x25, 0xff, 0xb6, 0x00, 0x51, 0xff, 0xf8, 0x00, 0x52,
- 0xff, 0xf8, 0x00, 0x54, 0x00, 0x06, 0x00, 0x56, 0xff, 0xf8, 0x00, 0x01,
- 0x00, 0x25, 0xff, 0xb6, 0x00, 0x08, 0x00, 0x10, 0xff, 0xc9, 0x00, 0x12,
- 0xff, 0xcd, 0x00, 0x25, 0xff, 0xb6, 0x00, 0x46, 0x00, 0x06, 0x00, 0x51,
- 0xff, 0xf8, 0x00, 0x52, 0xff, 0xf8, 0x00, 0x54, 0x00, 0x06, 0x00, 0x56,
- 0xff, 0xf8, 0x00, 0x03, 0x00, 0x5a, 0xff, 0xd5, 0x00, 0x5b, 0xff, 0xe5,
- 0x00, 0x5d, 0xff, 0xcb, 0x00, 0x03, 0x00, 0x5a, 0xff, 0xd5, 0x00, 0x5b,
- 0xff, 0xe5, 0x00, 0x5d, 0xff, 0xcb, 0x00, 0x03, 0x00, 0x5a, 0xff, 0xd5,
- 0x00, 0x5b, 0xff, 0xe5, 0x00, 0x5d, 0xff, 0xcb, 0x00, 0x03, 0x00, 0x5a,
- 0xff, 0xd5, 0x00, 0x5b, 0xff, 0xe5, 0x00, 0x5d, 0xff, 0xcb, 0x00, 0x03,
- 0x00, 0x5a, 0xff, 0xdf, 0x00, 0x5b, 0xff, 0xec, 0x00, 0x5d, 0xff, 0xd7,
- 0x00, 0x03, 0x00, 0x5a, 0xff, 0xe1, 0x00, 0x5b, 0xff, 0xee, 0x00, 0x5d,
- 0xff, 0xd9, 0x00, 0x03, 0x00, 0x5a, 0xff, 0xe1, 0x00, 0x5b, 0xff, 0xee,
- 0x00, 0x5d, 0xff, 0xd9, 0x00, 0x03, 0x00, 0x5a, 0xff, 0xdb, 0x00, 0x5b,
- 0xff, 0xec, 0x00, 0x5d, 0xff, 0xd3, 0x00, 0x03, 0x00, 0x5a, 0xff, 0xdb,
- 0x00, 0x5b, 0xff, 0xec, 0x00, 0x5d, 0xff, 0xd3, 0x00, 0x01, 0x00, 0x58,
- 0xff, 0xec, 0x00, 0x05, 0x00, 0x58, 0xff, 0xec, 0x00, 0x5a, 0xff, 0xdb,
- 0x00, 0x5b, 0xff, 0xec, 0x00, 0x5c, 0xff, 0xc9, 0x00, 0x5d, 0xff, 0xd3,
- 0x00, 0x02, 0x00, 0x11, 0x00, 0x25, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2a,
- 0x00, 0x2b, 0x00, 0x04, 0x00, 0x2e, 0x00, 0x30, 0x00, 0x06, 0x00, 0x32,
- 0x00, 0x34, 0x00, 0x09, 0x00, 0x36, 0x00, 0x3e, 0x00, 0x0c, 0x00, 0x45,
- 0x00, 0x47, 0x00, 0x15, 0x00, 0x49, 0x00, 0x4d, 0x00, 0x18, 0x00, 0x4f,
- 0x00, 0x5d, 0x00, 0x1d, 0x00, 0x83, 0x00, 0x88, 0x00, 0x2c, 0x00, 0x8a,
- 0x00, 0x8a, 0x00, 0x32, 0x00, 0x95, 0x00, 0x99, 0x00, 0x33, 0x00, 0x9b,
- 0x00, 0x9f, 0x00, 0x38, 0x00, 0xa3, 0x00, 0xa4, 0x00, 0x3d, 0x00, 0xa7,
- 0x00, 0xa9, 0x00, 0x3f, 0x00, 0xac, 0x00, 0xad, 0x00, 0x42, 0x00, 0xb5,
- 0x00, 0xb7, 0x00, 0x44, 0x00, 0xb9, 0x00, 0xb9, 0x00, 0x47, 0x00, 0x00
-};
-unsigned int FreeSans_ttf_len = 22932;
-
-#if 0
-void writeLogo(const char *dir)
-{
- QCString fileName=(QCString)dir+"/doxygen.png";
- QFile f(fileName);
- if (f.open(IO_WriteOnly))
- f.writeBlock((char *)doxygen_png_data,doxygen_png_len);
- else
- {
- fprintf(stderr,"warning: Cannot open file %s for writing\n",fileName.data());
- }
- f.close();
-}
-
-void writeSearchButton(const char *dir)
-{
- QCString fileName=(QCString)dir+"/search.png";
- QFile f(fileName);
- if (f.open(IO_WriteOnly))
- f.writeBlock((char *)search_png,search_png_len);
- else
- {
- fprintf(stderr,"warning: Cannot open file %s for writing\n",fileName.data());
- }
- f.close();
-}
-#endif
-
-void writeDoxFont(const char *dir)
-{
- QCString fileName=(QCString)dir+"/FreeSans.ttf";
- QFile f(fileName);
- if (f.open(IO_WriteOnly))
- f.writeBlock((char *)FreeSans_ttf,FreeSans_ttf_len);
- else
- {
- fprintf(stderr,"error: Cannot open file %s for writing\n",fileName.data());
- }
- f.close();
-}
-
-void removeDoxFont(const char *dir)
-{
- QDir d(dir);
- d.remove("FreeSans.ttf");
-}
diff --git a/src/logos.h b/src/logos.h
deleted file mode 100644
index 95a8a39..0000000
--- a/src/logos.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/******************************************************************************
- *
- *
- *
- * Copyright (C) 1997-2015 by Dimitri van Heesch.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation under the terms of the GNU General Public License is hereby
- * granted. No representations are made about the suitability of this software
- * for any purpose. It is provided "as is" without express or implied warranty.
- * See the GNU General Public License for more details.
- *
- * Documents produced by Doxygen are derivative works derived from the
- * input used in their production; they are not affected by this license.
- *
- */
-
-#ifndef LOGOS_H
-#define LOGOS_H
-
-extern void writeLogo(const char *dir);
-//extern void writeNullImage(const char *dir);
-extern void writeSearchButton(const char *dir);
-extern void writeDoxFont(const char *dir);
-extern void removeDoxFont(const char *dir);
-
-#endif
diff --git a/src/marshal.cpp b/src/marshal.cpp
deleted file mode 100644
index c68718a..0000000
--- a/src/marshal.cpp
+++ /dev/null
@@ -1,857 +0,0 @@
-#include
-#include
-
-#include "sortdict.h"
-#include "marshal.h"
-#include "entry.h"
-#include "section.h"
-#include "memberlist.h"
-#include "definition.h"
-#include "groupdef.h"
-#include "example.h"
-#include "arguments.h"
-#include "doxygen.h"
-
-#define HEADER ('D'<<24)+('O'<<16)+('X'<<8)+'!'
-
-void marshalInt(StorageIntf *s,int v)
-{
- uchar b[4];
- b[0]=((uint)v)>>24;
- b[1]=(((uint)v)>>16)&0xff;
- b[2]=(((uint)v)>>8)&0xff;
- b[3]=v&0xff;
- s->write((const char *)b,4);
-}
-
-void marshalUInt(StorageIntf *s,uint v)
-{
- uchar b[4];
- b[0]=v>>24;
- b[1]=(v>>16)&0xff;
- b[2]=(v>>8)&0xff;
- b[3]=v&0xff;
- s->write((const char *)b,4);
-}
-
-void marshalUInt64(StorageIntf *s,uint64 v)
-{
- marshalUInt(s, uint(v>>32));
- marshalUInt(s, uint(v&0xFFFFFFFF));
-}
-
-void marshalBool(StorageIntf *s,bool b)
-{
- char c = b;
- s->write(&c,sizeof(char));
-}
-
-void marshalQCString(StorageIntf *s,const QCString &str)
-{
- uint l=str.length();
- marshalUInt(s,l);
- if (l>0) s->write(str.data(),l);
-}
-
-void marshalQGString(StorageIntf *s,const QGString &str)
-{
- uint l=str.length();
- marshalUInt(s,l);
- if (l>0) s->write(str.data(),l);
-}
-
-void marshalArgumentList(StorageIntf *s,ArgumentList *argList)
-{
- ArgumentList::marshal(s,argList);
-}
-
-void marshalArgumentLists(StorageIntf *s,QList *argLists)
-{
- if (argLists==0)
- {
- marshalUInt(s,NULL_LIST); // null pointer representation
- }
- else
- {
- marshalUInt(s,argLists->count());
- QListIterator ali(*argLists);
- ArgumentList *al;
- for (ali.toFirst();(al=ali.current());++ali)
- {
- marshalArgumentList(s,al);
- }
- }
-}
-
-void marshalBaseInfoList(StorageIntf *s, QList *baseList)
-{
- if (baseList==0)
- {
- marshalUInt(s,NULL_LIST); // null pointer representation
- }
- else
- {
- marshalUInt(s,baseList->count());
- QListIterator bli(*baseList);
- BaseInfo *bi;
- for (bli.toFirst();(bi=bli.current());++bli)
- {
- marshalQCString(s,bi->name);
- marshalInt(s,(int)bi->prot);
- marshalInt(s,(int)bi->virt);
- }
- }
-}
-
-void marshalGroupingList(StorageIntf *s, QList *groups)
-{
- if (groups==0)
- {
- marshalUInt(s,NULL_LIST); // null pointer representation
- }
- else
- {
- marshalUInt(s,groups->count());
- QListIterator gli(*groups);
- Grouping *g;
- for (gli.toFirst();(g=gli.current());++gli)
- {
- marshalQCString(s,g->groupname);
- marshalInt(s,(int)g->pri);
- }
- }
-}
-
-void marshalSectionInfoList(StorageIntf *s, QList *anchors)
-{
- if (anchors==0)
- {
- marshalUInt(s,NULL_LIST); // null pointer representation
- }
- else
- {
- marshalUInt(s,anchors->count());
- QListIterator sli(*anchors);
- SectionInfo *si;
- for (sli.toFirst();(si=sli.current());++sli)
- {
- marshalQCString(s,si->label);
- marshalQCString(s,si->title);
- marshalQCString(s,si->ref);
- marshalInt(s,(int)si->type);
- marshalQCString(s,si->fileName);
- marshalInt(s,si->lineNr);
- marshalInt(s,si->level);
- }
- anchors->clear();
- }
-}
-
-void marshalItemInfoList(StorageIntf *s, QList *sli)
-{
- if (sli==0)
- {
- marshalUInt(s,NULL_LIST); // null pointer representation
- }
- else
- {
- marshalUInt(s,sli->count());
- QListIterator liii(*sli);
- ListItemInfo *lii;
- for (liii.toFirst();(lii=liii.current());++liii)
- {
- marshalQCString(s,lii->type);
- marshalInt(s,lii->itemId);
- }
- }
-}
-
-void marshalObjPointer(StorageIntf *s,void *obj)
-{
- char *b = (char *)&obj;
- s->write(b,sizeof(void *));
-}
-
-void marshalSectionDict(StorageIntf *s,SectionDict *sections)
-{
- if (sections==0)
- {
- marshalUInt(s,NULL_LIST); // null pointer representation
- }
- else
- {
- marshalUInt(s,sections->count());
- SDict::IteratorDict sli(*sections);
- SectionInfo *si;
- for (sli.toFirst();(si=sli.current());++sli)
- {
- marshalQCString(s,sli.currentKey());
- marshalObjPointer(s,si);
- }
- }
-}
-
-void marshalMemberSDict(StorageIntf *s,MemberSDict *memberSDict)
-{
- if (memberSDict==0)
- {
- marshalUInt(s,NULL_LIST); // null pointer representation
- }
- else
- {
- marshalUInt(s,memberSDict->count());
- //printf(" marshalMemberSDict: items=%d\n",memberSDict->count());
- SDict::IteratorDict mdi(*memberSDict);
- MemberDef *md;
- int count=0;
- for (mdi.toFirst();(md=mdi.current());++mdi)
- {
- //printf(" marshalMemberSDict: %d: key=%s value=%p\n",count,mdi.currentKey().data(),md);
- marshalQCString(s,mdi.currentKey());
- marshalObjPointer(s,md);
- count++;
- }
- assert(count==memberSDict->count());
- }
-}
-
-void marshalDocInfo(StorageIntf *s,DocInfo *docInfo)
-{
- if (docInfo==0)
- {
- marshalUInt(s,NULL_LIST); // null pointer representation
- }
- else
- {
- marshalUInt(s,1);
- marshalQCString(s,docInfo->doc);
- marshalInt(s,docInfo->line);
- marshalQCString(s,docInfo->file);
- }
-}
-
-void marshalBriefInfo(StorageIntf *s,BriefInfo *briefInfo)
-{
- if (briefInfo==0)
- {
- marshalUInt(s,NULL_LIST); // null pointer representation
- }
- else
- {
- marshalUInt(s,1);
- marshalQCString(s,briefInfo->doc);
- marshalQCString(s,briefInfo->tooltip);
- marshalInt(s,briefInfo->line);
- marshalQCString(s,briefInfo->file);
- }
-}
-
-void marshalBodyInfo(StorageIntf *s,BodyInfo *bodyInfo)
-{
- if (bodyInfo==0)
- {
- marshalUInt(s,NULL_LIST); // null pointer representation
- }
- else
- {
- marshalUInt(s,1);
- marshalInt(s,bodyInfo->startLine);
- marshalInt(s,bodyInfo->endLine);
- marshalObjPointer(s,bodyInfo->fileDef);
- }
-}
-
-void marshalGroupList(StorageIntf *s,GroupList *groupList)
-{
- if (groupList==0)
- {
- marshalUInt(s,NULL_LIST); // null pointer representation
- }
- else
- {
- marshalUInt(s,groupList->count());
- QListIterator gli(*groupList);
- GroupDef *gd=0;
- for (gli.toFirst();(gd=gli.current());++gli)
- {
- marshalObjPointer(s,gd);
- }
- }
-}
-
-void marshalMemberList(StorageIntf *s,MemberList *ml)
-{
- if (ml==0)
- {
- marshalUInt(s,NULL_LIST); // null pointer representation
- }
- else
- {
- marshalUInt(s,ml->count());
- MemberListIterator mli(*ml);
- MemberDef *md;
- uint count=0;
- for (mli.toFirst();(md=mli.current());++mli)
- {
- marshalObjPointer(s,md);
- count++;
- }
- assert(count==ml->count());
-
- ml->marshal(s);
- }
-}
-
-void marshalExampleSDict(StorageIntf *s,ExampleSDict *ed)
-{
- if (ed==0)
- {
- marshalUInt(s,NULL_LIST); // null pointer representation
- }
- else
- {
- marshalUInt(s,ed->count());
- //printf(" marshalMemberSDict: items=%d\n",memberSDict->count());
- SDict::IteratorDict edi(*ed);
- Example *e;
- for (edi.toFirst();(e=edi.current());++edi)
- {
- //printf(" marshalMemberSDict: %d: key=%s value=%p\n",count,mdi.currentKey().data(),md);
- marshalQCString(s,edi.currentKey());
- marshalQCString(s,e->anchor);
- marshalQCString(s,e->name);
- marshalQCString(s,e->file);
- }
- }
-}
-
-void marshalMemberLists(StorageIntf *s,SDict *mls)
-{
- if (mls==0)
- {
- marshalUInt(s,NULL_LIST); // null pointer representation
- }
- else
- {
- marshalUInt(s,mls->count());
- //printf(" marshalMemberSDict: items=%d\n",memberSDict->count());
- SDict::IteratorDict mli(*mls);
- MemberList *ml;
- for (mli.toFirst();(ml=mli.current());++mli)
- {
- //printf(" marshalMemberSDict: %d: key=%s value=%p\n",count,mdi.currentKey().data(),md);
- marshalQCString(s,mli.currentKey());
- marshalObjPointer(s,ml); // assume we are not owner of the list
- }
- }
-}
-
-void marshalLocalToc(StorageIntf *s,const LocalToc <)
-{
- marshalInt(s,lt.mask());
- marshalInt(s,lt.htmlLevel());
- marshalInt(s,lt.latexLevel());
- marshalInt(s,lt.xmlLevel());
- marshalInt(s,lt.docbookLevel());
-}
-
-void marshalEntry(StorageIntf *s,Entry *e)
-{
- marshalUInt(s,HEADER);
- marshalQCString(s,e->name);
- marshalQCString(s,e->type);
- marshalInt(s,e->section);
- marshalInt(s,(int)e->protection);
- marshalInt(s,(int)e->mtype);
- marshalUInt64(s,e->spec);
- marshalInt(s,e->initLines);
- marshalBool(s,e->stat);
- marshalLocalToc(s,e->localToc);
- marshalBool(s,e->explicitExternal);
- marshalBool(s,e->proto);
- marshalBool(s,e->subGrouping);
- marshalBool(s,e->callGraph);
- marshalBool(s,e->callerGraph);
- marshalBool(s,e->referencedByRelation);
- marshalBool(s,e->referencesRelation);
- marshalInt(s,(int)e->virt);
- marshalQCString(s,e->args);
- marshalQCString(s,e->bitfields);
- marshalArgumentList(s,e->argList);
- marshalArgumentLists(s,e->tArgLists);
- marshalQGString(s,e->program);
- marshalQGString(s,e->initializer);
- marshalQCString(s,e->includeFile);
- marshalQCString(s,e->includeName);
- marshalQCString(s,e->doc);
- marshalInt(s,e->docLine);
- marshalQCString(s,e->docFile);
- marshalQCString(s,e->brief);
- marshalInt(s,e->briefLine);
- marshalQCString(s,e->briefFile);
- marshalQCString(s,e->inbodyDocs);
- marshalInt(s,e->inbodyLine);
- marshalQCString(s,e->inbodyFile);
- marshalQCString(s,e->relates);
- marshalInt(s,e->relatesType);
- marshalQCString(s,e->read);
- marshalQCString(s,e->write);
- marshalQCString(s,e->inside);
- marshalQCString(s,e->exception);
- marshalArgumentList(s,e->typeConstr);
- marshalInt(s,e->bodyLine);
- marshalInt(s,e->endBodyLine);
- marshalInt(s,e->mGrpId);
- marshalBaseInfoList(s,e->extends);
- marshalGroupingList(s,e->groups);
- marshalSectionInfoList(s,e->anchors);
- marshalQCString(s,e->fileName);
- marshalInt(s,e->startLine);
- marshalItemInfoList(s,e->sli);
- marshalInt(s,(int)e->lang);
- marshalBool(s,e->hidden);
- marshalBool(s,e->artificial);
- marshalInt(s,(int)e->groupDocType);
- marshalQCString(s,e->id);
- marshalQCString(s,e->metaData);
-}
-
-void marshalEntryTree(StorageIntf *s,Entry *e)
-{
- marshalEntry(s,e);
- marshalUInt(s,e->children()->count());
- QListIterator eli(*e->children());
- Entry *child;
- for (eli.toFirst();(child=eli.current());++eli)
- {
- marshalEntryTree(s,child);
- }
-}
-
-//------------------------------------------------------------------
-
-int unmarshalInt(StorageIntf *s)
-{
- uchar b[4];
- s->read((char *)b,4);
- int result=(int)((((uint)b[0])<<24)+((uint)b[1]<<16)+((uint)b[2]<<8)+(uint)b[3]);
- //printf("unmarshalInt: %x %x %x %x: %x offset=%llx\n",b[0],b[1],b[2],b[3],result,f.pos());
- return result;
-}
-
-uint unmarshalUInt(StorageIntf *s)
-{
- uchar b[4];
- s->read((char *)b,4);
- uint result=(((uint)b[0])<<24)+((uint)b[1]<<16)+((uint)b[2]<<8)+(uint)b[3];
- //printf("unmarshalUInt: %x %x %x %x: %x offset=%llx\n",b[0],b[1],b[2],b[3],result,f.pos());
- return result;
-}
-
-uint64 unmarshalUInt64(StorageIntf *s)
-{
- uint64 result=uint64(unmarshalUInt(s))<<32;
- result|=unmarshalUInt(s);
- return result;
-}
-
-bool unmarshalBool(StorageIntf *s)
-{
- char result;
- s->read(&result,sizeof(result));
- //printf("unmarshalBool: %x offset=%llx\n",result,f.pos());
- return result;
-}
-
-QCString unmarshalQCString(StorageIntf *s)
-{
- uint len = unmarshalUInt(s);
- //printf("unmarshalQCString: len=%d offset=%llx\n",len,f.pos());
- QCString result(len+1);
- result.at(len)='\0';
- if (len>0)
- {
- s->read(result.rawData(),len);
- }
- //printf("unmarshalQCString: result=%s\n",result.data());
- return result;
-}
-
-QGString unmarshalQGString(StorageIntf *s)
-{
- uint len = unmarshalUInt(s);
- //printf("unmarshalQCString: len=%d offset=%llx\n",len,f.pos());
- QGString result(len+1);
- result.at(len)='\0';
- if (len>0)
- {
- s->read(result.data(),len);
- }
- //printf("unmarshalQCString: result=%s\n",result.data());
- return result;
-}
-
-ArgumentList *unmarshalArgumentList(StorageIntf *s)
-{
- return ArgumentList::unmarshal(s);
-}
-
-QList *unmarshalArgumentLists(StorageIntf *s)
-{
- uint i;
- uint count = unmarshalUInt(s);
- if (count==NULL_LIST) return 0; // null list
- QList *result = new QList;
- result->setAutoDelete(TRUE);
- assert(count<1000000);
- //printf("unmarshalArgumentLists: %d\n",count);
- for (i=0;iappend(unmarshalArgumentList(s));
- }
- return result;
-}
-
-QList *unmarshalBaseInfoList(StorageIntf *s)
-{
- uint i;
- uint count = unmarshalUInt(s);
- if (count==NULL_LIST) return 0; // null list
- QList *result = new QList;
- result->setAutoDelete(TRUE);
- assert(count<1000000);
- for (i=0;iappend(new BaseInfo(name,prot,virt));
- }
- return result;
-}
-
-QList *unmarshalGroupingList(StorageIntf *s)
-{
- uint i;
- uint count = unmarshalUInt(s);
- if (count==NULL_LIST) return 0; // null list
- QList *result = new QList;
- result->setAutoDelete(TRUE);
- assert(count<1000000);
- for (i=0;iappend(new Grouping(name,prio));
- }
- return result;
-}
-
-QList *unmarshalSectionInfoList(StorageIntf *s)
-{
- uint i;
- uint count = unmarshalUInt(s);
- if (count==NULL_LIST) return 0; // null list
- QList *anchors = new QList;
- assert(count<1000000);
- for (i=0;ifind(label);
- if (si==0) // This should actually never be true since all anchors should be in sectionDict.
- // Could still optimize the marshaling routine by only storing label.
- {
- SectionInfo *si = new SectionInfo(fileName,lineNr,label,title,type,level,ref);
- anchors->append(si);
- Doxygen::sectionDict->append(label,si); // this dict owns the anchor objects
- }
- else
- {
- anchors->append(si);
- }
- }
- return anchors;
-}
-
-QList *unmarshalItemInfoList(StorageIntf *s)
-{
- uint i;
- uint count = unmarshalUInt(s);
- if (count==NULL_LIST) return 0; // null list
- QList *result = new QList;
- result->setAutoDelete(TRUE);
- assert(count<1000000);
- for (i=0;itype = unmarshalQCString(s);
- lii->itemId = unmarshalInt(s);
- result->append(lii);
- }
- return result;
-}
-
-void *unmarshalObjPointer(StorageIntf *s)
-{
- void *result;
- s->read((char *)&result,sizeof(void*));
- return result;
-}
-
-SectionDict *unmarshalSectionDict(StorageIntf *s)
-{
- uint i;
- uint count = unmarshalUInt(s);
- //printf("unmarshalSectionDict count=%d\n",count);
- if (count==NULL_LIST) return 0; // null list
- SectionDict *result = new SectionDict(17);
- assert(count<1000000);
- for (i=0;ilabel.data());
- result->append(key,si);
- }
- return result;
-}
-
-MemberSDict *unmarshalMemberSDict(StorageIntf *s)
-{
- uint i;
- uint count = unmarshalUInt(s);
- //printf("--- unmarshalMemberSDict count=%d\n",count);
- if (count==NULL_LIST)
- {
- //printf("--- end unmarshalMemberSDict\n");
- return 0; // null list
- }
- MemberSDict *result = new MemberSDict;
- assert(count<1000000);
- //printf("Reading %d key-value pairs\n",count);
- for (i=0;iappend(key,md);
- }
-
- //printf("--- end unmarshalMemberSDict\n");
- return result;
-}
-
-DocInfo *unmarshalDocInfo(StorageIntf *s)
-{
- uint count = unmarshalUInt(s);
- if (count==NULL_LIST) return 0;
- DocInfo *result = new DocInfo;
- result->doc = unmarshalQCString(s);
- result->line = unmarshalInt(s);
- result->file = unmarshalQCString(s);
- return result;
-}
-
-BriefInfo *unmarshalBriefInfo(StorageIntf *s)
-{
- uint count = unmarshalUInt(s);
- if (count==NULL_LIST) return 0;
- BriefInfo *result = new BriefInfo;
- result->doc = unmarshalQCString(s);
- result->tooltip = unmarshalQCString(s);
- result->line = unmarshalInt(s);
- result->file = unmarshalQCString(s);
- return result;
-}
-
-BodyInfo *unmarshalBodyInfo(StorageIntf *s)
-{
- uint count = unmarshalUInt(s);
- if (count==NULL_LIST) return 0;
- BodyInfo *result = new BodyInfo;
- result->startLine = unmarshalInt(s);
- result->endLine = unmarshalInt(s);
- result->fileDef = (FileDef*)unmarshalObjPointer(s);
- return result;
-}
-
-GroupList *unmarshalGroupList(StorageIntf *s)
-{
- uint i;
- uint count = unmarshalUInt(s);
- if (count==NULL_LIST) return 0; // null list
- assert(count<1000000);
- GroupList *result = new GroupList;
- for (i=0;iappend(gd);
- }
- return result;
-}
-
-MemberList *unmarshalMemberList(StorageIntf *s)
-{
- uint i;
- uint count = unmarshalUInt(s);
- if (count==NULL_LIST) return 0;
- MemberList *result = new MemberList;
- assert(count<1000000);
- for (i=0;iappend(md);
- }
- result->unmarshal(s);
- return result;
-}
-
-ExampleSDict *unmarshalExampleSDict(StorageIntf *s)
-{
- uint i;
- uint count = unmarshalUInt(s);
- if (count==NULL_LIST) return 0;
- ExampleSDict *result = new ExampleSDict;
- assert(count<1000000);
- for (i=0;ianchor = unmarshalQCString(s);
- e->name = unmarshalQCString(s);
- e->file = unmarshalQCString(s);
- result->inSort(key,e);
- }
- return result;
-}
-
-SDict *unmarshalMemberLists(StorageIntf *s)
-{
- uint i;
- uint count = unmarshalUInt(s);
- if (count==NULL_LIST) return 0;
- SDict *result = new SDict(7);
- assert(count<1000000);
- for (i=0;iappend(key,ml);
- }
- return result;
-}
-
-LocalToc unmarshalLocalToc(StorageIntf *s)
-{
- LocalToc result;
- int mask = unmarshalInt(s);
- int htmlLevel = unmarshalInt(s);
- int latexLevel = unmarshalInt(s);
- int xmlLevel = unmarshalInt(s);
- int docbookLevel = unmarshalInt(s);
- if ((mask & (1<name = unmarshalQCString(s);
- e->type = unmarshalQCString(s);
- e->section = unmarshalInt(s);
- e->protection = (Protection)unmarshalInt(s);
- e->mtype = (MethodTypes)unmarshalInt(s);
- e->spec = unmarshalUInt64(s);
- e->initLines = unmarshalInt(s);
- e->stat = unmarshalBool(s);
- e->localToc = unmarshalLocalToc(s);
- e->explicitExternal = unmarshalBool(s);
- e->proto = unmarshalBool(s);
- e->subGrouping = unmarshalBool(s);
- e->callGraph = unmarshalBool(s);
- e->callerGraph = unmarshalBool(s);
- e->referencedByRelation = unmarshalBool(s);
- e->referencesRelation = unmarshalBool(s);
- e->virt = (Specifier)unmarshalInt(s);
- e->args = unmarshalQCString(s);
- e->bitfields = unmarshalQCString(s);
- delete e->argList;
- e->argList = unmarshalArgumentList(s);
- e->tArgLists = unmarshalArgumentLists(s);
- e->program = unmarshalQGString(s);
- e->initializer = unmarshalQGString(s);
- e->includeFile = unmarshalQCString(s);
- e->includeName = unmarshalQCString(s);
- e->doc = unmarshalQCString(s);
- e->docLine = unmarshalInt(s);
- e->docFile = unmarshalQCString(s);
- e->brief = unmarshalQCString(s);
- e->briefLine = unmarshalInt(s);
- e->briefFile = unmarshalQCString(s);
- e->inbodyDocs = unmarshalQCString(s);
- e->inbodyLine = unmarshalInt(s);
- e->inbodyFile = unmarshalQCString(s);
- e->relates = unmarshalQCString(s);
- e->relatesType = (RelatesType)unmarshalInt(s);
- e->read = unmarshalQCString(s);
- e->write = unmarshalQCString(s);
- e->inside = unmarshalQCString(s);
- e->exception = unmarshalQCString(s);
- e->typeConstr = unmarshalArgumentList(s);
- e->bodyLine = unmarshalInt(s);
- e->endBodyLine = unmarshalInt(s);
- e->mGrpId = unmarshalInt(s);
- delete e->extends;
- e->extends = unmarshalBaseInfoList(s);
- delete e->groups;
- e->groups = unmarshalGroupingList(s);
- delete e->anchors;
- e->anchors = unmarshalSectionInfoList(s);
- e->fileName = unmarshalQCString(s);
- e->startLine = unmarshalInt(s);
- e->sli = unmarshalItemInfoList(s);
- e->lang = (SrcLangExt)unmarshalInt(s);
- e->hidden = unmarshalBool(s);
- e->artificial = unmarshalBool(s);
- e->groupDocType = (Entry::GroupDocType)unmarshalInt(s);
- e->id = unmarshalQCString(s);
- e->metaData = unmarshalQCString(s);
- return e;
-}
-
-Entry * unmarshalEntryTree(StorageIntf *s)
-{
- Entry *e = unmarshalEntry(s);
- uint count = unmarshalUInt(s);
- uint i;
- for (i=0;iaddSubEntry(unmarshalEntryTree(s));
- }
- return e;
-}
diff --git a/src/marshal.h b/src/marshal.h
deleted file mode 100644
index 206ab04..0000000
--- a/src/marshal.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/******************************************************************************
- *
- * Copyright (C) 1997-2015 by Dimitri van Heesch.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation under the terms of the GNU General Public License is hereby
- * granted. No representations are made about the suitability of this software
- * for any purpose. It is provided "as is" without express or implied warranty.
- * See the GNU General Public License for more details.
- *
- * Documents produced by Doxygen are derivative works derived from the
- * input used in their production; they are not affected by this license.
- *
- */
-
-#ifndef MARSHAL_H
-#define MARSHAL_H
-
-#include
-#include
-#include "sortdict.h"
-#include "store.h"
-
-class ArgumentList;
-struct BaseInfo;
-struct Grouping;
-struct SectionInfo;
-struct ListItemInfo;
-class QCString;
-class QGString;
-class SectionDict;
-class MemberSDict;
-class GroupList;
-class MemberList;
-struct BodyInfo;
-struct DocInfo;
-struct BriefInfo;
-class ExampleSDict;
-class Entry;
-
-#define NULL_LIST 0xffffffff
-
-//----- marshaling function: datatype -> byte stream --------------------
-
-void marshalInt(StorageIntf *s,int v);
-void marshalUInt(StorageIntf *s,uint v);
-void marshalUInt64(StorageIntf *s,uint64 v);
-void marshalBool(StorageIntf *s,bool b);
-void marshalQCString(StorageIntf *s,const QCString &str);
-void marshalQGString(StorageIntf *s,const QGString &str);
-void marshalArgumentList(StorageIntf *s,ArgumentList *argList);
-void marshalArgumentLists(StorageIntf *s,QList *argLists);
-void marshalBaseInfoList(StorageIntf *s, QList *baseList);
-void marshalGroupingList(StorageIntf *s, QList *groups);
-void marshalSectionInfoList(StorageIntf *s, QList *anchors);
-void marshalItemInfoList(StorageIntf *s, QList *sli);
-void marshalObjPointer(StorageIntf *s,void *obj);
-void marshalSectionDict(StorageIntf *s,SectionDict *sections);
-void marshalMemberSDict(StorageIntf *s,MemberSDict *memberSDict);
-void marshalDocInfo(StorageIntf *s,DocInfo *docInfo);
-void marshalBriefInfo(StorageIntf *s,BriefInfo *briefInfo);
-void marshalBodyInfo(StorageIntf *s,BodyInfo *bodyInfo);
-void marshalGroupList(StorageIntf *s,GroupList *groupList);
-void marshalMemberList(StorageIntf *s,MemberList *ml);
-void marshalExampleSDict(StorageIntf *s,ExampleSDict *ed);
-void marshalMemberLists(StorageIntf *s,SDict *mls);
-void marshalEntry(StorageIntf *s,Entry *e);
-void marshalEntryTree(StorageIntf *s,Entry *e);
-
-//----- unmarshaling function: byte stream -> datatype ------------------
-
-int unmarshalInt(StorageIntf *s);
-uint unmarshalUInt(StorageIntf *s);
-uint64 unmarshalUInt64(StorageIntf *s);
-bool unmarshalBool(StorageIntf *s);
-QCString unmarshalQCString(StorageIntf *s);
-QGString unmarshalQGString(StorageIntf *s);
-ArgumentList * unmarshalArgumentList(StorageIntf *s);
-QList *unmarshalArgumentLists(StorageIntf *s);
-QList * unmarshalBaseInfoList(StorageIntf *s);
-QList * unmarshalGroupingList(StorageIntf *s);
-QList * unmarshalSectionInfoList(StorageIntf *s);
-QList *unmarshalItemInfoList(StorageIntf *s);
-void * unmarshalObjPointer(StorageIntf *s);
-SectionDict * unmarshalSectionDict(StorageIntf *s);
-MemberSDict * unmarshalMemberSDict(StorageIntf *s);
-DocInfo * unmarshalDocInfo(StorageIntf *s);
-BriefInfo * unmarshalBriefInfo(StorageIntf *s);
-BodyInfo * unmarshalBodyInfo(StorageIntf *s);
-GroupList * unmarshalGroupList(StorageIntf *s);
-MemberList * unmarshalMemberList(StorageIntf *s);
-ExampleSDict * unmarshalExampleSDict(StorageIntf *s);
-SDict * unmarshalMemberLists(StorageIntf *s);
-Entry * unmarshalEntry(StorageIntf *s);
-Entry * unmarshalEntryTree(StorageIntf *s);
-
-#endif
diff --git a/src/memberdef.cpp b/src/memberdef.cpp
index 793a56b..683f8c3 100644
--- a/src/memberdef.cpp
+++ b/src/memberdef.cpp
@@ -35,7 +35,6 @@
#include "dot.h"
#include "searchindex.h"
#include "parserintf.h"
-#include "marshal.h"
#include "objcache.h"
#include "vhdldocgen.h"
diff --git a/src/membergroup.cpp b/src/membergroup.cpp
index 5ee47ab..3e8fea9 100644
--- a/src/membergroup.cpp
+++ b/src/membergroup.cpp
@@ -26,7 +26,6 @@
#include "groupdef.h"
#include "doxygen.h"
#include "docparser.h"
-#include "marshal.h"
#include "entry.h"
#include "md5.h"
@@ -349,40 +348,6 @@ void MemberGroup::findSectionsInDocumentation()
memberList->findSectionsInDocumentation();
}
-void MemberGroup::marshal(StorageIntf *s)
-{
- marshalMemberList(s,memberList);
- marshalObjPointer(s,inDeclSection); // reference only
- marshalInt(s,grpId);
- marshalQCString(s,grpHeader);
- marshalQCString(s,fileName);
- marshalObjPointer(s,scope);
- marshalQCString(s,doc);
- marshalBool(s,inSameSection);
- marshalInt(s,m_numDecMembers);
- marshalInt(s,m_numDocMembers);
- marshalObjPointer(s,m_parent);
- marshalQCString(s,m_docFile);
- marshalItemInfoList (Doxygen::symbolStorage,m_xrefListItems);
-}
-
-void MemberGroup::unmarshal(StorageIntf *s)
-{
- memberList = unmarshalMemberList(s);
- inDeclSection = (MemberList *)unmarshalObjPointer(s);
- grpId = unmarshalInt(s);
- grpHeader = unmarshalQCString(s);
- fileName = unmarshalQCString(s);
- scope = (Definition *)unmarshalObjPointer(s);
- doc = unmarshalQCString(s);
- inSameSection = unmarshalBool(s);
- m_numDecMembers = unmarshalInt(s);
- m_numDocMembers = unmarshalInt(s);
- m_parent = (Definition *)unmarshalObjPointer(s);
- m_docFile = unmarshalQCString(s);
- m_xrefListItems = unmarshalItemInfoList (Doxygen::symbolStorage);
-}
-
void MemberGroup::setRefItems(const QList *sli)
{
if (sli)
diff --git a/src/membergroup.h b/src/membergroup.h
index b590d48..51123bb 100644
--- a/src/membergroup.h
+++ b/src/membergroup.h
@@ -94,9 +94,6 @@ class MemberGroup
QCString docFile() const { return m_docFile; }
int docLine() const { return m_docLine; }
- void marshal(StorageIntf *s);
- void unmarshal(StorageIntf *s);
-
private:
MemberList *memberList; // list of all members in the group
MemberList *inDeclSection;
diff --git a/src/memberlist.cpp b/src/memberlist.cpp
index 031b619..8d88863 100644
--- a/src/memberlist.cpp
+++ b/src/memberlist.cpp
@@ -25,7 +25,6 @@
#include "doxygen.h"
#include "outputlist.h"
#include "groupdef.h"
-#include "marshal.h"
#include "vhdldocgen.h"
#include "namespacedef.h"
#include "filedef.h"
@@ -930,75 +929,6 @@ void MemberList::findSectionsInDocumentation()
}
}
-void MemberList::marshal(StorageIntf *s)
-{
- marshalInt(s,(int)m_listType);
- marshalInt(s,m_varCnt);
- marshalInt(s,m_funcCnt);
- marshalInt(s,m_enumCnt);
- marshalInt(s,m_enumValCnt);
- marshalInt(s,m_typeCnt);
- marshalInt(s,m_seqCnt);
- marshalInt(s,m_dictCnt);
- marshalInt(s,m_protoCnt);
- marshalInt(s,m_defCnt);
- marshalInt(s,m_friendCnt);
- marshalInt(s,m_numDecMembers);
- marshalInt(s,m_numDocMembers);
- marshalBool(s,m_inGroup);
- marshalBool(s,m_inFile);
- marshalBool(s,m_needsSorting);
- if (memberGroupList==0)
- {
- marshalUInt(s,NULL_LIST); // null pointer representation
- }
- else
- {
- marshalUInt(s,memberGroupList->count());
- QListIterator mgi(*memberGroupList);
- MemberGroup *mg=0;
- for (mgi.toFirst();(mg=mgi.current());++mgi)
- {
- mg->marshal(s);
- }
- }
-}
-
-void MemberList::unmarshal(StorageIntf *s)
-{
- m_listType = (MemberListType)unmarshalInt(s);
- m_varCnt = unmarshalInt(s);
- m_funcCnt = unmarshalInt(s);
- m_enumCnt = unmarshalInt(s);
- m_enumValCnt = unmarshalInt(s);
- m_typeCnt = unmarshalInt(s);
- m_seqCnt = unmarshalInt(s);
- m_dictCnt = unmarshalInt(s);
- m_protoCnt = unmarshalInt(s);
- m_defCnt = unmarshalInt(s);
- m_friendCnt = unmarshalInt(s);
- m_numDecMembers = unmarshalInt(s);
- m_numDocMembers = unmarshalInt(s);
- m_inGroup = unmarshalBool(s);
- m_inFile = unmarshalBool(s);
- m_needsSorting = unmarshalBool(s);
- uint i,count = unmarshalUInt(s);
- if (count==NULL_LIST) // empty list
- {
- memberGroupList = 0;
- }
- else // add member groups
- {
- memberGroupList = new MemberGroupList;
- for (i=0;iunmarshal(s);
- memberGroupList->append(mg);
- }
- }
-}
-
void MemberList::setNeedsSorting(bool b)
{
m_needsSorting = b;
diff --git a/src/memberlist.h b/src/memberlist.h
index a96f61f..f0cc63d 100644
--- a/src/memberlist.h
+++ b/src/memberlist.h
@@ -89,9 +89,6 @@ class MemberList : private QList
void setNeedsSorting(bool b);
MemberGroupList *getMemberGroupList() const { return memberGroupList; }
- void marshal(StorageIntf *s);
- void unmarshal(StorageIntf *s);
-
private:
int compareValues(const MemberDef *item1,const MemberDef *item2) const;
int countEnumValues(MemberDef *md,bool setAnonEnumType) const;
diff --git a/src/store.cpp b/src/store.cpp
deleted file mode 100644
index c09dcfb..0000000
--- a/src/store.cpp
+++ /dev/null
@@ -1,484 +0,0 @@
-/******************************************************************************
- *
- *
- *
- *
- * Copyright (C) 1997-2015 by Dimitri van Heesch.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation under the terms of the GNU General Public License is hereby
- * granted. No representations are made about the suitability of this software
- * for any purpose. It is provided "as is" without express or implied warranty.
- * See the GNU General Public License for more details.
- *
- * Documents produced by Doxygen are derivative works derived from the
- * input used in their production; they are not affected by this license.
- *
- */
-
-#include "store.h"
-#include "portable.h"
-
-
-#include
-#include
-#include
-#include
-#include
-#include
-
-#define BLOCK_SIZE 512 // should be >8 and a power of 2
-#define BLOCK_POINTER_SIZE sizeof(portable_off_t)
-
-
-#define ASSERTS_ENABLED
-
-#ifdef ASSERTS_ENABLED
-#define STORE_ASSERT(x) assert(x)
-#else
-#define STORE_ASSERT(x)
-#endif
-
-// Decide to use ftell or keep track of the current file pointer ourselves.
-// Since valgrind shows that calling ftell has the unwanted side-effect of
-// writing some uninitialized bytes (!) it might be better (and faster) to keep track
-// of the current pointer ourselves.
-#define USE_FTELL 0
-
-//------------------------------------------------------------------------------------
-
-Store::Store()
-{
- m_file = 0;
- m_front = 0;
- m_cur = 0;
- m_head = 0;
- m_state = Init;
- m_reads = 0;
- m_writes = 0;
-}
-
-Store::~Store()
-{
- if (m_file) fclose(m_file);
-
- // clean up free list
- while (m_head)
- {
- Node *node = m_head;
- m_head = node->next;
- delete node;
- }
-}
-
-int Store::open(const char *name)
-{
- int i;
- STORE_ASSERT(m_state==Init);
- if (m_file) return 0; // already open
- m_file = portable_fopen(name,"w+b");
- if (m_file==0) return -1;
-
- // first block serves as header, so offset=0 can be used as the end of the list.
- for (i=0;ipos);
- Node *node = m_head;
- pos = node->pos;
- // point head to next free item
- m_head = node->next;
- delete node;
- // move to start of the block
- if (portable_fseek(m_file,pos,SEEK_SET)==-1)
- {
- fprintf(stderr,"Store::alloc: Error seeking to position %d: %s\n",
- (int)pos,strerror(errno));
- exit(1);
- }
- m_cur = pos;
- STORE_ASSERT( (pos & (BLOCK_SIZE-1))==0 );
- }
- //printf("%x: Store::alloc\n",(int)pos);
- return pos;
-}
-
-int Store::write(const char *buf,uint size)
-{
- STORE_ASSERT(m_state==Writing);
- //printf("%x: Store::write\n",(int)portable_ftell(m_file));
- do
- {
-#if USE_FTELL
- portable_off_t curPos = portable_ftell(m_file);
-#else
- portable_off_t curPos = m_cur;
-#endif
- int bytesInBlock = (int)(BLOCK_SIZE - BLOCK_POINTER_SIZE - (curPos & (BLOCK_SIZE-1)));
- int bytesLeft = bytesInBlock<(int)size ? (int)size-bytesInBlock : 0;
- int numBytes = size - bytesLeft;
- STORE_ASSERT(bytesInBlock>=0);
- STORE_ASSERT(numBytes<=(int)(BLOCK_SIZE-BLOCK_POINTER_SIZE));
- if (numBytes>0)
- {
- if ((int)fwrite(buf,1,numBytes,m_file)!=numBytes)
- {
- fprintf(stderr,"Error writing: %s\n",strerror(errno));
- exit(1);
- }
- m_cur+=numBytes;
- m_writes++;
- }
- if (bytesLeft>0) // still more bytes to write
- {
-#if USE_FTELL
- STORE_ASSERT(((portable_ftell(m_file)+BLOCK_POINTER_SIZE)&(BLOCK_SIZE-1))==0);
-#else
- STORE_ASSERT(((m_cur+BLOCK_POINTER_SIZE)&(BLOCK_SIZE-1))==0);
-#endif
- // allocate new block
- if (m_head==0) // no free blocks to reuse
- {
- //printf("%x: Store::write: new: pos=%x\n",(int)m_front,(int)portable_ftell(m_file));
- // write pointer to next block
- if (fwrite(&m_front,BLOCK_POINTER_SIZE,1,m_file)!=1)
- {
- fprintf(stderr,"Error writing to store: %s\n",strerror(errno));
- exit(1);
- }
- m_cur+=BLOCK_POINTER_SIZE;
-#if USE_FTELL
- STORE_ASSERT(portable_ftell(m_file)==(curPos&~(BLOCK_SIZE-1))+BLOCK_SIZE);
-#else
- STORE_ASSERT(m_cur==(curPos&~(BLOCK_SIZE-1))+BLOCK_SIZE);
-#endif
- // move to next block
- if (portable_fseek(m_file,0,SEEK_END)==-1) // go to end of the file
- {
- fprintf(stderr,"Store::alloc: Error seeking to end of file: %s\n",strerror(errno));
- exit(1);
- }
- m_cur=m_front;
-#if USE_FTELL
- STORE_ASSERT(portable_ftell(m_file)==m_front);
-#else
- STORE_ASSERT(m_cur==m_front);
-#endif
- // move front to the next of the block
- m_front+=BLOCK_SIZE;
- }
- else // reuse block from the free list
- {
- // write pointer to next block
- if (fwrite(&m_head->pos,BLOCK_POINTER_SIZE,1,m_file)!=1)
- {
- fprintf(stderr,"Error writing to store: %s\n",strerror(errno));
- exit(1);
- }
- Node *node = m_head;
- portable_off_t pos = node->pos;
- // point head to next free item
- m_head = node->next;
- delete node;
- // move to start of the block
- if (portable_fseek(m_file,pos,SEEK_SET)==-1)
- {
- fprintf(stderr,"Store::write: Error seeking to position %d: %s\n",
- (int)pos,strerror(errno));
- exit(1);
- }
- m_cur = pos;
- //printf("%x: Store::write: reuse\n",(int)pos);
- }
- }
- size-=numBytes;
- buf+=numBytes;
- }
- while (size>0);
- return size;
-}
-
-void Store::end()
-{
- STORE_ASSERT(m_state==Writing);
-#if USE_FTELL
- portable_off_t curPos = portable_ftell(m_file);
-#else
- portable_off_t curPos = m_cur;
-#endif
- int bytesInBlock = (int)(BLOCK_SIZE - (curPos & (BLOCK_SIZE-1)));
- //printf("%x: Store::end erasing %x bytes\n",(int)curPos&~(BLOCK_SIZE-1),bytesInBlock);
- //printf("end: bytesInBlock=%x\n",bytesInBlock);
- // zero out rest of the block
- int i;
- for (i=0;i0 && (pos & (BLOCK_SIZE-1))==0);
- // goto end of the block
- portable_off_t cur = pos, next;
- while (1)
- {
- // add new node to the free list
- Node *node = new Node;
- node->next = m_head;
- node->pos = cur;
-
- m_head = node;
- // goto the end of cur block
- if (portable_fseek(m_file,cur+BLOCK_SIZE-BLOCK_POINTER_SIZE,SEEK_SET)==-1)
- {
- fprintf(stderr,"Store::release: Error seeking to position %d: %s\n",
- (int)(cur+BLOCK_SIZE-BLOCK_POINTER_SIZE),strerror(errno));
- exit(1);
- }
- // read pointer to next block
- if (fread(&next,BLOCK_POINTER_SIZE,1,m_file)!=1)
- {
- fprintf(stderr,"Store::release: Error reading from store: %s\n",strerror(errno));
- exit(1);
- }
- m_cur = cur+BLOCK_SIZE;
- if (next==0) break; // found end of list -> cur is last element
- STORE_ASSERT((next & (BLOCK_SIZE-1))==0);
- cur = next;
- //printf("%x: Store::release\n",(int)cur);
- }
-}
-
-void Store::seek(portable_off_t pos)
-{
- STORE_ASSERT(m_state==Reading);
- //printf("%x: Store::seek\n",(int)pos);
- if (portable_fseek(m_file,pos,SEEK_SET)==-1)
- {
- fprintf(stderr,"Store::seek: Error seeking to position %d: %s\n",
- (int)pos,strerror(errno));
- exit(1);
- }
- m_cur = pos;
- STORE_ASSERT((pos&(BLOCK_SIZE-1))==0);
-}
-
-int Store::read(char *buf,uint size)
-{
- STORE_ASSERT(m_state==Reading);
- //printf("%x: Store::read total=%d\n",(int)portable_ftell(m_file),size);
- do
- {
-#if USE_FTELL
- portable_off_t curPos = portable_ftell(m_file);
-#else
- portable_off_t curPos = m_cur;
-#endif
- int bytesInBlock = (int)(BLOCK_SIZE - BLOCK_POINTER_SIZE - (curPos & (BLOCK_SIZE-1)));
- int bytesLeft = bytesInBlock<(int)size ? (int)size-bytesInBlock : 0;
- int numBytes = size - bytesLeft;
- //printf(" Store::read: pos=%x num=%d left=%d\n",(int)curPos,numBytes,bytesLeft);
-
- if (numBytes>0)
- {
- //printf("%x: Store::read: %d out of %d bytes\n",(int)portable_ftell(m_file),numBytes,size);
- if ((int)fread(buf,1,numBytes,m_file)!=numBytes)
- {
- fprintf(stderr,"Error reading from store: %s\n",strerror(errno));
- exit(1);
- }
- m_cur+=numBytes;
- m_reads++;
- }
- if (bytesLeft>0)
- {
- portable_off_t newPos;
- // read offset of the next block
-#if USE_FTELL
- STORE_ASSERT(((portable_ftell(m_file)+BLOCK_POINTER_SIZE)&(BLOCK_SIZE-1))==0);
-#else
- STORE_ASSERT(((m_cur+BLOCK_POINTER_SIZE)&(BLOCK_SIZE-1))==0);
-#endif
- if (fread((char *)&newPos,BLOCK_POINTER_SIZE,1,m_file)!=1)
- {
- fprintf(stderr,"Error reading from store: %s\n",strerror(errno));
- exit(1);
- }
- //printf("%x: Store::read: continue in next block, %d bytes to go\n",(int)newPos,bytesLeft);
- //printf(" Store::read: next block=%x\n",(int)newPos);
- STORE_ASSERT(newPos!=0);
- STORE_ASSERT((newPos&(BLOCK_SIZE-1))==0);
- curPos = newPos;
- // move to next block
- if (portable_fseek(m_file,curPos,SEEK_SET)==-1)
- {
- fprintf(stderr,"Store::read: Error seeking to position %d: %s\n",
- (int)curPos,strerror(errno));
- exit(1);
- }
- m_cur = curPos;
- }
-
- size-=numBytes;
- buf+=numBytes;
- }
- while (size>0);
- return size;
-}
-
-void Store::printFreeList()
-{
- printf("FreeList: ");
- while (m_head)
- {
- portable_off_t pos = m_head->pos;
- printf("%x ",(int)pos);
- m_head = m_head->next;
- }
- printf("\n");
-}
-
-void Store::printStats()
-{
- printf("ObjStore: block size %d bytes, total size %ld blocks, wrote %d blocks, read %d blocks\n",
- BLOCK_SIZE,(long)(m_front/BLOCK_SIZE),m_reads,m_writes);
-}
-
-void Store::dumpBlock(portable_off_t s,portable_off_t e)
-{
- portable_fseek(m_file,s,SEEK_SET);
- int size = (int)(e-s);
- uchar *buf = new uchar[size];
- if (fread(buf,size,1,m_file)==(size_t)size)
- {
- int i,j;
- for (i=0;i=32 && buf[i+j]<128)?buf[i+j]:'.');
- }
- printf("\n");
- }
- }
- delete[] buf;
- portable_fseek(m_file,m_cur,SEEK_SET);
-}
-
-#ifdef STORE_TEST
-
-int main()
-{
- printf("sizeof(portable_off_t)=%d\n",(int)sizeof(portable_off_t));
- Store s;
- if (s.open("test.db")==0)
- {
- const char *str1 = "This is a test message... ";
- const char *str2 = "Another message. ";
-
- int i,j;
- for (j=0;j<5;j++)
- {
- char buf[100];
-
- portable_off_t handle = s.alloc();
- for (i=0;i<1000000000;i++)
- {
- s.write(str1,strlen(str1)+1);
- }
- s.end();
- portable_off_t handle2 = s.alloc();
- for (i=0;i<10;i++)
- {
- s.write(str2,strlen(str2)+1);
- }
- s.end();
-
- s.seek(handle);
- for (i=0;i<3;i++)
- {
- s.read(buf,strlen(str1)+1);
- printf("i=%d Read: %s\n",i,buf);
- }
-
- s.release(handle);
-
- s.seek(handle2);
- for (i=0;i<3;i++)
- {
- s.read(buf,strlen(str2)+1);
- printf("i=%d Read: %s\n",i,buf);
- }
-
- s.release(handle2);
- }
-
- s.close();
- }
- else
- {
- printf("Open failed! %s\n",strerror(errno));
- }
-}
-
-#endif
-
diff --git a/src/store.h b/src/store.h
deleted file mode 100644
index 39917df..0000000
--- a/src/store.h
+++ /dev/null
@@ -1,123 +0,0 @@
-/******************************************************************************
- *
- *
- *
- * Copyright (C) 1997-2015 by Dimitri van Heesch.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation under the terms of the GNU General Public License is hereby
- * granted. No representations are made about the suitability of this software
- * for any purpose. It is provided "as is" without express or implied warranty.
- * See the GNU General Public License for more details.
- *
- * Documents produced by Doxygen are derivative works derived from the
- * input used in their production; they are not affected by this license.
- *
- */
-
-#ifndef STORE_H
-#define STORE_H
-
-#include
-#include
-
-#include "portable.h"
-
-/*! @brief Abstract interface for file based memory storage operations */
-class StorageIntf
-{
- public:
- /*! Required by gcc */
- virtual ~StorageIntf() {}
- /*! Read \a size bytes from the store into \a buf. */
- virtual int read(char *buf,uint size) = 0;
- /*! Write \a size bytes from \a buf into the store. */
- virtual int write(const char *buf,uint size) = 0;
-};
-
-/*! @brief The Store is a file based memory manager.
- *
- * You can open the store using open(). Then obtain a handle via alloc()
- * followed by a sequence of write() commands to store information,
- * and finalize it using end().
- *
- * Later on you locate the information
- * with seek() using the handle obtained with alloc(), and then use a
- * sequence of read() calls to read the information back.
- *
- * If no longer needed the storage space can be freed using release().
- *
- * The store will dynamically grow the file on disk if needed.
- */
-class Store : public StorageIntf
-{
- public:
- /*! Creates a store. */
- Store();
-
- /*! Releases the store object. Will close the underlying file if opened. */
- ~Store();
-
- /*! Opens the file underlying the store using \a name as the file name.
- * Returns 0 upon success, or -1 otherwise.
- */
- int open(const char *name);
-
- /*! Allocates a handle to write to and read from. */
- portable_off_t alloc();
-
- /*! Writes \a size bytes in array \a buf to the store.
- * First alloc() has to be called.
- * \note The information can only be read after end() has been called.
- */
- int write(const char *buf,uint size);
-
- /*! Ends the sequence of writes.
- * \note After this call, first alloc() has to be called
- * before new writes can be done.
- */
- void end();
-
- /*! Releases the memory corresponding to the handle returned with alloc() */
- void release(portable_off_t handle);
-
- /*! Closes the store */
- void close();
-
- /*! Goes to the start of information corresponding to handle \a pos */
- void seek(portable_off_t handle);
-
- /*! Reads \a size bytes from the store into the array pointed to be \a buf.
- * \note Before reading seek() has to be called to set the right start of the store.
- */
- int read(char *buf,uint size);
-
- void printStats();
-
- portable_off_t pos() const { return m_cur; }
-
- void dumpBlock(portable_off_t start,portable_off_t end);
-
- private:
- enum State
- {
- Init,
- Reading,
- Writing
- };
- struct Node
- {
- portable_off_t pos;
- struct Node *next;
- };
- void printFreeList();
- FILE *m_file;
- portable_off_t m_front;
- portable_off_t m_cur;
- Node *m_head;
- State m_state;
- int m_reads;
- int m_writes;
-};
-
-#endif
diff --git a/testing/009/bug.xml b/testing/009/bug.xml
index 34a411b..ca3a22a 100644
--- a/testing/009/bug.xml
+++ b/testing/009/bug.xml
@@ -9,7 +9,7 @@
- Class [Bug]
+ Class [Bug]
Class bug.
diff --git a/testing/009/class_bug.xml b/testing/009/class_bug.xml
index 5a770bb..f972b4a 100644
--- a/testing/009/class_bug.xml
+++ b/testing/009/class_bug.xml
@@ -17,7 +17,7 @@
-
+
diff --git a/testing/009/class_deprecated.xml b/testing/009/class_deprecated.xml
index 5d44aaf..061bb34 100644
--- a/testing/009/class_deprecated.xml
+++ b/testing/009/class_deprecated.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/testing/009/class_reminder.xml b/testing/009/class_reminder.xml
index 379b3e7..bdf2ee0 100644
--- a/testing/009/class_reminder.xml
+++ b/testing/009/class_reminder.xml
@@ -22,7 +22,7 @@
-
+
diff --git a/testing/009/class_test.xml b/testing/009/class_test.xml
index 9f1b126..64f287f 100644
--- a/testing/009/class_test.xml
+++ b/testing/009/class_test.xml
@@ -22,7 +22,7 @@
-
+
diff --git a/testing/009/class_todo.xml b/testing/009/class_todo.xml
index 8657d60..a4fed63 100644
--- a/testing/009/class_todo.xml
+++ b/testing/009/class_todo.xml
@@ -22,7 +22,7 @@
-
+
diff --git a/testing/009/deprecated.xml b/testing/009/deprecated.xml
index a787015..c3fc2a2 100644
--- a/testing/009/deprecated.xml
+++ b/testing/009/deprecated.xml
@@ -9,7 +9,7 @@
- Class [Deprecated]
+ Class [Deprecated]
This class is deprecated
diff --git a/testing/009/reminders.xml b/testing/009/reminders.xml
index f848e3c..4818541 100644
--- a/testing/009/reminders.xml
+++ b/testing/009/reminders.xml
@@ -9,16 +9,16 @@
- Class [Reminder]
+ Class [Reminder]
- A reminder
+ A reminder
Member [Reminder::reminder] ()
- Need to rework this before the next release.
+ Need to rework this before the next release.
diff --git a/testing/009/test.xml b/testing/009/test.xml
index 828316d..665dc0e 100644
--- a/testing/009/test.xml
+++ b/testing/009/test.xml
@@ -9,7 +9,7 @@
- Class [Test]
+ Class [Test]
This is part of testing
diff --git a/testing/009/todo.xml b/testing/009/todo.xml
index 394f07d..c3b160f 100644
--- a/testing/009/todo.xml
+++ b/testing/009/todo.xml
@@ -9,7 +9,7 @@
- Class [Todo]
+ Class [Todo]
This still needs to be done.
diff --git a/testing/011/category_integer_07_arithmetic_08.xml b/testing/011/category_integer_07_arithmetic_08.xml
index 78a8c0e..0705628 100644
--- a/testing/011/category_integer_07_arithmetic_08.xml
+++ b/testing/011/category_integer_07_arithmetic_08.xml
@@ -19,7 +19,7 @@
-
+
id
@@ -37,7 +37,7 @@
-
+
@@ -45,7 +45,7 @@
A category
-
+
Integer(Arithmetic)
diff --git a/testing/011/interface_integer.xml b/testing/011/interface_integer.xml
index 429c6a0..863ec91 100644
--- a/testing/011/interface_integer.xml
+++ b/testing/011/interface_integer.xml
@@ -16,7 +16,7 @@
-
+
@@ -32,7 +32,7 @@
-
+
id
@@ -50,7 +50,7 @@
-
+
@@ -80,7 +80,7 @@
-
+
Integer
diff --git a/testing/012/citelist.xml b/testing/012/citelist.xml
old mode 100755
new mode 100644
index cb039fd..81e46e5
--- a/testing/012/citelist.xml
+++ b/testing/012/citelist.xml
@@ -1,43 +1,43 @@
-
-
-
- citelist
- Bibliography
-
-
-
-
-
-
- [1]
-
-
- P.Belotti. Disjunctive cuts for non-convex MINLP. In Lee and Leyffer [4], pages 117144.
-
-
-
- [2]
-
-
- T.Berthold, S.Heinz, and S.Vigerske. Extending a CIP framework to solve MIQCPs. In Lee and Leyffer [4], pages 427444.
-
-
-
- [3]
-
-
- DonaldE. Knuth. Tex and Metafont, New Directions in Typesetting. American Mathematical Society and Digital Press, Stanford, 1979.
-
-
-
- [4]
-
-
- Jon Lee and Sven Leyffer, editors. Mixed Integer Nonlinear Programming, volume 154 of The IMA Volumes in Mathematics and its Applications. Springer, 2012.
-
-
-
-
-
-
-
+
+
+
+ citelist
+ Bibliography
+
+
+
+
+
+
+ [1]
+
+
+ P.Belotti. Disjunctive cuts for non-convex MINLP. In Lee and Leyffer [4], pages 117144.
+
+
+
+ [2]
+
+
+ T.Berthold, S.Heinz, and S.Vigerske. Extending a CIP framework to solve MIQCPs. In Lee and Leyffer [4], pages 427444.
+
+
+
+ [3]
+
+
+ DonaldE. Knuth. Tex and Metafont, New Directions in Typesetting. American Mathematical Society and Digital Press, Stanford, 1979.
+
+
+
+ [4]
+
+
+ Jon Lee and Sven Leyffer, editors. Mixed Integer Nonlinear Programming, volume 154 of The IMA Volumes in Mathematics and its Applications. Springer, 2012.
+
+
+
+
+
+
+
diff --git a/testing/012/indexpage.xml b/testing/012/indexpage.xml
old mode 100755
new mode 100644
index e682540..227e52c
--- a/testing/012/indexpage.xml
+++ b/testing/012/indexpage.xml
@@ -1,13 +1,13 @@
-
-
-
- index
- My Project
-
-
-
- See [[3]] for more info.
- Oter references with crosreference see [[1]] and [[2]] for more info.
-
-
-
+
+
+
+ index
+ My Project
+
+
+
+ See [[3]] for more info.
+ Oter references with crosreference see [[1]] and [[2]] for more info.
+
+
+
diff --git a/testing/014/indexpage.xml b/testing/014/indexpage.xml
index 7cbc82f..3fb3867 100644
--- a/testing/014/indexpage.xml
+++ b/testing/014/indexpage.xml
@@ -42,7 +42,7 @@
- //implicitcodelanguage
+ //implicitcodelanguage
diff --git a/testing/015/015__cond_8c.xml b/testing/015/015__cond_8c.xml
index bcc18b5..8700967 100644
--- a/testing/015/015__cond_8c.xml
+++ b/testing/015/015__cond_8c.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/testing/016/016__copydoc_8c.xml b/testing/016/016__copydoc_8c.xml
index b0e2246..78a746a 100644
--- a/testing/016/016__copydoc_8c.xml
+++ b/testing/016/016__copydoc_8c.xml
@@ -20,7 +20,7 @@
-
+
void
@@ -34,7 +34,7 @@
-
+
void
@@ -48,7 +48,7 @@
-
+
void
@@ -63,7 +63,7 @@
-
+
diff --git a/testing/018/018__def_8c.xml b/testing/018/018__def_8c.xml
index 5f42767..837a85a 100644
--- a/testing/018/018__def_8c.xml
+++ b/testing/018/018__def_8c.xml
@@ -41,7 +41,7 @@
-
+
@@ -57,7 +57,7 @@
-
+
@@ -74,7 +74,7 @@
-
+
@@ -93,7 +93,7 @@
-
+
void
@@ -113,7 +113,7 @@
-
+
diff --git a/testing/019/group__g1.xml b/testing/019/group__g1.xml
index 2d45709..d9ea16d 100644
--- a/testing/019/group__g1.xml
+++ b/testing/019/group__g1.xml
@@ -16,7 +16,7 @@
-
+
diff --git a/testing/019/group__g2.xml b/testing/019/group__g2.xml
index 3429ad9..9b1fc83 100644
--- a/testing/019/group__g2.xml
+++ b/testing/019/group__g2.xml
@@ -17,7 +17,7 @@
-
+
diff --git a/testing/019/group__g3.xml b/testing/019/group__g3.xml
index 6ef7640..d9137b0 100644
--- a/testing/019/group__g3.xml
+++ b/testing/019/group__g3.xml
@@ -16,7 +16,7 @@
-
+
void
@@ -30,7 +30,7 @@
-
+
diff --git a/testing/020/indexpage.xml b/testing/020/indexpage.xml
index 3171e13..8bfb472 100644
--- a/testing/020/indexpage.xml
+++ b/testing/020/indexpage.xml
@@ -6,9 +6,9 @@
- Text.
+ Text.
XML
-More text.
+ More text.
diff --git a/testing/025/class_test.xml b/testing/025/class_test.xml
index c19341a..7438488 100644
--- a/testing/025/class_test.xml
+++ b/testing/025/class_test.xml
@@ -16,7 +16,7 @@
-
+
diff --git a/testing/026/class_test.xml b/testing/026/class_test.xml
index 582d509..469ba7c 100644
--- a/testing/026/class_test.xml
+++ b/testing/026/class_test.xml
@@ -32,7 +32,7 @@
-
+
diff --git a/testing/027/struct_car.xml b/testing/027/struct_car.xml
index 9027597..61a8d16 100644
--- a/testing/027/struct_car.xml
+++ b/testing/027/struct_car.xml
@@ -18,7 +18,7 @@
-
+
diff --git a/testing/027/struct_object.xml b/testing/027/struct_object.xml
index 9d93be7..18b34ef 100644
--- a/testing/027/struct_object.xml
+++ b/testing/027/struct_object.xml
@@ -16,7 +16,7 @@
-
+
@@ -36,7 +36,7 @@
-
+
[Object] *
@@ -54,7 +54,7 @@
-
+
diff --git a/testing/027/struct_truck.xml b/testing/027/struct_truck.xml
index c5009d4..92877e3 100644
--- a/testing/027/struct_truck.xml
+++ b/testing/027/struct_truck.xml
@@ -18,7 +18,7 @@
-
+
diff --git a/testing/027/struct_vehicle.xml b/testing/027/struct_vehicle.xml
index c217fc6..3fc2456 100644
--- a/testing/027/struct_vehicle.xml
+++ b/testing/027/struct_vehicle.xml
@@ -20,7 +20,7 @@
-
+
@@ -40,7 +40,7 @@
-
+
void
@@ -58,7 +58,7 @@
-
+
diff --git a/testing/029/029__hideinit_8c.xml b/testing/029/029__hideinit_8c.xml
index 4caf092..c13192f 100644
--- a/testing/029/029__hideinit_8c.xml
+++ b/testing/029/029__hideinit_8c.xml
@@ -16,7 +16,7 @@
-
+
int
@@ -30,7 +30,7 @@
-
+
diff --git a/testing/031/indexpage.xml b/testing/031/indexpage.xml
old mode 100755
new mode 100644
index 7e368f3..2d74510
--- a/testing/031/indexpage.xml
+++ b/testing/031/indexpage.xml
@@ -1,54 +1,54 @@
-
-
-
- index
- My Project
-
-
-
- Some text.
- Doxygen logo
-
- More text.
- SVG image with caption:
-A caption
-
- PNG image with caption:
-A caption
-
- SVG image without caption:
-
-
- PNG image without caption:
-
-
- Inline SVG image with caption:
-This image is inline MIT license
- within the text.
- Inline PNG image with caption:
-This image is inline MIT license
- within the text.
- Markdown style linked SVG image:
-
- Markdown style linked PNG image:
-
- HTML style linked SVG image:
-
- HTML style linked PNG image:
-
- HTML style unlinked SVG image:
-
-
- HTML style unlinked PNG image:
-
-
- Some markdown image tests
-
- Some normal link
-
-
- Some normal link
-
-
-
-
+
+
+
+ index
+ My Project
+
+
+
+ Some text.
+ Doxygen logo
+
+ More text.
+ SVG image with caption:
+A caption
+
+ PNG image with caption:
+A caption
+
+ SVG image without caption:
+
+
+ PNG image without caption:
+
+
+ Inline SVG image with caption:
+This image is inline MIT license
+ within the text.
+ Inline PNG image with caption:
+This image is inline MIT license
+ within the text.
+ Markdown style linked SVG image:
+
+ Markdown style linked PNG image:
+
+ HTML style linked SVG image:
+
+ HTML style linked PNG image:
+
+ HTML style unlinked SVG image:
+
+
+ HTML style unlinked PNG image:
+
+
+ Some markdown image tests
+
+ Some normal link
+
+
+ Some normal link
+
+
+
+
diff --git a/testing/035/035__invariant_8c.xml b/testing/035/035__invariant_8c.xml
index b3d74bc..0bdd7a6 100644
--- a/testing/035/035__invariant_8c.xml
+++ b/testing/035/035__invariant_8c.xml
@@ -33,7 +33,7 @@
-
+
diff --git a/testing/036/036__link_8c.xml b/testing/036/036__link_8c.xml
index aba069f..db238fb 100644
--- a/testing/036/036__link_8c.xml
+++ b/testing/036/036__link_8c.xml
@@ -20,7 +20,7 @@
-
+
diff --git a/testing/037/class_receiver.xml b/testing/037/class_receiver.xml
index edb688a..21156d7 100644
--- a/testing/037/class_receiver.xml
+++ b/testing/037/class_receiver.xml
@@ -19,7 +19,7 @@
-
+
diff --git a/testing/037/class_sender.xml b/testing/037/class_sender.xml
index 0f1996d..53ba04e 100644
--- a/testing/037/class_sender.xml
+++ b/testing/037/class_sender.xml
@@ -19,7 +19,7 @@
-
+
diff --git a/testing/039/class_test.xml b/testing/039/class_test.xml
index 2a4796a..ca7ff62 100644
--- a/testing/039/class_test.xml
+++ b/testing/039/class_test.xml
@@ -16,7 +16,7 @@
-
+
void
@@ -30,7 +30,7 @@
-
+
@@ -46,7 +46,7 @@
-
+
diff --git a/testing/041/class_test.xml b/testing/041/class_test.xml
index 57dbe37..c4c1d9c 100644
--- a/testing/041/class_test.xml
+++ b/testing/041/class_test.xml
@@ -31,7 +31,7 @@
-
+
void
@@ -45,11 +45,11 @@
- This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
+ This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
-
+
void
@@ -72,7 +72,7 @@
-
+
diff --git a/testing/042/namespaceorg_1_1doxygen_1_1_test.xml b/testing/042/namespaceorg_1_1doxygen_1_1_test.xml
index 7ed33d5..cd243d5 100644
--- a/testing/042/namespaceorg_1_1doxygen_1_1_test.xml
+++ b/testing/042/namespaceorg_1_1doxygen_1_1_test.xml
@@ -7,6 +7,6 @@
A test package.
-
+
diff --git a/testing/044/struct_s.xml b/testing/044/struct_s.xml
index aefd50d..7214f29 100644
--- a/testing/044/struct_s.xml
+++ b/testing/044/struct_s.xml
@@ -16,7 +16,7 @@
-
+
int
@@ -30,7 +30,7 @@
-
+
@@ -46,7 +46,7 @@
-
+
int
@@ -60,7 +60,7 @@
-
+
@@ -76,7 +76,7 @@
-
+
int
@@ -90,7 +90,7 @@
-
+
diff --git a/testing/046/046__related_8cpp.xml b/testing/046/046__related_8cpp.xml
index c36c6c5..6386d5d 100644
--- a/testing/046/046__related_8cpp.xml
+++ b/testing/046/046__related_8cpp.xml
@@ -16,7 +16,7 @@
-
+
diff --git a/testing/046/class_test.xml b/testing/046/class_test.xml
index 1445e35..0a9f22c 100644
--- a/testing/046/class_test.xml
+++ b/testing/046/class_test.xml
@@ -15,7 +15,7 @@
-
+
@@ -38,7 +38,7 @@
-
+
void
@@ -52,7 +52,7 @@
-
+
diff --git a/testing/047/047__return_8cpp.xml b/testing/047/047__return_8cpp.xml
index a29062f..4e3d3e9 100644
--- a/testing/047/047__return_8cpp.xml
+++ b/testing/047/047__return_8cpp.xml
@@ -16,7 +16,7 @@
-
+
int
@@ -31,7 +31,7 @@
-
+
int
@@ -46,7 +46,7 @@
-
+
diff --git a/testing/048/048__showinit_8c.xml b/testing/048/048__showinit_8c.xml
index 4cc5717..3037c9c 100644
--- a/testing/048/048__showinit_8c.xml
+++ b/testing/048/048__showinit_8c.xml
@@ -15,7 +15,7 @@
-
+
int
@@ -30,7 +30,7 @@
-
+
diff --git a/testing/050/indexpage.xml b/testing/050/indexpage.xml
old mode 100755
new mode 100644
index bbaacf4..f3cd647
--- a/testing/050/indexpage.xml
+++ b/testing/050/indexpage.xml
@@ -1,45 +1,45 @@
-
-
-
- index
- My Project
-
-
-
- Some normal text. A verbatim section with a /* C comment */ in it
- Showing a file as verbatim @book{knuth79,
- author = "Donald E. Knuth",
- title = "Tex and Metafont, New Directions in Typesetting",
- year = "1979",
- publisher = "American Mathematical Society and Digital Press",
- address = "Stanford"
-}
-@InCollection{ BertholdHeinzVigerske2009,
- author = {T. Berthold and S. Heinz and S. Vigerske},
- title = {Extending a {CIP} framework to solve {MIQCP}s},
- crossref = {LeLe12},
- pages = {427--444},
- url = {http://doi.org/10.1007/978-1-4614-1927-3_15}
-}
-@Book{ LeLe12,
- title = {Mixed Integer Nonlinear Programming},
- booktitle = {Mixed Integer Nonlinear Programming},
- publisher = {Springer},
- year = {2012},
- editor = {Jon Lee and Sven Leyffer},
- volume = {154},
- series = {The IMA Volumes in Mathematics and its Applications},
- url = {http://doi.org/10.1007/978-1-4614-1927-3},
- issn = {978-1-4614-1926-6}
-}
-@InCollection{ Be09,
- author = {P. Belotti},
- title = {Disjunctive cuts for non-convex {MINLP}},
- crossref = {LeLe12},
- pages = {117--144},
- url = {http://doi.org/10.1007/978-1-4614-1927-3_5}
-}
- More text after the verbatim section.
-
-
-
+
+
+
+ index
+ My Project
+
+
+
+ Some normal text. A verbatim section with a /* C comment */ in it
+ Showing a file as verbatim @book{knuth79,
+ author = "Donald E. Knuth",
+ title = "Tex and Metafont, New Directions in Typesetting",
+ year = "1979",
+ publisher = "American Mathematical Society and Digital Press",
+ address = "Stanford"
+}
+@InCollection{ BertholdHeinzVigerske2009,
+ author = {T. Berthold and S. Heinz and S. Vigerske},
+ title = {Extending a {CIP} framework to solve {MIQCP}s},
+ crossref = {LeLe12},
+ pages = {427--444},
+ url = {http://doi.org/10.1007/978-1-4614-1927-3_15}
+}
+@Book{ LeLe12,
+ title = {Mixed Integer Nonlinear Programming},
+ booktitle = {Mixed Integer Nonlinear Programming},
+ publisher = {Springer},
+ year = {2012},
+ editor = {Jon Lee and Sven Leyffer},
+ volume = {154},
+ series = {The IMA Volumes in Mathematics and its Applications},
+ url = {http://doi.org/10.1007/978-1-4614-1927-3},
+ issn = {978-1-4614-1926-6}
+}
+@InCollection{ Be09,
+ author = {P. Belotti},
+ title = {Disjunctive cuts for non-convex {MINLP}},
+ crossref = {LeLe12},
+ pages = {117--144},
+ url = {http://doi.org/10.1007/978-1-4614-1927-3_5}
+}
+ More text after the verbatim section.
+
+
+
diff --git a/testing/051/indexpage.xml b/testing/051/indexpage.xml
index 50a6ff8..2d37333 100644
--- a/testing/051/indexpage.xml
+++ b/testing/051/indexpage.xml
@@ -6,7 +6,7 @@
- Dollar $ At @ Backslash \ Ampersand & Less < Greater > Hash # Percent % Quote " Dot . Double colon :: Pipe | Plus + Minus -
+ Dollar $ At @ Backslash \ Ampersand & Less < Greater > Hash # Percent % Quote " Dot . Double colon :: Pipe | Plus + Minus -
diff --git a/testing/054/054__parblock_8cpp.xml b/testing/054/054__parblock_8cpp.xml
index e9aec90..0eefc0b 100644
--- a/testing/054/054__parblock_8cpp.xml
+++ b/testing/054/054__parblock_8cpp.xml
@@ -91,7 +91,7 @@
-
+
void
@@ -181,7 +181,7 @@
-
+
diff --git a/testing/055/md_055_markdown.xml b/testing/055/md_055_markdown.xml
old mode 100755
new mode 100644
index 307eb26..18555aa
--- a/testing/055/md_055_markdown.xml
+++ b/testing/055/md_055_markdown.xml
@@ -1,31 +1,31 @@
-
-
-
- md_055_markdown
- 055_markdown
-
-
-
-
- Foo
-
- Bar
-
- Inline link
-
-
- Reference link
-
-
-
- Baz
- More text
-
- Upper-cased reference link on last line
-
- Dash - NDash MDash EDash - ENDash -- EMDash --- E3Dash ---
-
-
-
-
-
+
+
+
+ md_055_markdown
+ 055_markdown
+
+
+
+
+ Foo
+
+ Bar
+
+ Inline link
+
+
+ Reference link
+
+
+
+ Baz
+ More text
+
+ Upper-cased reference link on last line
+
+ Dash - NDash MDash EDash - ENDash -- EMDash --- E3Dash ---
+
+
+
+
+
diff --git a/testing/064/struct_foo.xml b/testing/064/struct_foo.xml
index e228f92..d9e2486 100644
--- a/testing/064/struct_foo.xml
+++ b/testing/064/struct_foo.xml
@@ -15,7 +15,7 @@
-
+
@@ -29,7 +29,7 @@
-
+
@@ -97,7 +97,7 @@
-
+
Foo
diff --git a/testing/066/class_class1.xml b/testing/066/class_class1.xml
old mode 100755
new mode 100644
index 34335a7..ccc412e
--- a/testing/066/class_class1.xml
+++ b/testing/066/class_class1.xml
@@ -1,53 +1,53 @@
-
-
-
- Class1
-
-
- int
- int Class1.Property1
-
- Property1
- = 1
-
- Documentation of first property.
-
-
-
-
-
-
-
-
- string
- string Class1.Property2
-
- Property2
-
- Documentation of second property.
-
-
-
-
-
-
-
-
-
- Documentation of the class.
-
-
-
-
-
-
- Class1
- Property1
-
-
- Class1
- Property2
-
-
-
-
+
+
+
+ Class1
+
+
+ int
+ int Class1.Property1
+
+ Property1
+ = 1
+
+ Documentation of first property.
+
+
+
+
+
+
+
+
+ string
+ string Class1.Property2
+
+ Property2
+
+ Documentation of second property.
+
+
+
+
+
+
+
+
+
+ Documentation of the class.
+
+
+
+
+
+
+ Class1
+ Property1
+
+
+ Class1
+ Property2
+
+
+
+
diff --git a/testing/067/067__link__varargs_8cpp.xml b/testing/067/067__link__varargs_8cpp.xml
index 8bf0051..c6eaac5 100644
--- a/testing/067/067__link__varargs_8cpp.xml
+++ b/testing/067/067__link__varargs_8cpp.xml
@@ -20,7 +20,7 @@
-
+
void
@@ -41,7 +41,7 @@
-
+
diff --git a/testing/068/068__ref__varargs_8cpp.xml b/testing/068/068__ref__varargs_8cpp.xml
index ae5f28f..6cae853 100644
--- a/testing/068/068__ref__varargs_8cpp.xml
+++ b/testing/068/068__ref__varargs_8cpp.xml
@@ -20,7 +20,7 @@
-
+
void
@@ -41,7 +41,7 @@
-
+
diff --git a/testing/069/069__link__variadic__template_8cpp.xml b/testing/069/069__link__variadic__template_8cpp.xml
index 00677f8..08c3667 100644
--- a/testing/069/069__link__variadic__template_8cpp.xml
+++ b/testing/069/069__link__variadic__template_8cpp.xml
@@ -20,7 +20,7 @@
-
+
@@ -49,7 +49,7 @@
-
+
@@ -78,7 +78,7 @@
-
+
@@ -107,7 +107,7 @@
-
+
@@ -136,7 +136,7 @@
-
+
@@ -165,7 +165,7 @@
-
+
@@ -194,7 +194,7 @@
-
+
@@ -223,7 +223,7 @@
-
+
@@ -252,7 +252,7 @@
-
+
@@ -281,7 +281,7 @@
-
+
diff --git a/testing/070/070__ref__variadic__template_8cpp.xml b/testing/070/070__ref__variadic__template_8cpp.xml
index 54d385b..cebe079 100644
--- a/testing/070/070__ref__variadic__template_8cpp.xml
+++ b/testing/070/070__ref__variadic__template_8cpp.xml
@@ -20,7 +20,7 @@
-
+
@@ -49,7 +49,7 @@
-
+
@@ -78,7 +78,7 @@
-
+
@@ -107,7 +107,7 @@
-
+
@@ -136,7 +136,7 @@
-
+
@@ -165,7 +165,7 @@
-
+
@@ -194,7 +194,7 @@
-
+
@@ -223,7 +223,7 @@
-
+
@@ -252,7 +252,7 @@
-
+
@@ -281,7 +281,7 @@
-
+
diff --git a/testing/071/namespace_a_namespace_1_1_0D0.xml b/testing/071/namespace_a_namespace_1_1_0D0.xml
index 76483ca..6e42714 100644
--- a/testing/071/namespace_a_namespace_1_1_0D0.xml
+++ b/testing/071/namespace_a_namespace_1_1_0D0.xml
@@ -2,7 +2,7 @@
ANamespace::@0
-
+
Boolean
@@ -33,13 +33,13 @@
-
+
-
+
-
+
diff --git a/testing/072/072__using_8cpp.xml b/testing/072/072__using_8cpp.xml
index e368966..784bb67 100644
--- a/testing/072/072__using_8cpp.xml
+++ b/testing/072/072__using_8cpp.xml
@@ -20,7 +20,7 @@
-
+
diff --git a/testing/073/073__typed__enum_8cpp.xml b/testing/073/073__typed__enum_8cpp.xml
index 9dda417..b0b2014 100644
--- a/testing/073/073__typed__enum_8cpp.xml
+++ b/testing/073/073__typed__enum_8cpp.xml
@@ -13,7 +13,7 @@
-
+
diff --git a/testing/074/namespacens.xml b/testing/074/namespacens.xml
index db46c7d..0ee93fc 100644
--- a/testing/074/namespacens.xml
+++ b/testing/074/namespacens.xml
@@ -18,7 +18,7 @@
-
+
int
@@ -35,7 +35,7 @@
-
+
void
@@ -52,7 +52,7 @@
-
+
@@ -76,6 +76,6 @@
-
+
diff --git a/testing/074/struct_foo.xml b/testing/074/struct_foo.xml
index e031314..bf9c426 100644
--- a/testing/074/struct_foo.xml
+++ b/testing/074/struct_foo.xml
@@ -15,7 +15,7 @@
-
+
[Foo] &
@@ -33,7 +33,7 @@
-
+
const [Foo] &
@@ -51,7 +51,7 @@
-
+
int
@@ -69,7 +69,7 @@
-
+
int
@@ -87,7 +87,7 @@
-
+
[Foo] &
@@ -105,7 +105,7 @@
-
+
const [Foo] &
@@ -123,7 +123,7 @@
-
+
int *
@@ -141,7 +141,7 @@
-
+
@@ -157,7 +157,7 @@
-
+
@@ -206,7 +206,7 @@
-
+
@@ -243,7 +243,7 @@
-
+
Foo
diff --git a/testing/075/struct_foo.xml b/testing/075/struct_foo.xml
index eca791b..53ed0a8 100644
--- a/testing/075/struct_foo.xml
+++ b/testing/075/struct_foo.xml
@@ -19,7 +19,7 @@
-
+
void
@@ -37,7 +37,7 @@
-
+
void
@@ -54,7 +54,7 @@
-
+
void
@@ -71,7 +71,7 @@
-
+
void
@@ -88,7 +88,7 @@
-
+
void
@@ -109,7 +109,7 @@
-
+
@@ -117,7 +117,7 @@
-
+
Foo
diff --git a/testing/078/078__xml__namespace__members__in__file__scope_8h.xml b/testing/078/078__xml__namespace__members__in__file__scope_8h.xml
index 728054f..1198549 100644
--- a/testing/078/078__xml__namespace__members__in__file__scope_8h.xml
+++ b/testing/078/078__xml__namespace__members__in__file__scope_8h.xml
@@ -14,7 +14,7 @@
-
+
@@ -31,7 +31,7 @@
-
+
diff --git a/testing/079/empty.xml b/testing/079/empty.xml
index 3e1d691..83e7c99 100644
--- a/testing/079/empty.xml
+++ b/testing/079/empty.xml
@@ -6,7 +6,7 @@
-With an empty TOC.
+ With an empty TOC.
diff --git a/testing/080/class_interface.xml b/testing/080/class_interface.xml
index 06e0bb5..2ee4379 100644
--- a/testing/080/class_interface.xml
+++ b/testing/080/class_interface.xml
@@ -16,7 +16,7 @@
-
+
@@ -33,7 +33,7 @@
-
+
void
@@ -48,7 +48,7 @@
-
+
void
@@ -61,7 +61,7 @@
-
+
void
@@ -75,7 +75,7 @@
-
+
@@ -83,7 +83,7 @@
-
+
Interface
diff --git a/testing/081/081__brief__lists_8h.xml b/testing/081/081__brief__lists_8h.xml
index 19dfe79..3f6052e 100644
--- a/testing/081/081__brief__lists_8h.xml
+++ b/testing/081/081__brief__lists_8h.xml
@@ -28,7 +28,7 @@
-
+
void
@@ -55,7 +55,7 @@
-
+
void
@@ -82,7 +82,7 @@
-
+
void
@@ -109,7 +109,7 @@
-
+
diff --git a/testing/082/namespace_n.xml b/testing/082/namespace_n.xml
index f69081d..9f39bd1 100644
--- a/testing/082/namespace_n.xml
+++ b/testing/082/namespace_n.xml
@@ -16,7 +16,7 @@
-
+
@@ -37,7 +37,7 @@
-
+
diff --git a/testing/083/namespace_n.xml b/testing/083/namespace_n.xml
index 6adedaf..2b41072 100644
--- a/testing/083/namespace_n.xml
+++ b/testing/083/namespace_n.xml
@@ -16,7 +16,7 @@
-
+
@@ -37,7 +37,7 @@
-
+
diff --git a/testing/084/084__markdown__pre_8f90.xml b/testing/084/084__markdown__pre_8f90.xml
old mode 100755
new mode 100644
index 8a59bd9..62fec7d
--- a/testing/084/084__markdown__pre_8f90.xml
+++ b/testing/084/084__markdown__pre_8f90.xml
@@ -1,51 +1,51 @@
-
-
-
- 084_markdown_pre.f90
-
-
- subroutine
- subroutine subr1
- ()
- subr1
-
- subr1
-
-
-
-
- ___________________________
-
-
-
-
-
-
-
-
- subroutine
- subroutine subr2
- ()
- subr2
-
- subr2
-
-
-
-
- ___________________________
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ 084_markdown_pre.f90
+
+
+ subroutine
+ subroutine subr1
+ ()
+ subr1
+
+ subr1
+
+
+
+
+ ___________________________
+
+
+
+
+
+
+
+
+ subroutine
+ subroutine subr2
+ ()
+ subr2
+
+ subr2
+
+
+
+
+ ___________________________
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/testing/085/085__tooltip_8cpp.xml b/testing/085/085__tooltip_8cpp.xml
old mode 100755
new mode 100644
index d9eaf8b..f9859d9
--- a/testing/085/085__tooltip_8cpp.xml
+++ b/testing/085/085__tooltip_8cpp.xml
@@ -1,66 +1,66 @@
-
-
-
- 085_tooltip.cpp
-
-
- FOPEN_MACRO
-
- fn
-
-
- mod
-
- if (([unit] = fopen(fn, mod)) == NULL) \
- { \
- msg(OPEN_ERR,strerror(errno)); \
- }
-
-
-
- a general open macro
-
-
-
-
-
-
- FCLOSE_MACRO
- if (fclose([unit]) != 0) \
- { \
- msg(CLOSE_ERR,strerror(errno)); \
- }
-
-
-
- a general close macro
-
-
-
-
-
-
-
-
- FILE *
- FILE* unit
-
- unit
- = NULL
-
- the unit
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ 085_tooltip.cpp
+
+
+ FOPEN_MACRO
+
+ fn
+
+
+ mod
+
+ if (([unit] = fopen(fn, mod)) == NULL) \
+ { \
+ msg(OPEN_ERR,strerror(errno)); \
+ }
+
+
+
+ a general open macro
+
+
+
+
+
+
+ FCLOSE_MACRO
+ if (fclose([unit]) != 0) \
+ { \
+ msg(CLOSE_ERR,strerror(errno)); \
+ }
+
+
+
+ a general close macro
+
+
+
+
+
+
+
+
+ FILE *
+ FILE* unit
+
+ unit
+ = NULL
+
+ the unit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
--
cgit v0.12