summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2003-10-19 20:02:00 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2003-10-19 20:02:00 (GMT)
commite6a16d09de26a40fd7730ba44a740b713b157191 (patch)
tree7c0bc962cb1a9002dc9a21006dd8be4f49cd9c7c
parenta139a43323607b05f0f749d3c7d8734bb7a47768 (diff)
downloadDoxygen-e6a16d09de26a40fd7730ba44a740b713b157191.zip
Doxygen-e6a16d09de26a40fd7730ba44a740b713b157191.tar.gz
Doxygen-e6a16d09de26a40fd7730ba44a740b713b157191.tar.bz2
Release-1.3.4-20031019
-rw-r--r--INSTALL4
-rw-r--r--README4
-rw-r--r--VERSION2
-rw-r--r--doc/config.doc15
-rw-r--r--doc/language.doc14
-rw-r--r--packages/rpm/doxygen.spec2
-rw-r--r--src/classdef.h1
-rw-r--r--src/classlist.cpp12
-rw-r--r--src/config.l27
-rw-r--r--src/docparser.cpp4
-rw-r--r--src/filedef.h4
-rw-r--r--src/ftvhelp.cpp2
-rw-r--r--src/groupdef.cpp6
-rw-r--r--src/index.cpp52
-rw-r--r--src/logos.cpp329
-rw-r--r--src/memberdef.cpp8
-rw-r--r--src/pre.l8
-rw-r--r--src/search.php2
-rw-r--r--src/search_php.h2
-rw-r--r--src/searchindex.cpp6
-rw-r--r--src/translator_kr.h401
-rw-r--r--src/xmlgen.cpp52
22 files changed, 513 insertions, 444 deletions
diff --git a/INSTALL b/INSTALL
index 94d5ce8..1380346 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,7 +1,7 @@
-DOXYGEN Version 1.3.4-20031005
+DOXYGEN Version 1.3.4-20031019
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
-Dimitri van Heesch (05 October 2003)
+Dimitri van Heesch (19 October 2003)
diff --git a/README b/README
index 3f8d332..1b1dc93 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-DOXYGEN Version 1.3.4_20031005
+DOXYGEN Version 1.3.4_20031019
Please read INSTALL for compilation instructions.
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
-Dimitri van Heesch (dimitri@stack.nl) (05 October 2003)
+Dimitri van Heesch (dimitri@stack.nl) (19 October 2003)
diff --git a/VERSION b/VERSION
index 6281a27..a5dbbe7 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.3.4-20031005
+1.3.4-20031019
diff --git a/doc/config.doc b/doc/config.doc
index b2a7e9e..60015d6 100644
--- a/doc/config.doc
+++ b/doc/config.doc
@@ -55,6 +55,7 @@ Below is an alphabetical index of the tags that are recognized
followed by the descriptions of the tags grouped by category.
\secreflist
+\refitem cfg_abbreviate_brief ABBREVIATE_BRIEF
\refitem cfg_aliases ALIASES
\refitem cfg_allexternals ALLEXTERNALS
\refitem cfg_alphabetical_index ALPHABETICAL_INDEX
@@ -200,7 +201,7 @@ followed by the descriptions of the tags grouped by category.
\refitem cfg_warnings WARNINGS
\refitem cfg_xml_dtd XML_DTD
\refitem cfg_xml_output XML_OUTPUT
-\refitem cfg_xml_programlising XML_PROGRAMLISTING
+\refitem cfg_xml_programlisting XML_PROGRAMLISTING
\refitem cfg_xml_schema XML_SCHEMA
\endsecreflist
@@ -272,6 +273,18 @@ followed by the descriptions of the tags grouped by category.
If both \c HIDE_UNDOC_MEMBERS and \c BRIEF_MEMBER_DESC are set to \c NO, the
brief descriptions will be completely suppressed.
+\anchor cfg_abbreviate_brief
+<dt>\c ABBREVIATE_BRIEF <dd>
+ \addindex ABBREVIATE_BRIEF
+ This tag implements a quasi-intelligent brief description abbreviator
+ that is used to form the text in various listings. Each string
+ in this list, if found as the leading text of the brief description, will be
+ stripped from the text and the result after processing the whole list, is used
+ as the annotated text. Otherwise, the brief description is used as-is. If left
+ blank, the following values are used ("\$name" is automatically replaced with the
+ name of the entity): "The $name class" "The $name widget" "The $name file"
+ "is" "provides" "specifies" "contains" "represents" "a" "an" "the".
+
\anchor cfg_always_detailed_sec
<dt>\c ALWAYS_DETAILED_SEC <dd>
\addindex ALWAYS_DETAILED_SEC
diff --git a/doc/language.doc b/doc/language.doc
index 1e54ae0..c2d4ffd 100644
--- a/doc/language.doc
+++ b/doc/language.doc
@@ -25,7 +25,7 @@ Doxygen has built-in support for multiple languages. This means
that the text fragments that doxygen generates can be produced in
languages other than English (the default) at configuration time.
-Currently (version unknown), 29 languages
+Currently (version 1.3.3), 29 languages
are supported (sorted alphabetically):
Brazilian Portuguese, Catalan, Chinese, Chinese Traditional, Croatian,
Czech, Danish, Dutch, English, Finnish,
@@ -73,7 +73,7 @@ when the translator was updated.
<TD>Chinese Traditional</TD>
<TD>Daniel YC Lin<br>Gary Lee</TD>
<TD>daniel@NOSPAM.twpda.com<br>garylee@NOSPAM.ecosine.com.tw</TD>
- <TD>1.3.3</TD>
+ <TD>up-to-date</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Croatian</TD>
@@ -91,7 +91,7 @@ when the translator was updated.
<TD>Danish</TD>
<TD>Erik S&oslash;e S&oslash;rensen</TD>
<TD>erik@NOSPAM.mail.nu</TD>
- <TD>strange</TD>
+ <TD>up-to-date</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Dutch</TD>
@@ -187,7 +187,7 @@ when the translator was updated.
<TD>Russian</TD>
<TD>Alexandr Chelpanov</TD>
<TD>cav@NOSPAM.cryptopro.ru</TD>
- <TD>strange</TD>
+ <TD>up-to-date</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Serbian</TD>
@@ -243,14 +243,14 @@ when the translator was updated.
Chinese & Wei Liu & {\tt liuwei@asiainfo.com} & 1.2.13 \\
& Wang Weihan & {\tt wangweihan@capinfo.com.cn} & \\
\hline
- Chinese Traditional & Daniel YC Lin & {\tt daniel@twpda.com} & 1.3.3 \\
+ Chinese Traditional & Daniel YC Lin & {\tt daniel@twpda.com} & up-to-date \\
& Gary Lee & {\tt garylee@ecosine.com.tw} & \\
\hline
Croatian & Boris Bralo & {\tt boris.bralo@zg.tel.hr} & up-to-date \\
\hline
Czech & Petr P\v{r}ikryl & {\tt prikrylp@skil.cz} & up-to-date \\
\hline
- Danish & Erik S\o{}e S\o{}rensen & {\tt erik@mail.nu} & strange \\
+ Danish & Erik S\o{}e S\o{}rensen & {\tt erik@mail.nu} & up-to-date \\
\hline
Dutch & Dimitri van Heesch & {\tt dimitri@stack.nl} & up-to-date \\
\hline
@@ -285,7 +285,7 @@ when the translator was updated.
\hline
Romanian & Alexandru Iosup & {\tt aiosup@yahoo.com} & 1.2.16 \\
\hline
- Russian & Alexandr Chelpanov & {\tt cav@cryptopro.ru} & strange \\
+ Russian & Alexandr Chelpanov & {\tt cav@cryptopro.ru} & up-to-date \\
\hline
Serbian & Dejan Milosavljevic & {\tt dmilos@email.com} & 1.3.3 \\
\hline
diff --git a/packages/rpm/doxygen.spec b/packages/rpm/doxygen.spec
index 5ecefb9..04569f7 100644
--- a/packages/rpm/doxygen.spec
+++ b/packages/rpm/doxygen.spec
@@ -1,6 +1,6 @@
Summary: A documentation system for C/C++.
Name: doxygen
-Version: 1.3.4_20031005
+Version: 1.3.4_20031019
Release: 1
Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
diff --git a/src/classdef.h b/src/classdef.h
index 3259f44..3ca1ac5 100644
--- a/src/classdef.h
+++ b/src/classdef.h
@@ -72,6 +72,7 @@ class ClassDef : public Definition
QCString getSourceFileBase() const;
QCString getReference() const;
bool isReference() const;
+ bool isLocal() const { return m_isLocal; }
bool hasDocumentation() const;
diff --git a/src/classlist.cpp b/src/classlist.cpp
index 35d35cd..7c894b9 100644
--- a/src/classlist.cpp
+++ b/src/classlist.cpp
@@ -71,7 +71,11 @@ void ClassSDict::writeDeclaration(OutputList &ol,const ClassDef::CompoundType *f
)
{
bool isLink = cd->isLinkable();
- if (isLink || !Config_getBool("HIDE_UNDOC_CLASSES"))
+ if (isLink ||
+ (!Config_getBool("HIDE_UNDOC_CLASSES") &&
+ (!cd->isLocal() || Config_getBool("EXTRACT_LOCAL_CLASSES"))
+ )
+ )
{
if (!found)
{
@@ -127,8 +131,10 @@ void ClassSDict::writeDeclaration(OutputList &ol,const ClassDef::CompoundType *f
ol.startMemberDescription();
ol.parseDoc(cd->briefFile(),cd->briefLine(),cd,0,
cd->briefDescription(),FALSE,FALSE);
- if ((!cd->briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF")) ||
- !cd->documentation().isEmpty())
+ if (//(!cd->briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF")) ||
+ //!cd->documentation().isEmpty())
+ cd->isLinkableInProject()
+ )
{
ol.pushGeneratorState();
ol.disableAllBut(OutputGenerator::Html);
diff --git a/src/config.l b/src/config.l
index 8df7493..739f5f1 100644
--- a/src/config.l
+++ b/src/config.l
@@ -1245,6 +1245,22 @@ void Config::check()
Config_getBool("INLINE_INFO")=FALSE;
}
+ // add default words if needed
+ QStrList &annotationFromBrief = Config_getList("ABBREVIATE_BRIEF");
+ if (annotationFromBrief.isEmpty())
+ {
+ annotationFromBrief.append("The $name class");
+ annotationFromBrief.append("The $name widget");
+ annotationFromBrief.append("The $name file");
+ annotationFromBrief.append("is");
+ annotationFromBrief.append("provides");
+ annotationFromBrief.append("specifies");
+ annotationFromBrief.append("contains");
+ annotationFromBrief.append("represents");
+ annotationFromBrief.append("a");
+ annotationFromBrief.append("an");
+ annotationFromBrief.append("the");
+ }
}
void Config::init()
@@ -1419,6 +1435,17 @@ void Config::create()
"brief descriptions will be completely suppressed. \n",
TRUE
);
+ cl = addList(
+ "ABBREVIATE_BRIEF",
+ "This tag implements a quasi-intelligent brief description abbreviator \n"
+ "that is used to form the text in various listings. Each string \n"
+ "in this list, if found as the leading text of the brief description, will be \n"
+ "stripped from the text and the result after processing the whole list, is used \n"
+ "as the annotated text. Otherwise, the brief description is used as-is. If left \n"
+ "blank, the following values are used (\"$name\" is automatically replaced with the \n"
+ "name of the entity): \"The $name class\" \"The $name widget\" \"The $name file\" \n"
+ "\"is\" \"provides\" \"specifies\" \"contains\" \"represents\" \"a\" \"an\" \"the\"\n"
+ );
cb = addBool(
"ALWAYS_DETAILED_SEC",
"If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then \n"
diff --git a/src/docparser.cpp b/src/docparser.cpp
index 9347279..c324dc0 100644
--- a/src/docparser.cpp
+++ b/src/docparser.cpp
@@ -1218,6 +1218,8 @@ DocAnchor::DocAnchor(DocNode *parent,const QString &id,bool newAnchor)
else
{
warn_doc_error(g_fileName,doctokenizerYYlineno,"Warning: Invalid anchor id `%s'",id.data());
+ m_anchor = "invalid";
+ m_file = "invalid";
}
}
}
@@ -4730,7 +4732,7 @@ void DocRoot::parse()
}
else
{
- warn_doc_error(g_fileName,doctokenizerYYlineno,"Warning: Invalid anchor id `%s'; ignoring section",g_token->sectionId.data());
+ warn_doc_error(g_fileName,doctokenizerYYlineno,"Warning: Invalid section id `%s'; ignoring section",g_token->sectionId.data());
retval = 0;
}
}
diff --git a/src/filedef.h b/src/filedef.h
index 1d2d121..d230313 100644
--- a/src/filedef.h
+++ b/src/filedef.h
@@ -248,9 +248,9 @@ class DirEntry
{
public:
enum EntryKind { Dir, File };
- DirEntry::DirEntry(DirEntry *parent,FileDef *fd)
+ DirEntry(DirEntry *parent,FileDef *fd)
: m_parent(parent), m_kind(File), m_fd(fd), m_isLast(FALSE) { }
- DirEntry::DirEntry(DirEntry *parent)
+ DirEntry(DirEntry *parent)
: m_parent(parent), m_kind(Dir), m_fd(0), m_isLast(FALSE) { }
virtual ~DirEntry() { }
EntryKind kind() const { return m_kind; }
diff --git a/src/ftvhelp.cpp b/src/ftvhelp.cpp
index 941808d..939cbba 100644
--- a/src/ftvhelp.cpp
+++ b/src/ftvhelp.cpp
@@ -749,7 +749,7 @@ void FTVHelp::generateTreeView()
t << " </script>\n";
t << " </head>\n";
t << "\n";
- t << " <body bgcolor=\"#ffffff\">\n";
+ t << " <body>\n";
t << " <div class=\"directory\">\n";
t << " <h3>";
QCString &projName = Config_getString("PROJECT_NAME");
diff --git a/src/groupdef.cpp b/src/groupdef.cpp
index e2e1940..a1ee9a3 100644
--- a/src/groupdef.cpp
+++ b/src/groupdef.cpp
@@ -205,7 +205,8 @@ bool GroupDef::insertMember(MemberDef *md,bool docOnly)
(srcMd->getOuterScope()->definitionType()==Definition::TypeFile &&
md->getOuterScope()->definitionType()==Definition::TypeFile);
- if (matchArguments(srcMd->argumentList(),md->argumentList()) &&
+ if (srcMd->isFunction() && md->isFunction() &&
+ matchArguments(srcMd->argumentList(),md->argumentList()) &&
sameScope
)
{
@@ -690,7 +691,8 @@ void addGroupToGroups(Entry *root,GroupDef *subGroup)
/*! Add a member to the group with the highest priority */
void addMemberToGroups(Entry *root,MemberDef *md)
{
- //printf(" Root %p = %s, md %p=%s groups=%d\n", root, root->name.data(), md, md->name().data(), root->groups->count() );
+ //printf("addMemberToGroups: Root %p = %s, md %p=%s groups=%d\n",
+ // root, root->name.data(), md, md->name().data(), root->groups->count() );
QListIterator<Grouping> gli(*root->groups);
Grouping *g;
diff --git a/src/index.cpp b/src/index.cpp
index 1435d32..60344f9 100644
--- a/src/index.cpp
+++ b/src/index.cpp
@@ -20,6 +20,7 @@
#include <qtextstream.h>
#include <qdatetime.h>
#include <qdir.h>
+#include <qregexp.h>
#include "message.h"
#include "index.h"
@@ -136,34 +137,28 @@ bool stripWord(QCString &s,QCString w)
// some quasi intelligent brief description abbreviator :^)
QCString abbreviate(const char *s,const char *name)
{
+ QCString scopelessName=name;
+ int i=scopelessName.findRev("::");
+ if (i!=-1) scopelessName=scopelessName.mid(i);
QCString result=s;
- QCString start1=(QCString)"The "+name+" class ";
- QCString start2=(QCString)"The "+name+" widget ";
- QCString start3=(QCString)"The "+name+" file ";
result=result.stripWhiteSpace();
// strip trailing .
if (!result.isEmpty() && result.at(result.length()-1)=='.')
result=result.left(result.length()-1);
- bool found=FALSE;
- found = found || stripWord(result,start1);
- found = found || stripWord(result,start2);
- found = found || stripWord(result,start3);
- if (found)
+
+ // strip any predefined prefix
+ QStrList &briefDescAbbrev = Config_getList("ANNOTATION_FROM_BRIEF");
+ const char *p = briefDescAbbrev.first();
+ while (p)
{
- bool found=FALSE;
- found = found || stripWord(result,"is ");
- found = found || stripWord(result,"provides ");
- found = found || stripWord(result,"specifies ");
- found = found || stripWord(result,"contains ");
- found = found || stripWord(result,"represents ");
- found = found || stripWord(result,"implements ");
- if (found)
- {
- stripWord(result,"a ");
- stripWord(result,"an ");
- stripWord(result,"the ");
- }
+ QCString s = p;
+ s.replace(QRegExp("\\$name"), scopelessName); // replace $name with entity name
+ s += " ";
+ stripWord(result,s);
+ p = briefDescAbbrev.next();
}
+
+ // capitalize first word
if (!result.isEmpty())
{
int c=result[0];
@@ -1320,13 +1315,13 @@ void writeAnnotatedClassList(OutputList &ol)
void writeAlphabeticalClassList(OutputList &ol)
{
//ol.startAlphabeticalIndexList();
- ol.writeString("<table align=center width=\"95%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n");
// first count the number of headers
ClassSDict::Iterator cli(Doxygen::classSDict);
ClassDef *cd;
char startLetter=0;
int headerItems=0;
+ QCString alphaLinks = "<p><div class=\"qindex\">";
for (;(cd=cli.current());++cli)
{
if (cd->isLinkableInProject() && cd->templateMaster()==0)
@@ -1336,10 +1331,18 @@ void writeAlphabeticalClassList(OutputList &ol)
if (toupper(cd->className().at(index))!=startLetter) // new begin letter => new header
{
startLetter=toupper(cd->className().at(index));
+ if (headerItems) alphaLinks += "&nbsp;|&nbsp;";
headerItems++;
+ alphaLinks += (QCString)"<a class=\"qindex\" href=\"#letter_" +
+ startLetter + "\">" +
+ startLetter + "</a>";
}
}
}
+ alphaLinks += "</div><p>\n";
+ ol.writeString(alphaLinks);
+
+ ol.writeString("<table align=center width=\"95%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n");
// the number of columns in the table
const int columns = Config_getInt("COLS_IN_ALPHA_INDEX");
@@ -1419,6 +1422,9 @@ void writeAlphabeticalClassList(OutputList &ol)
startLetter=toupper(cd->className().at(index));
char s[2]; s[0]=startLetter; s[1]=0;
//ol.writeIndexHeading(s);
+ ol.writeString("<a name=\"letter_");
+ ol.writeString(s);
+ ol.writeString("\"></a>");
ol.writeString("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"
"<tr>"
"<td><div class=\"ah\">&nbsp;&nbsp;");
@@ -1476,6 +1482,8 @@ void writeAlphabeticalClassList(OutputList &ol)
}
//ol.endAlphabeticalIndexList();
ol.writeString("</table>");
+
+ ol.writeString(alphaLinks);
// release the temporary memory
for (i=0;i<columns;i++)
diff --git a/src/logos.cpp b/src/logos.cpp
index 8d77943..36fc431 100644
--- a/src/logos.cpp
+++ b/src/logos.cpp
@@ -21,205 +21,142 @@
#include <qfile.h>
#include <qdir.h>
+
unsigned char doxygen_png_data[] = {
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
- 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x35,
- 0x08, 0x02, 0x00, 0x00, 0x00, 0x2f, 0x70, 0x49, 0x98, 0x00, 0x00, 0x00,
- 0x06, 0x74, 0x52, 0x4e, 0x53, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x37,
- 0x58, 0x1b, 0x7d, 0x00, 0x00, 0x00, 0x06, 0x62, 0x4b, 0x47, 0x44, 0x00,
- 0xff, 0x00, 0xff, 0x00, 0xe2, 0xc3, 0xbb, 0xcb, 0x4a, 0x00, 0x00, 0x08,
- 0x33, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0xed, 0x58, 0x6b, 0x6c, 0x54,
- 0x55, 0x10, 0xde, 0xc4, 0x67, 0x34, 0x04, 0x34, 0x2a, 0x54, 0x4a, 0x77,
- 0x31, 0x29, 0x62, 0x44, 0x25, 0xa6, 0x60, 0x2d, 0xed, 0xb6, 0xc1, 0x26,
- 0xfa, 0xc3, 0x44, 0x25, 0x1a, 0x89, 0x34, 0xa5, 0xd1, 0x22, 0xbf, 0x30,
- 0x21, 0x01, 0xa3, 0x89, 0xf1, 0x81, 0xb6, 0xf1, 0x07, 0xd5, 0xa4, 0xfc,
- 0x90, 0x26, 0x46, 0x69, 0xd2, 0x1a, 0x45, 0xa5, 0x15, 0x51, 0xd0, 0x3e,
- 0x56, 0x28, 0x5d, 0x2c, 0x8a, 0x01, 0x84, 0xd2, 0xc7, 0xb6, 0x97, 0x76,
- 0x23, 0x3f, 0x4a, 0x42, 0x51, 0xa0, 0x4f, 0xe8, 0xf5, 0x3b, 0x33, 0xe7,
- 0x9c, 0x3d, 0xdb, 0x6e, 0x77, 0xb7, 0xf5, 0x4a, 0xd1, 0xdc, 0xc9, 0xe4,
- 0x66, 0x76, 0xce, 0x37, 0x33, 0xdf, 0x7c, 0xbb, 0x7b, 0x7b, 0xb7, 0x1e,
- 0xdb, 0x35, 0x87, 0xcc, 0x33, 0xd3, 0x04, 0xfe, 0x3f, 0xe6, 0x4a, 0xe9,
- 0x98, 0x4d, 0x59, 0x4a, 0x4f, 0x2c, 0x9b, 0xe9, 0x2d, 0xae, 0x09, 0x9b,
- 0x8e, 0x94, 0x81, 0x40, 0xb5, 0x65, 0xfd, 0xc4, 0x8e, 0xd8, 0x95, 0x92,
- 0x6d, 0x3a, 0x52, 0x42, 0x41, 0xdb, 0x0e, 0xb1, 0x23, 0x76, 0xa5, 0x64,
- 0x73, 0xa5, 0x74, 0xcc, 0x5c, 0x29, 0x1d, 0x33, 0x57, 0x4a, 0xc7, 0xcc,
- 0x95, 0xd2, 0x31, 0x73, 0xa5, 0x74, 0xcc, 0x5c, 0x29, 0x1d, 0xb3, 0x69,
- 0x4b, 0xd9, 0xa5, 0xa4, 0xdc, 0xef, 0x4a, 0xc9, 0x36, 0x3d, 0x29, 0x0f,
- 0xd8, 0xb6, 0x45, 0xde, 0x8d, 0xd8, 0x95, 0x92, 0x2d, 0x81, 0x0a, 0x31,
- 0x7f, 0x26, 0x5a, 0xd6, 0x41, 0xdb, 0x3e, 0xcd, 0x8e, 0x58, 0x4b, 0xe9,
- 0x99, 0xdc, 0x62, 0x36, 0x9c, 0x2c, 0x19, 0xff, 0x27, 0x69, 0xc2, 0x0e,
- 0xf1, 0x7f, 0xd7, 0xc6, 0xc7, 0x78, 0x12, 0xd9, 0x74, 0xa4, 0xe4, 0xca,
- 0x40, 0xe0, 0x0b, 0xcb, 0x0a, 0x5a, 0x56, 0x33, 0x5d, 0x65, 0x60, 0xdb,
- 0x3d, 0xb6, 0xdd, 0xcb, 0x8e, 0x97, 0x7a, 0xff, 0x09, 0x60, 0xf6, 0x43,
- 0x81, 0xc0, 0xce, 0x68, 0x0c, 0x00, 0xcd, 0x08, 0xc6, 0x15, 0xe2, 0x5a,
- 0x54, 0xf4, 0x1c, 0x5e, 0xe2, 0xaa, 0x33, 0x13, 0x85, 0x50, 0x1d, 0xe4,
- 0x69, 0x34, 0xcf, 0xa0, 0x41, 0x40, 0xd2, 0x30, 0x07, 0x45, 0x23, 0x23,
- 0x4b, 0xe9, 0x56, 0x9a, 0xde, 0xb8, 0x95, 0xcd, 0x89, 0x53, 0x93, 0x52,
- 0x8f, 0xb4, 0xed, 0xb0, 0x56, 0x4d, 0xb9, 0x99, 0x09, 0x43, 0x29, 0x80,
- 0xf3, 0xf2, 0x1e, 0x05, 0x5e, 0x1d, 0x85, 0xc7, 0xc1, 0x58, 0x4d, 0xc2,
- 0xec, 0xd4, 0x47, 0x68, 0x8e, 0x8c, 0xcf, 0x97, 0x8a, 0x2b, 0x0d, 0x8a,
- 0x74, 0x53, 0xa3, 0x23, 0xef, 0x93, 0xc1, 0x4a, 0x77, 0x10, 0x60, 0x9e,
- 0x8b, 0xc0, 0xe0, 0x16, 0x8e, 0x8e, 0x65, 0x4f, 0xae, 0x55, 0x83, 0x62,
- 0x20, 0xf9, 0xfd, 0x56, 0xad, 0xc2, 0x13, 0x56, 0x0e, 0x2b, 0xd8, 0xa4,
- 0x6a, 0x4e, 0x2a, 0xa5, 0x31, 0x35, 0x8e, 0x94, 0x72, 0x5b, 0xd2, 0xb1,
- 0x37, 0xbe, 0x2b, 0x12, 0x51, 0x19, 0x7c, 0x00, 0xcd, 0x41, 0xdc, 0xcd,
- 0x90, 0xa6, 0xd7, 0xfc, 0x4c, 0x7d, 0xf8, 0xe1, 0x5b, 0xd1, 0x47, 0x3b,
- 0x8d, 0xb7, 0x21, 0xc1, 0x5c, 0xe3, 0x9d, 0x96, 0x83, 0xc6, 0x15, 0xaa,
- 0xd1, 0xc1, 0xa4, 0x17, 0x49, 0x42, 0x4a, 0x1a, 0xfc, 0xb9, 0xbe, 0x1b,
- 0xd2, 0x9f, 0x17, 0x71, 0x4f, 0x64, 0xd7, 0x19, 0x0e, 0xf8, 0x5e, 0x69,
- 0x59, 0x4d, 0x06, 0x1e, 0xe0, 0x26, 0x03, 0xac, 0x3b, 0x34, 0x4d, 0xe8,
- 0x7c, 0x3a, 0xfa, 0xb6, 0xdb, 0x54, 0x54, 0xf4, 0xac, 0xfa, 0xe8, 0x45,
- 0x92, 0x5a, 0x4a, 0x63, 0xba, 0x98, 0x9b, 0x97, 0x97, 0x09, 0x1f, 0x77,
- 0xe3, 0x0e, 0x87, 0x0f, 0x99, 0x24, 0x99, 0xde, 0xb8, 0xfb, 0x3b, 0x38,
- 0xd0, 0x6d, 0xe4, 0x59, 0x93, 0xa1, 0x5a, 0xe4, 0xa0, 0x49, 0x8f, 0x09,
- 0x4c, 0x94, 0x62, 0x0a, 0x52, 0x5a, 0xdd, 0xfc, 0xe4, 0xd8, 0x69, 0x8f,
- 0x75, 0xe2, 0x1a, 0x08, 0x54, 0xe5, 0xe5, 0x3d, 0xe2, 0xf3, 0xcd, 0xcf,
- 0xcf, 0xcf, 0x42, 0x2c, 0xf2, 0xca, 0xd5, 0x73, 0x25, 0x3d, 0x66, 0x8e,
- 0x85, 0x4c, 0x30, 0xae, 0x12, 0x8c, 0xbc, 0xe8, 0x13, 0xe2, 0x23, 0xf1,
- 0x2c, 0x35, 0xd6, 0x69, 0x36, 0xa1, 0x5a, 0x51, 0x88, 0xef, 0x3b, 0xdd,
- 0x2e, 0x32, 0xd5, 0xa3, 0x2b, 0x4d, 0x6f, 0xac, 0x22, 0x7d, 0xab, 0x44,
- 0x15, 0xf5, 0x11, 0xad, 0x1a, 0xab, 0xa9, 0x7f, 0xb5, 0x2a, 0x17, 0xcd,
- 0x41, 0x6f, 0xe9, 0xd2, 0xfb, 0xf2, 0xf3, 0x57, 0x74, 0xab, 0x72, 0xa6,
- 0x27, 0x6b, 0x8d, 0x07, 0x61, 0x95, 0x0c, 0xe9, 0x29, 0x58, 0x19, 0x49,
- 0x2a, 0xec, 0x94, 0x9c, 0x69, 0x97, 0xa2, 0xa2, 0x55, 0x96, 0x4e, 0x46,
- 0xad, 0x9c, 0x48, 0x4a, 0x80, 0x1a, 0x1b, 0x3e, 0x19, 0xbb, 0xfc, 0xbb,
- 0xf6, 0xee, 0xd0, 0x0f, 0x79, 0xb9, 0xcb, 0x90, 0xbf, 0xfe, 0xfa, 0xeb,
- 0xe6, 0xcc, 0x99, 0x95, 0xff, 0x58, 0x26, 0x32, 0xb6, 0x71, 0x8a, 0x23,
- 0x8a, 0x4f, 0x98, 0x60, 0x36, 0xc4, 0xc8, 0xe8, 0x56, 0x16, 0x81, 0x1b,
- 0x1b, 0x65, 0x7f, 0xdb, 0x98, 0x82, 0xa1, 0x66, 0x21, 0x71, 0x38, 0xa1,
- 0x47, 0x14, 0xad, 0x7d, 0x4a, 0x0e, 0xbd, 0x12, 0x99, 0xe2, 0xf3, 0xdd,
- 0xad, 0x9b, 0x23, 0x78, 0xe2, 0xf1, 0x6c, 0x26, 0x89, 0x77, 0xb1, 0x61,
- 0xef, 0x07, 0x36, 0xf5, 0x67, 0x7a, 0x0c, 0xb3, 0x23, 0xdd, 0x9e, 0xd6,
- 0x1c, 0x34, 0xed, 0x40, 0xc3, 0x27, 0x0a, 0x79, 0x82, 0x93, 0x96, 0x9a,
- 0x62, 0x19, 0xe5, 0x7a, 0xe5, 0xa4, 0xa4, 0xec, 0xea, 0xa8, 0xb9, 0x32,
- 0xd4, 0x72, 0x65, 0xe8, 0x67, 0x71, 0x1d, 0x6e, 0xe9, 0x6a, 0xaf, 0xf5,
- 0x79, 0x53, 0x78, 0x43, 0x41, 0xd4, 0x9b, 0x82, 0x0c, 0x1f, 0x01, 0x83,
- 0x18, 0x79, 0x06, 0x8f, 0xd1, 0x4b, 0x0d, 0x86, 0x09, 0x70, 0x47, 0xcd,
- 0x98, 0xec, 0x86, 0xd3, 0x1a, 0x24, 0x73, 0xfd, 0x0f, 0x53, 0x07, 0x2a,
- 0x11, 0x4d, 0x5a, 0xba, 0xdb, 0x6b, 0x8b, 0x0a, 0x9f, 0x34, 0x9f, 0x39,
- 0x14, 0x46, 0x4d, 0xe9, 0xa8, 0xd5, 0x7c, 0xae, 0x0c, 0xff, 0xdc, 0x58,
- 0xf7, 0x11, 0xc3, 0x74, 0xfe, 0x8f, 0xde, 0xef, 0xd7, 0x16, 0x3e, 0x89,
- 0x77, 0x9a, 0x87, 0x42, 0x4a, 0xce, 0xf3, 0xda, 0x02, 0x46, 0x85, 0xb4,
- 0x57, 0x4b, 0xa4, 0xf3, 0xb0, 0xe0, 0xdc, 0xf8, 0xe3, 0x47, 0x18, 0x27,
- 0x1b, 0x46, 0x8e, 0x30, 0xb4, 0x06, 0xad, 0xe4, 0xbe, 0x84, 0xe4, 0x9e,
- 0xe8, 0x36, 0x05, 0x29, 0x2f, 0x5f, 0xaa, 0x17, 0x7e, 0xb1, 0x01, 0x1e,
- 0x3a, 0x59, 0xe5, 0xf3, 0xce, 0xd3, 0x4b, 0x7a, 0xbd, 0xf3, 0x42, 0x27,
- 0xab, 0xe9, 0x08, 0x80, 0x7a, 0xc4, 0x48, 0x52, 0xcc, 0xe0, 0x6a, 0x80,
- 0xa1, 0xb8, 0xd2, 0x1d, 0xe0, 0x2a, 0x46, 0x0a, 0x70, 0xab, 0xf8, 0xaa,
- 0xe6, 0xe6, 0x3c, 0x44, 0x1d, 0xa8, 0x44, 0x0c, 0x12, 0xad, 0xb0, 0xbc,
- 0x39, 0x05, 0x31, 0x32, 0xa3, 0x1a, 0x23, 0xc7, 0x89, 0x18, 0x4d, 0xd0,
- 0x81, 0x61, 0x0d, 0xfb, 0xca, 0x14, 0xa0, 0xfe, 0x48, 0xb0, 0x62, 0x6d,
- 0xc1, 0xe3, 0x8b, 0x17, 0x2d, 0x30, 0xfb, 0xf3, 0xda, 0x82, 0xc3, 0xa5,
- 0xa8, 0x71, 0xdc, 0x10, 0xb0, 0x86, 0xbd, 0x65, 0xa8, 0xd2, 0xa3, 0x89,
- 0xad, 0x5e, 0x4d, 0x2c, 0x1e, 0x59, 0x41, 0x14, 0x4a, 0x41, 0x92, 0x95,
- 0x12, 0xfc, 0x46, 0xcf, 0xd7, 0xc0, 0x47, 0xc8, 0x3b, 0x8f, 0x57, 0xe4,
- 0x66, 0x2f, 0x89, 0x7c, 0x5e, 0xb2, 0x97, 0x84, 0x8e, 0x57, 0x8c, 0xf6,
- 0x8b, 0xa3, 0x51, 0x3a, 0x45, 0x52, 0x80, 0xfb, 0x85, 0xe3, 0xe8, 0xb1,
- 0xbc, 0x87, 0xe6, 0xcd, 0x9d, 0x73, 0xf3, 0x4d, 0x37, 0xcc, 0x99, 0x7d,
- 0x2b, 0x62, 0x64, 0x90, 0x07, 0x1e, 0x98, 0xba, 0x3d, 0x5b, 0x50, 0x5e,
- 0xf7, 0xed, 0x16, 0x06, 0x73, 0x72, 0xb4, 0x7f, 0xd7, 0xe8, 0x84, 0x29,
- 0x6a, 0xd0, 0xf6, 0xd1, 0xf3, 0xbb, 0x88, 0xcc, 0x2e, 0x8d, 0xaf, 0xdf,
- 0xf3, 0xae, 0x89, 0xa9, 0xdb, 0xf3, 0xae, 0xa4, 0xda, 0x5f, 0x13, 0x6e,
- 0xff, 0x14, 0x7d, 0x42, 0xc7, 0xb6, 0xeb, 0xce, 0xbc, 0x76, 0xfd, 0x9e,
- 0x2d, 0xbc, 0x91, 0xcc, 0xd3, 0x38, 0xf4, 0x29, 0x7c, 0x61, 0x25, 0x1c,
- 0x1d, 0xe0, 0x3c, 0x3d, 0x74, 0x0c, 0x6c, 0xc5, 0x2c, 0x5a, 0x7c, 0xbb,
- 0x37, 0xed, 0x2e, 0x38, 0x1a, 0x8e, 0x80, 0x00, 0x53, 0x45, 0x4f, 0x5a,
- 0x39, 0xd9, 0x3f, 0x3b, 0x1d, 0xbf, 0x6d, 0x1d, 0xe9, 0xdb, 0x31, 0x7c,
- 0x96, 0xbc, 0xaf, 0xb2, 0xae, 0xf6, 0xb5, 0xdc, 0x15, 0x8b, 0xbd, 0x0b,
- 0xee, 0xf0, 0xaf, 0x58, 0x8c, 0x78, 0xf8, 0x6c, 0xe5, 0x30, 0x9f, 0xf6,
- 0xed, 0xe8, 0xf8, 0xad, 0x0c, 0xf8, 0xce, 0x23, 0x65, 0x80, 0x09, 0x3f,
- 0x5b, 0x79, 0x60, 0xef, 0x9b, 0x2f, 0x16, 0xe4, 0xde, 0x9b, 0x9e, 0xb2,
- 0xd2, 0x7f, 0x3f, 0x81, 0x77, 0x8c, 0xc0, 0xfb, 0x2a, 0x81, 0xc9, 0x55,
- 0xe5, 0x23, 0xc2, 0x45, 0x07, 0xe4, 0x47, 0xa8, 0x0a, 0xad, 0x70, 0x84,
- 0xfe, 0x91, 0x8f, 0xff, 0x82, 0x3b, 0xea, 0x6a, 0x5f, 0xe7, 0x9e, 0x23,
- 0x44, 0x43, 0x8f, 0x33, 0x0d, 0x25, 0x48, 0x12, 0xd5, 0x4a, 0x9a, 0xc5,
- 0xcd, 0xa9, 0xe7, 0xd9, 0x4a, 0x5e, 0x5b, 0x61, 0x28, 0xdf, 0x57, 0xd9,
- 0x71, 0xa4, 0xac, 0x70, 0x75, 0x76, 0xe1, 0xea, 0x1c, 0xf4, 0xef, 0x38,
- 0xb2, 0x95, 0xf3, 0x98, 0x4e, 0x8b, 0x97, 0xa9, 0xc5, 0x05, 0x0c, 0x1c,
- 0xe0, 0x50, 0x83, 0xb7, 0x60, 0x32, 0xcc, 0x21, 0x59, 0x29, 0x7f, 0xfc,
- 0x6a, 0xc3, 0xd0, 0x99, 0xf2, 0xa1, 0x33, 0xdb, 0xe0, 0x83, 0x74, 0x6d,
- 0x6f, 0x79, 0x87, 0xfc, 0x6d, 0x7e, 0x49, 0xa7, 0x02, 0xd0, 0xd6, 0xf2,
- 0x0e, 0xe1, 0x5f, 0x19, 0x92, 0x79, 0xe0, 0xcb, 0x7b, 0x8e, 0xbe, 0x07,
- 0x24, 0x5c, 0xc1, 0x04, 0x12, 0x18, 0x7f, 0x56, 0x3a, 0xbf, 0x1c, 0xa4,
- 0x0c, 0xf7, 0xd4, 0x55, 0x1a, 0x13, 0x91, 0x29, 0x2b, 0x9d, 0x9a, 0x6c,
- 0x53, 0x64, 0xca, 0x01, 0x98, 0xf8, 0x63, 0x0e, 0x6c, 0xdb, 0x64, 0x9f,
- 0x72, 0x8d, 0xe4, 0xb6, 0xbc, 0xb6, 0x77, 0xc1, 0xed, 0x8a, 0xa1, 0x3c,
- 0x6d, 0x53, 0xa3, 0x07, 0x55, 0x55, 0x3b, 0x2d, 0xd2, 0x1e, 0xe9, 0x23,
- 0xe8, 0xa1, 0x10, 0xae, 0x49, 0x0e, 0x29, 0x29, 0x92, 0x95, 0x92, 0xd5,
- 0xfc, 0xe1, 0x8b, 0xe2, 0x81, 0xde, 0xd2, 0xc1, 0xde, 0x52, 0xba, 0x96,
- 0x20, 0x18, 0xec, 0xa1, 0x97, 0x3d, 0x25, 0x08, 0xf8, 0x68, 0xb0, 0xa7,
- 0xa4, 0xad, 0x79, 0x13, 0xc0, 0x6b, 0x9e, 0x59, 0x34, 0xd0, 0x53, 0x2a,
- 0xf3, 0x0c, 0x20, 0xbf, 0x14, 0x7a, 0x95, 0xbd, 0xf5, 0xa7, 0x97, 0x81,
- 0x69, 0x0b, 0x6e, 0xe6, 0x53, 0x34, 0x3c, 0xd5, 0xbc, 0xd9, 0xff, 0xe8,
- 0x42, 0x7f, 0xe6, 0xc2, 0x53, 0x48, 0x8a, 0xfe, 0x25, 0x03, 0x54, 0x8e,
- 0xb9, 0x62, 0xf9, 0xd4, 0xdb, 0xf8, 0x0a, 0x98, 0x9c, 0xde, 0x5b, 0x8a,
- 0xd8, 0x33, 0x89, 0xf9, 0x33, 0xef, 0x41, 0x21, 0xfa, 0xb7, 0x35, 0xcb,
- 0x11, 0x4c, 0x9b, 0xd7, 0x66, 0x03, 0xc0, 0x64, 0x88, 0xab, 0xb9, 0x20,
- 0x68, 0x00, 0x43, 0x0c, 0x45, 0x66, 0x40, 0x64, 0x36, 0x81, 0x80, 0xe0,
- 0x10, 0xdc, 0x24, 0xe8, 0x49, 0x05, 0x24, 0x32, 0x59, 0x29, 0x59, 0xcd,
- 0x7d, 0x9f, 0xad, 0x26, 0x21, 0x36, 0xb3, 0x1c, 0x03, 0x5d, 0x74, 0x55,
- 0xea, 0x90, 0x40, 0xeb, 0xf7, 0x55, 0xaf, 0x06, 0x32, 0xe7, 0x91, 0x34,
- 0x04, 0xad, 0xfb, 0xd7, 0x9b, 0xf8, 0x08, 0x6c, 0xff, 0x7a, 0xe8, 0x38,
- 0x7b, 0xd6, 0x8d, 0xc0, 0x6b, 0x00, 0xf0, 0xde, 0xd4, 0xd9, 0x70, 0x04,
- 0x0a, 0xb9, 0x19, 0xc8, 0x6d, 0x6f, 0x2c, 0x26, 0x11, 0x67, 0xf3, 0x35,
- 0x52, 0xd2, 0xf5, 0x2a, 0xcf, 0x8a, 0x6f, 0xcc, 0x44, 0x94, 0x74, 0xc9,
- 0xb7, 0xd0, 0x3c, 0xc5, 0x46, 0xc8, 0x0c, 0x50, 0x37, 0xbd, 0x08, 0x5e,
- 0xea, 0x45, 0x10, 0x0c, 0x48, 0xfe, 0x82, 0x0c, 0x33, 0x94, 0x7b, 0x75,
- 0x49, 0xe6, 0xc0, 0x4c, 0x59, 0xca, 0x82, 0x67, 0x16, 0xed, 0x2e, 0x5f,
- 0x78, 0xb2, 0xee, 0xf9, 0x8b, 0xad, 0xc5, 0x17, 0x5a, 0x8b, 0x2f, 0x9e,
- 0x2a, 0x96, 0x41, 0x6b, 0x31, 0x92, 0x38, 0x02, 0x20, 0x67, 0x79, 0x8a,
- 0x77, 0xfe, 0xac, 0xb4, 0xf9, 0xb3, 0x10, 0x40, 0xaf, 0x93, 0xf5, 0xcf,
- 0x5f, 0x20, 0x8c, 0xf4, 0x53, 0x02, 0x89, 0x3c, 0x00, 0x80, 0x15, 0x10,
- 0x80, 0xcb, 0x0b, 0x28, 0x09, 0x5f, 0x63, 0x24, 0xa1, 0x23, 0xfa, 0x08,
- 0x11, 0xe7, 0x8b, 0xc7, 0x1a, 0xc4, 0x34, 0x7d, 0xdd, 0x45, 0xea, 0x13,
- 0x5b, 0xbb, 0xe5, 0x29, 0xdb, 0x4b, 0xfd, 0x5c, 0xc5, 0x26, 0xa6, 0xd4,
- 0x49, 0x1a, 0x58, 0x7b, 0xe3, 0x4b, 0x0f, 0x9a, 0x60, 0x35, 0x6e, 0xdd,
- 0x05, 0x63, 0x17, 0x0d, 0xd0, 0x85, 0xcc, 0x1c, 0x78, 0xe6, 0x40, 0xc8,
- 0x75, 0xbc, 0x3e, 0xe3, 0x93, 0xbd, 0x57, 0xc2, 0x02, 0x15, 0x15, 0xf6,
- 0xaf, 0xbf, 0xc6, 0x77, 0x6b, 0xf7, 0xee, 0x71, 0x9e, 0x10, 0x60, 0x62,
- 0xe2, 0x24, 0x31, 0x1d, 0x1c, 0xbe, 0xfb, 0x38, 0xe7, 0xcf, 0xa3, 0xab,
- 0xfe, 0x22, 0xff, 0xee, 0x63, 0x3f, 0x32, 0x1a, 0xcc, 0x01, 0x63, 0xe8,
- 0x34, 0x27, 0x3b, 0xe3, 0xce, 0xb4, 0xbb, 0x6f, 0xc9, 0xc9, 0xb8, 0x93,
- 0x33, 0xec, 0xbc, 0x76, 0x7c, 0x92, 0x26, 0x93, 0x98, 0xf9, 0x89, 0xc9,
- 0x64, 0x1f, 0x86, 0x36, 0xce, 0x9d, 0xfb, 0xa9, 0xcf, 0xf7, 0x7d, 0x7a,
- 0xfa, 0x0c, 0x3a, 0x08, 0x80, 0xc9, 0xf1, 0xdd, 0x59, 0xe7, 0x7f, 0x59,
- 0x29, 0xfc, 0xf0, 0x4a, 0xbc, 0x8c, 0x89, 0xc1, 0xd1, 0x9f, 0x87, 0x05,
- 0x00, 0xe0, 0xe3, 0xdf, 0x64, 0x89, 0x92, 0xc3, 0xb2, 0x04, 0x79, 0x96,
- 0xd2, 0x59, 0x62, 0xef, 0xa7, 0xa6, 0xf2, 0xa7, 0x2d, 0xb1, 0x94, 0x30,
- 0xa0, 0x51, 0x33, 0x83, 0x0e, 0x0e, 0xc7, 0xbe, 0x7e, 0xa0, 0x3f, 0xb8,
- 0xec, 0x5c, 0x73, 0x46, 0x7f, 0x73, 0xc6, 0xd1, 0xaf, 0xc5, 0x97, 0x34,
- 0x26, 0xac, 0x3f, 0x98, 0x01, 0x58, 0x7f, 0xf3, 0x32, 0x0a, 0x84, 0x9f,
- 0x43, 0x55, 0x50, 0x54, 0x21, 0x46, 0x93, 0x98, 0x85, 0xff, 0xd0, 0xf1,
- 0x69, 0x4b, 0x2c, 0xa5, 0x9d, 0xc4, 0x7f, 0x92, 0xaf, 0x8e, 0x1d, 0xfd,
- 0x72, 0xd1, 0xb9, 0xa6, 0x25, 0xec, 0x25, 0x1b, 0x52, 0x26, 0x83, 0xe1,
- 0x96, 0xad, 0x61, 0xe3, 0x1c, 0x47, 0xff, 0x2a, 0xc3, 0x64, 0xff, 0xec,
- 0xcc, 0xac, 0x99, 0x1a, 0x41, 0x53, 0x8f, 0xc7, 0x13, 0x1f, 0x69, 0xea,
- 0xce, 0x25, 0xac, 0xe3, 0x55, 0xe5, 0x3c, 0xd3, 0xa2, 0x4d, 0xce, 0x4c,
- 0x69, 0x94, 0x50, 0x14, 0xfd, 0xf1, 0x04, 0x58, 0xe3, 0xaf, 0xb2, 0x8e,
- 0xf6, 0xb5, 0x2c, 0x25, 0x2c, 0x6d, 0xde, 0x8d, 0xec, 0x49, 0x6d, 0x32,
- 0xf9, 0x57, 0xef, 0xea, 0xd8, 0x35, 0x2d, 0xe5, 0x7f, 0xcb, 0x5c, 0x29,
- 0x1d, 0x33, 0x57, 0x4a, 0xc7, 0xcc, 0x95, 0xd2, 0x31, 0x73, 0xa5, 0x74,
- 0xcc, 0x5c, 0x29, 0x1d, 0x33, 0x57, 0x4a, 0xc7, 0xcc, 0x95, 0xd2, 0x31,
- 0x73, 0xa5, 0x74, 0xcc, 0x5c, 0x29, 0x1d, 0x33, 0x57, 0x4a, 0xc7, 0xcc,
- 0x95, 0xd2, 0x31, 0x73, 0xa5, 0x74, 0xcc, 0x5c, 0x29, 0x1d, 0x33, 0x57,
- 0x4a, 0xc7, 0xcc, 0x95, 0xd2, 0x31, 0x73, 0xa5, 0x74, 0xcc, 0xfe, 0x06,
- 0xbe, 0x63, 0xe9, 0x2a, 0x3a, 0x4d, 0xca, 0xc2, 0x00, 0x00, 0x00, 0x43,
- 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65,
- 0x00, 0x40, 0x28, 0x23, 0x29, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x61,
- 0x67, 0x69, 0x63, 0x6b, 0x20, 0x34, 0x2e, 0x32, 0x2e, 0x37, 0x20, 0x39,
- 0x39, 0x2f, 0x30, 0x37, 0x2f, 0x30, 0x31, 0x20, 0x63, 0x72, 0x69, 0x73,
- 0x74, 0x79, 0x40, 0x6d, 0x79, 0x73, 0x74, 0x69, 0x63, 0x2e, 0x65, 0x73,
- 0x2e, 0x64, 0x75, 0x70, 0x6f, 0x6e, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6b,
- 0x02, 0x00, 0xc3, 0x00, 0x00, 0x00, 0x2a, 0x74, 0x45, 0x58, 0x74, 0x53,
- 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x00, 0x35, 0x34, 0x36,
- 0x33, 0x61, 0x37, 0x38, 0x35, 0x62, 0x62, 0x31, 0x31, 0x64, 0x33, 0x36,
- 0x37, 0x30, 0x32, 0x32, 0x37, 0x30, 0x31, 0x63, 0x37, 0x37, 0x65, 0x62,
- 0x65, 0x38, 0x31, 0x61, 0x62, 0x12, 0xbe, 0x63, 0xf7, 0x00, 0x00, 0x00,
- 0x0f, 0x74, 0x45, 0x58, 0x74, 0x50, 0x61, 0x67, 0x65, 0x00, 0x31, 0x31,
- 0x30, 0x78, 0x35, 0x33, 0x2b, 0x30, 0x2b, 0x30, 0xbb, 0x45, 0xd1, 0x42,
- 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82
+ 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x2d,
+ 0x08, 0x03, 0x00, 0x00, 0x00, 0x6f, 0x6b, 0x3e, 0xc2, 0x00, 0x00, 0x03,
+ 0x00, 0x50, 0x4c, 0x54, 0x45, 0xff, 0xff, 0xff, 0xbf, 0xbe, 0xa4, 0xf7,
+ 0xe4, 0x8c, 0xff, 0xfe, 0xd8, 0xf4, 0xda, 0x6f, 0xda, 0xcb, 0x86, 0xf9,
+ 0xeb, 0xa1, 0xde, 0xdb, 0xb4, 0x00, 0x00, 0x00, 0xb9, 0xab, 0x71, 0xdf,
+ 0xdf, 0xc4, 0x5b, 0x51, 0x26, 0xff, 0xff, 0xe1, 0xd7, 0xc3, 0x6d, 0xae,
+ 0x92, 0x2b, 0xd5, 0xbb, 0x57, 0xf1, 0xcd, 0x49, 0xee, 0xc4, 0x30, 0xd1,
+ 0xad, 0x2d, 0x3d, 0x37, 0x1d, 0x67, 0x5e, 0x37, 0x60, 0x5f, 0x50, 0x40,
+ 0x3f, 0x32, 0xfd, 0xf8, 0xc9, 0xfc, 0xf4, 0xbc, 0xdc, 0xd4, 0x9f, 0xfb,
+ 0xf0, 0xaf, 0x1f, 0x1d, 0x13, 0xff, 0xcc, 0xcc, 0xdf, 0xb2, 0xb2, 0xa9,
+ 0x22, 0x22, 0x12, 0x14, 0x3e, 0x20, 0x20, 0x20, 0x21, 0x21, 0x21, 0x22,
+ 0x22, 0x22, 0x23, 0x23, 0x23, 0x24, 0x24, 0x24, 0x25, 0x25, 0x25, 0x26,
+ 0x26, 0x26, 0x27, 0x27, 0x27, 0x28, 0x28, 0x28, 0x29, 0x29, 0x29, 0x2a,
+ 0x2a, 0x2a, 0x2b, 0x2b, 0x2b, 0x2c, 0x2c, 0x2c, 0x2d, 0x2d, 0x2d, 0x2e,
+ 0x2e, 0x2e, 0x2f, 0x2f, 0x2f, 0x30, 0x30, 0x30, 0x31, 0x31, 0x31, 0x32,
+ 0x32, 0x32, 0x33, 0x33, 0x33, 0x34, 0x34, 0x34, 0x35, 0x35, 0x35, 0x36,
+ 0x36, 0x36, 0x37, 0x37, 0x37, 0x38, 0x38, 0x38, 0x39, 0x39, 0x39, 0x3a,
+ 0x3a, 0x3a, 0x3b, 0x3b, 0x3b, 0x3c, 0x3c, 0x3c, 0x3d, 0x3d, 0x3d, 0x3e,
+ 0x3e, 0x3e, 0x3f, 0x3f, 0x3f, 0x40, 0x40, 0x40, 0x41, 0x41, 0x41, 0x42,
+ 0x42, 0x42, 0x43, 0x43, 0x43, 0x44, 0x44, 0x44, 0x45, 0x45, 0x45, 0x46,
+ 0x46, 0x46, 0x47, 0x47, 0x47, 0x48, 0x48, 0x48, 0x49, 0x49, 0x49, 0x4a,
+ 0x4a, 0x4a, 0x4b, 0x4b, 0x4b, 0x4c, 0x4c, 0x4c, 0x4d, 0x4d, 0x4d, 0x4e,
+ 0x4e, 0x4e, 0x4f, 0x4f, 0x4f, 0x50, 0x50, 0x50, 0x51, 0x51, 0x51, 0x52,
+ 0x52, 0x52, 0x53, 0x53, 0x53, 0x54, 0x54, 0x54, 0x55, 0x55, 0x55, 0x56,
+ 0x56, 0x56, 0x57, 0x57, 0x57, 0x58, 0x58, 0x58, 0x59, 0x59, 0x59, 0x5a,
+ 0x5a, 0x5a, 0x5b, 0x5b, 0x5b, 0x5c, 0x5c, 0x5c, 0x5d, 0x5d, 0x5d, 0x5e,
+ 0x5e, 0x5e, 0x5f, 0x5f, 0x5f, 0x60, 0x60, 0x60, 0x61, 0x61, 0x61, 0x62,
+ 0x62, 0x62, 0x63, 0x63, 0x63, 0x64, 0x64, 0x64, 0x65, 0x65, 0x65, 0x66,
+ 0x66, 0x66, 0x67, 0x67, 0x67, 0x68, 0x68, 0x68, 0x69, 0x69, 0x69, 0x6a,
+ 0x6a, 0x6a, 0x6b, 0x6b, 0x6b, 0x6c, 0x6c, 0x6c, 0x6d, 0x6d, 0x6d, 0x6e,
+ 0x6e, 0x6e, 0x6f, 0x6f, 0x6f, 0x70, 0x70, 0x70, 0x71, 0x71, 0x71, 0x72,
+ 0x72, 0x72, 0x73, 0x73, 0x73, 0x74, 0x74, 0x74, 0x75, 0x75, 0x75, 0x76,
+ 0x76, 0x76, 0x77, 0x77, 0x77, 0x78, 0x78, 0x78, 0x79, 0x79, 0x79, 0x7a,
+ 0x7a, 0x7a, 0x7b, 0x7b, 0x7b, 0x7c, 0x7c, 0x7c, 0x7d, 0x7d, 0x7d, 0x7e,
+ 0x7e, 0x7e, 0x7f, 0x7f, 0x7f, 0x80, 0x80, 0x80, 0x81, 0x81, 0x81, 0x82,
+ 0x82, 0x82, 0x83, 0x83, 0x83, 0x84, 0x84, 0x84, 0x85, 0x85, 0x85, 0x86,
+ 0x86, 0x86, 0x87, 0x87, 0x87, 0x88, 0x88, 0x88, 0x89, 0x89, 0x89, 0x8a,
+ 0x8a, 0x8a, 0x8b, 0x8b, 0x8b, 0x8c, 0x8c, 0x8c, 0x8d, 0x8d, 0x8d, 0x8e,
+ 0x8e, 0x8e, 0x8f, 0x8f, 0x8f, 0x90, 0x90, 0x90, 0x91, 0x91, 0x91, 0x92,
+ 0x92, 0x92, 0x93, 0x93, 0x93, 0x94, 0x94, 0x94, 0x95, 0x95, 0x95, 0x96,
+ 0x96, 0x96, 0x97, 0x97, 0x97, 0x98, 0x98, 0x98, 0x99, 0x99, 0x99, 0x9a,
+ 0x9a, 0x9a, 0x9b, 0x9b, 0x9b, 0x9c, 0x9c, 0x9c, 0x9d, 0x9d, 0x9d, 0x9e,
+ 0x9e, 0x9e, 0x9f, 0x9f, 0x9f, 0xa0, 0xa0, 0xa0, 0xa1, 0xa1, 0xa1, 0xa2,
+ 0xa2, 0xa2, 0xa3, 0xa3, 0xa3, 0xa4, 0xa4, 0xa4, 0xa5, 0xa5, 0xa5, 0xa6,
+ 0xa6, 0xa6, 0xa7, 0xa7, 0xa7, 0xa8, 0xa8, 0xa8, 0xa9, 0xa9, 0xa9, 0xaa,
+ 0xaa, 0xaa, 0xab, 0xab, 0xab, 0xac, 0xac, 0xac, 0xad, 0xad, 0xad, 0xae,
+ 0xae, 0xae, 0xaf, 0xaf, 0xaf, 0xb0, 0xb0, 0xb0, 0xb1, 0xb1, 0xb1, 0xb2,
+ 0xb2, 0xb2, 0xb3, 0xb3, 0xb3, 0xb4, 0xb4, 0xb4, 0xb5, 0xb5, 0xb5, 0xb6,
+ 0xb6, 0xb6, 0xb7, 0xb7, 0xb7, 0xb8, 0xb8, 0xb8, 0xb9, 0xb9, 0xb9, 0xba,
+ 0xba, 0xba, 0xbb, 0xbb, 0xbb, 0xbc, 0xbc, 0xbc, 0xbd, 0xbd, 0xbd, 0xbe,
+ 0xbe, 0xbe, 0xbf, 0xbf, 0xbf, 0xc0, 0xc0, 0xc0, 0xc1, 0xc1, 0xc1, 0xc2,
+ 0xc2, 0xc2, 0xc3, 0xc3, 0xc3, 0xc4, 0xc4, 0xc4, 0xc5, 0xc5, 0xc5, 0xc6,
+ 0xc6, 0xc6, 0xc7, 0xc7, 0xc7, 0xc8, 0xc8, 0xc8, 0xc9, 0xc9, 0xc9, 0xca,
+ 0xca, 0xca, 0xcb, 0xcb, 0xcb, 0xcc, 0xcc, 0xcc, 0xcd, 0xcd, 0xcd, 0xce,
+ 0xce, 0xce, 0xcf, 0xcf, 0xcf, 0xd0, 0xd0, 0xd0, 0xd1, 0xd1, 0xd1, 0xd2,
+ 0xd2, 0xd2, 0xd3, 0xd3, 0xd3, 0xd4, 0xd4, 0xd4, 0xd5, 0xd5, 0xd5, 0xd6,
+ 0xd6, 0xd6, 0xd7, 0xd7, 0xd7, 0xd8, 0xd8, 0xd8, 0xd9, 0xd9, 0xd9, 0xda,
+ 0xda, 0xda, 0xdb, 0xdb, 0xdb, 0xdc, 0xdc, 0xdc, 0xdd, 0xdd, 0xdd, 0xde,
+ 0xde, 0xde, 0xdf, 0xdf, 0xdf, 0xe0, 0xe0, 0xe0, 0xe1, 0xe1, 0xe1, 0xe2,
+ 0xe2, 0xe2, 0xe3, 0xe3, 0xe3, 0xe4, 0xe4, 0xe4, 0xe5, 0xe5, 0xe5, 0xe6,
+ 0xe6, 0xe6, 0xe7, 0xe7, 0xe7, 0xe8, 0xe8, 0xe8, 0xe9, 0xe9, 0xe9, 0xea,
+ 0xea, 0xea, 0xeb, 0xeb, 0xeb, 0xec, 0xec, 0xec, 0xed, 0xed, 0xed, 0xee,
+ 0xee, 0xee, 0xef, 0xef, 0xef, 0xf0, 0xf0, 0xf0, 0xf1, 0xf1, 0xf1, 0xf2,
+ 0xf2, 0xf2, 0xf3, 0xf3, 0xf3, 0xf4, 0xf4, 0xf4, 0xf5, 0xf5, 0xf5, 0xf6,
+ 0xf6, 0xf6, 0xf7, 0xf7, 0xf7, 0xf8, 0xf8, 0xf8, 0xf9, 0xf9, 0xf9, 0xfa,
+ 0xfa, 0xfa, 0xfb, 0xfb, 0xfb, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfe,
+ 0xfe, 0xfe, 0xff, 0xff, 0xff, 0xaf, 0x33, 0xef, 0x22, 0x00, 0x00, 0x00,
+ 0x01, 0x74, 0x52, 0x4e, 0x53, 0x00, 0x40, 0xe6, 0xd8, 0x66, 0x00, 0x00,
+ 0x00, 0x01, 0x62, 0x4b, 0x47, 0x44, 0x00, 0x88, 0x05, 0x1d, 0x48, 0x00,
+ 0x00, 0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x6e, 0xbd, 0x00,
+ 0x00, 0x6e, 0xbd, 0x01, 0x84, 0x9a, 0x17, 0x68, 0x00, 0x00, 0x00, 0x07,
+ 0x74, 0x49, 0x4d, 0x45, 0x07, 0xd3, 0x0a, 0x08, 0x15, 0x0b, 0x1c, 0x3a,
+ 0x62, 0x10, 0x70, 0x00, 0x00, 0x02, 0xa1, 0x49, 0x44, 0x41, 0x54, 0x78,
+ 0xda, 0xed, 0x56, 0x6b, 0x8f, 0xda, 0x30, 0x10, 0xc4, 0x0d, 0x69, 0xd6,
+ 0xce, 0x03, 0x88, 0x89, 0x4b, 0xf0, 0xd1, 0xff, 0xff, 0x33, 0xbb, 0xb3,
+ 0x6b, 0xc7, 0x86, 0x0f, 0x77, 0x42, 0x3a, 0x2a, 0xb5, 0x62, 0x25, 0xf0,
+ 0xcc, 0xbe, 0xc6, 0x31, 0xc9, 0x86, 0xdd, 0xae, 0x18, 0xa9, 0xed, 0x5e,
+ 0x6a, 0x64, 0x9c, 0x73, 0xe6, 0xd5, 0x22, 0xae, 0x69, 0x1a, 0xf7, 0x16,
+ 0x79, 0x8b, 0xfc, 0xc3, 0x22, 0xc3, 0x5f, 0x11, 0x19, 0x86, 0xd7, 0x89,
+ 0xa4, 0x81, 0x92, 0x45, 0x88, 0xca, 0x84, 0xa9, 0x97, 0x32, 0x74, 0x2a,
+ 0x6f, 0x99, 0x45, 0x05, 0xd3, 0x7d, 0x40, 0x83, 0x98, 0x27, 0x6c, 0x83,
+ 0x8a, 0x64, 0x8a, 0x11, 0x03, 0xac, 0x8b, 0x59, 0x68, 0x31, 0x69, 0xea,
+ 0xa8, 0x77, 0xab, 0xd3, 0x94, 0xcc, 0x4c, 0xe5, 0xdf, 0xa6, 0x14, 0xbb,
+ 0x86, 0x62, 0x8e, 0x82, 0xd9, 0xb0, 0x11, 0xec, 0x42, 0x0c, 0x0e, 0x11,
+ 0x4e, 0x94, 0xd3, 0x24, 0xf5, 0x56, 0x75, 0x8e, 0xaa, 0x2e, 0x86, 0xaa,
+ 0x86, 0x49, 0xa5, 0x76, 0x49, 0xab, 0xa1, 0x4e, 0x91, 0xef, 0x45, 0x0f,
+ 0xd2, 0x69, 0x11, 0x59, 0x01, 0xe1, 0xae, 0x95, 0x54, 0xe5, 0xc3, 0x70,
+ 0xc3, 0x83, 0x4a, 0x6a, 0x9a, 0x4e, 0x2b, 0x67, 0x6c, 0x87, 0xa7, 0xc5,
+ 0xf8, 0x2c, 0x7a, 0x01, 0x94, 0x6e, 0x90, 0x20, 0x22, 0x9a, 0xe7, 0x28,
+ 0x6d, 0xa0, 0xda, 0x8d, 0x56, 0xa5, 0x3b, 0x49, 0x9e, 0x8e, 0xc6, 0xf0,
+ 0x91, 0x98, 0x46, 0x9e, 0x93, 0x3b, 0xca, 0xfb, 0x6d, 0xd4, 0x4c, 0x24,
+ 0xc1, 0xbc, 0x69, 0x0d, 0x18, 0xf9, 0xf6, 0x70, 0x3a, 0xf1, 0xe1, 0xcc,
+ 0xb4, 0x85, 0xb6, 0x5c, 0x5c, 0x93, 0x1e, 0x3c, 0xf5, 0x77, 0x81, 0x28,
+ 0x86, 0x0e, 0x88, 0x12, 0xa5, 0x44, 0x4d, 0xd2, 0x80, 0x0b, 0xb8, 0x5b,
+ 0xc4, 0x1f, 0x62, 0x97, 0xca, 0x0c, 0xb2, 0xc4, 0xb7, 0x68, 0x2f, 0x43,
+ 0x25, 0x03, 0x31, 0x16, 0xe9, 0x7e, 0xb1, 0x75, 0x91, 0x5b, 0x44, 0xc0,
+ 0x8e, 0x1e, 0x68, 0xd0, 0x84, 0x85, 0x44, 0x17, 0x10, 0x9c, 0x6f, 0xa1,
+ 0x0e, 0xde, 0xc8, 0x22, 0xc8, 0xd2, 0x24, 0x89, 0x04, 0x09, 0x71, 0x8f,
+ 0xa8, 0x4e, 0x11, 0xb9, 0xb0, 0xad, 0xd2, 0x75, 0x05, 0xa2, 0x07, 0x1a,
+ 0xb0, 0x5c, 0x2e, 0x46, 0x5c, 0xe6, 0xa2, 0xb6, 0x72, 0x27, 0x60, 0xb3,
+ 0x44, 0xc4, 0x3b, 0x5a, 0x73, 0x80, 0x3d, 0x24, 0x6c, 0x8d, 0xd2, 0x80,
+ 0x3b, 0xe0, 0xb8, 0xae, 0x6c, 0xab, 0x9c, 0xcf, 0x0a, 0x44, 0x42, 0x79,
+ 0x87, 0x42, 0x6d, 0xb0, 0xd7, 0xeb, 0x96, 0xa1, 0x29, 0x70, 0x03, 0x23,
+ 0xb2, 0xae, 0x5a, 0xa4, 0x59, 0xab, 0x5d, 0x16, 0x6b, 0x03, 0x89, 0x8f,
+ 0x45, 0xc4, 0x27, 0x3f, 0x7c, 0xfb, 0x93, 0xcd, 0xf2, 0x2f, 0x6d, 0x01,
+ 0x5a, 0xe1, 0xf6, 0xac, 0xb4, 0x55, 0xa7, 0x66, 0xe0, 0x52, 0x94, 0xb6,
+ 0xf2, 0x30, 0x87, 0x36, 0xc7, 0x56, 0xc5, 0xed, 0xf9, 0x6c, 0x79, 0xb5,
+ 0xd2, 0xa2, 0x8d, 0xb1, 0xd5, 0x5c, 0x88, 0xd8, 0x1f, 0xb0, 0xb6, 0x6d,
+ 0x75, 0x55, 0x9e, 0xa8, 0xf5, 0x4a, 0x14, 0x73, 0x63, 0xaf, 0x50, 0x47,
+ 0x86, 0xd5, 0x12, 0x14, 0x45, 0x5b, 0x12, 0x79, 0x9f, 0xf8, 0x66, 0x11,
+ 0x65, 0xbb, 0xa2, 0x92, 0x6c, 0xa4, 0x3e, 0xa1, 0xfd, 0x7e, 0x3f, 0xf6,
+ 0x23, 0x5c, 0xde, 0x8f, 0xda, 0x9a, 0x0f, 0x51, 0x1c, 0x79, 0x30, 0x79,
+ 0x3b, 0x8e, 0xda, 0x88, 0xaa, 0x2e, 0x23, 0x49, 0x52, 0x94, 0x5c, 0x66,
+ 0xfa, 0xc8, 0xdb, 0xfd, 0x66, 0xa3, 0x45, 0x65, 0x26, 0x3d, 0x01, 0xda,
+ 0x18, 0x91, 0x31, 0x4e, 0x22, 0x02, 0x47, 0x35, 0x00, 0xbd, 0x84, 0xe4,
+ 0xba, 0xc6, 0xad, 0x05, 0x10, 0x44, 0x84, 0x26, 0x91, 0x7e, 0x3a, 0x68,
+ 0xfc, 0x30, 0xf5, 0x3e, 0x46, 0xdf, 0x2b, 0x3d, 0xf4, 0x31, 0x32, 0xcc,
+ 0xcb, 0xe4, 0x59, 0xc4, 0x73, 0xe8, 0x90, 0xfb, 0x4f, 0x38, 0x40, 0x24,
+ 0x8f, 0x67, 0x50, 0x2d, 0x43, 0x14, 0xe0, 0xe0, 0x7d, 0xe2, 0x32, 0x83,
+ 0xed, 0x47, 0xb1, 0x9b, 0x58, 0x05, 0x6f, 0x09, 0xc9, 0x62, 0x69, 0x3a,
+ 0x1e, 0x8f, 0x13, 0x31, 0xbd, 0xdd, 0x18, 0x4f, 0x3e, 0x7a, 0x78, 0x0e,
+ 0x54, 0xca, 0x3e, 0x4a, 0xbd, 0x2e, 0xb8, 0x85, 0x7f, 0x3f, 0x63, 0x34,
+ 0x73, 0xcb, 0x54, 0x42, 0x0c, 0xe7, 0x19, 0x0e, 0x16, 0xf9, 0xac, 0x06,
+ 0xaf, 0x81, 0xa7, 0x34, 0x4e, 0xa7, 0xd3, 0x9c, 0x45, 0x4e, 0x9b, 0xcd,
+ 0x9f, 0x36, 0xb9, 0x7f, 0x8b, 0x7d, 0x6d, 0x10, 0x39, 0x67, 0x32, 0x65,
+ 0x8d, 0xe9, 0x8b, 0xaa, 0x27, 0x5f, 0xd3, 0x13, 0x76, 0x5d, 0xd8, 0x2c,
+ 0x97, 0x31, 0x7d, 0xf3, 0xdf, 0x02, 0xee, 0x5b, 0xb5, 0xe4, 0x8b, 0x99,
+ 0x99, 0x7f, 0xfb, 0x5f, 0x8f, 0x18, 0xe3, 0xe3, 0x3f, 0x90, 0xdd, 0xdb,
+ 0xde, 0xf6, 0xb6, 0xb7, 0xfd, 0x97, 0xf6, 0x07, 0x2e, 0xfb, 0x61, 0xc1,
+ 0xcc, 0x44, 0x36, 0x49, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44,
+ 0xae, 0x42, 0x60, 0x82
};
-unsigned int doxygen_png_len = 2352;
+unsigned int doxygen_png_len = 1576;
unsigned char search_png[] = {
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
diff --git a/src/memberdef.cpp b/src/memberdef.cpp
index 3d02cb4..f3f9156 100644
--- a/src/memberdef.cpp
+++ b/src/memberdef.cpp
@@ -1739,14 +1739,14 @@ void MemberDef::warnIfUndocumented()
// "isDocumentedFriendClass()=%d name()=%s prot=%d\n",
// d->isLinkable(),isLinkable(),isDocumentedFriendClass(),
// name().data(),prot);
- if (/*d && d->isLinkable() &&*/ !isLinkable() &&
+ if (!isLinkable() &&
!isDocumentedFriendClass() &&
- name().find('@')==-1 &&
+ name().find('@')==-1 && d->name().find('@')==-1 &&
(prot!=Private || Config_getBool("EXTRACT_PRIVATE"))
)
{
- warn_undoc(m_defFileName,m_defLine,"Warning: Member %s%s of %s %s is not documented.",
- name().data(),argsString()?argsString():"",t,d->name().data());
+ warn_undoc(m_defFileName,m_defLine,"Warning: Member %s%s of %s %s is not documented.",
+ name().data(),argsString()?argsString():"",t,d->name().data());
}
}
diff --git a/src/pre.l b/src/pre.l
index 6a26378..2855190 100644
--- a/src/pre.l
+++ b/src/pre.l
@@ -1669,7 +1669,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
outputArray(yytext,yyleng);
BEGIN(SkipCComment);
}
-<SkipCComment,SkipVerbatim>[^*\n\/]+ {
+<SkipCComment,SkipVerbatim>[^*\x06\n\/]+ {
outputArray(yytext,yyleng);
}
<SkipCComment,SkipVerbatim>\n {
@@ -1682,7 +1682,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
<RemoveCComment>"*/" { BEGIN(g_lastCContext); }
<RemoveCComment>"//"
<RemoveCComment>"/*"
-<RemoveCComment>[^*\n]+
+<RemoveCComment>[^*\x06\n]+
<RemoveCComment>\n { g_yyLineNr++; outputChar('\n'); }
<RemoveCComment>.
<SkipCPPComment,RemoveCPPComment>\n {
@@ -1695,7 +1695,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
<SkipCPPComment>"//" {
outputChar('/');outputChar('/');
}
-<SkipCPPComment>[^\n]+ {
+<SkipCPPComment>[^\x06\n]+ {
outputArray(yytext,yyleng);
}
<SkipCPPComment>. {
@@ -1703,7 +1703,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
}
<RemoveCPPComment>"/*"
<RemoveCPPComment>"//"
-<RemoveCPPComment>[^\n]+
+<RemoveCPPComment>[^\x06\n]+
<RemoveCPPComment>.
<DefineText>"#" {
g_quoteArg=TRUE;
diff --git a/src/search.php b/src/search.php
index 3900f6b..29bbc7a 100644
--- a/src/search.php
+++ b/src/search.php
@@ -74,7 +74,7 @@ function search($file,$word,&$statsList)
$freq=readInt($file);
$docInfo[$i]=array("idx"=>$idx,"freq"=>$freq,"rank"=>0.0);
$totalFreq+=$freq;
- if ($statInfo["full"]) $totalfreq+=$freq;
+ if ($statInfo["full"]) $totalFreq+=$freq;
}
// read name an url info for the doc
for ($i=0;$i<$numDocs;$i++)
diff --git a/src/search_php.h b/src/search_php.h
index 7cabda2..7f24842 100644
--- a/src/search_php.h
+++ b/src/search_php.h
@@ -74,7 +74,7 @@
" $freq=readInt($file); \n"
" $docInfo[$i]=array(\"idx\"=>$idx,\"freq\"=>$freq,\"rank\"=>0.0);\n"
" $totalFreq+=$freq;\n"
-" if ($statInfo[\"full\"]) $totalfreq+=$freq;\n"
+" if ($statInfo[\"full\"]) $totalFreq+=$freq;\n"
" }\n"
" // read name an url info for the doc\n"
" for ($i=0;$i<$numDocs;$i++)\n"
diff --git a/src/searchindex.cpp b/src/searchindex.cpp
index dcb86bc..74834b9 100644
--- a/src/searchindex.cpp
+++ b/src/searchindex.cpp
@@ -69,9 +69,9 @@ void SearchIndex::setCurrentDoc(const char *name,const char *url)
static int charsToIndex(const char *word)
{
if (word==0) return -1;
- int c1=word[0];
+ uint c1=word[0];
if (c1==0) return -1;
- int c2=word[1];
+ uint c2=word[1];
if (c2==0) return -1;
return c1*256+c2;
}
@@ -82,7 +82,7 @@ void SearchIndex::addWord(const char *word)
if (w==0)
{
int idx=charsToIndex(word);
- if (idx==-1) return;
+ if (idx<0) return;
w = new IndexWord(word);
//printf("addWord(%s) at index %d\n",word,idx);
m_index[idx]->append(w);
diff --git a/src/translator_kr.h b/src/translator_kr.h
index 461b47c..bdf1e5e 100644
--- a/src/translator_kr.h
+++ b/src/translator_kr.h
@@ -1,12 +1,12 @@
/******************************************************************************
*
- *
+ *
*
* Copyright (C) 1997-2002 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
+ * 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.
*
@@ -15,6 +15,14 @@
*
*/
+/*
+ Ãʱâ ÀÛ¾÷ÀÚ: ryk
+ TODO ÁÖ¼®À» º¸¸é 11/22/01, doxygen ¹öÀü 1.2.11±îÁö ¼ö°íÇØ ÁֽŠ°Í °°½À´Ï´Ù.
+ ÃÖ±Ù °»½ÅÀÚ: Astromaker(http://ngps.net/)
+ gpgiki(http://www.gpgstudy.com/gpgiki/)
+*/
+
+
#ifndef TRANSLATOR_KR_H
#define TRANSLATOR_KR_H
@@ -23,19 +31,19 @@ class TranslatorKorean : public TranslatorAdapter_1_3
public:
// --- Language control methods -------------------
-
- /*! Used for identification of the language. The identification
- * should not be translated. It should be replaced by the name
+
+ /*! Used for identification of the language. The identification
+ * should not be translated. It should be replaced by the name
* of the language in English using lower-case characters only
- * (e.g. "czech", "japanese", "russian", etc.). It should be equal to
+ * (e.g. "czech", "japanese", "russian", etc.). It should be equal to
* the identification used in language.cpp.
*/
virtual QCString idLanguage()
{ return "korean"; }
-
- /*! Used to get the LaTeX command(s) for the language support.
+
+ /*! Used to get the LaTeX command(s) for the language support.
* This method should return string with commands that switch
- * LaTeX to the desired language. For example
+ * LaTeX to the desired language. For example
* <pre>"\\usepackage[german]{babel}\n"
* </pre>
* or
@@ -43,7 +51,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
* "\\usepackage[latin2]{inputenc}\n"
* "\\usepackage[T1]{fontenc}\n"
* </pre>
- *
+ *
* The English LaTeX does not use such commands. Because of this
* the empty string is returned in this implementation.
*/
@@ -51,7 +59,8 @@ class TranslatorKorean : public TranslatorAdapter_1_3
{
// I'm not sure what this should be.
// When I figure it out, I'll update this.
- return "";
+ //see http://www.ktug.or.kr/jsboard/read.php?table=operate&no=4422&page=1
+ return "\\usepackage{hfont}\n";
}
/*! return the language charset. This will be used for the HTML output */
@@ -77,26 +86,25 @@ class TranslatorKorean : public TranslatorAdapter_1_3
/*! header that is put before the list of typedefs. */
virtual QCString trMemberTypedefDocumentation()
{ return "¸â¹ö ŸÀÔÁ¤ÀÇ ¹®¼­È­"; }
-
+
/*! header that is put before the list of enumerations. */
virtual QCString trMemberEnumerationDocumentation()
{ return "¸â¹ö ¿­°ÅÇü ¹®¼­È­"; }
-
+
/*! header that is put before the list of member functions. */
virtual QCString trMemberFunctionDocumentation()
{ return "¸â¹ö ÇÔ¼ö ¹®¼­È­"; }
-
+
/*! header that is put before the list of member attributes. */
virtual QCString trMemberDataDocumentation()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
- // TODO: This need to be translated. -ryk11/22/01.
- return "¸â¹ö º¯¼ö ¹®¼­È­";
+ return "¸â¹ö º¯¼ö ¹®¼­È­";
}
else
{
- return "¸â¹ö º¯¼ö ¹®¼­È­";
+ return "¸â¹ö º¯¼ö ¹®¼­È­";
}
}
@@ -119,7 +127,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
/*! this is the remainder of the sentence after the class name */
virtual QCString trIncludingInheritedMembers()
{ return ", »ó¼Ó¹ÞÀº ¸ðµç ¸â¹öµµ Æ÷ÇÔ"; }
-
+
/*! this is put at the author sections at the bottom of man pages.
* parameter s is name of the project name.
*/
@@ -133,27 +141,27 @@ class TranslatorKorean : public TranslatorAdapter_1_3
/*! put after an enum name in the list of all members */
virtual QCString trEnumName()
{ return "¿­°ÅÇü À̸§"; }
-
+
/*! put after an enum value in the list of all members */
virtual QCString trEnumValue()
{ return "¿­°ÅÇü °ª"; }
-
+
/*! put after an undocumented member in the list of all members */
virtual QCString trDefinedIn()
{ return "¿¡¼­ Á¤ÀÇ"; }
// quick reference sections
- /*! This is put above each page as a link to the list of all groups of
+ /*! This is put above each page as a link to the list of all groups of
* compounds or files (see the \\group command).
*/
virtual QCString trModules()
{ return "¸ðµâ"; }
-
+
/*! This is put above each page as a link to the class hierarchy */
virtual QCString trClassHierarchy()
{ return "Ŭ·¡½º °èÅëµµ"; } // "Ŭ·¡½º Á¶Á÷" or "Ŭ·¡½º ºÐ·ùü°è"
-
+
/*! This is put above each page as a link to the list of annotated classes */
virtual QCString trCompoundList()
{
@@ -164,11 +172,10 @@ class TranslatorKorean : public TranslatorAdapter_1_3
}
else
{
- //TODO: This needs to be translated. -ryk11/22/01.
return "º¹ÇÕ±¸Á¶(Ŭ·¡½º, ±¸Á¶Ã¼, °ø¿ëü)";
}
- }
-
+ }
+
/*! This is put above each page as a link to the list of documented files */
virtual QCString trFileList()
{ return "ÆÄÀÏ ¸ñ·Ï"; } //"ÆÄÀÏ ¸ñ·Ï", "ÆÄÀÏ ¸®½ºÆ®"
@@ -182,7 +189,6 @@ class TranslatorKorean : public TranslatorAdapter_1_3
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
- // TODO: This need to be translated. -ryk11/22/01.
return "º¹ÇÕ±¸Á¶(Ŭ·¡½º, ±¸Á¶Ã¼, °ø¿ëü) ¸â¹ö";
}
else
@@ -197,7 +203,6 @@ class TranslatorKorean : public TranslatorAdapter_1_3
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
- // TODO: This needs to be translated. -ryk11/22/01.
return "ÆÄÀÏ ¸â¹ö";
}
else
@@ -236,7 +241,6 @@ class TranslatorKorean : public TranslatorAdapter_1_3
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
- // TODO: This needs to be translated. -ryk11/22/01.
return "´ÙÀ½Àº °£·«ÇÑ ¼³¸íÀ» °¡Áø Ŭ·¡½º, "
"±¸Á¶Ã¼, °ø¿ëü, ÀÎÅÍÆäÀ̽ºÀÇ ¸ñ·ÏÀÔ´Ï´Ù.";
}
@@ -257,17 +261,16 @@ class TranslatorKorean : public TranslatorAdapter_1_3
}
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
- // TODO: This need to be translated. -ryk11/22/01.
result+="¸µÅ© µÈ Ŭ·¡½º ¸â¹ö´Â ";
}
else
{
result+="¸µÅ© µÈ Ŭ·¡½º ¸â¹ö´Â ";
}
- if (extractAll)
+ if (extractAll)
result+="±× ¸â¹ö¿¡ ´ëÇÑ Å¬·¡½º ¹®¼­È­·Î °©´Ï´Ù.";
- else
- result+="ÀÌÇÏ·Î ¼ÓÇÑ Å¬·¡½º:";
+ else
+ result+="ÀÌÇÏ·Î ¼ÓÇÑ Å¬·¡½º:";
return result;
}
@@ -277,9 +280,9 @@ class TranslatorKorean : public TranslatorAdapter_1_3
QCString result="´ÙÀ½Àº ¹®¼­È­µÈ ¸ðµç ÆÄÀÏ¿¡ ´ëÇÑ ¸ñ·ÏÀÔ´Ï´Ù. ";
if (!extractAll) result+="¹®¼­È­µÈ ";
result+="¸µÅ© µÈ ÆÄÀÏ ¸â¹ö´Â ";
- if (extractAll)
+ if (extractAll)
result+="±× ¸â¹ö¿¡ ´ëÇÑ ÆÄÀÏ ¹®¼­È­·Î °©´Ï´Ù.";
- else
+ else
result+="±×µéÀÌ ¼ÓÇØÀÖ´Â ÆÄÀÏ·Î °©´Ï´Ù.";
return result;
}
@@ -301,31 +304,31 @@ class TranslatorKorean : public TranslatorAdapter_1_3
{ return "´ÙÀ½Àº ¸ðµç ¸ðµâÀÇ ¸ñ·ÏÀÔ´Ï´Ù."; }
/*! This sentences is used in the annotated class/file lists if no brief
- * description is given.
+ * description is given.
*/
virtual QCString trNoDescriptionAvailable()
{ return "À¯¿ëÇÑ ¼³¸íÀÌ ¾ø½À´Ï´Ù."; }
-
- // index titles (the project name is prepended for these)
+
+ // index titles (the project name is prepended for these)
/*! This is used in HTML as the title of index.html. */
virtual QCString trDocumentation()
{ return "¹®¼­È­"; }
- /*! This is used in LaTeX as the title of the chapter with the
+ /*! This is used in LaTeX as the title of the chapter with the
* index of all groups.
*/
virtual QCString trModuleIndex()
{ return "¸ðµâ »öÀÎ"; }
- /*! This is used in LaTeX as the title of the chapter with the
+ /*! This is used in LaTeX as the title of the chapter with the
* class hierarchy.
*/
virtual QCString trHierarchicalIndex()
{ return "ºÐ·ùü°è »öÀÎ"; }
- /*! This is used in LaTeX as the title of the chapter with the
+ /*! This is used in LaTeX as the title of the chapter with the
* annotated compound index.
*/
virtual QCString trCompoundIndex()
@@ -334,7 +337,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
/*! This is used in LaTeX as the title of the chapter with the
* list of all files.
*/
- virtual QCString trFileIndex()
+ virtual QCString trFileIndex()
{ return "ÆÄÀÏ »öÀÎ"; }
/*! This is used in LaTeX as the title of the chapter containing
@@ -370,102 +373,102 @@ class TranslatorKorean : public TranslatorAdapter_1_3
/*! This is used in LaTeX as the title of the document */
virtual QCString trReferenceManual()
{ return "Âü°í¼­"; }
-
- /*! This is used in the documentation of a file as a header before the
+
+ /*! This is used in the documentation of a file as a header before the
* list of defines
*/
virtual QCString trDefines()
{ return "¸ÅÅ©·Î, #define"; }
- /*! This is used in the documentation of a file as a header before the
+ /*! This is used in the documentation of a file as a header before the
* list of function prototypes
*/
virtual QCString trFuncProtos()
{ return "ÇÔ¼ö ¿øÇü"; }
- /*! This is used in the documentation of a file as a header before the
+ /*! This is used in the documentation of a file as a header before the
* list of typedefs
*/
virtual QCString trTypedefs()
{ return "ŸÀÔ Á¤ÀÇ"; }
- /*! This is used in the documentation of a file as a header before the
+ /*! This is used in the documentation of a file as a header before the
* list of enumerations
*/
virtual QCString trEnumerations()
{ return "¿­°ÅÇü"; }
- /*! This is used in the documentation of a file as a header before the
+ /*! This is used in the documentation of a file as a header before the
* list of (global) functions
*/
virtual QCString trFunctions()
{ return "ÇÔ¼ö"; }
- /*! This is used in the documentation of a file as a header before the
+ /*! This is used in the documentation of a file as a header before the
* list of (global) variables
*/
virtual QCString trVariables()
{ return "º¯¼ö"; }
- /*! This is used in the documentation of a file as a header before the
+ /*! This is used in the documentation of a file as a header before the
* list of (global) variables
*/
virtual QCString trEnumerationValues()
{ return "¿­°ÅÇü °ª"; }
-
+
/*! This is used in the documentation of a file before the list of
* documentation blocks for defines
*/
virtual QCString trDefineDocumentation()
{ return "#define ¹®¼­È­"; }
- /*! This is used in the documentation of a file/namespace before the list
+ /*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for function prototypes
*/
virtual QCString trFunctionPrototypeDocumentation()
{ return "ÇÔ¼ö ¿øÇü ¹®¼­È­"; }
- /*! This is used in the documentation of a file/namespace before the list
+ /*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for typedefs
*/
virtual QCString trTypedefDocumentation()
{ return "ŸÀÔ Á¤ÀÇ ¹®¼­È­"; }
- /*! This is used in the documentation of a file/namespace before the list
+ /*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration types
*/
virtual QCString trEnumerationTypeDocumentation()
{ return "¿­°ÅÇü ŸÀÔ ¹®¼­È­"; }
- /*! This is used in the documentation of a file/namespace before the list
+ /*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration values
*/
virtual QCString trEnumerationValueDocumentation()
{ return "¿­°ÅÇü °ª ¹®¼­È­"; }
- /*! This is used in the documentation of a file/namespace before the list
+ /*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for functions
*/
virtual QCString trFunctionDocumentation()
{ return "ÇÔ¼ö ¹®¼­È­"; }
- /*! This is used in the documentation of a file/namespace before the list
+ /*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for variables
*/
virtual QCString trVariableDocumentation()
{ return "º¯¼ö ¹®¼­È­"; }
- /*! This is used in the documentation of a file/namespace/group before
+ /*! This is used in the documentation of a file/namespace/group before
* the list of links to documented compounds
*/
virtual QCString trCompounds()
{ return "º¹ÇÕ±¸Á¶"; }
- /*! This is used in the standard footer of each page and indicates when
- * the page was generated
+ /*! This is used in the standard footer of each page and indicates when
+ * the page was generated
*/
virtual QCString trGeneratedAt(const char *date,const char *projName)
- {
+ {
QCString result="";
if (projName) result+=(QCString)projName+" ¹®¼­È­. ";
result += "»ý¼ºÀϽà : " +(QCString)date+" by";
@@ -483,7 +486,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
{
return (QCString)clName+"¿¡ ´ëÇÑ »ó¼Ó µµÇ¥";
}
-
+
/*! this text is generated when the \\internal command is used. */
virtual QCString trForInternalUseOnly()
{ return "³»ºÎ »ç¿ë¸¸À» À§ÇØ"; }
@@ -523,7 +526,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
/*! this text is generated when the \\exception command is used. */
virtual QCString trExceptions()
{ return "¿¹¿Ü"; }
-
+
/*! this text is used in the title page of a LaTeX document. */
virtual QCString trGeneratedBy()
{ return "¿¡ ÀÇÇØ »ý¼ºµÈ"; }
@@ -531,7 +534,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990307
//////////////////////////////////////////////////////////////////////////
-
+
/*! used as the title of page containing all the index of all namespaces. */
virtual QCString trNamespaceList()
{ return "namespace ¸ñ·Ï"; }
@@ -550,17 +553,17 @@ class TranslatorKorean : public TranslatorAdapter_1_3
*/
virtual QCString trFriends()
{ return "friend"; }
-
+
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990405
//////////////////////////////////////////////////////////////////////////
-
+
/*! used in the class documentation as a header before the list of all
- * related classes
+ * related classes
*/
virtual QCString trRelatedFunctionDocumentation()
{ return "friend, ±×¸®°í °ü·ÃµÈ ÇÔ¼ö ¹®¼­È­"; }
-
+
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990425
//////////////////////////////////////////////////////////////////////////
@@ -588,7 +591,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
virtual QCString trFileReference(const char *fileName)
{
QCString result=fileName;
- result+=" ÆÄÀÏ ÂüÁ¶";
+ result+=" ÆÄÀÏ ÂüÁ¶";
return result;
}
@@ -599,7 +602,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
result+=" namespace ÂüÁ¶";
return result;
}
-
+
virtual QCString trPublicMembers()
{ return "public ¸Þ¼Òµå"; }
virtual QCString trPublicSlots()
@@ -620,7 +623,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
{ return "private slots"; }
virtual QCString trStaticPrivateMembers()
{ return "static private ¸Þ¼Òµå"; }
-
+
/*! this function is used to produce a comma-separated list of items.
* use generateMarker(i) to indicate where item i should be put.
*/
@@ -629,23 +632,23 @@ class TranslatorKorean : public TranslatorAdapter_1_3
QCString result;
int i;
// the inherits list contain `numEntries' classes
- for (i=0;i<numEntries;i++)
+ for (i=0;i<numEntries;i++)
{
// use generateMarker to generate placeholders for the class links!
- result+=generateMarker(i); // generate marker for entry i in the list
+ result+=generateMarker(i); // generate marker for entry i in the list
// (order is left to right)
-
+
if (i!=numEntries-1) // not the last entry, so we need a separator
{
- if (i<numEntries-2) // not the fore last entry
+ if (i<numEntries-2) // not the fore last entry
result+=", ";
else // the fore last entry
result+=", °ú ";
}
}
- return result;
+ return result;
}
-
+
/*! used in class documentation to produce a list of base classes,
* if class diagrams are disabled.
*/
@@ -662,7 +665,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
return trWriteList(numEntries)+"¿¡ ÀÇÇØ »ó¼ÓµÇ¾ú½À´Ï´Ù.";
}
- /*! used in member documentation blocks to produce a list of
+ /*! used in member documentation blocks to produce a list of
* members that are hidden by this one.
*/
virtual QCString trReimplementedFromList(int numEntries)
@@ -688,14 +691,14 @@ class TranslatorKorean : public TranslatorAdapter_1_3
QCString result="´ÙÀ½Àº ¸ðµç ";
if (!extractAll) result+="¹®¼­È­µÈ ";
result+="namespace ¸â¹öÀÇ ¸ñ·ÏÀÔ´Ï´Ù. ";
- if (extractAll)
+ if (extractAll)
result+="°¢ ¸â¹ö¿¡ ´ëÇÑ ¹®¼­È­ÀÇ ";
- else
+ else
result+="¼ÓÇØÀÖ´Â namespaceÀÇ ";
result+="¸µÅ©µµ ÀÖ½À´Ï´Ù.";
return result;
}
- /*! This is used in LaTeX as the title of the chapter with the
+ /*! This is used in LaTeX as the title of the chapter with the
* index of all namespaces.
*/
virtual QCString trNamespaceIndex()
@@ -762,7 +765,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
virtual QCString trMainPage()
{ return "¸ÞÀÎ ÆäÀÌÁö"; }
- /*! This is used in references to page that are put in the LaTeX
+ /*! This is used in references to page that are put in the LaTeX
* documentation. It should be an abbreviation of the word page.
*/
virtual QCString trPageAbbreviation()
@@ -811,7 +814,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
/*! header that is put before the list of constructor/destructors. */
virtual QCString trConstructorDocumentation()
{
- return "»ý¼ºÀÚ & ¼Ò¸êÀÚ ¹®¼­È­";
+ return "»ý¼ºÀÚ & ¼Ò¸êÀÚ ¹®¼­È­";
}
/*! Used in the file documentation to point to the corresponding sources. */
virtual QCString trGotoSourceCode()
@@ -841,7 +844,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
/*! Text shown before a multi-line variable/enum initialization */
virtual QCString trInitialValue()
{
- return "ÃʱâÈ­±â";
+ return "ÃʱⰪ";
}
/*! Text used the source code in the file index */
virtual QCString trCode()
@@ -868,53 +871,53 @@ class TranslatorKorean : public TranslatorAdapter_1_3
//////////////////////////////////////////////////////////////////////////
// new since 1.1.0
//////////////////////////////////////////////////////////////////////////
-
+
virtual QCString trNote()
{
- return "³ëÆ®"; // TODO: Need to be translated. -ryk11/22/01.
+ return "³ëÆ®";
}
virtual QCString trPublicTypes()
{
- return "public ŸÀÔ"; // TODO: Need to be translated. -ryk11/22/01.
+ return "public ŸÀÔ";
}
virtual QCString trPublicAttribs()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
- return "Data Çʵå"; // TODO: Need to be translated. -ryk11/22/01.
+ return "Data Çʵå";
}
else
{
- return "public ¼Ó¼º"; // TODO: Need to be translated. -ryk11/22/01.
+ return "public ¼Ó¼º";
}
}
virtual QCString trStaticPublicAttribs()
{
- return "static public ¼Ó¼º"; // TODO: Need to be translated. -ryk11/22/01.
+ return "static public ¼Ó¼º";
}
virtual QCString trProtectedTypes()
{
- return "protected ŸÀÔ"; // TODO: Need to be translated. -ryk11/22/01.
+ return "protected ŸÀÔ";
}
virtual QCString trProtectedAttribs()
{
- return "protected ¼Ó¼º"; // TODO: Need to be translated. -ryk11/22/01.
+ return "protected ¼Ó¼º";
}
virtual QCString trStaticProtectedAttribs()
{
- return "static protected ¼Ó¼º"; // TODO: Need to be translated. -ryk11/22/01.
+ return "static protected ¼Ó¼º";
}
virtual QCString trPrivateTypes()
{
- return "private ŸÀÔ"; // TODO: Need to be translated. -ryk11/22/01.
+ return "private ŸÀÔ";
}
virtual QCString trPrivateAttribs()
{
- return "private ¼Ó¼º"; // TODO: Need to be translated. -ryk11/22/01.
+ return "private ¼Ó¼º";
}
virtual QCString trStaticPrivateAttribs()
{
- return "static private ¼Ó¼º"; // TODO: Need to be translated. -ryk11/22/01.
+ return "static private ¼Ó¼º";
}
//////////////////////////////////////////////////////////////////////////
@@ -924,12 +927,12 @@ class TranslatorKorean : public TranslatorAdapter_1_3
/*! Used as a marker that is put before a \\todo item */
virtual QCString trTodo()
{
- return "Todo"; // TODO: Need to be translated. -ryk11/22/01.
+ return "Todo";
}
/*! Used as the header of the todo list */
virtual QCString trTodoList()
{
- return "Todo ¸ñ·Ï"; // TODO: Need to be translated. -ryk11/22/01.
+ return "Todo ¸ñ·Ï";
}
//////////////////////////////////////////////////////////////////////////
@@ -938,15 +941,15 @@ class TranslatorKorean : public TranslatorAdapter_1_3
virtual QCString trReferencedBy()
{
- return "ÂüÁ¶ÇÏ´Â °÷"; // TODO: Need to be translated. -ryk11/22/01.
+ return "ÂüÁ¶ÇÏ´Â °÷";
}
virtual QCString trRemarks()
{
- return "¼³¸í"; // TODO: Need to be translated. -ryk11/22/01.
+ return "¼³¸í";
}
virtual QCString trAttention()
{
- return "ÁÖÀÇ"; // TODO: Need to be translated. -ryk11/22/01.
+ return "ÁÖÀÇ";
}
virtual QCString trInclByDepGraph()
{
@@ -958,7 +961,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
{
return "Since"; // TODO: Need to be translated. -ryk11/22/01.
}
-
+
//////////////////////////////////////////////////////////////////////////
// new since 1.1.5
//////////////////////////////////////////////////////////////////////////
@@ -966,9 +969,9 @@ class TranslatorKorean : public TranslatorAdapter_1_3
/*! title of the graph legend page */
virtual QCString trLegendTitle()
{
- return "±×·¡ÇÁ ¼³¸í"; // TODO: Need to be translated. -ryk11/22/01.
+ return "¹ü·Ê";
}
- /*! page explaining how the dot graph's should be interpreted
+ /*! page explaining how the dot graph's should be interpreted
* The %A in the text below are to prevent link to classes called "A".
*/
virtual QCString trLegendDocs()
@@ -1013,7 +1016,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
//"is set to 240 this will result in the following graph:"
"<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
- "¹Ú½º¿¡´Â ´ÙÀ½À» ¶æÇÑ´Ù.\n"
+ "»óÀÚµéÀº ´ÙÀ½À» ¶æÇÑ´Ù.\n"
//"The boxes in the above graph have the following meaning:\n"
"<ul>\n"
"<li>%°ËÀº »óÀÚ´Â ±×·¡ÇÁ¸¦ »êÃâÇÑ ±¸Á¶Ã¼³ª Ŭ·¡½º¸¦ ¸»ÇÑ´Ù.\n"
@@ -1045,7 +1048,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
//"by another class. The arrow is labeled with the variable(s) "
//"through which the pointed class or struct is accessible.\n"
"<li>%¹àÀº ³ë¶û»ö È­»ìÇ¥´Â ÅÛÇø´ ÀνºÅϽº¿Í ÅÛÇø´ Ŭ·¡½º¸¦ ³ªÅ¸³½´Ù. "
- "ÀÌ È­»ìÇ¥ÀÇ ¶óº§Àº ±× ÀνºÅϽºÀÇ ÅÛÇø´ ¸Å°³º¯¼ö¸¦ ³ªÅ¸³½´Ù.\n"
+ "ÀÌ È­»ìÇ¥ÀÇ ¶óº§Àº ±× ÀνºÅϽºÀÇ ÅÛÇø´ ¸Å°³º¯¼ö¸¦ ³ªÅ¸³½´Ù.\n"
//"<li>%A yellow dashed arrow denotes a relation between a template instance and "
//"the template class it was instantiated from. The arrow is labeled with "
//"the template parameters of the instance.\n"
@@ -1054,22 +1057,22 @@ class TranslatorKorean : public TranslatorAdapter_1_3
/*! text for the link to the legend page */
virtual QCString trLegend()
{
- return "¼³¸í"; // TODO: Need to be translated. -ryk11/22/01.
+ return "¹ü·Ê";
}
-
+
//////////////////////////////////////////////////////////////////////////
// new since 1.2.0
//////////////////////////////////////////////////////////////////////////
-
+
/*! Used as a marker that is put before a test item */
virtual QCString trTest()
{
- return "Å×½ºÆ®"; // TODO: Need to be translated. -ryk11/22/01.
+ return "Å×½ºÆ®";
}
/*! Used as the header of the test list */
virtual QCString trTestList()
{
- return "Å×½ºÆ® ¸ñ·Ï"; // TODO: Need to be translated. -ryk11/22/01.
+ return "Å×½ºÆ® ¸ñ·Ï";
}
//////////////////////////////////////////////////////////////////////////
@@ -1149,11 +1152,11 @@ class TranslatorKorean : public TranslatorAdapter_1_3
{
return "°ª:"; // TODO: Need to be translated. -ryk11/22/01.
}
-
+
//////////////////////////////////////////////////////////////////////////
// new since 1.2.5
//////////////////////////////////////////////////////////////////////////
-
+
/*! Used as a marker that is put before a \\bug item */
virtual QCString trBug()
{
@@ -1169,9 +1172,9 @@ class TranslatorKorean : public TranslatorAdapter_1_3
// new since 1.2.6
//////////////////////////////////////////////////////////////////////////
- /*! Used as ansicpg for RTF file
- *
- * The following table shows the correlation of Charset name, Charset Value and
+ /*! Used as ansicpg for RTF file
+ *
+ * The following table shows the correlation of Charset name, Charset Value and
* <pre>
* Codepage number:
* Charset Name Charset Value(hex) Codepage number
@@ -1192,15 +1195,15 @@ class TranslatorKorean : public TranslatorAdapter_1_3
* GB2313_CHARSET 134 (x86) 936
* CHINESEBIG5_CHARSET 136 (x88) 950
* </pre>
- *
+ *
*/
virtual QCString trRTFansicp()
{
return "1252";
}
-
- /*! Used as ansicpg for RTF fcharset
+
+ /*! Used as ansicpg for RTF fcharset
* \see trRTFansicp() for a table of possible values.
*/
virtual QCString trRTFCharSet()
@@ -1213,90 +1216,90 @@ class TranslatorKorean : public TranslatorAdapter_1_3
{
return "À妽º"; // TODO: Need to be translated. -ryk11/22/01.
}
-
+
/*! This is used for translation of the word that will possibly
- * be followed by a single name or by a list of names
+ * be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trClass(bool first_capital, bool singular)
- {
+ {
QCString result((first_capital ? "Ŭ·¡½º" : "Ŭ·¡½º"));
if (!singular) result+="µé";
return result; // TODO: Need to be translated. -ryk11/22/01.
}
/*! This is used for translation of the word that will possibly
- * be followed by a single name or by a list of names
+ * be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trFile(bool first_capital, bool singular)
- {
+ {
QCString result((first_capital ? "ÆÄÀÏ" : "ÆÄÀÏ"));
if (!singular) result+="µé";
return result; // TODO: Need to be translated. -ryk11/22/01.
}
/*! This is used for translation of the word that will possibly
- * be followed by a single name or by a list of names
+ * be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trNamespace(bool first_capital, bool singular)
- {
+ {
QCString result((first_capital ? "Namespace" : "namespace"));
if (!singular) result+="s";
return result; // TODO: Need to be translated. -ryk11/22/01.
}
/*! This is used for translation of the word that will possibly
- * be followed by a single name or by a list of names
+ * be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trGroup(bool first_capital, bool singular)
- {
+ {
QCString result((first_capital ? "±×·ì" : "±×·ì"));
if (!singular) result+="µé";
return result; // TODO: Need to be translated. -ryk11/22/01.
}
/*! This is used for translation of the word that will possibly
- * be followed by a single name or by a list of names
+ * be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trPage(bool first_capital, bool singular)
- {
+ {
QCString result((first_capital ? "ÆäÀÌÁö" : "ÆäÀÌÁö"));
if (!singular) result+="µé";
return result; // TODO: Need to be translated. -ryk11/22/01.
}
/*! This is used for translation of the word that will possibly
- * be followed by a single name or by a list of names
+ * be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trMember(bool first_capital, bool singular)
- {
+ {
QCString result((first_capital ? "¸â¹ö" : "¸â¹ö"));
if (!singular) result+="µé";
return result; // TODO: Need to be translated. -ryk11/22/01.
}
-
+
/*! This is used for translation of the word that will possibly
- * be followed by a single name or by a list of names
+ * be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trField(bool first_capital, bool singular)
- {
+ {
QCString result((first_capital ? "Çʵå" : "Çʵå"));
if (!singular) result+="µé";
return result; // TODO: Need to be translated. -ryk11/22/01.
}
/*! This is used for translation of the word that will possibly
- * be followed by a single name or by a list of names
+ * be followed by a single name or by a list of names
* of the category.
*/
virtual QCString trGlobal(bool first_capital, bool singular)
- {
+ {
QCString result((first_capital ? "Global" : "global"));
if (!singular) result+="s";
return result; // TODO: Need to be translated. -ryk11/22/01.
@@ -1309,7 +1312,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
/*! This text is generated when the \\author command is used and
* for the author section in man pages. */
virtual QCString trAuthor(bool first_capital, bool singular)
- {
+ {
QCString result((first_capital ? "ÀÛ¼ºÀÚ" : "ÀÛ¼ºÀÚ"));
if (!singular) result+="µé";
return result; // TODO: Need to be translated. -ryk11/22/01.
@@ -1330,7 +1333,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
// new since 1.2.13
//////////////////////////////////////////////////////////////////////////
- /*! used in member documentation blocks to produce a list of
+ /*! used in member documentation blocks to produce a list of
* members that are implemented by this one.
*/
virtual QCString trImplementedFromList(int numEntries)
@@ -1364,8 +1367,8 @@ class TranslatorKorean : public TranslatorAdapter_1_3
// new since 1.2.17
//////////////////////////////////////////////////////////////////////////
- /*! Used as the header of the list of item that have been
- * flagged deprecated
+ /*! Used as the header of the list of item that have been
+ * flagged deprecated
*/
virtual QCString trDeprecatedList()
{
@@ -1376,7 +1379,7 @@ class TranslatorKorean : public TranslatorAdapter_1_3
// new since 1.2.18
//////////////////////////////////////////////////////////////////////////
- /*! Used as a header for declaration section of the events found in
+ /*! Used as a header for declaration section of the events found in
* a C# program
*/
virtual QCString trEvents()
@@ -1394,57 +1397,111 @@ class TranslatorKorean : public TranslatorAdapter_1_3
//////////////////////////////////////////////////////////////////////////
/*! Used as a heading for a list of Java class types with package scope.
- */
+ */
virtual QCString trPackageTypes()
- {
- return "ÆÐÅ°Áö ŸÀÔ";
+ {
+ return "ÆÐÅ°Áö ŸÀÔµé"; //"Package Types";
}
- /*! Used as a heading for a list of Java class functions with package
- * scope.
- */
+ /*! Used as a heading for a list of Java class functions with package
+ * scope.
+ */
virtual QCString trPackageMembers()
- {
- return "ÆÐÅ°Áö ÇÔ¼ö";
+ {
+ return "ÆÐÅ°Áö ÇÔ¼öµé"; //"Package Functions";
}
- /*! Used as a heading for a list of static Java class functions with
- * package scope.
- */
+ /*! Used as a heading for a list of static Java class functions with
+ * package scope.
+ */
virtual QCString trStaticPackageMembers()
- {
- return "Á¤Àû ÆÐÅ°Áö ÇÔ¼ö";
+ {
+ return "Á¤Àû ÆÐÅ°Áö ÇÔ¼öµé"; //"Static Package Functions";
}
- /*! Used as a heading for a list of Java class variables with package
- * scope.
- */
+ /*! Used as a heading for a list of Java class variables with package
+ * scope.
+ */
virtual QCString trPackageAttribs()
- {
- return "ÆÐÅ°Áö ¼Ó¼º";
+ {
+ return "ÆÐÅ°Áö ¼Ó¼ºµé"; //"Package Attributes";
}
- /*! Used as a heading for a list of static Java class variables with
- * package scope.
- */
+ /*! Used as a heading for a list of static Java class variables with
+ * package scope.
+ */
virtual QCString trStaticPackageAttribs()
- {
- return "Á¤Àû ÆÐÅ°Áö ¼Ó¼º";
+ {
+ return "Á¤Àû ÆÐÅ°Áö ¼Ó¼ºµé"; //"Static Package Attributes";
}
-
+
//////////////////////////////////////////////////////////////////////////
// new since 1.3.1
//////////////////////////////////////////////////////////////////////////
- /*! Used in the quick index of a class/file/namespace member list page
- * to link to the unfiltered list of all members.
- */
+ /*! Used in the quick index of a class/file/namespace member list page
+ * to link to the unfiltered list of all members.
+ */
virtual QCString trAll()
{
- return "All";
+ return "All";
}
/*! Put in front of the call graph for a function. */
virtual QCString trCallGraph()
{
- return "ÀÌ ÇÔ¼öÀÇ È£Ãâ»óŸ¦ ³ªÅ¸³½ ±×·¡ÇÁÀÔ´Ï´Ù.";
+ return "´ÙÀ½Àº ÀÌ ÇÔ¼ö¿¡ ´ëÇÑ È£Ãâ ±×·¡ÇÁÀÔ´Ï´Ù:";
+ //"Here is the call graph for this function:";
}
+//////////////////////////////////////////////////////////////////////////
+// new since 1.3.3
+//////////////////////////////////////////////////////////////////////////
+ /*! When the search engine is enabled this text is put in the header
+ * of each page before the field where one can enter the text to search
+ * for.
+ */
+ virtual QCString trSearchForIndex()
+ {
+ return "°Ë»ö: "; //"Search for";
+ }
+ /*! This string is used as the title for the page listing the search
+ * results.
+ */
+ virtual QCString trSearchResultsTitle()
+ {
+ return "°Ë»ö °á°ú";//"Search Results";
+ }
+ /*! This string is put just before listing the search results. The
+ * text can be different depending on the number of documents found.
+ * Inside the text you can put the special marker $num to insert
+ * the number representing the actual number of search results.
+ * The @a numDocuments parameter can be either 0, 1 or 2, where the
+ * value 2 represents 2 or more matches. HTML markup is allowed inside
+ * the returned string.
+ */
+ virtual QCString trSearchResults(int numDocuments)
+ {
+ if (numDocuments==0)
+ {
+ //return "Sorry, no documents matching your query.";
+ return "Á˼ÛÇÕ´Ï´Ù. ÁúÀÇ¿Í ÀÏÄ¡ÇÏ´Â ¹®¼­°¡ ¾ø½À´Ï´Ù.";
+ }
+ else if (numDocuments==1)
+ {
+ //return "Found <b>1</b> document matching your query.";
+ return "ÁúÀÇ¿Í ÀÏÄ¡ÇÏ´Â <b>1</b>°³ÀÇ ¹®¼­¸¦ ã¾Ò½À´Ï´Ù.";
+ }
+ else
+ {
+ //return "Found <b>$num</b> documents matching your query. "
+ // "Showing best matches first.";
+ return "ÁúÀÇ¿Í ÀÏÄ¡ÇÏ´Â <b>$num</b>°³ÀÇ ¹®¼­µéÀ» ã¾Ò½À´Ï´Ù. "
+ "óÀ½¿¡ ³ª¿À´Â °ÍÀÌ °¡Àå ÀÏÄ¡ÇÏ´Â ¹®¼­ÀÔ´Ï´Ù.";
+ }
+ }
+ /*! This string is put before the list of matched words, for each search
+ * result. What follows is the list of words that matched the query.
+ */
+ virtual QCString trSearchMatches()
+ {
+ return "Matches:";
+ }
};
#endif
diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp
index 8db7993..ec3bc47 100644
--- a/src/xmlgen.cpp
+++ b/src/xmlgen.cpp
@@ -88,24 +88,6 @@ inline void writeXMLCodeString(QTextStream &t,const char *s)
static void writeXMLHeader(QTextStream &t)
{
- //QCString dtdName = Config_getString("XML_DTD");
- //QCString schemaName = Config_getString("XML_SCHEMA");
- //t << "<?xml version='1.0' encoding='" << theTranslator->idLanguageCharset()
- // << "' standalone='";
- //if (dtdName.isEmpty() && schemaName.isEmpty()) t << "yes"; else t << "no";
- //t << "'?>" << endl;
- //if (!dtdName.isEmpty())
- //{
- // t << "<!DOCTYPE doxygen SYSTEM \"doxygen.dtd\">" << endl;
- //}
- //t << "<doxygen ";
- //if (!schemaName.isEmpty())
- //{
- // t << "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ";
- // t << "xsi:noNamespaceSchemaLocation=\"doxygen.xsd\" ";
- //}
- //t << "version=\"" << versionString << "\">" << endl;
-
t << "<?xml version='1.0' encoding='" << theTranslator->idLanguageCharset()
<< "' standalone='no'?>" << endl;;
t << "<doxygen xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ";
@@ -113,6 +95,38 @@ static void writeXMLHeader(QTextStream &t)
t << "version=\"" << versionString << "\">" << endl;
}
+static void writeCombineScript()
+{
+ QCString outputDirectory = Config_getString("XML_OUTPUT");
+ QCString fileName=outputDirectory+"/combine.xslt";
+ QFile f(fileName);
+ if (!f.open(IO_WriteOnly))
+ {
+ err("Cannot open file %s for writing!\n",fileName.data());
+ return;
+ }
+ QTextStream t(&f);
+ t.setEncoding(QTextStream::Latin1);
+
+ t <<
+ "<!-- XSLT script to combine the generated output into a single file. \n"
+ " If you have xsltproc you could use:\n"
+ " xsltproc combine.xslt index.xml >all.xml\n"
+ "-->\n"
+ "<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" version=\"1.0\">\n"
+ " <xsl:output method=\"xml\" version=\"1.0\" indent=\"yes\" standalone=\"yes\" />\n"
+ " <xsl:template match=\"/\">\n"
+ " <doxygen version=\"{doxygenindex/@version}\">\n"
+ " <!-- Load all doxgen generated xml files -->\n"
+ " <xsl:for-each select=\"doxygenindex/compound\">\n"
+ " <xsl:copy-of select=\"document( concat( @refid, '.xml' ) )/doxygen/*\" />\n"
+ " </xsl:for-each>\n"
+ " </doxygen>\n"
+ " </xsl:template>\n"
+ "</xsl:stylesheet>\n";
+
+}
+
void writeXMLLink(QTextStream &t,const char *extRef,const char *compoundId,
const char *anchorId,const char *text)
{
@@ -1569,6 +1583,8 @@ void generateXML()
//t << " </compoundlist>" << endl;
t << "</doxygenindex>" << endl;
+
+ writeCombineScript();
}